el modelo de datos entidad by Z5HN4T6E

VIEWS: 30 PAGES: 15

									                                    1



 UNIVERSIDAD TECNOLOGICA DE
    IZUCAR DE MATAMOROS.


         BASE DE DATOS
LIC. CARLOS GONZALEZ GONZALEZ




    TEMAS DE INVESTIGACION.
 EL MODELO DE DATOS ENTIDAD-RELACIÓN
                 (E/R).
         MODELO RELACIONAL.



             ALUMNO
   GERARDO CARPIO SANCHEZ


                2B
                                                                                       2



    El Modelo de Datos Entidad-Relación
                   (E/R)
      Cuando se utiliza una base de datos para gestionar información, se está
plasmando una parte del mundo real en una serie de tablas, registros y campos
ubicados en un ordenador; creándose un modelo parcial de la realidad. Antes de crear
físicamente estas tablas en el ordenador se debe realizar un modelo de datos.

     Se suele cometer el error de ir creando nuevas tablas a medida que se van
necesitando, haciendo así el modelo de datos y la construcción física de las tablas
simultáneamente. El resultado de esto acaba siendo un sistema de información
parcheado, con datos dispersos que terminan por no cumplir adecuadamente los
requisitos necesarios.

Entidades y Relaciones
     El modelo de datos más extendido es el denominado ENTIDAD/RELACIÓN (E/R)
En el modelo E/R se parte de una situación real a partir de la cual se definen entidades
y relaciones entre dichas entidades:

      Entidad.- Objeto del mundo real sobre el que queremos almacenar información
       (Ej: una persona). Las entidades están compuestas de atributos que son los
       datos que definen el objeto (para la entidad persona serían DNI, nombre,
       apellidos, dirección,...). De entre los atributos habrá uno o un conjunto de ellos
       que no se repite; a este atributo o conjunto de atributos se le llama clave de la
       entidad, (para la entidad persona una clave seria DNI). En toda entidad siempre
       hay al menos una clave que en el peor de los casos estará formada por todos
       los atributos de la tabla. Ya que pueden haber varias claves y necesitamos elegir
       una, lo haremos atendiendo a estas normas:
            Que sea única.
            Que se tenga pleno conocimiento de ella.- ¿Por qué en las empresas
               se asigna a cada cliente un número de cliente?.
            Que sea mínima, ya que será muy utilizada por el gestor de base de
               datos.
      Relación.- Asociación entre entidades, sin existencia propia en el mundo real
       que estamos modelando, pero necesaria para reflejar las interacciones
       existentes entre entidades. Las relaciones pueden ser de tres tipos:
            Relaciones 1-1.- Las entidades que intervienen en la relación se asocian
               una a una (Ej: la entidad HOMBRE, la entidad MUJER y entre ellos la
               relación MATRIMONIO).
            Relaciones 1-n.- Una ocurrencia de una entidad está asociada con
               muchas (n) de otra (Ej: la entidad EMPERSA, la entidad TRABAJADOR y
               entre ellos la relación TRABAJAR-EN).
                                                                                   3


            Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades de
             la relación, puede estar asociada con muchas (n) de la otra y viceversa
             (Ej: la entidad ALUMNO, la entidad EMPRESA y entre ellos la relación
             MATRÍCULA).

Representación gráfica de Entidades y Relaciones
      Para asimilar fácilmente un diseño de datos cuando se emplea el modelo E/R se
utilizan los siguientes elementos gráficos:




     La utilización de estos elementos dará como resultado lo que se denomina el
esquema entidad-relación de la base de datos. Los ejemplos que se incluyen en el
apartado anterior, gráficamente quedarían como sigue:




¿Cómo se pasa del esquema E/R a las tablas?
     Para cada entidad del esquema se creará una tabla con tantos campos como
atributos tenga la entidad. Ejemplo:

Tabla 'TRABAJADOR'

                 DNI       NUM_SS            nombre-apellidos ...
                                                                                              4


                  11111111 XXXXXXXXXXX Fulano de tal                                 ...
                  22222222 YYYYYYYYYYY Mengano de cual ...
                  ......         ......                         ......               ......

     Las relaciones 1-1 se pueden reflejar incluyendo en una de las dos tablas un
campo en el que poder colocar la clave del elemento de la otra tabla con el que se está
relacionado. Ese nuevo campo que se incluye en la tabla recibe el nombre de clave
ajena. Ejemplo:

Tabla 'HOMBRE'

                                          DNI      Nombre ...
                                          11111111 ...    ...
                                          22222222 ...                   ...
                                          ...          ...               ...

Tabla 'MUJER'

                           DNI                  Nombre ...         DNI-ESPOSO
                           33333333 ...                  ...       11111111
                           44444444 ...                  ...       (nulo)
                           ...                  ...      ...       ...

     Donde el campo DNI-ESPOSO es clave ajena de la tabla HOMBRE. Aquí hay que
hacer notar que el campo DNI-ESPOSO puede tomar o bien un valor nulo, en el caso
de aquellas mujeres que no estén casadas, o bien el valor de alguno de los DNI de la
tabla HOMBRE, en el caso de las mujeres casadas; en este segundo caso, ese DNI (la
clave ajena) no se deberá repetir en ningún otro registro de la tabla MUJER.

    Las relaciones 1-n se representan de forma muy parecida a como se ha explicado
para las relaciones 1-1. La diferencia está en que ahora no es indiferente donde se
coloque la clave ajena, esta debe estar obligatoriamente en la tabla del 'mucho' (n); y
además, para este caso si se permitirá que haya valores repetidos en dicho campo.
Ejemplo:

Tabla 'EMPRESA'

                                    CIF                      Nombre ...
                                    XX-1111-AA ...                             ...
                                    YY-2222-BB ...                             ...
                                                                                           5


                                   ...                      ...               ...

Tabla 'TRABAJADOR'

                        DNI                     Nombre ...          CIF
                        11111111 ...                        ...     XX-1111-AA
                        22222222 ...                        ...     YY-2222-BB
                        33333333 ...                        ...     YY-2222-BB
                        44444444 ...                        ...     XX-1111-AA
                        ...                     ...         ...     ...

     Para representar las relaciones n-n en tablas lo que se hace es crear una nueva
tabla solamente para la relación. Esta nueva tabla tendrá dos claves ajenas y su
propia clave estará formada por la unión de las claves ajenas. Ejemplo:

Tabla 'ALUMNO'

                                         DNI          Nombre ...
                                         11111111 ...                   ...
                                         22222222 ...                   ...
                                         ...          ...               ...

Tabla 'ASIGNATURA'

                             COD-ASIGNATURA Nombre ...
                             01                                   ...               ...
                             02                                   ...               ...
                             ...                                  ...               ...

Tabla 'MATRÍCULA'(esta es la relación)

                       DNI      COD_ASIGNATURA NOTA
                       11111111 01             7.5
                       11111111 02                                                  6.25
                       22222222 01                                                  5.5
                       22222222 02                                                  8
                       ...                     ...                                  ...
                                                                                   6


     En la tabla MATRÍCULA es donde se refleja la relación. La clave de dicha tabla
está formada por los campos DNI y COD-ASIGNATURA ; y cada uno de ellos es clave
ajena, el primero de ALUMNO y el segundo de ASIGNATURA. Hacer ver aquí que la
tabla MATRICULAS puede tener más campos además de los que son clave ajena
como ocurre en el ejemplo; la tabla añade además un campo NOTA.

Ejemplo de una Universidad
Creación de Tablas

Tabla Alumno

En una Universidad, si tenemos la entidad Alumno que definimos como:
Tabla ALUMNO(DNI, Nombre, Apellido1,       Apellido2,   Telefono,   Calle,   Ciudad,
Provincia, FNacimiento, EstadoCivil)
CP: DNI
Creando        la        tabla       en      vista      "Diseño"        obtenemos:




Tabla Asignatura

Y la entidad Asignatura definida como:
ASIGNATURA(Codigo, Nombre, Creditos, Dni_prof, Observaciones)
CP:Codigo

Tabla Matricula

Y sabiendo que un alumno se puede matricular de muchas asignaturas y que una
asignatura a su vez puede tener muchos alumnos matriculados, podemos definir entre
ambas entidades la relación (n-m) matricula como:

MATRICULA(DNI, Codigo_asig, Fecha, Nota)
CP:DNI,Codigo_asig,Fecha
                                                                   7


Y               la               tabla              quedaría   como:




Creación de Relaciones

Seleccionamos la opción Relaciones del menú Herramientas:
                                                        8




Agregamos las tablas (Alumno,Asignatura y Matricula):
                                                                                        9




Que son:




Y por último sólo falta arrastrar los campos relacionados de la tabla con la relación 1 a
la tabla con la relación muchos, es decir crear las relaciones, en las que
seleccionaremos siempre :



Exigir Integridad Referencial
                                                                      10


Actualizar en cascada los campos relacionados

Eliminar en cascada los registros relacionados

En el caso de Alumno-Matricula (1 Alumno.DNI se puede repetir n veces en
Matricula.DNI) arrastramos el Alumno.DNI sobre la Matricula.DNI:
                                                                                                       11



Ejemplo

Bases de datos-Modelo entidad interrelación- Ejemplo

La asociación "Amigos de la Fiesta" desea recoger en una base de datos toda la información
acerca de las corridas de todos que se celebran en España y de todos los datos relacionados con
ellas.

   o   Se desea tener información acerca de cada corrida, identificada conjuntamente por un número
       de orden, la feria en la que se celebra y el año de celebración (por ejemplo: orden = 2, feria =
       San Isidro, Año = 1999).
   o   En una determinada corrida actúan una serie de toreros (mínimo 1 y máximo 3) de los que
       desea guardar su DNI, nombre, apodo y fecha en que tomó la alternativa (fecha en la que se
       convirtió en matador de toros). Además se desea saber quien fue el torero que le dio la
       alternativa (padrino) en su día (un torero puede dar la alternativa a varios toreros o a ninguno).
   o   En cada corrida un torero obtiene una serie de premios (cuántas orejas, cuántos rabos y si salió
       por la puerta grande o no) de los que se desea mantener información.
   o   Cada torero puede tener un apoderado del que es protegido. A su vez, un apoderado lo puede
       ser de varios toreros. De él se desea saber su DNI, nombre, dirección y teléfono.
   o   Una corrida se celebra en una plaza de toros de la que se desea saber su nombre que se supone
       único, localidad, dirección y aforo. En una misma plaza se pueden celebrar varias corridas de
       toros.
   o   En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado por el código de
       la ganadería a la que pertenece, el año en que nació y un número de orden. Además se desea
       mantener información acerca de su nombre y color así como el orden en que fue toreado.
   o   Cada toro pertenece a una ganadería determinada. De cada ganadería se pretende saber su
       código, localidad y antigüedad (fecha de creación). A falta de determinados atributos, el modelo
       entidad - relación de este enunciado sería el siguiente:
                                                                                                  12


Modelo relacional

• Creado por Codd a Principios de los 70• Modelo lógico de datos de no muy alto nivel, orientado a
registro.• Sólida base teórica.• Implementado en muchos SGBD.• El concepto principal es la relación o
tabla .

2.2.1. Terminología del modelo relacional

• Entidad: Igual que en el esquema ER. También se les llama tuplas
o filas de la relación.• Atributo: Igual que en el esquema ER. También se le llaman columnas de la
relación.

El dominio de los atributos tiene que ser simple: no se admiten atributos multivaluados
nicompuestos.

