FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para...

21
FUNDAMENTOS DE BASES DE DATOS UNIDAD II] 28 de septiembre de 2009 2. MODELO DE DATOS Los modelos de datos son el instrumento principal para ofrecer dicha abstracción. 2.1 DEFINICION DE MODELO DE DATOS Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. Los modelos de datos contienen también un conjunto de operaciones básicas para la realización de consultas (lecturas) y actualizaciones de datos. Además, los modelos de datos más modernos incluyen conceptos para especificar comportamiento, permitiendo especificar un conjunto de operaciones definidas por el usuario. Los modelos de datos se pueden clasificar dependiendo de los tipos de conceptos que ofrecen para describir la estructura de la base de datos. Los modelos de datos de alto nivel, o modelos conceptuales, disponen de conceptos muy cercanos al modo en que la mayoría de los usuarios percibe los datos, mientras que los modelos de datos de bajo nivel, o modelos físicos, proporcionan conceptos que describen los detalles de cómo se almacenan los datos en el ordenador. Los conceptos de los modelos físicos están dirigidos al personal informático, no a los usuarios finales. Entre estos dos extremos se encuentran los modelos lógicos, cuyos conceptos pueden ser entendidos por los usuarios finales, aunque no están demasiado alejados de la forma en que los datos se organizan físicamente. Los modelos lógicos ocultan algunos detalles de cómo se almacenan los datos, pero pueden implementarse de manera directa en un ordenador. Los modelos conceptuales utilizan conceptos como entidades, atributos y relaciones. Una entidad representa un objeto o concepto del mundo real como, por ejemplo, un empleado de la empresa inmobiliaria o una oficina. Un atributo representa alguna propiedad de interés de una entidad como, por ejemplo, el nombre o el salario del empleado. Una relación describe una interacción entre dos o más entidades, por ejemplo, la relación de trabajo entre un empleado y su oficina. Cada SGBD soporta un modelo lógico, siendo los más comunes el relacional, el de red y el jerárquico. Estos modelos representan los datos valiéndose de estructuras de registros, por lo que LI. MA. DE LA LUZ AYAR MARTINEZPágina 1

Transcript of FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para...

Page 1: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

2. MODELO DE DATOS

Los modelos de datos son el instrumento principal para ofrecer dicha abstracción.

2.1 DEFINICION DE MODELO DE DATOS

Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. Los modelos de datos contienen también un conjunto de operaciones básicas para la realización de consultas (lecturas) y actualizaciones de datos. Además, los modelos de datos más modernos incluyen conceptos para especificar comportamiento, permitiendo especificar un conjunto de operaciones definidas por el usuario.

Los modelos de datos se pueden clasificar dependiendo de los tipos de conceptos que ofrecen para describir la estructura de la base de datos. Los modelos de datos de alto nivel, o modelos conceptuales, disponen de conceptos muy cercanos al modo en que la mayoría de los usuarios percibe los datos, mientras que los modelos de datos de bajo nivel, o modelos físicos, proporcionan conceptos que describen los detalles de cómo se almacenan los datos en el ordenador. Los conceptos de los modelos físicos están dirigidos al personal informático, no a los usuarios finales. Entre estos dos extremos se encuentran los modelos lógicos, cuyos conceptos pueden ser entendidos por los usuarios finales, aunque no están demasiado alejados de la forma en que los datos se organizan físicamente. Los modelos lógicos ocultan algunos detalles de cómo se almacenan los datos, pero pueden implementarse de manera directa en un ordenador.

Los modelos conceptuales utilizan conceptos como entidades, atributos y relaciones. Una entidad representa un objeto o concepto del mundo real como, por ejemplo, un empleado de la empresa inmobiliaria o una oficina. Un atributo representa alguna propiedad de interés de una entidad como, por ejemplo, el nombre o el salario del empleado. Una relación describe una interacción entre dos o más entidades, por ejemplo, la relación de trabajo entre un empleado y su oficina.

