|
|
Línea 1: |
Línea 1: |
| {{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/nav}} | | {{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/nav}} |
− | | + | {{MRM_Objetivos|Title=Qué veremos aquí| |
− | ===BASES DE DATOS: Introducción===
| + | ;En este tema se abordan 5 aspectos |
− | Una muy breve introducción sobre lo que es una '''''base de datos'''''. Es éste un concepto conocido, pues es un término que habitualmente usamos de forma coloquial.<br />
| + | # Los 3 primeros serían repaso. |
− | {{MRM_Definicion|Title=Base de datos| | + | # Los 2 últimos, son temas específicos para trabajar con bases de datos desde '''''php'''''. |
− | Una base de datos es una colección o conjunto de datos<br />
| + | <hr /> |
− | que vamos a almacenar en un dispositivo de almacenamiento permanente (generalmente HD)<br />,
| + | ;Temas de repaso: |
− | que tiene una determinada estructura u organización, la cual nos va a permitir operar de una forma organizada y rápida con esos datos}}<br /> | + | {{MRM_Objetivos|Title=Qué es una base de datos| |
− | [[Imagen:bibliotecaMRM.jpg|center]]<br />
| + | *Son conceptos muy importantes |
− | | + | *Hay que asentar bien los conceptos de análisis y diseño de bases de datos |
− | Sería inimaginable buscar un libro en una biblioteca si no hubiera una organización u orden para localizarlo o a la hora de añadir un libro nuevo (en una sección, en una estantería concreta y no en cualquiera.<br />
| + | *Diseño conceptual |
− | [[Imagen:libroGrande.jpg|center]]<br />
| + | *Diseño lógico |
− | Igualmente si voy a tener libros pequeños, los pondré en estanterías pequeñas, si voy a almacenar libros grandes necesitaré tener estanterías grandes.<br />
| + | *Diseño físico |
− | Siguiendo esta lógica, las bases de datos han de estar preparadas para almacenar el tipo de información que nos pueda venir, para ello habrá que hacer un diseño correcto de las tablas y atributos para poder almacenar toda la información de nuestro sistema.<br />
| + | |
− | Esto implica tener que realizar un análisis detallado del sistema, buscando de alguna forma todos los posibles casos que se pueden producir para tener la base de datos preparada para que esa situación se pueda almacenar en forma de datos dentro de mi sistema
| + | |
− | {{MRM_Puntos clave|
| + | |
− | El diseño de la base de datos es un factor fundamental para el éxito de la aplicación}}
| + | |
− | {{MRM_Puntos clave|
| + | |
− | El diseño de la base de datos se debería de hacer solo una vez y modificarlo pocas veces durante su vida}}
| + | |
− | ===Sistema de información===
| + | |
− | <br />
| + | |
− | {{MRM_Definicion|Title=Qué es un sistema|
| + | |
− | Conjuntos de elementos realcionados que pretenden un determinado objetivo
| + | |
| }} | | }} |
− | {{MRM_Definicion|Title=Qué es un sistema de información| | + | {{MRM_Objetivos|Title=SQL y sistemas gestores de bases de datos| |
− | Es la parte lógica o de información de un determinado sistema.<br />
| + | *Lenguaje de 4 generación no procedural |
− | Nos interesa especialemente por que va a ser la parte que vamos a estudiar para automatizar o informatizar
| + | *A pesar de su nombre no es sólo un lenguaje de consultas, si no completo para gestionar bases de datos |
| + | *Sus acciones o sentencias empiezan por una cláusulas que la clasifica en el tipo de lenguaje o acción |
| + | 1.-'''''DDL''''' |
| + | <source lang=sql> |
| + | CREATE .... |
| + | DROP .... |
| + | ALTER .... |
| + | </source> |
| + | 2.-'''''DML''''' |
| + | <source lang=sql> |
| + | INSERT .... |
| + | UPDATE .... |
| + | DELETE .... |
| + | SELECT ... |
| + | </source> |
| + | 3.-'''''DCL''''' |
| + | <source lang=sql> |
| + | CRANT .... |
| + | REVOKE .... |
| + | COMMIT |
| + | ROLLBACK |
| + | </source> |
| }} | | }} |
− | {{MRM_Definicion|Title=Parte dinámica/estática| | + | {{MRM_Objetivos|Title=MYSQL| |
− | Dentro de un sistema que vayamos a automatizar, tendremos elementos dinámicos que corresponden a las acciones o programación y una parte estática que corresponden a los datos que queremos almacenar en nuestro sistema
| + | *Un gestor de bases de datos relacional |
| + | *Conviene saber usarlo |
| + | *En línea de comandos |
| + | *Con una herramienta gráfica como phpmyadmin |
| + | }} |
| + | ;;Temas de específicos : Drivers o conectores para la base de datos desde php |
| + | *Es la parte específica del módulo |
| + | *Son recursos que ya incorpora el motor de php para interactuar desde nuestro programa con la base de datos |
| + | *En ellos debemos aprender a |
| + | #conectarnos |
| + | #realizar acciones DML |
| + | #Tratar la información que nos devuelva una consulta |
| + | {{MRM_Objetivos|Title=mysqli| |
| + | *Recurso nativo escrito en php para conectar con una base de datos ubicada en un gestor '''''mysqli''''' o '''''maria''''' |
| + | }} |
| + | {{MRM_Objetivos|Title=PDO| |
| + | *Recurso de php que nos permitirá conectarnos con cualquier gestor de bases de datos relacional |
| + | }} |
| + | |
| + | |
| }} | | }} |
− | ===Ciclo en el desarrollo de una base de datos===
| |
− | <br />
| |
− | Hay tres niveles como podemos ver en la imagenive
| |
− | {{MRM_Definicion|Title=Niveles en el desarrollo de una base de datos|
| |
− | 1.-Nivel conceptual
| |
− | La concepción del sistema tal como se puede percibir por las personas
| |
− | Lo que realmente ocurre en el funcionamiento cotidiano
| |
− | 2.-Nivel Lógico
| |
− | Identificar esa parte del sistema que se va a poder automatizar
| |
− | Concretar la manera como lo vamos a hacer
| |
− | Especificar ya elementos lógicos para ser automatizados
| |
− | 3.-Nivel Físico
| |
− | Usando una herramienta o tecnología concreta
| |
− | Transformar los elementos lógicos a código entendible por el computador
| |
− | }}
| |
− | [[imagen:ciclo_vida_bd.png]]
| |