Modelos de datos. Marta E. Zorrilla Pantaleón Universidad de Cantabria. Curso 2010-2011 Marta Zorrilla - UC 1



Documentos relacionados
Modelos de datos. Marta E. Zorrilla Pantaleón Universidad de Cantabria

Bases de Datos Modelo Relacional

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Repaso de Conceptos Básicos de Bases de Datos

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Base de datos relacional

rg.o cm a Diseñ e o o c o c n o ce c p e tual l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

3. Modelo relacional: Estructura e integridad.

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

INTRODUCCION A LAS BASES DE DATOS Procesamiento de Archivos vs Bases de Datos ARCHIVOS BASES DE DATOS

1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar

Temario Curso Bases de Datos

Tema 6: Diseño de bases de datos relacionales.

UNIDAD 3. MODELO RELACIONAL

- Bases de Datos - - Diseño Físico - Luis D. García

Modelo Relacional: Conceptos

IES Politécnico Estella

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico

Introducción. Componentes de un SI. Sistema de Información:

Temario. Índices simples Árboles B Hashing

2 Diseño lógico: Modelo Relacional

TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES

Consultas con combinaciones

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Bases de Datos Tema 4 Modelo Entidad/Interrelación (ERM de Chen)

Diseño de bases de datos Diapositiva 1

Proyecto de Normalización Automática de Base de Datos

SE PIDE: 1. Suponiendo que partimos del siguiente grafo relacional que recoge parte de los supuestos anteriores,

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

BASE DE DATOS RELACIONALES

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Elementos requeridos para crearlos (ejemplo: el compilador)

OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: IES GONZALO NAZARENO

EL MODELO ENTIDAD-RELACIÓN:

CURSO DE SQL SERVER 2005

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

Restricciones de Integridad

Tema 2: Modelo Entidad-Relación(ER)

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

SUPLEMENTO EUROPASS AL TÍTULO

VISIO: Herramienta CASE

Bases de datos relacionales y el modelo entidad-relación

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Modelo Entidad-Relación

Metadatos en Plataformas ECM

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

TEMA 4. Diseño Lógico de bases de datos relacionales.

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

Cuando el pedido se entrega al cliente, se genera la factura correspondiente.

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

El modelo relacional

Capítulo 9. Archivos de sintaxis

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

GENERALIDADES DE BASES DE DATOS

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Gestión de la Prevención de Riesgos Laborales. 1

SUPLEMENTO EUROPASS AL TÍTULO

TEMA 6. DISEÑO CONCEPTUAL DE BASES DE DATOS. MODELO ENTIDAD RELACIÓN.

Bases de Datos. Sistemas de Gestión de Bases de Datos

Estructura de Bases de datos. Leonardo Víquez Acuña

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

Informe final de evaluación del seguimiento de la implantación de títulos oficiales MÁSTER UNIVERSITARIO EN COMUNICACIÓN Y PROBLEMAS SOCIOCULTURALES

TEST (10 preguntas, respuesta única, 2.0 puntos, aciertos +0.20, fallos 0.05)

Manual de usuario del Centro de Control

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Operaciones con bases de

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

PARTE II. MODELO RELACIONAL. ESTÁTICA

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Teórico 9 Del MER al MR

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

Capítulo 12: Indexación y asociación

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

CICLO DE VIDA DEL SOFTWARE

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Generación de código para Hibernate desde modelos UML

Patrones para persistencia (I) Ingeniería del Software II

Gestión de Configuración del Software

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

Transcripción:

Modelos de datos Marta E. Zorrilla Pantaleón Universidad de Cantabria Curso 2010-2011 Marta Zorrilla - UC 1

Curso 2010-2011 Marta Zorrilla - UC 2 Modelo de datos. Definición Conjunto de herramientas conceptuales para describir la representación de la información en términos de datos. Los modelos de datos comprenden aspectos relacionados con: estructuras y tipos de datos, operaciones y restricciones. Dittrich (1994). Conjunto de conceptos, reglas y convenciones que permiten describir y manipular los datos de la parcela de un cierto mundo real que deseamos almacenar en la base de datos. De Miguel et al. (1999). Colección de herramientas conceptuales que se emplean para especificar datos, las relaciones entre ellos, su semántica asociada y las restricciones de integridad.

