Tema 2: Diseño de bases de datos

Slides:



Advertisements
Presentaciones similares
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
Advertisements

IBD Plan 90 y 2003 Clase 11.
IBD Clase 13.
Diseño de Bases de Datos
Conocimiento, Uso y Evaluación de Medicamentos Genéricos
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Instrumentos de presentación de datos Tablas Introducción Una vez ha logrado agrupar los datos, el investigador puede iniciar el estudio de los hallazgos.
Entidad Cosa u objeto real (una persona) o abstracto (un préstamo) de interés en el mundo real (una organización). Es distinguible de todos los demás objetos.
Modelo Entidad Relación
Rocío Contreras Águila Primer Semestre 2010
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Unidad de competencia II Estadística descriptiva:
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
Diseño lógico: la transformación del modelo Entidad Relación (MER) al modelo relacional Ing. Sonia Godoy Hortua.
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
UPC Tema: ESPACIO VECTORIAL Rn
Modelo Entidad-Relación
Bases de Datos Modelo Relacional.
50 principios La Agenda 1.- Presentar un único interlocutor a los clientes. 2.- Tratar de modo distinto a las diferentes clases de clientes. 3.- Saber.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Conceptual Ing. Alfonso Vicente, PMP
Parte 3. Descripción del código de una función 1.
Elementos para Interpretar el Modelo Conceptual de Datos
MODELO RELACIONAL.
EL OSO APRENDIZ Y SUS AMIGOS
¿QUÉ SON LAS BASES DE DATOS?
50 principios 1. Los clientes asumen el mando.
INTELIGENCIA ARTIFICIAL
Ecuaciones Cuadráticas
C REACIÓN DE B LOGS EN ESPOL Profesora: Eva María Mera Intriago Escuela Superior Politécnica del Litoral Impulsando la sociedad del conocimiento Instituto.
Estadística Computacional I
¡Primero mira fijo a la bruja!
2 Introducción: Una forma de aproximarnos una base de datos es verla como una colección de relaciones, donde una relación es una tabla con filas (tuplas)
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
MODELO RELACIONAL.
Teoría de Bases de Datos
Base de Datos Relacional.
MODELO RELACIONAL.
Introducción y conceptos generales
“¿Qué Pienso de mi futuro?”
SUCESIONES Y PROGRESIONES.
Estructuras de control
UNIDAD I Conceptos Básicos.
Sistemas de Bases de Datos I
Métrica v2.1 Técnicas: Modelado de datos (Parte 2)
MODELADO DE DATOS (PARTE 2) Viviana Poblete L. Modelo de Datos I.
DIAGRAMAS ENTIDAD RELACIÓN
BASES DE DATOS Entidad-Relación
Modelos de Datos.
Ing. Héctor Abraham Hernández Erazo
APLICACIÓN DE NUEVAS TECNOLOGÍAS EN LA CONSERVACIÓN Y ANÁLISIS DEL PATRIMONIO CULTURAL Pensar Relacionalmente: Bases de Datos Relacionales (una visión.
Restricciones de Integridad
PASO DEL ESQUEMA E-R AL MODELO RELACIONAL
Bases de Datos.
Para pasar a tablas todos los datos sin dejar nada y que las tablas tengan sentido por si solas se tiene que seguir unos pasos: 1.Toda entidad se transforma.
Diagramas.
MODELOS DE DATOS RELACIONAL
Bases de Datos Modelo Relacional.
M ODELO DE DATOS DE ENTIDAD - VÍNCULO El modelo de entidad-vínculo es un modelo de datos conceptual de uso muy extendido. Este modelo, y sus variantes,
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
Modelos Entidad – Relación (E-R). El modelo entidad-relación Los MD soportados por los SGBD no suelen ofrecer, dado su bajo nivel de abstracción, los.
Transcripción de la presentación:

Tema 2: Diseño de bases de datos Máster en Tecnologías de Información Geográfica

1. Introducción Diseño: Fases: Proceso de creación de un esquema de la base de datos. Fases: Conceptual. Lógico. Físico.

Ésta es la información de la que partimos: Ejemplo: Diseño de una base de datos para la secretaría de una facultad Se desea gestionar (almacenar, consultar, actualizar, …) la información correspondiente a la secretaría de una facultad. Ésta es la información de la que partimos: Por cada alumno se requiere la información: DNI, Apellidos y nombre, domicilio, teléfono y acceso (que indica el tipo de acceso a la universidad). También se precisa conocer en cada momento las asignaturas en las que el alumno está matriculado, así como la nota en cada asignatura. Un alumno sólo puede matricularse en una asignatura una vez, y debe matricularse al menos en una. Por cada asignatura se requiere: código, título y núm de créditos. Puede haber varias asignaturas con el mismo número de créditos, pero todas tienen distinto código y distinto título.

Ejemplo: Diseño de una base de datos para la secretaría de una facultad Cada asignatura puede estar impartida por uno o más profesores. Del profesor se deben conocer los mismo datos que en el caso de los alumnos, salvo el de acceso: DNI, Apellidos y nombre, domicilio y teléfono. El número máximo de asignaturas que puede impartir un profesor es 6, aunque puede que no imparta ninguna. Algunos profesores tienen un supervisor (sólo uno), que es otro profesor. Dados un profesor concreto y una asignatura de las que imparte, se debe conocer el aula en la que el profesor da esa asignatura (es siempre la misma). El aula se identifica mediante el nombre de edificio y el número de aula. Se supone que dentro del mismo edificio cada aula tiene un número diferente.

2. Diseño conceptual Conceptos: Entidad. Atributo. Relación. DNI = 01234567Z, Nombre y apellidos = Manuel Vázquez Prieto, Teléfono = 91-12345678 Domicilio = Calle del Jazmín 7, 4 Izq. Atributo. Monovalorados/multivalorados Simples/Compuestos Relación. (José García, Bases de datos)

2. Diseño conceptual Conceptos: Tipos de entidad. Tipos de relación. Alumno Tipos de relación. Matrícula

2. Diseño conceptual Conceptos: Clave. Identificador/es unívoco de una entidad. DNI en Alumnos Tipos de clave: Superclave. Clave primaria. Clave candidata.

Diagrama Entidad-Relación Modelo de datos de alto nivel. Consta de elementos básicos (entidades) y de relaciones entre ellos (relaciones). Las entidades se describen por un conjunto de atributos.

Diagrama Entidad-Relación Diagrama E-R Rectángulos => entidades Elipses => atributos Rombos => relaciones Además es posible representar ciertas restricciones: Clave Cardinalidad Participación Matrícula Alumnos Asignaturas

Atributos simples y compuestos: Se dice que un atributo es compuesto cuando puede descomponerse en otros componentes o atributos más pequeños, y simple en otro caso. Ej.: En el caso del nombre de una persona puede que nos interese descomponerlo a su vez en nombre, primer apellido y segundo apellido por separado. Se representan como elipses (atributos simples) unidos a otra elipse (atributo compuesto) que se une a la entidad. Simple A Simple B Compuesto

Atributos monovalorados y multivalorados Se llaman atributos multivalorados a aquellos que pueden contener más de un valor simultáneamente, y monovalorados a los que sólo pueden contener uno. Ej.: Una persona puede tener varios números de teléfono (casa, trabajo, móvil) y puede que nos interese tenerlos todos. En este caso haremos de teléfono un atributo multivalorado. Los atributos multivalorados se representan con dos elipses concéntricas Mu Multivalor

Ejemplo atributos

Atributos de una relación Una relación puede incluir un nombre y unos atributos que la caractericen Fecha_devolución ISBN DNI tiene_prestado Usuario Libro

Atributos de una relación Pero es recomendable que estos últimos sólo aparezcan en ella si no pueden ser añadidos a alguna de las entidades que participan de la relación. Fecha_apertura NºCUENTA DNI es_titular Cliente Cuenta

Valores nulos El valor nulo tiene dos modos de uso semánticamente distintos: No existencia del dato: el atributo no tiene sentido en la entidad particular. Ej. atributo PISO en una entidad CLIENTES donde el elemento insertado corresponde a un cliente con domicilio en una casa unifamiliar. Desconocimiento: el atributo se “deja en blanco” por no disponer de la información. Ej. atributo ALTURA en una entidad JUGADORES. Ambigüedad: a veces no es posible distinguir si el valor de un atributo “no existe” o si “se desconoce”. Ej. atributo TELF_MOVIL en una entidad ALUMNOS

Grado de una relación Grado de una relación es el número de entidades que asocia: Relación binaria: asocia dos entidades Relación ternaria: asocia tres entidades Relación recursiva: asocia una entidad consigo misma

Roles La función que desempeña una entidad en una relación se denomina rol de esa entidad. En general, los roles están implícitos y no se suelen especificar. Resultan útiles cuando el significado de una relación necesita aclaración P.ej: en relaciones recursivas Profesor Supervisor Supervisado supervisa

Diseño conceptual Un buen diseño debe ser Conciso Fácil de comprender Fácil de mantener Eficiente El diseño del modelo E-R a partir del análisis inicial NO es directo. A un mismo análisis le corresponden muchos diseños “candidatos”. Dos peligros importantes a evitar Redundancia Información repetida Incompletitud Aspectos mal modelados

Pasos en el diseño de un diagrama E-R: Pasos básicos a seguir Pasos en el diseño de un diagrama E-R: Elección de los tipos de entidad y sus atributos. Elección de los tipos de relación y sus atributos. Restricciones.

Elección de los tipos de entidad y sus atributos Del punto 1 de la especificación del problema de la secretaría se deduce que va a haber un tipo de entidad ALUMNOS, pero no cuáles son sus atributos: ¿Debe incluir las asignaturas (punto 2) en las que está matriculado? La respuesta es NO y hacerlo así sería un error grave. Aparte de la idea ‘filosófica’ (cada asignatura es un objeto con significado propio, es decir, una entidad), al mezclar en una sola entidad alumnos y asignaturas cometemos varios errores.

Elección de los tipos de entidad y sus atributos Un alumno no tiene una asignatura asociada sino un conjunto de asignaturas asociadas. En cambio, sí tiene un DNI asociado, una dirección asociada, etc. Por tanto las entidades serían de la forma {DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=MD, Título=Matemática Discreta, Créditos=9} {DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=IS, Título=Ingeniería del Software, Créditos=12} {DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=LPI, Título=Laboratorio de programación I, Créditos=X} ERROR: Redundancia (información de alumnos repetida)

Elección de los tipos de entidad y sus atributos Esto se puede solucionar si admitimos que los atributos contengan conjuntos de valores (multivalor) { DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, … , Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=LPI,Título=…} } } Errores: Difícil de manejar  Poco escalable cuando el conjunto de valores es muy elevado  “Tablas” de Varias Dimensiones  NO es Relacional 

