MODELO ENTIDAD-RELACIÓN

Documentos relacionados
Modelado Entidad-Relación

Diseño de base de datos: Modelo Entidad Relación (I)

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO. ALUMNO: JUAN ESQUIVEL VAQUERA. ENSAYO: Modelo entidad-relación. PROFESOR: RICARDO BUSTAMANTE.

Sistemas de Bases de Datos I Introducción y Conceptos Generales

BASE DE DATOS Modelos de Datos

Ing. Yim Isaias Apestegui Florentino

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

El Modelo Relacional. Carlos A. Olarte BDI

Modelos de Datos. Modelo Entidad-Relación

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Bases de Datos OTROS ASPECTOS MODELO E-R

Modelado de Datos Material desarrollado por Marcelo Rocha Vargas, 2011

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad Relación

Sistemas de Bases de Datos I MODELADO DE DATOS I. Sistema de Bases de Datos I

EL MODELO RELACIONAL

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad-Relación

Modelo entidad-relación

Sistemas informáticos industriales. Diccionario de Datos. Diagrama Entidad Relación

Bases de datos 1. Teórico: Diseño Conceptual

BASES DE DATOS 1. Teórico: Diseño Conceptual

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

Diseño de base de datos: Modelo Entidad Relación (II)

Tema 2: Diseño de Bases de Datos (Diseño Lógico)

Práctica 1. Se entregará su solución de esta práctica por impreso, indicando para cada ejercicio que responda:

Modelo Relacional I. Nos encontramos en la FASE 2: REGLAS DE TRANSFORMACIÓN del Modelo Entidad Relación (MER) al Modelo Relacional (MR).

Unidad 5: MODELO DE COMPORTAMIENTO - ESQUEMA DE DATOS CARACTERÍSTICAS DEL ESQUEMA DE DATOS DIAGRAMA ENTIDAD RELACIÓN (D.E.R.)

Modelo relacional. Modelo relacional

DESVENTAJAS DEL USO DE LA BASE DE DATOS

Modelo Entidad Relación

Laboratorio de Base de Datos Práctica Nro. 3, Modelo Relacional y Transformaciones

DISEÑO DE BASES DE DATOS RELACIONALES

Modelos de datos. Colección de herramientas conceptuales para describir

Introducción a las bases de datos relacionales (2010/2011)

BASES DE DATOS TEMA 2 MODELOS DE DATOS

TAREA No. 2 MODELO ENTIDAD RELACIÓN FANNY MILEISIS DIAZ PINTO

Modelo Entidad-Relación MER

DEL MODELO ENTIDAD-RELACIÓN AL MODELO RELACIONAL. Prof. Karen Quiroga

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

Una base de datos es una herramienta diseñada para reunir y organizar información. En las bases de datos es posible almacenar información para uso

Introducción a las Bases de Datos UNIDAD II MODELO ENTIDAD-RELACION

Las tres reglas básicas para convertir un esquema en el modelo E/R al relacional son las siguientes:

Qué es el modelo entidad-relación?

Qué es SGBD? Mencionar 4 tipos de SGBD. SGBD de red. Román Gutiérrez Sosa. SGBD jerárquicos. Modelo de datos relacionales.

Tema II: Nivel conceptual de una Base de Datos. El modelo E/R

Relaciones en Access 2010

ING. YIM ISAIAS APESTEGUI FLORENTINO

Tema 2: Diseño conceptual de Bases de Datos.

EJEMPLO. Prof. Karen Quiroga

Introducción a Bases de Datos. Pablo Zaidenvoren

Es decir, se va a mostrar la equivalencia más eficiente entre las distintas relaciones representables en E-R y MR.

Concepto. 1963, en un simposio celebrado en California, USA. Conjunto de información relacionada que se encuentra agrupada ó estructurada.

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

División Académica de Informática y Sistemas

Conceptos básicos de bases de datos

Introducción Base de datos Tabla Tipos de campos Clave principal Índice Administrador de base de datos Relaciones entre tablas Consulta Formulario

TIPOS DE CAMPOS Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes.

UNIDAD 14 - SOFTWARE PARA SISTEMAS INFORMÁTICOS (VII).

UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos

Introducción al Modelo Relacional