Cada SGBD soporta un modelo lógico, siendo los más comunes el relacional, el de red y el jerárquico. Estos modelos representan los datos valiéndose de estructuras de registros, por lo que también se denominan modelos orientados a registros. Hay una nueva familia de modelos lógicos, son los modelos orientados a objetos, que están más próximos a los modelos conceptuales.

Los modelos físicos describen cómo se almacenan los datos en el ordenador: el formato de los registros, la estructura de los ficheros (desordenados, ordenados, etc.) y los métodos de acceso utilizados (índices, etc.).

A la descripción de una base de datos mediante un modelo de datos se le denomina esquema de la base de datos. Este esquema se especifica durante el diseño, y no es de esperar que se modifique a menudo. Sin embargo, los datos que se almacenan en la base de datos pueden cambiar con mucha frecuencia: se insertan datos, se actualizan, etc. Los datos que la base de datos contiene en un determinado momento se denominan estado de la base de datos u ocurrencia de la base de datos.

La distinción entre el esquema y el estado de la base de datos es muy importante. Cuando definimos una nueva base de datos, sólo especificamos su esquema al

LI. MA. DE LA LUZ AYAR MARTINEZ Página 1

Page 2: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

SGBD. En ese momento, el estado de la base de datos es el ``estado vacío", sin datos. Cuando se cargan datos por primera vez, la base datos pasa al ``estado inicial". De ahí en adelante, siempre que se realice una operación de actualización de la base de datos, se tendrá un nuevo estado. El SGBD se encarga, en parte, de garantizar que todos los estados de la base de datos sean estados válidos que satisfagan la estructura y las restricciones especificadas en el esquema. Por lo tanto, es muy importante que el esquema que se especifique al SGBD sea correcto y se debe tener muchísimo cuidado al diseñarlo. El SGBD almacena el esquema en su catálogo o diccionario de datos, de modo que se pueda consultar siempre que sea necesario.

2.2 MODELO ENTIDAD RELACION

El modelo entidad-relación es el modelo conceptual más utilizado para el diseño conceptual de bases de datos. Fue introducido por Peter Chen en 1976. El modelo entidad-relación está formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de representaciones gráficas y lingüísticas.

Originalmente, el modelo entidad-relación sólo incluía los conceptos de entidad, relación y atributo. Más tarde, se añadieron otros conceptos, como los atributos compuestos y las jerarquías de generalización, en lo que se ha denominado modelo entidad-relación extendido.

Figura 6.1: Conceptos del modelo entidad-relación extendido.

2.2.1 ENTIDAD, ATRIBUTOS Y RELACIONES

Cualquier tipo de objeto o concepto sobre el que se recoge información: cosa, persona, concepto abstracto o suceso. Por ejemplo: coches, casas, 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

LI. MA. DE LA LUZ AYAR MARTINEZ Página 2

Page 3: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

el interior. Un nombre de entidad sólo puede aparecer una vez en el esquema conceptual.

Hay dos tipos de entidades: fuertes y débiles. Una entidad débil es una entidad cuya existencia depende de la existencia de otra entidad. Una entidad fuerte es una entidad que no es débil.

