Tutorial Entidad Relacion

7
 1 Tuto r i al E nti da d- R e lación para mo de lar B ase s de d at os.  Se inclu ye e l Mod e lo R e la cio na l 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 que rige la unión de las entidades esta 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 restricci ones que no se pueden reflejar en el diagrama. Entidad Representa una “cosa” u "objeto" del mundo real con existencia independien te, es d ecir, se diferencia unívocamente de cualqui er 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 u na 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 identificac ió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 pertenecie ntes 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 especifica do". Para cada atributo, existe un dominio  del mismo, este hace referencia al tipo de datos que sera almacenado o a restricciones en los valores que el atributo puede tomar (Cadenas de caractere s, 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 n o se sabe nada al respecto del mismo.

Transcript of Tutorial Entidad Relacion

Page 1: Tutorial Entidad Relacion

5/10/2018 Tutorial Entidad Relacion - slidepdf.com

http://slidepdf.com/reader/full/tutorial-entidad-relacion 1/7

1

Tutorial Entidad- Relación para modelar Bases de datos.

Se incluye el Modelo Relacional 

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 deentidades, que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y sedistinguen de otros por sus características particulares denominadas atributos, el enlace que que rige la unión de las entidades esta representadapor 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 ocosa, 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 medianterectá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 quecuelgan 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 suidentificació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ásentidades 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 serconsiderado 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 sera almacenado o a restricciones en los valores queel atributo puede tomar (Cadenas de caracteres, números, solo dos letras, solo números mayores que cero, solo números enteros, enteros, cadenasde 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.

Page 2: Tutorial Entidad Relacion

5/10/2018 Tutorial Entidad Relacion - slidepdf.com

http://slidepdf.com/reader/full/tutorial-entidad-relacion 2/7

2

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 serepresentan 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 treslas 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 correspondecia 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 únicaentidad en A. Por ejemplo:

Cliente – Cuenta en un banco, Padre-Hijos, Camión-Pasajeros, zoologico- animales, árbol – hojas.

  Uno a varios: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 de al modelo en estudio, claro esta,

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 todosestos 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 deentidades, atributos y el enlace que rige la unión de las entidades esta representada por la relación del modelo.

Nuestra representación gráfica es la siguiente: Un rectángulo nos representa a las entidades; una elipse a los atributos de las entidades, y una

etiqueta dentro de un rombo nos indica la relación que existe entre las entidades, destacando con líneas las uniones de estas y que la llave primariade una entidad es aquel atributo que se encuentra subrayado.

Page 3: Tutorial Entidad Relacion

5/10/2018 Tutorial Entidad Relacion - slidepdf.com

http://slidepdf.com/reader/full/tutorial-entidad-relacion 3/7

3

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 cadaautomó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 clavesajenas.

 Ejemplo de una relación Muchos a Muchos y su transformación.Partiendo de nuestro diagrama E - R

Page 4: Tutorial Entidad Relacion

5/10/2018 Tutorial Entidad Relacion - slidepdf.com

http://slidepdf.com/reader/full/tutorial-entidad-relacion 4/7

4

Esquema relacional

Una base de datos relacional es un conjunto de relaciones normalizadas. Para representar el esquema de una base de datos relacional se debedar 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 clavesprimarias 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 cuyoesquema 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ño025 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 tablabidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotrosqueremos 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.

Page 5: Tutorial Entidad Relacion

5/10/2018 Tutorial Entidad Relacion - slidepdf.com

http://slidepdf.com/reader/full/tutorial-entidad-relacion 5/7

5

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 denú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 vayamosa 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 dat os.

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 menorcantidad 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úmerode 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 multi-valorados (aquellos que pueden contener más de unvalor 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.

Page 6: Tutorial Entidad Relacion

5/10/2018 Tutorial Entidad Relacion - slidepdf.com

http://slidepdf.com/reader/full/tutorial-entidad-relacion 6/7

6

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ónde 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 registrosde 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 solodepartamento.

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) yun 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ónse 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 tablahabitantes 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 codigo de poblacion 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 tablasno 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 amuchos.

Page 7: Tutorial Entidad Relacion

5/10/2018 Tutorial Entidad Relacion - slidepdf.com

http://slidepdf.com/reader/full/tutorial-entidad-relacion 7/7

7

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 esdesconocido, 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 s e comporta comoninguno de estos valores. Piense en NULL como DESCONOCIDO para que podamos entender algunos resultados. Si el valor de Numero esdesconocido:

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 modifiquendatos 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 sistemagestor 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 seborran también los registros relacionados en la tabla secundaria.