Normalización. CC20A 1 Computación II Auxiliar 10 Iván Bustamante. Clase Auxiliar 10 1

Tema 2. DISEÑO LÓGICO DE BASES DE DATOS Parte 2

Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos

Gestion y Modelación de Datos Diseño de BD - Modelo Entidad Relación

TEMA 3: REDUCCIÓN DE UN ESQUEMA E-R A TABLAS

Formato para prácticas de laboratorio

BACHILLERATO TÉCNICO VOCACIONAL EN DESARROLLO DE SOFTWARE. Módulo 2.3: Programación de Componentes de Base de Datos

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

BASES DE DATOS TEMA 1 PERSPECTIVA DEL ÁREA DE BASES DE DATOS

Modelo relacional. El modelo relacional

EXAMEN EXTRAORDINARIO Informática y Computación IV

Diseño Lógico El modelo relacional. M.Sc.Lic. Cimar H. Meneses España

UNIDAD III. CICLO DE VIDA DE UNA BASE DE DATOS.

Gestión base de datos : Modelo Relacional (II)

Una tabla se encuentra en primera forma normal si impide que un atributo de una tupla pueda tomar más de un valor. La tabla:

UNIDAD 10. LAS CONSULTAS DE ACCIÓN

Diseño lógico El modelo Relacional. José Muñoz Jimeno Febrero 2015

GLOSARIO DE TÉRMINOS

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

Modelo Conceptual Modelo Entidad - Relación

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 2: Creación de la Base de Datos. Leire Aldaz, Begoña Eguía y Leire Urcola

Diseño Lógico Estándar. Diseño Lógico Tema 12

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Unidad 1 Lenguaje de Definición de Datos (DDL)

Carlos Castillo UPF 2008

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

INSTITUTO TECNOLÓGICO SUPERIOR JUAN DE VELASCO

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

4. Bases de Datos base de datos menor redundancia SGBD, Sistemas Gestores de Bases de Datos Administradores de Bases de Datos

BB.DD. relacionales. BB. DD. Relacionales T Dpto. Lenguajes y Sistemas Informáticos. Universidad de Alicante

El Modelo Relacional. Carlos A. Olarte BDI

Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS

Catedra de Base de Datos

Transcripción:

MODELO ENTIDAD-RELACIÓN Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de un esquema gráfico empleando los terminología de entidades, que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros por sus características particulares denominadas atributos, el enlace que rige la unión de las entidades está representada por la relación del modelo. El modelado entidad-relación es una técnica para el modelado de datos utilizando diagramas entidad relación. Consiste en los siguientes pasos: 1. Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). 2. Se hace una lista de los sustantivos y verbos que aparecen. 3. Los sustantivos son posibles entidades o atributos. 4. Los verbos son posibles relaciones. 5. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. 6. Se elabora el diagrama (o diagramas) entidad-relación. 7. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama. Entidad Representa una cosa u "objeto" del mundo real con existencia independiente, es decir, se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo del mismo tipo. Ejemplos: Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos). Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán atributos diferentes, por ejemplo el número de motor). Una casa (Aunque sea exactamente igual a otra, aun se diferenciara en su dirección). Empleados, clientes, empresas, oficios, diseños de productos, conciertos, excursiones, etc. Las entidades se representan gráficamente mediante rectángulos y su nombre aparece en el interior. Un nombre de entidad sólo puede aparecer una vez en el esquema conceptual.

Atributos Es una característica de interés o un hecho sobre una entidad o sobre una relación. Los atributos representan las propiedades básicas de las entidades y de las relaciones. Toda la información extensiva es portada por los atributos. Gráficamente, se representan mediante bolitas que cuelgan de las entidades o relaciones a las que pertenecen. Los atributos son las propiedades que describen a cada entidad en un conjunto de entidades. Un conjunto de entidades dentro de una entidad, tiene valores específicos asignados para cada uno de sus atributos, de esta forma, es posible su identificación univoca. Ejemplos: A la colección de entidades Alumnos, con el siguiente conjunto de atributos en común, (id, nombre, edad, semestre), pertenecen las entidades: (1, María, 16 años, 2) (2, Sara, 18 años, 5) (3, María, 17 años, 2)... Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por el valor de sus atributos. Nótese que dos o más entidades diferentes pueden tener los mismos valores para algunos de sus atributos, pero nunca para todos. Dominio Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo deben de ser elementos del conjunto especificado". Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de datos que será almacenado o a restricciones en los valores que el atributo puede tomar (Cadenas de caracteres, números, solo dos letras, solo números mayores que cero, solo números enteros, enteros, cadenas de texto, fecha, etc...). Cuando una entidad no tiene un valor para un atributo dado, este toma el valor nulo, bien sea que no se conoce, que no existe o que no se sabe nada al respecto del mismo. Relación Es una correspondencia o asociación entre dos o más entidades. Cada relación tiene un nombre que describe su función. Las relaciones se representan gráficamente mediante rombos y su nombre aparece en el interior.