Relación (interrelació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.

Una relación recursiva es una relación donde la misma entidad participa más de una vez en la relación con distintos papeles. El nombre de estos papeles es importante para determinar la función de cada participación.

La cardinalidad con la que una entidad participa en una relación especifica el número mínimo y el número máximo de correspondencias en las que puede tomar parte cada ocurrencia de dicha entidad. La participación de una entidad en una relación es obligatoria (total) si la existencia de cada una de sus ocurrencias requiere la existencia de, al menos, una ocurrencia de la otra entidad participante. Si no, la participación es opcional (parcial). Las reglas que definen la cardinalidad de las relaciones son las reglas de negocio.

A veces, surgen problemas cuando se está diseñado un esquema conceptual. Estos problemas, denominados trampas, suelen producirse a causa de una mala interpretación en el significado de alguna relación, por lo que es importante comprobar que el esquema conceptual carece de dichas trampas. En general, para encontrar las trampas, hay que asegurarse de que se entiende completamente el significado de cada relación. Si no se entienden las relaciones, se puede crear un esquema que no represente fielmente la realidad.

Una de las trampas que pueden encontrarse ocurre cuando el esquema representa una relación entre entidades, pero el camino entre algunas de sus ocurrencias es ambiguo. El modo de resolverla es reestructurando el esquema para representar la asociación entre las entidades correctamente.

Otra de las trampas sucede cuando un esquema sugiere la existencia de una relación entre entidades, pero el camino entre una y otra no existe para algunas de sus ocurrencias. En este caso, se produce una pérdida de información que se puede subsanar introduciendo la relación que sugería el esquema y que no estaba representada.

Atributo

LI. MA. DE LA LUZ AYAR MARTINEZ Página 3

Page 4: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

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.

Cada atributo tiene un conjunto de valores asociados denominado dominio. El dominio define todos los valores posibles que puede tomar un atributo. Puede haber varios atributos definidos sobre un mismo dominio.

Los atributos pueden ser simples o compuestos. Un atributo simple es un atributo que tiene un solo componente, que no se puede dividir en partes más pequeñas que tengan un significado propio. Un atributo compuesto es un atributo con varios componentes, cada uno con un significado por sí mismo. Un grupo de atributos se representa mediante un atributo compuesto cuando tienen afinidad en cuanto a su significado, o en cuanto a su uso. Un atributo compuesto se representa gráficamente mediante un óvalo.

Los atributos también pueden clasificarse en monovalentes o polivalentes. Un atributo monovalente es aquel que tiene un solo valor para cada ocurrencia de la entidad o relación a la que pertenece. Un atributo polivalente es aquel que tiene varios valores para cada ocurrencia de la entidad o relación a la que pertenece. A estos atributos también se les denomina multivaluados, y pueden tener un número máximo y un número mínimo de valores. La cardinalidad de un atributo indica el número mínimo y el número máximo de valores que puede tomar para cada ocurrencia de la entidad o

relación a la que pertenece. El valor por omisión es .

Por último, los atributos pueden ser derivados. Un atributo derivado es aquel que representa un valor que se puede obtener a partir del valor de uno o varios atributos, que no necesariamente deben pertenecer a la misma entidad o relación.

Identificador

Un identificador de una entidad es un atributo o conjunto de atributos que determina de modo único cada ocurrencia de esa entidad. Un identificador de una entidad debe cumplir dos condiciones:

1. No pueden existir dos ocurrencias de la entidad con el mismo valor del identificador.

2. Si se omite cualquier atributo del identificador, la condición anterior deja de cumplirse.

Toda entidad tiene al menos un identificador y puede tener varios identificadores alternativos. Las relaciones no tienen identificadores.

Jerarquía de generalización

Una entidad E es una generalización de un grupo de entidades E , E , ... E , si cada ocurrencia de cada una de esas entidades es también una ocurrencia de E. Todas las propiedades de la entidad genérica E son heredadas por las subentidades.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 4

Page 5: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

Cada jerarquía es total o parcial, y exclusiva o superpuesta. Una jerarquía es total si cada ocurrencia de la entidad genérica corresponde al menos con una ocurrencia de alguna subentidad. Es parcial si existe alguna ocurrencia de la entidad genérica que no corresponde con ninguna ocurrencia de ninguna subentidad. Una jerarquía es exclusiva si cada ocurrencia de la entidad genérica corresponde, como mucho, con una ocurrencia de una sola de las subentidades. Es superpuesta si existe alguna ocurrencia de la entidad genérica que corresponde a ocurrencias de dos o más subentidades diferentes.

Un subconjunto es un caso particular de generalización con una sola entidad como subentidad. Un subconjunto siempre es una jerarquía parcial y exclusiva.

2.2.2 LLAVES

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 Instituto Tecnológico de La Paz, podríamos tener los siguientes atributos: Nombre, 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.

2.2.3 CARDINALIDAD DE LAS ENTIDADES EN UNA RELACION

Los tipos de cardinalidad de asignación son:

Una-Una (1:1)’‘’, significa que cada entidad de la primera relación se va a relacionar con una entidad de la segunda relación y viceversa.

P. ejemplo. r1-r2

Una-Muchas (1:N), las entidades de la relación r1 se pueden relacionar con varias entidades de la relación r2. Pero las entidades de la relación r2 solo r2pueden asociarse con una entidad de r1. P. ejemplo. r1

Muchas-Una (N:1), las entidades de r1 solo pueden asociarse con una entidad de r2. Mientras que las entidades de r2 pueden asociarse con varias entidades contenidas en r1.

P. ejemplo. r1 r2

LI. MA. DE LA LUZ AYAR MARTINEZ Página 5

Page 6: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

* Muchas-Muchas (N:M), las entidades de ambas relaciones pueden asociarse con varias entidades de la contraria. P. ejemplo. r1 r2

•  Uno a uno

Uno a varios

 

•  Varios a uno

LI. MA. DE LA LUZ AYAR MARTINEZ Página 6

Page 7: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

 

 

•  Varios a varios

 

 

 

Si un conjunto de relaciones tiene también algunos atributos asociados a el, entonces

se unen esos atributos a ese conjunto de relaciones.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 7

Page 8: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

 

En este caso se tiene el atributo descriptivo, fecha-acceso, unido al conjunto de

relaciones impostor para especificar la fecha mas reciente en que un cliente accedió a

esa cuenta.

En los diagramas E-R se indican papeles mediante etiquetas en las líneas que unen

rombos con rectángulos.

 

En la siguiente imagen se muestra el papel indicando director y trabajador entre el

conjunto de entidades empleado y el conjunto de relaciones trabaja-para.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 8

Page 9: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

 

 

Según [ Kroenke ]

“Las figuras mostradas anteriormente, se denominan diagramas entidad-relación. Tales diagramas están estandarizados en forma muy abierta. De acuerdo con este

estándar, las clases de entidades se muestran con rectángulos; las relaciones

mediante diamantes; y la cardinalidad máxima de la relación aparece dentro del

diamante. El nombre de la entidad se muestra dentro del rectángulo y el nombre de la

relación cerca del diamante.

 

Aunque en algunos diagramas E-R el nombre de la relación aparece dentro del

diamante, esto hace que representación se vea desproporcionada. Para evitar esto, en

ocasiones los nombres de relaciones se escriben arriba del diamante, cuando el

nombre se coloca dentro o en la parte superior del diamante, la cardinalidad de la

relación se detalla colocando patas de gallo en las líneas que conectan a la(s)

entidad(es) en el lado muchos de la relación. La siguiente figura representa las

relaciones DORMITORIO-OCUPANTE y ESTUDIANTE-CLUB con las mencionadas

patas de gallo.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 9

Page 10: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

Representación de relación con la notación de pata de gallo

  Como ya se mencionó, la cardinalidad máxima indica a su vez la cantidad máxima de

entidades que pueden participar en la relación. Los diagramas no indican la mínima.”

2.2.4 DEPENDENCIA DE EXISTENCIA Y DE IDENTIFICACION

En un tipo de interrelación determinado:

- Tipo de entidad regular

Es aquel que no depende de otro tipo de entidad

Ejemplo: Persona en la interrelación Reside

- Tipo de entidad débil.- Es aquel que depende en existencia o en identificación de otro tipo de entidad

Ejemplo: Familiar en la interrelación Se encarga

Dependencia en Existencia y en Identificación

Diseño de Bases de Datos Modelo E/R Extendido

Dependencia en Existencia FAMILIAR Ex

Se encarga EMPLEADO

(1,n) (1,1) DNI

Nombre

Titulación

DNI

Dependencia en Identificación

2.2.5 GENERALIZACIÓN Y ESPECIALIZACIÓN

Generalización.

    Es el resultado de la unión de 2 o más conjuntos de entidades (de bajo nivel) para producir un conjunto de entidades de más alto nivel. La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 10

Page 11: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

    La generalización consiste en identificar todos aquellos atributos iguales de un conjunto de entidades para formar una entidad(es) global(es) con dichos atributos semejantes, dicha entidad(es) global(es) quedara a un nivel más alto al de las entidades origen.

Ejemplo:

    Tomando el ejemplo del libro de procesamiento de base de datos de David M. Kroenke.

Donde:    Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos semejantes de No_Cta y Saldo, aunque además de estos dos atributos, Cta_Ahorro tiene el atributo Tasa_Interes y Cta_Cheques el atributo Saldo_Deudor. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en ambas entidades.

Entonces tenemos:

      Podemos leer esta gráfica como: La entidad Cta_Ahorro hereda de la entidad CUENTA los atributos No_Cta y saldo, además del atributo de TasaInteres, de forma semejante Cta_cheque tiene los atributos de No_Cta, Saldo y SaldoDeudor.     Como podemos observar la Generalización trata de eliminar la redundancia (repetición) de atributos, al englobar los atributos semejantes. La entidad(es) de bajo nivel cuentan (heredan) todos los atributos correspondientes. Especialización:     Es el resultado de tomar un subconjunto de entidades de alto nivel para formar un conjunto de entidades de más bajo nivel.    * En la generalización cada entidad de alto nivel debe ser también una entidad de bajo nivel. La especialización no tiene este limitante.    * se representa por medio de un triángulo denominado con la etiqueta "ISA", se distingue de la generalización por el grosor de las líneas que conectan al triángulo con las entidades.    * La especialización denota la diferencia entre los conjuntos de entidades de alto y bajo nivel.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 11

Page 12: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

2.2.6 AGREGACIÓN. 

    La agregación surge de la limitación que existe en el modelado de E-R, al no permitir expresar las relaciones entre relaciones de un modelo E-R en el caso de que una relación X se quiera unir con una entidad cualquiera para formar otra relación.

    La Generalización consiste en agrupar por medio de un rectángulo a la relación (representada por un rombo) junto con las entidades y atributos involucrados en ella, para formar un grupo que es considerado una entidad y ahora sí podemos relacionarla con otra entidad.

    Para ejemplificar lo anterior consideremos el ejemplo del libro de fundamentos de Base de Datos de Henry F. Korth. En donde el problema consiste en que existen trabajando muchos empleados que trabajan en diferentes proyectos, pero dependiendo del trabajo que realiza en pueden llegar a utilizar un equipo o maquinaria; en este problema intervienen 3 entidades: Empleado, Proyecto y Maquinaria, el diagrama E-R correspondiente es:

    Como el modelo  E-R no permite la unión entre dos o más relaciones, la relación trabajo es englobada como si fuera una entidad más de la relación usa, gráficamente queda como:

LI. MA. DE LA LUZ AYAR MARTINEZ Página 12

Page 13: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

     

    Ahora podemos decir que la entidad trabajo se relaciona con la entidad maquinaria a través de la relación usar. Para indicarnos que un trabajo usa un determinado equipo o maquinaria según el tipo de trabajo que se trate.

2.3 MODELO RELACIONAL

En 1970, el modo en que se veían las bases de datos cambió por completo cuando E. F. Codd introdujo el modelo relacional. En aquellos momentos, el enfoque existente para la estructura de las bases de datos utilizaba punteros físicos (direcciones de disco) para relacionar registros de distintos ficheros. Si, por ejemplo, se quería relacionar un registro con un registro , se debía añadir al registro un campo conteniendo la dirección en disco del registro . Este campo añadido, un puntero físico, siempre señalaría desde el registro al registro . Codd demostró que estas bases de datos limitaban en gran medida los tipos de operaciones que los usuarios podían realizar sobre los datos. Además, estas bases de datos eran muy vulnerables a cambios en el entorno físico. Si se añadían los controladores de un nuevo disco al sistema y los datos se movían de una localización física a otra, se requería una conversión de los ficheros de datos. Estos sistemas se basaban en el modelo de red y el modelo jerárquico, los dos modelos lógicos que constituyeron la primera generación de los SGBD.

El modelo relacional representa la segunda generación de los SGBD. En él, todos los datos están estructurados a nivel lógico como tablas formadas por filas y columnas, aunque a nivel físico pueden tener una estructura completamente distinta. Un punto fuerte del modelo relacional es la sencillez de su estructura lógica. Pero detrás de esa simple estructura hay un fundamento teórico importante del que carecen los SGBD de la primera generación, lo que constituye otro punto a su favor.

Dada la popularidad del modelo relacional, muchos sistemas de la primera generación se han modificado para proporcionar una interfaz de usuario relacional, con independencia del modelo lógico que soportan (de red o jerárquico). Por ejemplo, el sistema de red IDMS ha evolucionado a IDMS/R e IDMS/SQL, ofreciendo una visión relacional de los datos.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 13

Page 14: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

En los últimos años, se han propuesto algunas extensiones al modelo relacional para capturar mejor el significado de los datos, para disponer de los conceptos de la orientación a objetos y para disponer de capacidad deductiva.

El modelo relacional, como todo modelo de datos, tiene que ver con tres aspectos de los datos:

Estructura de datos. Integridad de datos. Manejo de datos.

2.3.1 ESTRUCTURA DEL MODELO RELACIONAL

Una relación es una tabla con columnas y filas. Un SGBD sólo necesita que el usuario pueda percibir la base de datos como un conjunto de tablas. Esta percepción sólo se aplica a la estructura lógica de la base de datos (en el nivel externo y conceptual de la arquitectura de tres niveles ANSI-SPARC). No se aplica a la estructura física de la base de datos, que se puede implementar con distintas estructuras de almacenamiento.

Un atributo es el nombre de una columna de una relación. En el modelo relacional, las relaciones se utilizan para almacenar información sobre los objetos que se representan en la base de datos. Una relación se representa gráficamente como una tabla bidimensional en la que las filas corresponden a registros individuales y las columnas corresponden a los campos o atributos de esos registros. Los atributos pueden aparecer en la relación en cualquier orden.

Por ejemplo, la información de las oficinas de la empresa inmobiliaria se representa mediante la relación OFICINA, que tiene columnas para los atributos Onum (número de oficina), Calle, Area, Población, Teléfono y Fax. La información sobre la plantilla se representa mediante la relación PLANTILLA, que tiene columnas para los atributos Enum (número de empleado), Nombre, Apellido, Dirección, Teléfono, Puesto, Fecha_nac, Salario, DNI, Onum (número de la oficina a la que pertenece el empleado). A continuación se muestra una instancia de la relación OFICINA y una instancia de la relación PLANTILLA. Como se puede observar, cada columna contiene valores de un solo atributo. Por ejemplo, la columna Onum sólo contiene números de oficinas que existen.

OFICINA Onum Calle Area Población Teléfono Fax

O5 Enmedio, 8 Centro Castellón 964 201 240 964 201 340

O7 Moyano, s/n Centro Castellón 964 215 760 964 215 670

O3 San Miguel, 1 Villarreal 964 520 250 964 520 255

O4 Trafalgar, 23 Grao Castellón 964 284 440 964 284 420

O2 Cedre, 26 Villarreal 964 525 810 964 252 811 PLANTILLA Enum

Nombre

Apellido Dirección Teléfon

o Puesto Fecha_nac

Salario DNI Onu

m

EL21 Amelia Pastor Magallane 964 Director 12/10/62 30000 39432212 O5

LI. MA. DE LA LUZ AYAR MARTINEZ Página 14

Page 15: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

s, 15 284 560 E

Castellón

EG37 Pedro Cubed

o Bayarri, 11

964 535 690

Supervisor 24/3/57 18000 38766623

X O3

Villarreal

EG14 Luis Collad

o Borriol, 35 964 522 230

Administ. 9/5/70 12000 24391223L O3

Villarreal

EA9 Rita Renau Casalduch, 32

964 257 550

Supervisor 19/5/60 18000 39233190

F O7

Castellón

EG5 Julio Prats Melilla, 23 964 524 590

Director 19/12/50 24000 25644309X O3

Villarreal

EL41 Carlos Baeza Herrero, 51

964 247 250

Supervisor 29/2/67 18000 39552133

T O5

Castellón

Un dominio es el conjunto de valores legales de uno o varios atributos. Los dominios constituyen una poderosa característica del modelo relacional. Cada atributo de una base de datos relacional se define sobre un dominio, pudiendo haber varios atributos definidos sobre el mismo dominio. La siguiente tabla muestra los dominios de los atributos de la relación OFICINA. Nótese que en esta relación hay dos atributos que están definidos sobre el mismo dominio, Teléfono y Fax.

Atributo Nombre del Dominio Descripción Definición

Onum NUM_OFICINA Posibles valores de número de oficina 3 caracteres;

rango O1-O99

Calle NOM_CALLE Nombres de calles de España 25 caracteres

Area NOM_AREA Nombres de áreas de las poblaciones de España 20 caracteres

Población NOM_POBLACION Nombres de las poblaciones de España 15 caracteres

Teléfono NUM_TEL_FAX Números de teléfono de España 9 caracteres

Fax NUM_TEL_FAX Números de teléfono de España 9 caracteres

LI. MA. DE LA LUZ AYAR MARTINEZ Página 15

Page 16: FUNDAMENTOS DE BASES DE DATOS UNIDAD II Web viewes un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos

FUNDAMENTOS DE BASES DE DATOS UNIDAD II]28 de septiembre de 2009

