Temario I. BD Orientadas a Objetos Tema 1. Bases de Datos Orientadas a Objetos Tema 2. El modelo de clases de UML Ejerci
Views 256 Downloads 9 File size 998KB
Temario I. BD Orientadas a Objetos Tema 1. Bases de Datos Orientadas a Objetos Tema 2. El modelo de clases de UML Ejercicios de modelado conceptual OO Tema 3. El modelo objeto-relacional Prácticas de BDOR en Oracle Tema 4. Diseño de BDOR Ejercicios de diseño de BD (objeto-)relacionales con UML II. BD Activas Tema 5. Bases de Datos Activas Tema 6. Disparadores en Oracle Prácticas de Disparadores en Oracle III. BD Semiestructuradas Tema 7. XML y las BD Prácticas de XML con XML DB de Oracle www.kybele.urjc.es
Base de Datos @KYBELE
Diseño lógico
Diseño conceptual
SQL-92 (BDR) SQL:2003 (BDOR)
Modelo E/R Extendido Modelo de clases de UML
ODMG (BO)
Implementación Código SQL (R o OR) para Oracle 10g Código para POET
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo E/R Extendido
Bibliografía Complementaria
Tecnología y Diseño de Bases de Datos. Piattini, M.G., Marcos, E., Calero, C., Vela, B. Ra-Ma, 2006. Bases de Datos Objeto Relacionales. Marcos, E., Vela, B. y Vara J.M., Dickinson, Septiembre 2005.
El Lenguaje de Modelado Unificado. G. Booch, J. Rumbaugh, I. Jacobson. Addison Wesley, 1999. Persistence Modeling in the UML. S.W. Ambler. Software Development, 1999. www.kybele.urjc.es
Base de Datos @KYBELE
Diseño de BD (Objeto) - Relacionales
Nivel Conceptual Lógico (Estándar)
Lógico (Específico)
Modelo
Lenguaje
Estructurado
E/R
Objetos
UML
Relacional
SQL:92 Grafo relacional UML+extensión relacional
Objeto-Relacional
SQL:2003 UML+extensión OR
Relacional Producto
SQL producto
Objeto-Relacional Producto
SQL producto UML+extensión producto
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo Entidad – Interrelación
Modelo Entidad-Interrelación (E/R) El modelo E/R fue propuesto por Peter P.Chen en dos artículos (1976 y 1977).
Objetivo: Establecer una visión global de los datos de una organización o de un sistema de información, en un nivel de abstracción próximo al usuario e independiente de las características del equipo donde después se vaya a instrumentar el sistema.
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido Elementos del Modelo E/R Entidad Denominamos entidad a la abstracción que permite representar aquellos objetos del mundo real que comparten una serie de características comunes.
EMPLEADO
Interrelación Asociación o correspondencia entre entidades. Puede haber más de una interrelación entre dos entidades.
DEPARTAMENTO
Pertenece
www.kybele.urjc.es
EMPLEADO
Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido Elementos del Modelo E/R Elementos de una Interrelación: Grado: Número de entidades que participan en una interrelación
Interrelación binaria: Grado 2 LIBRO
Interrelación reflexiva: Grado1 TEMA
Escribe
Consta
AUTOR
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido Elementos del Modelo E/R
Elementos de una Interrelación: Cardinalidad Máxima o Tipo de Correspondencia: Número máximo de ocurrencias de cada entidad que pueden intervenir en la interrelación que se está tratando. 1:1 – 1:N – N:M
Papel o “rol”: Función que cada una de las entidades realiza en la interrelación
PROYECTO
Coordina
EMPLEADO
Dirige
Es_cordinado_por 1:1
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido Elementos del Modelo E/R Dominio y Valor Las distintas propiedades o características de una entidad o de una interrelación toman valores para cada ejemplar de éstas. El conjunto de posibles valores que puede tomar una cierta característica se denomina dominio.
Puede definirse por intensión (tipo de dato) o por extensión (declarando el valor).
Atributo Cada una de las propiedades, características o unidades de información básicas de una entidad o de una interrelación. Los atributos toman valores de un dominio. Nombre_ departamento
www.kybele.urjc.es
Nombre_ departamento Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido Atributo compuesto, es aquel que se define sobre más de un dominio.
EMPLEADO
Día
EMPLEADO
Mes Fecha_nac
Fecha_nac
Nombre_emp DNI
Año
Atributo multivaluado, es aquel que puede tomar varios valores.
Teléfono
Atributo Identificador Principal (AIP): identifican unívocamente cada una de las ocurrencias de la entidad EMPLEADO EMPLEADO www.kybele.urjc.es
DNI DNI Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido Elementos del Modelo E/R Generalización/Especialización Se considera como un caso especial de asociación entre varias entidades (subtipos) y una entidad más general (supertipo) cuyas características son comunes a todos los subtipos. La asociación que se establece entre los subtipos y el supertipo corresponde a la noción de es_un (IS_A, en inglés) EMPLEADO
SUPERTIPO
(1,1) Es_un
(0,1)
(0,1)
ANALISTA
PROGRAMADOR www.kybele.urjc.es
SUBTIPOS Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido
Ejemplo de esquema en el Modelo E/R DEPARTAMENTO
cod-dpto.
1:N
dni
Tiene fecha
EMPLEADO
Trabaja
cod-proy
PROYECTO
N:M
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo Relacional A finales de los años sesenta Codd introdujo la teoría de las relaciones en el campo de las bases de datos. Elementos del Modelo Relacional
Relación Es la estructura básica del modelo relacional. Se representa mediante una tabla.
Atributo Representa las propiedades de la relación. Se representa mediante una columna.
Dominio Es el conjunto válido de valores que toma un atributo.
Tupla Es una ocurrencia de la relación. Se representa mediante una fila.
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo Relacional
Grado: Es el número de atributos de la relación (columnas de la tabla). Cardinalidad: Es el número de tuplas de una relación (filas de la tabla). Características de una relación • No puede haber tuplas duplicadas. • El orden de las tuplas es irrelevante. • La tabla es plana, es decir, en el cruce de un atributo y una tupla sólo puede haber un valor.
• El orden de los atributos no es significativo.
www.kybele.urjc.es
Base de Datos @KYBELE
Modelo Relacional
Ejemplo de relación entre tablas N:M EMPLEADO (cod-emp, nombre,domicilio, fecha-nac…) PROYECTO( cod-proy, nombre-p, …)
ASIGNACION (cod-emp, cod-proy, …)
‘cod-emp, cod-proy’ es una clave primaria compuesta y sus atributos: cod-emp y cod-proy son claves ajenas de EMPLEADO y de PROYECTO, respectivamente.
www.kybele.urjc.es
Base de Datos @KYBELE
Diseño de BD Relacionales
Transformación de un Esquema E/R a un Esquema Relacional Objetivo :
Convertir el esquema conceptual en un esquema lógico global en el Modelo Relacional. •Aplicando adecuadamente las reglas de transformación se obtiene un esquema lógico global (relacional) normalizado. •Del esquema lógico global se obtendrá el esquema interno. Este esquema, por motivos de rendimiento y optimización puede ser desnormalizado. www.kybele.urjc.es
Base de Datos @KYBELE
Diseño de BD Relacionales Modelo E/R
Modelo Relacional TABLA
ENTIDAD
Clave Primaria Columna Tabla
AIP Atributo Atributo multivaluado
INTERRELACIÓN N:M
Tabla
Propagación de clave a la entidad con cardinalidad máxima n
1:N
1:1 con atributos
Propagación de clave de la entidad con cardinalidad mínima 0 Tabla o propagar atributo junto a la clave
www.kybele.urjc.es
Base de Datos @KYBELE
Diseño de BD Relacionales Modelo E/R
Modelo Relacional
GENERALIZACIÓN
Opción a: una sola tabla Documento (código, titulo, idioma,... tipo)
Opción b: tres tablas Documento (código, titulo, idioma,...)
Documento
Artículo (código, ...) Artículo
Libro
Libro (código, ...)
Opción c: dos tablas Artículo (código, titulo, idioma,...) Libro (código, titulo, idioma,...)
www.kybele.urjc.es
Base de Datos @KYBELE
Diseño de BD Relacionales Estereotipos para BD Relacionales
Elemento BD
Elemento UML
Estereotipo
Tabla
Clase