Las entidades que están involucradas en una determinada relación se denominan entidades participantes. El número de participantes en una relación es lo que se denomina grado de la relación. Por lo tanto, una relación en la que participan dos entidades es una relación binaria; si son tres las entidades participantes, la relación es ternaria; etc. Correspondencia de cardinalidades Dado un conjunto de relaciones, en el que participan dos o más conjuntos de entidades, la correspondencia de cardinalidad indica, el número de entidades con las que puede estar relacionada una entidad dada. Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la correspondencia de cardinalidades puede ser: Uno a uno: Una entidad de A se relaciona únicamente con una entidad en B y viceversa. Por ejemplo: El noviazgo, el RFC de cada persona, El CURP personal, El acta de nacimiento, ya que solo existe un solo documento de este tipo para cada una de las diferentes personas. Uno a varios: Una entidad en A se relaciona con cero o muchas entidades en B. Pero una entidad en B se relaciona con una única entidad en A. Por ejemplo: Cliente Cuenta en un banco, Padre-Hijos, Camión-Pasajeros, zoológicoanimales, árbol hojas. Varios a varios: Una entidad en A se puede relacionar con 0 o muchas entidades en B y viceversa. Ejemplo: Arquitecto proyectos, fiesta personas, estudiante materias. NOTA: Cabe mencionar que la cardinalidad para cada conjunto de entidades depende del punto de vista que se le dé al modelo en estudio, claro está, sujetándose a la realidad. Llaves primarias. La distinción de una entidad entre otra se debe a sus atributos, lo cual lo hacen único. Una llave primaria es aquel atributo el cual consideramos clave para la identificación de los demás atributos que describen a la entidad. Por ejemplo, si consideramos la entidad ALUMNO del CBTis123, podríamos tener los siguientes atributos: Nombre Apellido, Semestre, Especialidad, Dirección, Teléfono, Número de control, de todos estos atributos el que podremos designar como llave primaria es el número de control, ya que es diferente para cada alumno y este nos identifica en la institución.

Claro que puede haber más de un atributo que pueda identificarse como llave primaria en este caso se selecciona la que consideremos más importante, los demás atributos son denominados llaves secundarias. Una clave o llave primaria es indicada gráficamente en el modelo E-R con una línea debajo del nombre del atributo. Diagrama Entidad-Relación Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de un esquema gráfico empleando los terminología de entidades, atributos y el enlace que rige la unión de las entidades está representada por la relación del modelo. Ejemplos de diagramas Entidad Relación Relación UNO a UNO Indicamos con este ejemplo que existe una relación de pertenencia de uno a uno, ya que existe una tarjeta de circulación registrada por cada automóvil. Relación UNO a MUCHOS El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero que una cuenta puede llegar a pertenecer a un solo cliente (Decimos puede, ya que existen cuentas registradas a favor de más de una persona).

Paso del modelo E-R al modelo relacional Una base de datos relacional es un conjunto de relaciones normalizadas. Para representar el esquema de una base de datos relacional se debe dar el nombre de sus relaciones, los atributos de éstas, los dominios sobre los que se definen estos atributos, las claves primarias y las claves ajenas. Ejemplo de una relación Muchos a Muchos y su transformación. Partiendo de nuestro diagrama E - R Esquema relacional Una base de datos relacional es un conjunto de relaciones normalizadas. Para representar el esquema de una base de datos relacional se debe dar el nombre de sus relaciones, los atributos de éstas, los dominios sobre los que se definen estos atributos, las claves primarias y las claves ajenas. ESTUDIANTE (CONTROL, APELLIDO, PROMEDIO) CURSO (NUMERO_CURSO, NOMBRE_CURSO) INSCRITO_EN (CONTROL, NUMERO_CURSO, SEMESTRE, CALIF) En el esquema, los nombres de las relaciones aparecen seguidos de los nombres de los atributos encerrados entre paréntesis. Las claves primarias son los atributos subrayados.