Elección de los tipos de entidad y sus atributos Además, las asignaturas son siempre las mismas, con lo que por cada alumno que se matricula en la misma asignatura hay que repetir la información de ésta. { DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567,Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=LPI,Título=…} } } { DNI=0000001, Nomb.Ape=Eva Manzano, Telf.=01234567,…, Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=BDSI,Título=…} } } Error: Redundancia (otra vez, información de asignaturas repetida)

Elección de los tipos de entidad y sus atributos Además, en cualquiera de estas soluciones no se pueden guardar los datos de una asignatura hasta que no se matricule un alumno en ella. Puede ser que en secretaría quieran meter los datos de las asignaturas antes de empezar el proceso de matrícula de alumnos No pueden  Podría pensarse: las incluimos con los datos de los alumnos vacíos (nulos). Olvídalo…es una chapucilla 

Elección de los tipos de entidad y sus atributos Del punto 3 de la especificación, por cada profesor hay que apuntar las asignaturas que imparte. La información de las asignaturas debe estar por tanto relacionada con la de los profesores, pero ya está incluida con los alumnos Error: se vuelve a repetir la información de las asignaturas  más Redundancia 

Elección de los tipos de entidad y sus atributos Por tanto hay que distinguir entre el tipo de entidad ALUMNOS y el tipo de entidad ASIGNATURAS. Ambas se relacionarán mediante un tipo de relación MATRICULA. Parece claro que los restantes tipos de entidad serán: PROFESORES y AULAS. Los atributos de cada tipo de entidad serán: Alumnos: DNI, Apellidos y Nombre, Domicilio, teléfono y acceso Asignaturas: Código, título, y núm. Créditos Profesores: DNI, Apellidos y nombre, Domicilio y teléfono Aulas: Edificio y núm. edificio