Curso 2010-2011 Marta Zorrilla - UC 3 Fases del diseño Fase inicial: análisis de requisitos. Descripción de la información a gestionar y sus procesos. Entrevistas con usuarios y expertos. Análisis de requisitos. Especificación funcional Diseño conceptual: traducción del análisis de requisitos al esquema conceptual. Representación generalmente gráfica de las entidades y sus relaciones. Modelo ER, modelo UML, ORM DFD, diagrama de casos, diagramas de colaboración, de secuencia, etc. Implantación en el gestor: Diseño lógico: traducción del modelo conceptual al LDD del gestor correspondiente. Modelo relacional, OO, OR Diseño físico: determina la organización de archivos y las estructuras de almacenamiento interno.

Curso 2010-2011 Marta Zorrilla - UC 4 Modelo, Esquema y Ejemplar Mundo real Modelo de datos ER, ORM UML Esquema de datos Herramientas CASE Ejemplar del esquema: instancia del esquema, esto es, datos que en un momento determinado están en el esquema Relacional Objeto relacional Orientado a objetos Jerárquico / red

Curso 2010-2011 Marta Zorrilla - UC 5 Modelos conceptuales Características: Independientes del SGBD Mayor nivel de abstracción Mayor capacidad semántica Más enfocados al diseño de alto nivel Interfaz usuario/informático

Curso 2010-2011 Marta Zorrilla - UC 6 Ejemplo ER MOVIE 0..N Title year filmtype length 1..N stars 1..N STAR addr Name phones street city owns 1..1 STUDIO Name address

Curso 2010-2011 Marta Zorrilla - UC 7 Ejemplo UML Movie title year length filmtype {color, blackandwhite} 0..N 1..1 Studio name address float lengthinhours() void starnames (out Set<String>); void othermovies ( in Star, out Set<Movie>) 1..N 1..N Star name Addr {street, city} Phones(set) void enrolled_in (in Star s, Movie m) void drop_enrolled_in (in Star s, Movie m)

Curso 2010-2011 Marta Zorrilla - UC 8 Ejemplo ORM

Curso 2010-2011 Marta Zorrilla - UC 9 Herramientas CASE (Computer Aided/Assisted Software/System Engineering) Conjunto de programas que asisten a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Ayudan al diseño verificación de errores Reducen el tiempo de desarrollo generación de código y reutilización de objetos, generadores de casos de pruebas Mejoran la calidad Facilitan el mantenimiento de los programas Generan y estandarizan la documentación Aumentan la portabilidad de las aplicaciones

Curso 2010-2011 Marta Zorrilla - UC 10 Clasificación de herramientas CASE Se pueden clasificar atendiendo a: Las fases del ciclo de vida del desarrollo de sistemas que cubren Su funcionalidad

Curso 2010-2011 Marta Zorrilla - UC 11 Según ciclo de software Herramientas integradas, I-CASE (Integrated CASE): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench. Muy caras. Herramientas de alto nivel, U-CASE (Upper CASE o front-end), orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño. Herramientas de bajo nivel, L-CASE (Lower CASE - o back-end), dirigidas a las últimas fases del desarrollo: diseño detallado y generación de código. Juegos de herramientas o Tools-Case, son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida.

Curso 2010-2011 Marta Zorrilla - UC 12 Según su funcionalidad Herramientas de análisis y diseño Permiten al desarrollador crear un modelo del sistema que se va a construir y también la evaluación de la validez y consistencia de este modelo. Herramientas de programación (compiladores, editores y depuradores ) Herramientas de gestión de prototipos Herramientas de mantenimiento (ingeniería inversa, reingeniería) Herramientas de gestión de proyectos (planificación, seguimiento, medición de costes). Herramientas de soporte (gestión de la configuración, control de cambios, documentación, etc.). Herramientas de integración y prueba Sirven de ayuda a la adquisición, medición, simulación y prueba de los sistemas lógicos desarrollados.

Curso 2010-2011 Marta Zorrilla - UC 13 Componentes Repositorio o diccionario de datos Almacén de los elementos definidos Módulo diagramático Editores que recogen las distintas técnicas Generador de código. Ingeniería inversa. Generador de documentación Interfaz de usuario INTERFAZ DE USUARIO C Ó D I G O Modelos Repositorio I N F O R M E S

Curso 2010-2011 Marta Zorrilla - UC 14 Productos más utilizados ERWin PowerDesigner (Sybase) EasyCASE Oracle designer (Discoverer) Visio (Microsoft)

Curso 2010-2011 Marta Zorrilla - UC 15 Elección de la herramienta de diseño de bases de datos Multiplataforma Trabajo en grupo Aspectos de seguridad Software Open Source / licencia (precio) Esquema de BD para diferentes gestores. Comprobación de restricciones Sincronización con el gestor Ingeniería inversa Generación de documentación Interfaz gráfica cómoda e intuitiva Capacidad de representación respecto a la notación teórica