El siguiente paso será transformar el esquema relacional en Tablas. A continuación se muestra un estado (instancia) de la base de datos cuyo esquema se acaba de definir. ESTUDIANTE Control Apellido Promedio 12345 López 8 9876 Martínez 9 5678 Soriano 9 CURSO Numero_curso Nombre_curso 012 Diseño 025 Programación 034 Estructuras INSCRITO Control Numero_curso Semestre Calif 12345 012 3 9 9876 025 5 8 9876 034 5 10 Cada tabla contiene una Instancia de nuestra base de datos. Bases de datos relacionales Las bases de datos que pertenecen a esta categoría se basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla bidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. Las características de cada entidad están definidas por las columnas de las relaciones, que se llaman atributos. Entidades con características comunes, es decir descritas por el mismo conjunto de atributos, formarán parte de la misma relación.

Diferencia entre un DBMS y una base de datos. La base de datos es una colección de archivos interrelacionados almacenados en conjunto sin redundancia y la dbms es un conjunto de númerosas rutinas de software interrelacionadas cada una de ellas es responsable de una determinada tarea. Elección apropiada de un DBMS Se tiene que elegir el que tenga la mejor interfaz a las necesidades de la empresa y sobre todo que este apto para la base de datos que vayamos a utilizar. Componentes de un sistema de base de datos. Personas Máquinas Programas Datos Los datos. Es lo que se conoce como base de datos propiamente dicha. Para manejar estos datos utilizamos una serie de programas. Los Programas. Son los encargados de manejar los datos, son conocidos como DBMS (Data Base Management System) o también SGBD (Sistema Gestor de Base de Datos). Los DBMS tienen dos funciones principales que son: - La definición de las estructuras para almacenar los datos. - La manipulación de los datos. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos. Formas normales Las relaciones que describe Codd al definir su modelo relacional, son transformadas en tablas al momento de trabajar con una base de datos. Las Formas Normales buscan optimizar estas estructuras eliminando básicamente la redundancia utilizando como medio principal las dependencias funcionales. Las Formas Normales son un pequeño número de

reglas que de cumplirse hacen que las estructuras posean la menor cantidad de redundancia posible. Primera Forma Normal (1NF): No hay campos múltiples (todo los campos son atómicos). Todas las filas deben tener el mismo número de columnas. Segunda Forma Normal (2NF): Todo campo que no sea clave debe depender por completo de toda la clave. Tercera Forma Normal (3NF): No hay dependencias transitivas. Un campo debe depender de la clave y no de otro campo. Forma Normal de Boyce-Codd (BCNF): Todos los determinantes de la tabla son clave candidata. Cuarta Forma Normal (4NF): Una fila no debe contener dos o más campos multivalorados (aquellos que pueden contener más de un valor simultáneamente) sobre una entidad. Quinta Forma Normal (5NF): Una tabla puede almacenar atributos dependientes a la clave sólo por unión. Clave única Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos se llama clave única. Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suele llamársele candidata a clave primaria. Clave primaria Una clave primaria es una clave única elegida entre todas las candidatas, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas. Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave puede contener valores NULL. Clave foránea Una clave foránea es una referencia a una clave en otra tabla. Las claves foráneas no necesitan ser claves únicas. Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados, pero obviamente se permite que haya varios empleados en un mismo departamento. Clave índice

Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice. Integridad referencial. La integridad referencial es un sistema de reglas que utilizan la mayoría de las bases de datos relacionales para asegurarse que los registros de tablas relacionadas son válidos y que no se borren o cambien datos relacionados de forma accidental produciendo errores de integridad. Recordemos el tipo de relaciones que se pueden tener en una base de datos relacional. Entre dos tablas de cualquier base de datos relacional pueden haber dos tipos de relaciones, relaciones uno a uno y relaciones uno a muchos: Relación Uno a Uno Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa. Por ejemplo: tenemos dos tablas una de empleados y otra de departamentos y queremos saber qué empleado es jefe de qué departamento, tenemos una relación uno a uno entre las dos tablas ya que un departamento tiene un solo jefe y un empleado puede ser jefe de un solo departamento. Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la tabla principal puede tener más de un registro relacionado en la tabla secundaria, en este caso se suele hacer referencia a la tabla principal como tabla 'padre' y a la tabla secundaria como tabla 'hijo', entonces la regla se convierte en 'un padre puede tener varios hijos pero un hijo solo tiene un padre. Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (estará empadronado) en una única población. En este caso la tabla principal será la de poblaciones y la tabla secundaria será la de habitantes. Una población puede tener varios habitantes pero un habitante pertenece a una sola población. Esta relación se representa incluyendo en la tabla 'hijo' una columna que se corresponde con la clave principal de la tabla 'padre', esta columna es lo denominamos clave foránea (o clave ajena o clave externa).