Elección de los tipos de entidad y sus atributos Aún nos falta un atributo: la Nota ¿Dónde la ponemos? ¿En alumnos? NO, porque un alumno tiene muchas notas ¿En asignaturas? NO porque una asignatura tiene muchos alumnos Posible solución: Nota será un atributo del tipo de relación Matrícula. (vimos que esto se debe evitar por sencillez...pero es posible)

Elección de los tipos de relación El primer tipo de relación es MATRÍCULA que relaciona cada alumno con las asignaturas en las que está matriculado. Además, está relación tiene un atributo, Nota, que se asocia cada posible relación. Además, hay otro tipo de relación: SUPERVISA que va de profesores a profesores y que incluye los roles supervisor y supervisado.

Elección de los tipos de relación La última relación es IMPARTE que relaciona cada profesor con la asignatura que imparte y el aula en la que da esa asignatura. Aquí también surgen varias posibilidades: a) Hacer 2 relaciones binarias: PROFESOR -ASIGNATURA y ASIGNATURA -AULA. b) Hacer 1 relación ternaria: PROFESOR- AULA- ASIGNATURA c) Hacer 3 relaciones binarias: PROFESOR –ASIGNATURA PROFESOR –AULA ASIGNATURA -AULA

Ejemplo: Diseño de una base de datos para la secretaría de una facultad Telf. Direcc Título COD N_Cred Ap Nom Acceso Matrícula DNI Alumno Asignatura Nota Supervisa supervisor supervisado Imparte Profesor Aula DNI Ap Nom Domicilio Telf. Edificio Número