El concepto de dominio es importante porque permite que el usuario defina, en un lugar común, el significado y la fuente de los valores que los atributos pueden tomar. Esto hace que haya más información disponible para el sistema cuando éste va a ejecutar una operación relacional, de modo que las operaciones que son semánticamente incorrectas, se pueden evitar. Por ejemplo, no tiene sentido comparar el nombre de una calle con un número de teléfono, aunque los dos atributos sean cadenas de caracteres. Sin embargo, el importe mensual del alquiler de un inmueble no estará definido sobre el mismo dominio que el número de meses que dura el alquiler, pero sí tiene sentido multiplicar los valores de ambos dominios para averiguar el importe total al que asciende el alquiler. Los SGBD relacionales no ofrecen un soporte completo de los dominios ya que su implementación es extremadamente compleja.

Una tupla es una fila de una relación. Los elementos de una relación son las tuplas o filas de la tabla. En la relación OFICINA, cada tupla tiene seis valores, uno para cada atributo. Las tuplas de una relación no siguen ningún orden.

El grado de una relación es el número de atributos que contiene. La relación OFICINA es de grado seis porque tiene seis atributos. Esto quiere decir que cada fila de la tabla es una tupla con seis valores. El grado de una relación no cambia con frecuencia.

2.3.2 DEFINICIÓN DE RELACIÓN

Una relación es una tabla con columnas y filas. Un SGBD sólo necesita que el usuario pueda percibir la base de datos como un conjunto de tablas. Esta percepción sólo se aplica a la estructura lógica de la base de datos (en el nivel externo y conceptual de la arquitectura de tres niveles ANSI-SPARC). No se aplica a la estructura física de la base de datos, que se puede implementar con distintas estructuras de almacenamiento.

2.3.3 PROPIEDADES DE UNA RELACIÓN

Las relaciones tienen las siguientes características:

Cada relación tiene un nombre y éste es distinto del nombre de todas las demás.

Los valores de los atributos son atómicos: en cada tupla, cada atributo toma un solo valor. Se dice que las relaciones están normalizadas.

No hay dos atributos que se llamen igual. El orden de los atributos no importa: los atributos no están ordenados. Cada tupla es distinta de las demás: no hay tuplas duplicadas. El orden de las tuplas no importa: las tuplas no están ordenadas.

LI. MA. DE LA LUZ AYAR MARTINEZ Página 16