Una clave foránea es pues un campo de una tabla que contiene una referencia a un registro de otra tabla. Siguiendo nuestro ejemplo en la tabla habitantes tenemos una columna población que contiene el código de la población en la que está empadronado el habitante, esta columna es clave ajena de la tabla habitantes, y en la tabla poblaciones tenemos una columna código de población clave principal de la tabla. Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa. En este caso las dos tablas no pueden estar relacionadas directamente, se tiene que añadir una tabla entre las dos que incluya los pares de valores relacionados entre sí. Por ejemplo: tenemos dos tablas una con los datos de clientes y otra con los artículos que se venden en la empresa, un cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente. No se puede definir entre clientes y artículos, hace falta otra tabla (por ejemplo una tabla de pedidos) relacionada con clientes y con artículos. La tabla pedidos estará relacionada con cliente por una relación uno a muchos y también estará relacionada con artículos por un relación uno a muchos.

Integridad referencial Cuando se define una columna como clave foránea, las filas de la tabla pueden contener en esa columna o bien el valor nulo (valor desconocido), o bien un valor que existe en la otra tabla, un error sería asignar a un habitante una población que no está en la tabla de poblaciones. NOTA: En SQL, NULL no es un valor. Es una condición, o estado, de un dato, en el cual su valor es desconocido. Debido a que es desconocido, NULL no puede comportarse como un valor. Cuando Ud. intenta realizar operaciones aritméticas con NULL, o lo mezcla con valores en otras expresiones, el resultado de la operación será siempre NULL. No es cero o blanco o una cadena vacía y no se comporta como ninguno de estos valores. Piense en NULL como DESCONOCIDO para que podamos entender algunos resultados. Si el valor de Número es desconocido: 1 + 2 + 3 + Numero = NULL (desconocido). Fin NOTA Eso es lo que se denomina integridad referencial y consiste en que los datos que referencian otros (claves foráneas) deben ser correctos. La integridad referencial hace que el sistema gestor de la base de datos se asegure de que no hayan en las claves foráneas valores que no estén en la tabla principal. La integridad referencial se activa en cuanto creamos una clave foránea y a partir de ese momento se comprueba cada vez que se modifiquen datos que puedan alterarla. Actualización y borrado en cascada El actualizar y/o eliminar registros en cascada, son opciones que se definen cuando definimos la clave foránea y que le indican al sistema gestor qué hacer. Actualizar registros en cascada: Esta opción le indica al sistema gestor de la base de datos que cuando se cambie un valor del campo clave de la tabla principal, automáticamente cambiará el valor de la clave foránea de los registros relacionados en la tabla secundaria. Eliminar registros en cascada: Esta opción le indica al sistema gestor de la base de datos que cuando se elimina un registro de la tabla principal automáticamente se borran también los registros relacionados en la tabla secundaria.