Curso 2010-2011 Marta Zorrilla - UC 16 Deficiencias en herramientas CASE Generalmente no recogen toda la riqueza semántica del modelo de datos. Falta de un modelo de restricciones que genere las reglas de negocio en automático. No ayuda a especificar el modelo físico adecuado, lo indica el diseñador, pero no le da pautas o medidas de rendimiento. No ofrecen la posibilidad de diseñar en entornos distribuidos, OO, activas, no hay modelo que permita representarlo. Los atributos derivados pueden estar en el conceptual por razones semánticas y en el físico por razones de eficiencia, el problema es que la regla por la que se genera no se puede modelizar.

Modelo ER Marta Zorrilla Universidad de Cantabria Curso 2010-2011 Marta Zorrilla - UC 17

Curso 2010-2011 Marta Zorrilla - UC 18 Tabla de contenidos Evolución histórica Modelo básico versus modelo extendido Elementos estáticos Entidades Relaciones Dominios y valores Atributos Restricciones Identificadores Cardinalidades de atributos Cardinalidades de relaciones Relaciones n-arias Extensiones del modelo Generalización y especialización Restricciones entre relaciones Agregación Notación E/R vs. UML Ejemplos

Curso 2010-2011 Marta Zorrilla - UC 19 Evolución histórica Propuesto por Chen en dos artículos ya históricos, en 1976 y 1977. Según Chen, El Modelo E/R puede ser usado como una base para una vista unificada de los datos, adoptando el enfoque más natural del mundo real que consiste en entidades y relaciones. Posteriormente otros autores lo han ampliado con importantes aportaciones, formándose en realidad una familia de Modelos de Datos. Se abordará el modelo E/R básico y el modelo E/R extendido. El Modelo E/R ha tenido una gran difusión en la comunidad informática dedicada a las BD, prueba de ello es que ha sido el modelo más extendido en las herramientas CASE de ayuda al diseño de BD. DATE critica al modelo ER diciendo que no es más que una fina capa por encima del modelo relacional

Curso 2010-2011 Marta Zorrilla - UC 20 Elementos estáticos Entidad (entity) Objeto que existe y se distingue de los demás. Pueden ser concretos P. ej.: un libro, una persona,.. O abstractas P.ej.: préstamo, pedido, Atributo (attribute) Propiedades que caracterizan a las entidades. Clave primaria: atributos que identifican a la entidad P.ej.: ISBN (PK), título, idioma, para entidad libro Dominio (domain) Conjunto de valores permitidos para un atributo P. ej: indicando el tipo de datos (por intensión) P. ej: sexo-> M o F (por extensión)

Curso 2010-2011 Marta Zorrilla - UC 21 Entidades Existen dos categorías de tipos de entidades: Regulares o fuertes, que son aquellas cuyos ejemplares tienen existencia por sí mismos Caso préstamos de la biblioteca: LIBRO y AUTOR LIBRO AUTOR Débiles, en las cuales la existencia de un ejemplar depende de que exista un cierto ejemplar de otro tipo de entidad Caso del EJEMPLAR que depende de LIBRO EJEMPLAR

Curso 2010-2011 Marta Zorrilla - UC 22 Elementos estáticos (y 2) Relación (relationship) Conexión semántica entre dos o más entidades Cardinalidad: nº máximo de unidades de un conjunto que se conecta o relaciona con una entidad de otro y viceversa COMPAÑIA (0:1) EMPLEADO (0:m) AUTOR (1:n) preside 1:1 trabaja 1:m escribe n:m (1:1) (1:1) (1:m) PRESIDENTE DPTO LIBRO

Curso 2010-2011 Marta Zorrilla - UC 23 Relaciones reflexivas En estos casos se requiere especificar el rol, papel que desempeña en la relación PERSONA madre hijo MECANISMO 1:N maternidad Compuesto por constituye N:M Forma parte de

Curso 2010-2011 Marta Zorrilla - UC 24 Relaciones LIBRO ISBN EMPLEADO NRP 1:1 ID tiene 1:1 E tiene 0:N 0:N EJEMPLARES estado HIJOS DNI numcopia Dependencia de identificación Dependencia de existencia

Curso 2010-2011 Marta Zorrilla - UC 25 Atributos y claves PERSONA Dirección Calle CP Localidad Atributo compuesto IDPersona Nombre Fecha nacimiento Edad DNI Profesión Teléfonos Identificador Atributo derivado Clave candidata Admite nulos Multivaluado MUJER matrimonio Fecha 1:1 n:m ALUMNO matricula Curso acad. HOMBRE ASIGNATURA

