420 likes | 848 Views
Unidad 2. Contenidos . Modelamiento de Datos Modelos de Datos El modelo Relacional LLave Primaria Llave Foranea Integridad de la Entidad Integridad Referencial Ejercicio de Aplicación Normalizacion Definición Dependencia Funcional Primera Forma Normal Segunda Forma Normal
E N D
Unidad 2 Contenidos • Modelamiento de Datos • Modelos de Datos • El modelo Relacional • LLave Primaria • Llave Foranea • Integridad de la Entidad • Integridad Referencial • Ejercicio de Aplicación • Normalizacion • Definición • Dependencia Funcional • Primera Forma Normal • Segunda Forma Normal • Tercera Forma Normal • Desnormalizacion
Modelamiento de Datos • Modelos de Datos • Clasificacion Básica El modelo de datos, como abstracción del mini-mundo en estudio, es el enfoque utilizado para la representación de las entidades y sus características dentro de la base de datos, y puede ser dividido en tres grandes tipos:
Modelo de Datos • Nociones de Modelamiento • El objetivo es producir una descripción estructurada de la organización y del negocio del cliente, en detalle suficiente para permitir construir un sistema basado en éste. • Para esto, mínimamente se requiere: • Un conjunto de técnicas específicas y complementarias, adecuadas cada una para describir distintos aspectos del negocio/sistema. • Conocimiento, normas y estándares que aseguren la correcta descripción y posterior interpretación usando estas técnicas.
Modelo de DatosNociones de Modelamiento • Modelamiento Entidad - Relación • Modela las cosas acerca de las cuales el negocio mantiene o debe mantener información, y las asociaciones existentes entre éstas.
Modelo de DatosNociones de Modelamiento • Modelamiento Funcional • Modela lo que el negocio hace o hará en el futuro para alcanzar sus objetivos.
Modelo de DatosNociones de Modelamiento • Diagramas de Flujo de Datos • Modela el flujo de información dentro y fuera del negocio y las transformaciones que ésta sufre en el proceso
Modelo de DatosNociones de Modelamiento • Matrices de Cruce • Muestra las asociaciones entre elementos de distintas clases. • Ayuda al control de calidad y a completar los modelos.
Modelo de DatosNociones de Modelamiento • Panorama General
Modelo de Datos • Modelo de Datos • Un modelo de datos se define como la combinación de tres componentes : • Una colección de tipos de objetos de información, los cuales son las unidades básicas para construir cualquier base de datos. • Una colección de reglas generales de integridad, las cuales limitan el conjunto de los tipos de objetos que pueden aparecer en forma legal en cualquier base de datos. • Una colección de operadores, aplicables a los objetos para obtener información y para otros propósitos.
Modelo de Datos • La descripción de la estructura de una base de datos, es el modelo de datos, una colección de herramientas conceptuales para describir datos, relaciones de datos, semánticas y restricciones de datos. • Los principales objetivos del proceso de modelamiento es saber identificar cual es el problema y encontrar la forma de representarlo en un sistema. Esto significa saber de los datos, saber quienes van a usarlos y como van a usarlos.
Modelo de DatosModelo Entidad - Relación • Modelo Entidad - Relación • El objetivo es identificar y representar las cosas de importancia para el funcionamiento del negocio (entidades), sus propiedades (atributos), y la forma en que estas cosas se relacionan entre sí (relaciones). • Este modelo se desarrolló para facilitar el diseño de las bases de datos (presentado por Chen en 1976). • La idea de esta metodología de representación de la información es mostrar los datos que contendrá un sistema como un conjunto de objetos con atributos propios, los cuales son capaces de disminuir la redundancia presente en un sistema de archivos tradicionales y ocupar mejor la estructura presente en los datos a almacenar.
Modelo de DatosModelo Entidad - Relación • Terminología básica • Entidad • Relación • Atributo • Identificador único • Subtipo y Supertipo • Dependencia de existencia • Entidades fuertes y débiles • Qué es una Entidad ? • Definiciones • Cualquier cosa de relevancia para el negocio acerca de la cual debe mantenerse información. • Algo con existencia real o conceptual. • Algo a lo que se le da nombre. • Cualquier cosa que se puede identificar claramente. • Un objeto que existe y es distinguible de otros objetos.
Modelo de DatosModelo Entidad - Relación • Cómo se identifican Entidades ? • A partir de la descripción del negocio: • Buscando SUSTANTIVOS de uso común en el negocio. • Buscando SINÓNIMOS, que representen conceptos generalizables. • A partir de los documentos del negocio: • Buscando agrupaciones de información contenida en éstos. • Buscando elementos de información cuyo origen puede estar en entidades no identificadas.
Modelo de DatosModelo Entidad - Relación • Entidades - Representación gráfica • Rectángulo de bordes redondeados. • Nombre en singular y mayúsculas. EMPLEADO PROYECTO PERSONA SALA PROVEEDOR PRODUCTO
Modelo de DatosModelo Entidad - Relación • Atributos • Las entidades poseen cualidades o propiedades conocidas como atributos : una sala de clases tiene, un nombre (QO - QP - D310), una ubicación, un cupo, etc.. • Definición • Dato específico, significativo para una entidad, que: • La califica, o (ej.: color) • La identifica, o (ej.: RUT) • La clasifica, o (ej.: grupo) • La cuantifica, o (ej.: peso) • Expresa su estado (ej.: pagado, solicitado) • Deben llevar nombre en singular, único dentro de la entidad. • No deben incluir el nombre de la entidad. • Pueden ser opcionales u obligatorios. • Su formato, valores por defecto, rangos, validaciones, son comunes para todos los valores posibles del atributo.
Modelo de DatosModelo Entidad - Relación • Atributos - Representación gráfica • VEHICULO • # Numero Motor • Patente • Tipo • Marca • o Modelo • o Numero de puertas • o Numero de asientos Identificador Único Atributos Obligatorios Atributos Opcionales
Modelo de DatosModelo Entidad - Relación • Atributos • Cada atributos de una entidad posee un TIPO, el que corresponde al tipo de dato del atributo. Ejemplo : RUT Número Nombre String. Fecha Date. • Dominios • Dominio es un conjunto de reglas de validación, restricciones de formato, y otras propiedades que se aplican a un grupo de atributos. Ejemplos : Listas de valores Rangos • Los dominios estandarizan los atributos en las entidades del negocio.
Modelo de DatosModelo Entidad - Relación • Conversión de Atributos en Entidades • Esto ocurre cuando: • El atributo puede tener varios valores dada una ocurrencia de una entidad, o • El atributo puede tener a su vez atributos, o • Requerimos historia de cambios en los valores del atributo. • Relaciones • Definición • Una relación es una asociación significativa entre dos entidades. • Una relación es “una vinculación entre entidades ”, por ejemplo, la entidad libro puede estar relacionada con la entidad persona por medio de la relación “arrendar”.
Modelo de DatosModelo Entidad - Relación • Toda relación tiene un nombre, que expresa la asociación entre las entidades. • Tiene grado (o cardinalidad). • Tiene opcionalidad. • Formalmente, una relación Rentre conjuntos de entidades {E1, E2, ... En} se representa mediante un conjunto de n-tuplas (e1, e2, ..., en) donde e1Î E1, e2Î E2, ..., enÎ En. • Una relación también puede tener atributos, por ejemplo, en la relación “arrendar” el atributo fecha podría indicar la fecha en que se devuelve el libro. • Relaciones - Representación gráfica • Una relación se representa por una línea que une dos entidades. • La opcionalidad se representa por una línea punteada (opcional) o llena (obligatoria).
Modelo de DatosModelo Entidad - Relación • El grado se representa por un extremo simple (uno) o “pata de gallo” (muchos). • El nombre se escribe en los extremos. Obligatorio Opcional (línea llena) (punteado) MODELO MARCA corresponder a tener Muchos Uno (pata de gallo) (simple)
Modelo de DatosModelo Entidad - Relación • Relaciones - Lectura • La lectura debe expresar reglas del negocio • Cada extremo se lee: • Cada (entidad) • puede, o debe (nombre relación) • una o más, o una y solo una (entidad(es)) Ejemplo: Cada MODELO debe corresponder a una y sólo una MARCA. Cada MARCA puede tener uno o más MODELOS. • Relaciones Muchos a Muchos • Son aquellas cuyo grado es múltiple en ambos extremos. • Se deben resolver buscando una entidad de intersección.
Ejercicios • Haga una lista de entidades y atributos para: • Una distribuidora de combustibles. • Un Banco • Falabella
Modelo de DatosModelo Entidad - Relación A B A B • Relaciones N:M • Relaciones Uno a Uno • Son aquellas de grado singular en ambos extremos. • Se debe investigar la posibilidad de fusionar ambas entidades X A B
Modelo de DatosModelo Entidad - Relación • Relaciones recursivas • Modelan jerarquías en entidades del mismo tipo, por ejemplo: parte - componente, jefe - subordinado. • Coloquialmente: “Oreja de chancho” • Relaciones excluyentes - Arcos • Modelan el caso en que las ocurrencias de una entidad están asociadas con sólo una de varias otras entidades. • Esta es una manera de modelar exclusividad. Otra posibilidad es usar subtipos. A
Modelo de DatosModelo Entidad - Relación A B • Relaciones excluyentes - Lectura • Se leen todas las relaciones, uniéndolas por la partícula o bien • Cada (entidad) • o bien (relación 1 - entidad 1) • o bien (relación 2 - entidad 2) • ... • o bien (relación N - entidad N) C
Modelo de DatosModelo Entidad - Relación Ejemplo : Cada TRABAJO o bien debe ser hecho por un EMPLEADO o bien debe ser hecho por un PROVEEDOR. • Relaciones excluyentes - Reglas • Toda relación en el arco debe tener la misma opcionalidad. • Toda relación en el arco debe ser de la misma entidad. • Una relación puede participar en a lo más un arco. • Identificador Único • Un conjunto de entidades es un conjunto de entidades del mismo tipo que poseen los mismos atributos. Una entidad se identifica dentro del conjunto, por los valores que adquieren sus atributos.
Modelo de DatosModelo Entidad - Relación Ejemplo : El conjunto de todas las personas que toman ramo en la escuela, puede definirse como el conjunto de entidades alumno. • Definición • Para todo conjunto de entidades del mismo tipo, debe existir uno o más atributos, o una o más relaciones, o una combinación de éstos que permite identificar inequívocamente cada entidad en forma única. Este atributo o combinación de atributos se denomina identificador único. • Conjunto de atributos y/o relaciones cuya combinación de valores para una ocurrencia de una entidad es única en el universo de ocurrencias posibles de la entidad. • Si bien siempre debe ser posible encontrar un identificador único, es frecuente definir atributos artificiales que garanticen la unicidad.
Modelo de DatosModelo Entidad - Relación Ejemplo : El N° de matrícula es una buen identificador único para el conjunto de entidades alumno. Pregunta : ¿ Es el Carnet de Identidad una buen identificador único ? • EMPLEADO • # Emp_Id PROYECTO # Codigo La barra señala que el UID de PROYECTO participa del UID de ASIGNACION • ASIGNACION • # Fecha
Modelo de DatosModelo Entidad - Relación • Observaciones • Una entidad puede tener más de un UID. • En casos complejos, puede usarse UID artificiales. • Nunca un atributo o relación opcional es parte de un UID. • Problema • Definir el modelo E-R que permite obtener los horarios y las salas de clases de los cursos dictados por la escuela. (resolver los alumnos, supuestos vistos en clase).
Ejercicios Construir un modelo Entidad Relación que represente el funcionamiento de una bomba de bencina. • Su solución debe al menos contestar: q Quiénes son los clientes? q Qué productos compran los clientes? q Cuál es el monto total de venta diaria? q Cuál es la bomba que más vende? q Qué octanaje tiene más venta? q Construir las consultas sql para contestar las preguntas anteriores. Construir un modelo Entidad Relación que represente un banco y los productos cuenta corriente y tarjeta de crédito. • Su solución debe al menos contestar: q Quiénes son los clientes? q Qué productos tiene cada cliente? q Cuál es el movimiento de cada producto? q Cuál es el saldo de cada producto? q Construir las consultas sql para contestar las preguntas anteriores.
Modelo de DatosModelo Entidad - Relación • Subtipos y Supertipos • Definición • Un supertipo es una entidad que queda completamente definida como la unión de dos o más entidades. A éstas últimas se les llama subtipos de la entidad supertipo. • Los subtipos modelan exclusividad. • Observaciones • Cada ocurrencia de la entidad supertipo debe ser parte de una y sólo una entidad subtipo. Los subtipos son excluyentes. • Puede haber anidamiento: un subtipo de una entidad puede ser el supertipo de otras
Modelo de DatosModelo Entidad - Relación • Subtipos y Supertipos • Generalización y Especialización • Generalización es el proceso de definir supertipos a partir de varias entidades con atributos comunes. • Especificación es el proceso de definir subtipos de una entidad base. • La generalización se usa para obtener un conjunto de entidades de alto nivel a partir de un conjunto entidades de bajo nivel. • La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. • La generalización ayuda a la modularidad permitiendo que atributos comunes de conjuntos de entidades similares sean representados una sola vez en un diagrama E-R.
Modelo de DatosModelo Entidad - Relación • Subtipos y Supertipos • La especificación es el proceso inverso, pueden haber entidades en el conjunto de alto nivel que no estén asociadas a entidades en un conjunto de bajo nivel. • Representación gráfica PERSONA Regla descrita: Toda PERSONA es o bien jurídica o bien natural. JURÍDICA NATURAL
Modelo de DatosModelo Entidad - Relación • Dependencia de Existencia • Definición • La entidad X depende de la entidad Y, si para que exista X debe existir Y. Ejemplo : Para que exista una entidad Vendedor debe existir una entidad Empleado asociada. • Para que exista una orden de compra debe existir algún cliente que la ordena. Si se elimina un cliente se debe eliminar también sus órdenes de compra. El conjunto de entidades Clientes es el dominante y Orden es el subordinado. • Entidades fuertes y débiles • Es posible que una entidad no tenga suficientes atributos para formar un identificador único y deba ser formado usando la relación. Entidades así se llaman entidades débiles.
Modelo de DatosModelo Entidad - Relación • Una entidad débil es aquella cuya existencia depende de otra entidad, en el sentido de que no puede existir si no existe también esa otra entidad. • En el ejemplo (visto en clases),la entidad sección es débil por que no puede existir si no existe la entidad curso. • Una entidad fuerte es una entidad que no es débil. • Problema • Definir el modelo E-R de los “Mundiales de Fútbol”, que considere a los países participantes y jugadores de cada selección, indicando edad y posición en que juega. Un jugador puede participar en más de un mundial y lo puede hacer cada vez en una posición distinta. Un jugador siempre juega por un mismo país. Los partidos del mundial deben indicar los países que jugaron y el marcador obtenido. Los países se clasifican en etapas : final, semifinal, cuartos de final , etc.
Modelo de DatosModelo Entidad - Relación • Temas al cierre • Modelo Entidad - Relación y Formas Normales • 1ra F.N. : Todo atributo debe tener valor único en una ocurrencia de la entidad. • 2da F.N.: Todo atributo debe depender de la totalidad del UID de la entidad. • 3ra F.N. : Ningún atributo que no sea parte del UID de la entidad puede depender de otro atributo que tampoco sea parte del UID. • Mapeo (elemental) de Modelo E-R a Modelo Relacional • Entidades se mapean a Tablas • Atributos se mapean a Columnas • UIDs se mapean a LLaves Primarias • Relaciones se mapean a Llaves Foráneas
Modelo de DatosModelo Entidad - Relación • Mapeo (elemental) de Modelo E-R a Modelo Relacional • Arcos pueden ser diseñados de dos maneras: • Explícitos: Cada relación se mapea a una llave foránea. • Implícitos: Todas las relaciones se mapean a una columna de llave foránea más una bandera para el tipo. • Subtipos pueden ser diseñados de tres maneras: • Cada subtipo se mapea a una tabla. • Todos los subtipos se mapean a una única tabla, y se agrega una columna de tipo. • El diseño de subtipos se rehace en términos de relaciones con arcos.
Modelo de DatosModelo Entidad - Relación • Ejercicios • Discutir la validez de estos casos A A B A B X
Modelo de DatosModelo Entidad - Relación • Ejercicios • Indicar qué y qué no es implicado por el siguiente diagrama : ser Xde A ser Y para • A1 puede ser Y para A2 • A1 no puede ser Y para A1 mismo • Si A1 es Y para A2, entonces A2 no puede ser Y para A1 • El número de niveles es limitado • No más de tres A1 pueden ser Y para A2
METODOLOGIA A EMPLEAR • Sugerencia de pasos para resolver problemas de Modelamiento de Datos: • Leer bien el texto del problema que describe el negocio. • Identificar (subrayar) los diferentes conceptos que son susceptibles de ser modelados (entidades, atributos). • Generar una lista de conceptos, identificando de ellos las Entidades y los Atributos. • Se recomienda agregar los conceptos sobre los cuales se tienen dudas. Es más fácil posteriormente eliminar que agregar. • Ahora, se trabajará con las Entidades: Consignar en un Modelo de Datos las Entidades identificadas • Relacionar las Entidades según la nomenclatura vista en clases. (1:1, 1:N, N:M). Las relaciones N:M se separan al final del proceso. • Probar el modelo: para ello, se deberá “leer” las relaciones y comprobar si satisfacen el problema. Es probable que su modelo permita obtener más información de la solicitada. Esto no es malo. Sería errado que no soportara un requerimiento explícito en el texto. • Si hay dudas, se deben efectuar los supuestos correspondientes. • Identificar los Atributos llave (#), los obligatorios (*) y los opcionales (o). Las llaves que se propagan a las otras entidades, no se colocan en el modelo: solamente se explicita con una línea según nomenclatura vista en clases. • Separar las relaciones N:M y construir los “NUBS” o relaciones 1:N. • Probar nuevamente el modelo. • Identificar nuevos requerimientos que pueden ser satisfechos con su solución.
Ejercicio en Clases Un empresario tiene en la Región Metropolitana varias parcelas; en cada una de ellas tiene un Criadero de Perros. El empresario, que se dedica a la venta de perros, los clasifica por raza. Cada perro es inscrito oficialmente en el Kennel Club y tiene un número de pedigree que lo identifica en forma única. Cuando se realiza la venta, el perro debe quedar registrado con su nuevo dueño, además de asignársele un nombre al perrito. Para cada perro interesa también identificar la raza a la cual pertenece, en qué criadero fue vendido, cuál es su fecha de nacimiento y las señas particulares del perrito. Además, y dado que la venta de un perrito genera ingresos, el dueño del criadero necesita saber el precio de venta de cada perrito. Construir el modelo de datos que satisfaga este requerimiento.