• Esquema de una relación: viene dado por el nombre de la relación y una lista de atributos.

Es el tipo de entidad.

• Conjunto de entidades: Relación o tabla.

Ej: alumnos(DNI, Nombre Y Apellidos?, domicilio, teléfono, cou )

• Instancia de una relación: Conjuntos de entidades. Cada entidad se representa como unatupla.
Cada componente de la tupla corresponde con el valor del atributo correspondiente,según el
orden enunciado en el esquema de la relación.

Ej: Instancia de la relación alumnos:

{ (01234567Z, Manuel Vázquez Prieto, Calle del Jazmín 7 4 Izq, 91–12345678, COU =
SI),….}Representación:

En el modelo relacional no se representan diagramas del esquema de la BD. Se
puedenrepresentar instancias de una relación de la siguiente forma:

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la
lógica de predicado y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para
modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en
                                                                                                13


1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en
consolidarse como un nuevo paradigma en los modelos de base de datos.

Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma
lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de
datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de
una manera más fácil de imaginar, esto es, pensando en cada relación como si fuese una tabla
que está compuestas por registros (cada fila de la tabla sería un registro), que representarían las
tuplas, y campos (las columnas de una tabla).

Descripción:

En este modelo todos los datos son almacenados en relaciones, y como cada relación es un
conjunto de datos, el orden en el que estos se almacenen no tiene mayor relevancia (a diferencia
de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es
más fácil de entender y de utilizar por un usuario no experto. La información puede ser
recuperada o almacenada por medio de «consultas» que ofrecen una amplia flexibilidad y poder
para administrar la información.

Este modelo considera la base de datos como una colección de relaciones. De manera simple,
una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto
de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila
también se puede denominar tupla o registro y a cada columna también se le puede llamar campo
o atributo.

Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos
lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite
describir la forma de realizar una consulta, en cambio, el Cálculo relacional sólo indica lo que se
desea devolver.

El lenguaje más común 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.

Esquema

Un esquema es la definición de una estructura (generalmente relaciones o tablas de una base de
datos), es decir, determina la identidad de la relación y que tipo de información podrá ser
                                                                                                 14


almacenada dentro de ella; en otras palabras, el esquema son los metadatos de la relación. Todo
esquema constará de:

      Nombre de la relación (su identificador).
      Nombre de los atributos (o campos) de la relación y sus dominios; el dominio de un atributo o
       campo define los valores permitidos para el mismo, es equivalente al tipo de dato por ejemplo
       character, integer, date, string, etc.

Instancias

Una instancia de manera formal es la aplicación de un esquema a un conjunto finito de datos. En
palabras no tan técnicas, se puede definir como el contenido de una tabla en un momento dado,
pero también es valido referirnos a una instancia cuando trabajamos o mostramos únicamente un
subconjunto de la información contenida en una relación o tabla, como por ejemplo:

      Ciertos caracteres y números (una sola columna de una sola fila).
      Algunas o todas las filas con todas o algunas columnas
      Cada fila es una tupla. El número de filas es llamado cardinalidad.
      El número de columnas es llamado aridad o grado.

Base de datos relacional

Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros
(líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos
posee las mismas características como por ejemplo el nombre de campo, tipo y longitud; a este
campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases
de datos se le denomina modelo relacional.

Estrictamente hablando el término se refiere a una colección específica de datos pero a menudo
se le usa, en forma errónea como sinónimo del software usado para gestionar esa colección de
datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o
RDBMS (del inglés relational database management system).

Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de
una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea
utilizada de manera óptima.

Entre las ventajas de este modelo están:
                                                                                                 15


1. Garantiza herramientas para evitar la duplicidad de registros, a través de campos claves o
llaves.

2. Garantiza la integridad referencial: Así al eliminar un registro elimina todos los registros
relacionados dependientes.

3. Favorece la normalización por ser más comprensible y aplicable.

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 numero 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 multi-valorados
       (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.

								
To top