Curso 2010-2011 Marta Zorrilla - UC 26 Gestión de préstamos (ejemplo) Requisitos: La biblioteca está interesada en automatizar la gestión de préstamos El modo de funcionar es sencillo, básicamente requiere registrar el socio que se lleva el libro, y de qué ejemplar se trata, así como las fechas de entrega, devolución prevista y de devolución. La biblioteca está organizada en diversas sedes y el socio puede coger libros de cualquiera de ellas. Del socio se tienen los datos personales básicos. Y de los libros, todos los campos descriptivos que los caracterizan (título, idioma, autores, editorial, fecha, ). Además de cada ejemplar se querrá conocer el estado en el que se encuentra (prestable, en reparación, fuera de circulación)

Curso 2010-2011 Marta Zorrilla - UC 27 Préstamos de la biblioteca (0,n) SOCIO CodSocio nombre dni SEDE Biblio. CodSed nombre (1:1) localidad prestar (0,n) EJEMPLAR numejemplar (0:n) (0:n) Estado FechaAlta FechaPrevistaDev FechaDev ID en (1:1) ubicado LIBRO escrito (0:n) (0:n) (0:n) publicado titulo Codlib fecha ISBN en (1:1) (1:1) EDITORIAL IDEdit nombre (1:n) AUTORES IDAutor nombre Apellido_1 IDIOMA IDIdioma nombre

Curso 2010-2011 Marta Zorrilla - UC 28 Préstamos de la biblioteca (1:1) SOCIO CodSocio nombre dni SEDE Biblio. CodSed nombre a (1:1) localidad PRESTAMO de un (0:n) (0:n) (1:1) EJEMPLAR numejemplar (0:n) (0:n) Estado NumPrest FechaAlta FechaPrevistaDev FechaDev ID en (1:1) ubicado LIBRO escrito (0:n) (0:n) (0:n) publicado titulo Codlib fecha ISBN en (1:1) (1:1) EDITORIAL IDEdit nombre (1:n) AUTORES IDAutor nombre Apellido_1 IDIOMA IDIdioma nombre

Curso 2010-2011 Marta Zorrilla - UC 30 Gestión docente (ejemplo) Requisitos: Cada profesor pertenece a un sólo departamento y debe pertenecer a uno. El profesor puede impartir varios grupos de la misma o distinta asignatura, y un grupo debe ser enseñado por un profesor. Los alumnos se matriculan de varias asignaturas (al menos una) cada curso académico pero han de hacerlo en un grupo. A su vez un grupo tendrá varios alumnos matriculados. Cada grupo tendrá asignado un aula para cada día y hora de la semana. La matrícula dará opción a dos convocatorias de examen con su respectiva calificación. Todo departamento debe tener un director, que es profesor. Los atributos de cada entidad son los que cabría esperar.

Curso 2010-2011 Marta Zorrilla - UC 31 Gestión docente ASIGNATURA (1:1) ID tiene (0:n) CodAsig Nombre Créditos Carácter Curso imparte (1:1- dia - hora) ocupa (1:1) PROFESOR (0:n) día hora (1:1) (1:n) AULA Nro NroPersonal nombre Apellido_1 GRUPO (0:n) Max-alum pertenece dirige (1:n) consta CodGrupo Calificación Convocatoria (1..2) (1:1) DPTO (0:1) CodDpto nombre (0:n) MATRICULA (0:n) CursoAcad CodMatr realiza (1:1) ALUMNOS CodAlu nombre dni

Curso 2010-2011 Marta Zorrilla - UC 32 Relaciones n-arias PROVEEDOR (0:1) TRABAJO (1:n) compra (1:n) PIEZA Una pieza Y en un trabajo Z una pareja (pieza, trabajo) la suministran 0 o 1 proveedores. Un proveedor X en un trabajo Z una pareja (proveedor, trabajo) suministra 1, 2,.., n piezas. Un proveedor X suministra una pieza Y una pareja (proveedor, pieza) en 1, 2,.., n proyectos

Curso 2010-2011 Marta Zorrilla - UC 33 Relaciones n-arias (sin redundancia) (0:n) PROVEEDOR (0:n) precio Puede intervenir Puede suministrar (0:n) (1:n) (1:n) TRABAJO (1:n) compra (1:n) PIEZA cantidad Precio ud. (0:n) necesita (1:n) Cantidad total

