Story Transcript
Bases de Datos Web Ing. Víctor Andrés Ochoa Correa
Conceptos Básicos ► ¿Qué
es un Dato?
Conjunto de caracteres con algún significado. ► ¿Qué
es una Base de Datos?
Colección ordenada de datos Por lo general pertenecen al mismo contexto organiza los datos en forma sistemática cosa que pueda ser consultada posteriormente.
Conceptos Básicos ► ¿Qué
es un DBMS o SGBD?
Es un programa que se ubica entre los usuarios y los datos como tales. ► ¿Para
Qué?
Para no interactuar directamente con la información. Acceso a la información a nivel lógico. Mayor grado de independencia entre las aplicaciones y la información física.
Conceptos Básicos: DBMS ►…
¿Para Que?
Menor redundancia de información Asegurar la consistencia de los datos Seguridad Integridad ante fallas (datos malos, fallas de hardware, etc.) Control de Concurrencia Eficiencia
DBMS
DBMS ► Los
DMBS deben ofrecer:
DDL (Data Definition Language) DVL (Data Visualization Language) DCL (Data Control Language)
► SQL
(Structured Query Language) es un lenguaje que contiene todo lo anterior.
Clasificación de Bases de Datos ► Se
pueden clasificar según:
Variabilidad estáticas/dinámicas Contenido bibliográfica/numérica/texto/ completo/directorios/multimedia/ bibliotecas genéticas/etc. Modelamiento de la Información …
Tipos de Bases de Datos ► Bases
de Datos Relacionales:
Son las más populares hoy en día Se basa en el modelo de relaciones Representa la información como tablas compuesta de tuplas(filas) y campos(columnas). No importa como se maneje físicamente la información La información se puede consultar a través de SQL.
Modelo Relacional ►
Una relación se puede ver como una tabla: nombre apellido nacimiento sexo Manuel Vernard 01-01-1983 M Francisca Lund 01-01-1986 F
Atributos
► ► ►
estado_civil Soltero Casado
Tuplas
En el ejemplo, cada fila representa a una persona. El nombre de la relación es el nombre que se le da a la tabla. Una tupla puede representarse como: Persona(nombre,apellido,nacimiento,sexo,estado_civil)
Modelo Relacional ► Para
identificar únicamente una tupla se utilizan las llaves primarias, que no pueden repetirse. ► Los atributos se caracterizan por tener un nombre y un dominio: El dominio dice que tipo de información puede ingresarse para ese atributo. Los dominios deben ser “atómicos”
Modelo Relacional ► ¿Qué
significa que un dominio debe ser “Atómico”? Su valor no puede ser dividido en dominios más simples. Ej: Persona(nombre, apellido, nacimiento, hijos) mal! Una persona puede tener más de un hijo! ¿Ej. correcto? ► Persona(*id_persona,
nombre, apellido, nacimiento) ► Hijos(*id_persona, *id_hijo, nombre, apellido, nacimiento)
Llave Foranea
Normalización ► Estándar
de conversión de relaciones entre entidades. ► Trata de evitar: ►A
La redundancia de los datos inconsistencias de los datos
través de la normalización se llega al modelo físico de los datos. ► Utiliza las llamadas formas normales (1FN, 2FN, 3FN, 4FN)
Normalización: 1FN ► Todos
los dominios son “Atómicos”: Código 1 2 3
Nombre Marcos Lucas Marta
Cursos Inglés Contabilidad, Informática Inglés, Contabilidad
Tabla B
Tabla A
Código 1 2 3
Nombre Marcos Lucas Marta
Código 1 2 2 3 3
Curso Inglés Contabilidad Informática Inglés Informática
Normalización: 2FN ► Todos
clave.
los campos dependen directamente de la Código Empleado 1 2 3 4 2
Código Dpto. 6 3 2 3 6
Nombre Juan Pedro Sonia Verónica Pedro
Departamento Años Contabilidad 6 Sistemas 3 I+D 1 Sistemas 10 Contabilidad 5
Tabla A
Código Empleado 1 2 3 4
Nombre Juan Pedro Sonia Verónica
Tabla B
Código Departamento 2 3 6
Dpto. I+D Sistemas Contabilidad
Tabla C
Código Empleado 1 2 3 4 2
Código Departamento 6 3 2 3 6
Años 6 3 1 10 5
Normalización: 3FN ► los
campos de la tabla dependen únicamente de la clave (no dependen unos de otros). Código 1 2 3
Nombre Marcos Lucas Marta
Tabla A
Código 1 2 3
Nombre Marcos Lucas Marta
Curso Informática Inglés Contabilidad
Curso Informática Inglés Contabilidad
Aula Aula A Aula B Aula C
Tabla B
Curso Informática Inglés Contabilidad
Aula Aula A Aula B Aula C
Normalización: 4FN ► para
cualquier combinación clave - campo no existen valores duplicados. Geometría
Figura Cuadrado Cuadrado Cuadrado Círculo Círculo Círculo
Color
Figura Cuadrado Cuadrado Círculo Círculo
Color Rojo Azul Azul Blanco Azul Azul
Tamaño Grande Grande Mediano Mediano Pequeño Mediano
Tamaño
Color Rojo Azul Blanco Azul
Figura Cuadrado Cuadrado Círculo Círculo
Tamaño Grande Pequeño Mediano Pequeño
cardinalidad Uno a uno
Relación entre entidades No es necesario crear una relación entre las entidades
Llave foránea Se crea una llave foránea en una de las entidades relacionadas que corresponde a la llave primaria en la otra
Uno a muchos No es necesario crear una relación entre las entidades
Se crea una llave foránea del lado de la entidad “muchos” que corresponde a la llave primaria del lado “uno”
Muchos a muchos
En las entidades no hay llave foránea.
Se crea una relación con llave primaria compuesta formada por las llaves primarias de las entidades que une la relación
Modelo Entidad-Relación ► Permite
diseñar conceptualmente una base de datos a través de diagramas.
Modelo Entidad-Relación ►
Entidad cualquier objeto, real o abstracto, que existe en un contexto determinado o puede llegar a existir y del cual deseamos guardar información Ej: PROFESOR, CURSO, ALUMNO.
►
Entidad Fuerte: existen por sí mismas la existencia de un ejemplar en la entidad no depende de la existencia de otros ejemplares en otra entidad. Ej: EMPLEADO, PROFESOR. Profesor
►
Entidad Débil Necesitan la existencia de ejemplares de otras entidades distintas para existir. EJ: VENTA Venta
Modelo Entidad-Relación ► Atributos
Propiedades o características de las Entidades.
Modelo Entidad-Relación ► Cardinalidad
número máximo y mínimo de ejemplares de un tipo de entidad que pueden estar asociadas, mediante una determinada relación, con un ejemplar de otra entidad. Pueden ser de la siguiente forma: (0,n), (n,0), (1,n), (n,1), (0,1), (1,0), (0,0) ó (n,n).
Metodología de Diseño ► Identificar
las entidades. ► Identificar las relaciones. ► Identificar los atributos y asociarlos a entidades y relaciones. ► Determinar los dominios de los atributos. ► Determinar los identificadores. ► Dibujar el diagrama entidad-relación. ► Conversión Tablas
Ejemplo ►
La asociación "Amigos de la Fiesta" desea recoger en una base de datos toda la información acerca de las corridas de todos que se celebran en España y de todos los datos relacionados con ellas. Se desea tener información acerca de cada corrida, identificada conjuntamente por un número de orden, la feria en la que se celebra y el año de celebración (por ejemplo: orden = 2, feria = San Isidro, Año = 1999). En una determinada corrida actúan una serie de toreros (mínimo 1 y máximo 3) de los que desea guardar su DNI, nombre, apodo y fecha en que tomó la alternativa (fecha en la que se convirtió en matador de toros). Además se desea saber quien fue el torero que le dio la alternativa (padrino) en su día (un torero puede dar la alternativa a varios toreros o a ninguno). En cada corrida un torero obtiene una serie de premios (cuántas orejas, cuántos rabos y si salió por la puerta grande o no) de los que se desea mantener información. Cada torero puede tener un apoderado del que es protegido. A su vez, un apoderado lo puede ser de varios toreros. De él se desea saber su DNI, nombre, dirección y teléfono. Una corrida se celebra en una plaza de toros de la que se desea saber su nombre que se supone único, localidad, dirección y aforo. En una misma plaza se pueden celebrar varias corridas de toros. En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado por el código de la ganadería a la que pertenece, el año en que nació y un número de orden. Además se desea mantener información acerca de su nombre y color así como el orden en que fue toreado. Cada toro pertenece a una ganadería determinada. De cada ganadería se pretende saber su código, localidad y antigüedad (fecha de creación).
Solución
Reducción de E-R a Tablas ► Entidades
Se genera una tabla con los atributos de una entidad. La clave primaria de la tabla es la misma que la de la entidad del modelo E-R.
Reducción de E-R a Tablas ► Entidades
Débiles
se genera una tabla con los atributos de la entidad débil, mas la clave primaria de la entidad fuerte. La clave primaria de la tabla generada por la entidad débil estará formada por los atributos clave de la entidad débil en el modelo E-R más los atributos clave de la entidad fuerte en el modelo E-R.
Reducción de E-R a Tablas ► Relaciones
Si la relación es del tipo 1:1 y es obligatorio (total) tipo de participación de ambas entidades, solo es necesario una tabla con los atributos de las entidades que participan en la relación. Como clave primaria se puede tornar cualquiera de las claves de las entidades.
Reducción de E-R a Tablas ►
Relaciones
Si la relación es del tipo 1:1 y el tipo de participación de una entidad es obligatoria (total) y el de la otra es opcional (parcial), son necesarias dos tablas. Cada una contendrá los atributos de las entidades que participan en la relación. En la tabla correspondiente a la entidad con participación obligatoria se añade una columna que contendrá la clave primaria de la otra entidad (clave ajena). La clave primaria de cada tabla del modelo relacional serán las mismas que las de las entidades asociadas del modelo E-R.
Reducción de E-R a Tablas ► Relaciones
Si la relación es del tipo 1:1 y el tipo de participación es opcional (parcial) para las dos entidades, entonces es necesario generar tres tablas, una para cada entidad y otra para la relación que deberá contener como atributos las claves primarias de las entidades que participan en la relación.
Reducción de E-R a Tablas ► Relaciones
Cuando la relación es del tipo 1:N, y la entidad del lado N es de participación obligatoria (total) se necesita una tabla para cada entidad. A la tabla que representa la entidad N se le añade un atributo que contenga la clave primaria de la entidad con la que se relaciona (clave ajena).
Reducción de E-R a Tablas ► Relaciones
Cuando la relación es del tipo 1:N, y la entidad del lado N es de participación optativa (parcial) se necesitan tres tablas: una para representar cada entidad y una para representar la relación.
Reducción de E-R a Tablas ► Relaciones
Si la relación es del tipo N:M, se generan tres tablas, una para cada entidad y otra que contiene los atributos propios de la relación más la claves primarias de las entidades que participan en la relación.
Reducción de E-R a Tablas ► Relaciones
En general, cuando la relación es entre una entidad fuerte y una entidad débil, no necesita ser representada en forma de tabla.
TRABAJO DE CLASE