Restricciones Con los elementos anteriores tenemos una primera aproximación a los diagramas ER, en la que tenemos definidos los elementos principales de los diagramas. Sin embargo, en el modelo ER también se pueden definir numerosas restricciones sobre los tipos de entidades y tipos de relaciones

Restricciones Las restricciones son propiedades que se asocian a un tipo de entidad o de relación. Las instancias válidas del tipo de entidad o relación son aquellas en las que se verifique el conjunto de restricciones asociadas. Observaciones: Las restricciones son parte del diseño de la BD igual que los tipos de entidades o de relaciones. Los SGBD se encargan de comprobar que la instancia verifica las restricciones más usuales. Ej.:En el caso anterior, una vez incluida la restricción, el SGBD no nos permitiría insertar la segunda tupla.  

Restricciones de clave Ej.: En la relación SUPERVISA un profesor puede tener a lo sumo un supervisor, pero el diagrama anterior permite: …es decir, que un profesor tenga p.e. dos supervisores Pero NO debería ser una instancia válida de la relación porque según enunciado: “un supervisor (sólo uno)” Solución: imponer restricción de clave.   SUPERVISOR SUPERVISADO ({DNI=666666,…}, {DNI=444444,…}) ({DNI=000001,…}, Instancia Tuplas

Restricciones de clave Las entidades deben poder distinguirse unas de otras a través de los valores de sus atributos. Interesa encontrar un conjunto de atributos lo más pequeño posible que nos permita distinguir unas entidades de otras. Estos conjuntos serán las claves. Aparecen como atributos subrayados en el diagrama E-R.

Restricciones de cardinalidad Fijado un alumno puede haberse matriculado en cualquier número de asignaturas no hay restricción sobre el tipo de entidad asignatura en la relación matrícula. Restricción de cardinal para asignatura: ≤ N. Fijada una asignatura, puede haberse matriculado sobre ella un número cualquiera de alumnos no hay restricciones sobre el tipo de entidad alumnos en la relación matrícula. Restricción de cardinal para alumnos: ≤ N.  

Restricciones de cardinalidad El supervisor de un profesor, si lo tiene, es único. El tipo de entidad profesor, en el papel supervisado tiene cardinal ≤1. Restricción de cardinal para profesor (supervisado): ≤ 1 El tipo de entidades profesor, en el papel supervisor no tiene ninguna restricción de cardinal un profesor puede supervisar a un número indeterminado de profesores. Restricción de cardinal para profesor (supervisor): ≤ N  

Restricciones de cardinalidad Cada persona tiene un único país de nacimiento: es decir, fijada una persona, existe un país. Restricción =1 para el tipo de entidad país en el tipo de relación nacida. Dado un país hay una cantidad no determinada en general de personas nacidas allí, Restricción = N para el tipo de entidad personas en el tipo de relación nacida. N Nacida 1 Personas País

Representación de cardinalidad en diagramas E-R Hay VARIAS formas de expresar las restricciones de cardinalidad sobre tipos de relaciones en los diagramas E-R:   R 1 1 Entity_1 Entity_2 one-to-one R 1 N Entity_1 Entity_2 one-to-many R N 1 Entity_1 Entity_2 many-to-one R N N Entity_1 Entity_2 many-to-many

Restricción de participación Se dice: “Participación de una entidad en una relación” Participación: Se dice que Ej tiene participación total en r si cada entidad ej  Ej se encuentra en alguna tupla de r. En otro caso se dice que la participación es parcial.  

2. Diseño lógico Herramienta: Resultado: Modelo relacional. Esquema lógico.

Modelo relacional El concepto principal es la tabla o relación Cada tabla o relación es un conjunto de tuplas donde cada una de ellas corresponde a una fila de la tabla Cada tupla corresponde a la descripción, en el diagrama ER, de una entidad particular o a la descripción de una relación particular entre varias entidades particulares. No hay que confundir las tablas con las relaciones del modelo Entidad Relación. Las tablas (o relaciones) valen para tipos de relaciones igual que para tipos de entidades.

Terminología del modelo relacional Relación Igual que en el esquema ER. Las entidades particulares se representan como tuplas o filas de la tabla. Atributo Se representan como las columnas de la tabla. Los valores de los atributos de las tuplas deben ser atómicos. No puede haber atributos compuestos O se representan sus componentes individuales como atributos O se junta toda la información en un único atributo Ej: secretaría => domicilio como atributo simple con toda la información No puede haber atributos multivalorados Veremos como convertirlos en atributos monovalorados

Terminología del modelo relacional Esquema de una tabla o relación viene dado por el nombre de la tabla y una lista de atributos. Alumnos (DNI, Apellidos, Nombre, teléfono, acceso) El orden de los atributos en la lista no importa. Lo fijamos porque nos viene bien para representarlo como tabla, pero cualquier permutación es válida. Instancia de una tabla => Conjuntos de entidades particulares. Cada entidad particular se representa como una tupla. Cada componente de la tupla corresponde con el valor del atributo correspondiente, según el orden enunciado en el esquema de la tabla.

Ejemplo secretaría Ejemplo: Instancia de la tabla Alumnos: { (01234567Z, Vázquez , Manuel, 9112345678, normal), ....} DNI Apellido Nombre teléfono acceso 01234567Z Vázquez Manuel 9112345678 normal …

Terminología del modelo relacional Un tabla no puede contener tuplas repetidas Existe un conjunto de atributos que determina unívocamente a cada tupla Los conceptos de superclave, clave candidata y clave primaria explicados en el modelo ER son válidos para el modelo relacional Cada tabla debe tener una clave primaria Los atributos que forman la clave primaria nunca pueden tomar valores nulos

Paso del modelo ER al modelo relacional Se puede transformar un diagrama ER (diseño conceptual) en un modelo relacional (diseño lógico) mediante una serie de transformaciones Entidades Relaciones Restricciones de cardinalidad Atributos multivalorados

Entidades Para cada entidad que no sea débil se crea una tabla con el mismo nombre y conjunto de atributos. La clave primaria es la del diagrama ER En este punto no se indica nada acerca de las relaciones en los que participa el tipo de entidades.

Ejemplo secretaría En el caso de la BD de secretaría los tipos de entidades dan lugar a las tablas: Alumnos(DNI, Apellidos, Nombre, teléfono, acceso) Suponiendo teléfono atributo monovalor Asignaturas(Código, título, núm créditos) Profesores(DNI, ApellidosYNombre, domicilio, teléfono) Aulas(Edificio, núm. aula)

Relaciones binarias: restricciones de cardinalidad varios a varios Varias a varias

Relaciones binarias: restricciones de cardinalidad varios a varios Sea R relación binaria entre E1 y E2. Clave primaria de E1 Conjunto de atributos c1 Clave primaria de E2 Conjunto de atributos c2 Relación construida a partir de R Atributos de T: c1 + c2 + Atributos de R Superclave para R: c1  c2

Ejemplo secretaría Ej: En el caso de la BD de secretaría los tipos de relación dan lugar a las tablas: Matrícula(DNI, código, nota) Supervisa(DNISupervisor, DNISupervisado) Imparte(DNI, código, edificio, num. aula) ALUMNOS (DNI, …..) MATRICULA (DNI, Código, Nota*) ASIGNATURAS (Código, …..)

Ejemplo secretaría Ejemplo: Instancia de la tabla Matrícula: { (01234567Z, 520, 8), ....} DNI código nota 01234567Z 520 8 …

Relaciones con restricciones de cardinalidad 1 a M Una a varias

Relaciones con restricciones de cardinalidad 1 a M Relación binaria con restricciones varios a uno Incluir en el esquema de tabla de la entidad con restricción varios Añadir como clave externa (foreign key) a la clave primaria del otro esquema Añadir los de de la relación. Mantener los atributos de la propia entidad Mantener las claves primarias

Relaciones con restricciones de cardinalidad 1 a M Esquema: Personas(DNI,Apell, PaisNac) Países(Nombre) Integridad referencial: Personas.PaisNac -> Países.Nombre

Anexo

Ejercicio de Clase. Modelo E-R