Curso 2010-2011 Marta Zorrilla - UC 34 Generalización y especialización PERSONA NroPersona nombre Apellido_1 Calificación crediticia CLIENTE EMPLEADO salario puesto La Generalización se considera como un caso especial de relación entre uno o varios tipos de entidad (subtipos) y un tipo más general (supertipo), cuyas características son comunes a todos los subtipos. El mecanismo de abstracción contrario se llama especialización.

Curso 2010-2011 Marta Zorrilla - UC 35 Generalización y especialización La división en subtipos (especialización) puede venir determinada por una condición predefinida (por ejemplo, en función de los valores de un atributo llamado discriminante). La Generalización/Especialización tiene dos restricciones semánticas asociadas: Totalidad (todo ejemplar del supertipo tiene que pertenecer a algún subtipo). El caso contrario se llama Parcialidad. Solapamiento (un mismo ejemplar del supertipo puede pertenecer a más de un subtipo). El caso contrario se llama Exclusividad.

Curso 2010-2011 Marta Zorrilla - UC 36 Generalización y especialización PERSONA PERSONA (t,e) Total exclusiva (t,s) Total con solapamiento HOMBRE MUJER EMPLEADO ESTUDIANTE PERSONA EMPLEADO (p,e) Parcial exclusiva (p,s) Parcial con solapamiento DIRECTOR ADMINISTRATIVO DOCENTE INVESTIGADOR

Curso 2010-2011 Marta Zorrilla - UC 37 Restricción de exclusividad percibe BECA PERSONA Está en CONTRATO La persona o percibe una beca o está contratado

Curso 2010-2011 Marta Zorrilla - UC 38 Restricción de exclusión imparte PERSONA CURSO recibe La persona imparte o recibe el curso, no puede estar en ambas relaciones a la vez

Curso 2010-2011 Marta Zorrilla - UC 39 Restricción de inclusividad dominan IDIOMA PERSONA hacen VIAJES INTERN. Las personas que dominan idiomas son un subconjunto de las que realizan viajes internacionales. Si una persona participa en domina, tiene necesariamente que participar en hacen viajes

Curso 2010-2011 Marta Zorrilla - UC 40 Restricción de inclusión atiende MEDICO HOSPITAL opera Los cirujanos son un subconjunto de los médicos del hospital

Curso 2010-2011 Marta Zorrilla - UC 41 Agregación Es un tipo especial de relación en la cual las cardinalidades mínima y máxima del tipo de entidad agregada siempre son (1,1) Existen dos clases de agregaciones: Compuesto/Componente: permite representar que un todo se obtiene por la unión de diversas partes que pueden ser tipos de entidades distintas y que juegan diferentes roles en la agregación. Miembro/Colección: permite representar un todo como una colección de miembros, todos de un mismo tipo de entidad y todos jugando el mismo rol. Esta agregación puede incluir una restricción de orden de los miembros dentro de la colección (indicando el atributo de ordenación).

Curso 2010-2011 Marta Zorrilla - UC 42 Ejemplos agregación Agregación Compuesto/Componente COCHE (1:1) (1:1) (4:4) CHASIS MOTOR RUEDA FLOTA (1:n) Ordenado por num_barco BARCO Agregación Miembro/Colección con cardinalidades y restricción de orden

Curso 2010-2011 Marta Zorrilla - UC 43 Agregación otros usos Como herramienta para expresar relaciones entre relaciones o entre relaciones y conjuntos de entidades dni nombre ENFERMO realizado PRUEBA Codpru nombre tipo 1:n atendido fecha hora MEDICO nrp especialidad

Curso 2010-2011 Marta Zorrilla - UC 44 Evitar las redundancias Un elemento de un esquema es redundante si puede ser eliminado sin pérdida de semántica. Existen dos formas principales de redundancia: En los atributos (derivados o calculados): Aunque son redundantes, no dan lugar a inconsistencias siempre que en el esquema se indique su condición de derivados y la fórmula mediante la que han de ser calculados. En las relaciones (también llamadas interrelaciones derivadas): Una relación es redundante si su eliminación no implica pérdida de semántica porque existe la posibilidad de realizar la misma asociación de ejemplares por medio de otras relaciones. Para ello es condición necesaria pero no suficiente que forme parte de un ciclo => Hay que estudiar detenidamente los ciclos en el diagrama E/R.

Curso 2010-2011 Marta Zorrilla - UC 45 Evitar las redundancias (y 2)

Curso 2010-2011 Marta Zorrilla - UC 46 Hay problema de redundancia? 1:n PROFESOR 1:n 1:n investiga Imparte Participa 1:n TEMA 1:n 1:n 1:n 1:n 1:n Consta CURSO