DOCENTE: MsC (c) Esp. ALEXIS OLVANY TORRES CH. Definición FOREIGN KEY (llave_foranea) REFERENCES tabla_relacionada (llave_primaria) Recuerda en la modelación de bases de datos que una llave foránea indica que entidad es la débil y que entidad es la fuerte, definiendo así una relación. Supongamos que tenemos una relación uno a muchos (1,*) entre las tablas cliente y factura. Cliente se conforma de los campos: Id, nombre, teléfono y dirección. La tablaa factura posee los siguientes atributos: numero de factura y fecha de la factura. Un cliente puede ser generador de muchas facturas en un negocio de comercio, pero cada factura generada solo corresponde a un único cliente una única vez. Esta relación de acuerdo al modelado de bases de datos nos indica que la llave foránea se vincula a la entidad débil, es decir, la tablaa factura. Llave foránea en la relación entre las tablas cliente y facturaa CLIENTE ID_CLIENTE NOMBRE TELEFONO DIRECCION 001 JUAN ALIMAÑA 123456 AV 0-45E 002 ARMANDO CASAS 3128934568 CALLE 1ª 3-45 005 PEDRO CALDERON 3119806594 AV 4-3-45 FACTURA NUM_FACTURA 1003 1010 1014 1022 1024 FECHA ID_CLIENTEE 01-03-2016 005 10-03-2016 002 15-03-2016 005 28-03-2016 001 28-03-2016 001

En el anterior diagrama de entidad-relación vemos que idcliente se ha incluido como atributo en la tabla factura. De modo que al crear la tabla factura debemos agregar la restricción FOREIGN KEY a idcliente. 1. La relación es un vínculo lógico entre dos entidades. una relación representa las reglas del negocio que pueden ser expresadas de manera verbal. Muchas de las relaciones entre entidades son de una a muchas, en donde una instancia de la entidad padre puede estar relacionada con muchas instancias de la entidad hija. Por ejemplo la relación entre EMPLEADO y TIENDA deberá ser representada como: una TIENDA (Entidad padre) tiene asignados muchos EMPLEADOs (Entidad Hija). 2. El Segundo tipo de relación es "muchos a muchos". En este tipo de relación muchas instancias de una entidad pueden estar relacionadas a muchas instancias de otra entidad. Relaciones de "muchos a muchos" deben ser resueltas creando una entidad intermediaria conocida como entidad de "referencia-cruzada' (o XREF). La entidad XREF es creada con las llaves primarias de ambas entidades originales. Ambas entidades originales se convierte en Padres de la entidad XREF. Sin embargo la relación "muchos a muchos" se convierte en dos "una a muchas" relaciones. Una Llave foránea existe cuando la llave primaria de la entidad padre existe en la entidad hija. Una llave foránea requiere que estos valores deben estar presentes en la entidad padre antes que los valores sean insertados en la entidad hija. El concepto de mantenimiento de llaves foráneas es conocido como "Integridad Referencial". Relaciones entre dos entidades deben ser clasificadas como identificadas y no identificadas. Relaciones identificadas existen cuando la llave primera de la entidad padre está incluida en la llave primaria de la entidad hija. Por otro lado, la relación no identificada existe cuando la llave primaria de la entidad padre está incluida en la entidad hija pero no como parte de la llave primaria de la entidad hija. En adición, relaciones no identificadas podrían ser clasificadas como "mandatorias" o no "mandatorias". Una relación mandatoria no identificada existe cuando el valor en la tabla hija no puede ser nulo. Por otro lado la relación no mandatoria no identificada existe cuando el valor en la tabla hija puede ser nulo. Cardinalidad nos ayuda a entender la naturaleza de las relaciones entre la entidad hija y la entidad padre. La carnalidad de una relación puede ser determinada haciendo la siguiente pregunta: "Cuantas instancias de la entidad hija están relacionadas con cada instancia de la entidad padre?". Existen 4 tipos de cardinalidad: (1). uno a cero o mas (Cardinalidad común), (2). uno a uno o más (P Cardinalidad), (3). uno a cero o uno (Z Cardinalidad), y (4). uno to exactamente N (N Cardinalidad).