Curso 2010-2011 Marta Zorrilla - UC 49 Gestión de compras (ejemplo) Requisitos: Una empresa está interesada en automatizar su proceso de compras El modo de funcionar es sencillo, básicamente requiere registrar la hoja del pedido que realiza a un determinado proveedor en una determinada fecha En la hoja del pedido queda constancia del número de unidades que compra de cada artículo y el precio de compra, y en caso de que el proveedor o bien por volumen o por promoción, le realiza un descuento, también lo anota Los productos que compran tienen distinto IVA Generalmente el paga a sus proveedores al mes de recibir la mercancía y por transferencia, aunque lo puede hacer a plazos Los atributos de cada entidad son los que cabría esperar

Curso 2010-2011 Marta Zorrilla - UC 50 Gestión de compras suministra (1:1) PROVEEDOR CodProv nombre tfno c/c Dirección (0:n) (0:n) PEDIDO consta (1:1) FechaPed NumPed FechaEntrega Estado Importe pedido preciocompra unidades descuento iva numlinea Con/del (1:n) (0:n) ARTICULO Calle CP Localidad PAGO Codart nombre precioud iva NumPago FechaPago Tipo pago Concepto c/c cantidad

Curso 2010-2011 Marta Zorrilla - UC 51 Generalización del tipo de pago PAGO (1:1) NumPago FechaPago Concepto cantidad (p,e) Tipo pago DISCRIMINANTE tarjeta transferencia número Fecha caducidad Tipo tarjeta{crédito,débito} c/c cheque númerocheque banco

Modelo relacional Marta Zorrilla Universidad de Cantabria Curso 2010-2011 Marta Zorrilla - UC 59

Curso 2010-2011 Marta Zorrilla - UC 60 Tabla de contenidos Elementos básicos Dominios y atributos Definición de relación Clases de relaciones Restricciones de integridad Inherentes Definidas por el usuario Valores nulos Esquemas relacionales SGBD relacionales

Curso 2010-2011 Marta Zorrilla - UC 61 Introducción En 1970, Codd publicó en ACM el trabajo Un modelo de datos relacional para grandes bancos de datos compartidos donde propuso un nuevo Modelo de Datos. Se caracteriza por: ser sencillo y uniforme (colección de tablas y lenguajes declarativos) sólida fundamentación teórica: el modelo está definido con rigor matemático se independiza del almacenamiento físico y de las aplicaciones.

Curso 2010-2011 Marta Zorrilla - UC 62 Elementos básicos RELACIÓN Es la estructura básica del modelo relacional. Se representa mediante una tabla. DOMINIO Es el conjunto válido de valores que toma un atributo. Existen con independencia de cualquier otro elemento. ATRIBUTO Representa las propiedades de la relación. Se representa mediante una columna. TUPLA Es una ocurrencia de la relación. Se representa mediante una fila.

Curso 2010-2011 Marta Zorrilla - UC 63 Ejemplo de relación El Universo de Discurso de una BD relacional está compuesto por un conjunto de dominios {Di} y de relaciones {Ri} definidas sobre los dominios. atributos nombre calle ciudad Carmen Ana Pedro Marie Calvo Sotelo Castellana Torres Quevedo Eliseos Santander Madrid Logroño París tuplas cliente

Curso 2010-2011 Marta Zorrilla - UC 64 Dominios Un dominio es un conjunto nominado, finito y homogéneo de valores atómicos Un dominio => se identifica por un nombre, tiene un número finito de valores, todos los valores son del mismo tipo, y los valores son atómicos respecto del MR Cada dominio puede definirse de dos maneras: Extensión (dando sus posibles valores): días de la semana = {lunes, martes, miércoles, sábado, domingo} Intensión (mediante un tipo de datos): peso = decimal A veces se asocia al dominio su unidad de medida (kilos, metros, etc.) y/o ciertas restricciones (como un rango de valores).

Curso 2010-2011 Marta Zorrilla - UC 65 Atributos Un atributo (A) es la interpretación de un determinado dominio en una relación, es decir el papel que juega en la misma. Notación: D = Dom (A) => D es el dominio de A Un atributo y un dominio pueden llamarse igual, pero Un atributo está siempre asociado a una relación, mientras que un dominio tiene existencia propia con independencia de las relaciones. Un atributo representa una propiedad de una relación. Un atributo toma valores de un dominio. Varios atributos distintos (de la misma o de diferentes relaciones) pueden tomar sus valores del mismo dominio.