En conclusión, el diseño efectivo de base de datos ayudara el equipo de desarrollo a reducir sobre todo tiempo y costos. Internarse en el proceso de diseño de base de datos y la creación del modelo de datos ayuda al equipo de desarrollo a entender a fondo los requerimientos de los usuarios y genera el desarrollo de un sistema más reflexivo de los requerimientos de usuario y las reglas del negocio. Reducción de diagramas E-R a tablas Un diagrama E-R, puede ser representado también a través de una colección de tablas. Para cada una de las entidades y relaciones existe una tabla única a la que se le asigna como nombre el del conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un número de columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo. La transformación de nuestro ejemplo Venta en la que intervienen las entidades de Vendedor con los atributos RFC, nombre, puesto, salario y Artículo con los atributos Clave, descripción, costo. Cuyo diagrama E-R es el siguiente: Entonces las tablas resultantes siguiendo la descripción anterior son: Tabla Empleado Nombre Puesto Salario RFC Sofia Vendedor 2000 TEAT701210XYZ Cesar Auxiliar ventas 1200 COV741120ABC Tabla artículo Clave Descripción Costo A100 Abanico 460 C260 Colcha matrimonial 1200

Tabla Venta RFC Clave TEAT701210XYZ C260 COV741120ABC A100 Nótese que en la tabla de relación - Venta -, contiene como atributos a las llaves primarias de las entidades que intervienen en dicha relación, en caso de que exista un atributo en las relaciones, este atributo es anexado como una fila más de la tabla; Por ejemplo si anexamos el atributo fecha a la relación venta, la tabla que se originaría sería la siguiente: RFC Clave Fiche TEAT701210XYZ C260 10/02/2017 COV741120ABC A100 11/02/2017 EJERCICIOS A REALIZAR EJERCICIO NUMERO 1: Los profesores de la asignatura de Fundamentos Bases de Datos de la Universidad de Pamplona deciden crear una base de datos que contenga la información de los resultados de las pruebas realizadas a los alumnos. Para realizar el diseño se sabe que: Los alumnos están definidos por su n de matrícula, nombre y el grupo al que asisten a clase. Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico: 1. Exámenes escritos: cada alumno realiza varios a lo largo del curso, y se definen por el n de examen, el n de preguntas de que consta y la fecha de realización (la misma para todos los alumnos que realizan el mismo examen). Evidentemente, es importante almacenar la nota de cada alumno por examen. 2. Prácticas: se realiza un n indeterminado de ellas durante el curso académico, algunas serán en grupo y otras individuales. Se definen por un código de práctica, título y el grado de dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo deseen, debiéndose almacenar la fecha y nota obtenida. En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales: Código y nombre), quien es el qué ha diseñado cada práctica, sabiendo que en el diseño de

una práctica puede colaborar más de uno, y que un profesor puede diseñar más de una práctica. Interesa, además, la fecha en que ha sido diseñada cada práctica por el profesor correspondiente. EJERCICIO NÚMERO 2: PISCILAGOS es un club náutico y desea tener informatizados los datos correspondientes a sus instalaciones, empleados, socios y embarcaciones que se encuentran en dicho club. El club está organizado de la siguiente forma: Los socios pertenecientes al club vienen definidos por su nombre, dirección, Código, teléfono y fecha de ingreso en el club. Las embarcaciones vienen definidas por: matricula, nombre, tipo y dimensiones. Los amarres tienen como datos de interés el número de amarre, la lectura del contador de agua y luz, y si tienen o no servicios de mantenimiento contratados. Por otro lado, hay que tener en cuenta que una embarcación pertenece a un socio aunque un socio puede tener varias embarcaciones. Una embarcación ocupará un amarre y un amarre está ocupado por una sola embarcación. Es importante la fecha en la que una embarcación en asignada a un amarre. Los socios pueden ser propietarios de amarres, siendo importante la fecha de compra del amarre. Hay que tener en cuenta que un amarre pertenece a un solo socio y que NO HAY ninguna relación directa entre la fecha en la que se compra un amarre y en la que una embarcación se asigna a un amarre. El club náutico está dividido en varias zonas definidas por una letra, el tipo de barcos que tiene, el número de barcos que contiene, la profundidad y el ancho de los amarres. Una zona tendrá varios amarres y un amarre pertenece a una sola zona. En cuanto a los empleados, estos vienen definidos por su código, nombre, dirección, teléfono y especialidad. Un empleado está asignado a varias zonas y en una zona puede haber más de un empleado, siendo de interés el número de barcos de los que se encarga en cada zona. Hay que tener en cuenta que un empleado puede no encargarse de todos los barcos de una zona.