Curso 2010-2011 Marta Zorrilla - UC 66 Relación Una relación (matemáticamente) es un subconjunto del producto cartesiano de la lista de dominios {D i } Esta definición no tiene en cuenta a los atributos, por eso en Bases de Datos se utiliza otra definición un esquema de relación se compone de un nombre de relación R, un conjunto de n atributos {A i } y de un conjunto de n dominios (no necesariamente distintos) {D i } donde cada atributo será definido sobre un dominio. Una relación consta de los siguientes elementos: Nombre de la relación Cabecera: conjunto de n pares atributo-dominio Cuerpo: Conjunto de m tuplas Esquema: constituido por el nombre de la relación y la cabecera Estado: constituido por el esquema y cuerpo.

Curso 2010-2011 Marta Zorrilla - UC 67 Relación (y 2) Hay que diferenciar: Esquema : conjunto de atributos {A i } junto con sus dominios Instancia : conjunto de tuplas r={t 1,,t n } tal que t i =(x 1,..,x n ) con x j Є D j Esquema: Persona [nombre: Nombres, calle: Calles, ciudad: Ciudades] Instancia: (Carmen, Calvo Sotelo, Santander), (Ana, Castellana, Madrid), (Pedro, Torres Quevedo, Logroño), (Marie, Eliseos, Paris) Se denomina cardinalidad o aridad de una relación al número de tuplas que hay en un esquema. Y grado al nº de atributos.

Curso 2010-2011 Marta Zorrilla - UC 68 Ejemplo

Curso 2010-2011 Marta Zorrilla - UC 69 Base de datos relacional Una base de datos relacional es un conjunto finito de relaciones {R i } Clases de relaciones Con nombre Persistentes Temporales Base (definidas por el usuario y del sistema) Vistas Vistas materializables Definidas por el usuario Vistas temporales Vistas materializables temp. Sin nombre Temporales Resultado de una consulta (intermedio o final)

Curso 2010-2011 Marta Zorrilla - UC 70 Terminología!CUIDADO!, una relación no es una tabla. Ni una tabla es un fichero. Existen diferencias entre los conceptos.

Curso 2010-2011 Marta Zorrilla - UC 71 Restricciones inherentes Las restricciones inherentes vienen impuestas por el propio Modelo de Datos. En el caso del MR, una relación tiene unas propiedades intrínsecas que no tiene una tabla, y que se derivan de la misma definición matemática de relación, ya que, al ser un conjunto: No puede haber dos tuplas iguales => obligatoriedad de la PK El orden de las tuplas no es significativo. El orden de los atributos no es significativo. Cada atributo sólo puede tomar un único valor del dominio subyacente Se dice que la relación está normalizada (en 1FN). Otra restricción es la regla de integridad de entidad: Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo

Curso 2010-2011 Marta Zorrilla - UC 72 Tabla vs. relación Una relación es un concepto abstracto de origen matemático. Una tabla es una forma de representar (implementar) una relación (una estructura de datos). Una tabla no tiene las restricciones inherentes de una relación como conjunto: Puede haber dos filas iguales. Las filas están ordenadas en el orden de grabación física por defecto o según el valor de la clave primaria. Los atributos tienen un orden según se han definido en la tabla. En cada celda de una tabla puede haber uno o varios valores. Si bien en el segundo caso se puede obtener una tabla equivalente que cumple la regla de normalización.

Curso 2010-2011 Marta Zorrilla - UC 73 Clave (key) Clave Candidata (Candidate Key): conjunto de atributos que identifican unívoca y mínimamente cada tupla de la relación. De la definición de relación se deriva que siempre existe, al menos, una clave candidata. La propiedad de minimalidad implica que no se incluye ningún atributo innecesario: CK cumple la propiedad de minimalidad si no existe un atributo X tal que {CK-X} sea clave candidata. Una relación puede tener más de una clave candidata. En este caso se debe distinguir entre: Clave Primaria (Primary Key): NRP para empleado Es la clave candidata que el usuario escoge para identificar las tuplas de la relación. Cuando sólo existe una clave candidata, ésta es la clave primaria. Claves Alternativas (Alternative Key): DNI, PASAPORTE para empleado Las claves candidatas que no han sido escogidas como clave primaria.

Curso 2010-2011 Marta Zorrilla - UC 74 Clave (key) (y 2) Clave Ajena (Foreign Key): Se denomina clave ajena de una relación R2 a un conjunto no vacío de atributos cuyos valores han de coincidir con los valores de una clave candidata de una relación R1. R1 y R2 pueden ser la misma relación. La clave ajena y la correspondiente clave candidata han de estar definidas sobre el mismo dominio. PK CK EMPLEADO (NRP, dni, nombre, apellido, fecha_nac, trabaja_en,..) FK DEPARTAMENTO (CodDpto, nombre, responsable,..) PK FK

Curso 2010-2011 Marta Zorrilla - UC 75 Restricciones semánticas Son definidas por el usuario. Son facilidades que el modelo ofrece a los diseñadores para que puedan reflejar en el esquema, lo más fielmente posible, la semántica del mundo real. Los tipos de restricciones semánticas permitidos en el MR (incorporados a SQL 92) son: Clave Primaria (PRIMARY KEY) Unicidad (UNIQUE) Obligatoriedad (NOT NULL) Integridad Referencial (FOREIGN KEY) Verificación (CHECK) Aserción (CREATE ASSERTION) Disparador (TRIGGER), incluido en SQL:1999

Curso 2010-2011 Marta Zorrilla - UC 76 Restricciones semánticas (y 2) Clave Primaria (PRIMARY KEY): Permite declarar un atributo o un conjunto de atributos como clave primaria de una relación => sus valores no se podrán repetir ni se admitirán los nulos. Ni el SQL92 ni los SGBD s relacionales obligan a la declaración de una clave primaria para cada tabla (el modelo teórico sí la impone), aunque permiten la definición de la misma. Se debe distinguir entre la restricción inherente de obligatoriedad de la clave primaria y la restricción semántica que le permite al usuario indicar qué atributos forman parte de la clave primaria. Unicidad (UNIQUE): Los valores de un conjunto de atributos (uno o más) no pueden repetirse en una relación. Permite la definición de claves alternativas. Obligatoriedad (NOT NULL): El conjunto de atributos no admite valores nulos.

Curso 2010-2011 Marta Zorrilla - UC 77 Restricciones semánticas: Foreign key Integridad Referencial (FOREING KEY): Si una relación R2 (relación que referencia) tiene un descriptor (subconjunto de atributos) CA que referencia a una clave candidata CC de la relación R1 (relación referenciada), todo valor de dicho descriptor CA debe coincidir con un valor de CC o ser nulo. La condición puede expresarse como R2.CA = R1.CC El descriptor CA es, por tanto, una clave ajena de la relación R2. Las relaciones R1 y R2 no son necesariamente distintas. La clave ajena puede ser también parte (o la totalidad) de la clave primaria de R2. CA puede admitir nulos o tener restricción de obligatoriedad (NOT NULL). Todo atributo de una clave primaria compuesta de una relación R2 que no está definido sobre un dominio compuesto, debe ser clave ajena de R2 referenciando a una relación R1, cuya clave primaria sea simple.

Curso 2010-2011 Marta Zorrilla - UC 78 Ejemplo BANCOS ENTIDAD NOMBRE 0893 Santander 0059 Popular 3428 Bilbao Vizcaya 5632 Banesto OFICINAS ENTIDAD CODIGO_OFICINA POBLACION DIRECCION 0893 001 Madrid Castellana, 73 3428 022 Las Palmas Triana, 21 0893 022 Gáldar R. Moreno, 3 5632 213 Oviedo Uría, 43 0893 300 Barcelona Diagonal, 435

Curso 2010-2011 Marta Zorrilla - UC 79 Restricciones semánticas: Foreign key (y 2) Integridad Referencial (FOREING KEY): Además de definir las claves ajenas, hay que determinar las consecuencias que se producen al borrar o actualizar la relación referenciada. Según el estándar SQL92: NO ACTION: rechazar la operación de borrado o modificación. CASCADE: propagar la modificación (o borrado) de las tuplas de la tabla que referencia. SET NULL: poner valor nulo en la clave ajena de la tabla que referencia. SET DEFAULT: poner un valor por defecto en la clave ajena de la tabla que referencia. Los modos borrar y modificar son independientes, es decir, cada uno tomará una de las cuatro opciones por separado.

Curso 2010-2011 Marta Zorrilla - UC 80 Ejemplo DEPARTAMENTO (CodDpto, nombre, responsable,..) Modificación: Cascade Borrado: SET NULL EMPLEADO (NRP, dni, nombre, apellido, fecha_nac, trabaja_en,..) Modificación: Cascade Borrado: NO ACTION PARTICIPA (CodProy, CodTarea, NRP, porcentaje) TAREAS (CodProy, CodTarea, título, responsable, fecha_ini, fecha_fin) PROYECTO (CodProy, título, fecha_ini, fecha_fin)