7
Modelo relacional 3.1 Introducción En el capítulo anterior se mencionaron 3 tipos de modelado: conceptual, lógico y físico. El modelo e-r se considera un modelo conceptual ya que permite a un nivel alto el ver con claridad la información utilizada en algun problema o negocio. En este capítulo nos concentraremos en desarrollar un buen modelo "lógico" que se conoce como "esquema de la base de datos" (database schema) a partir del cual se podrá realizar el modelado físico en el DBMS, es importante mencionar que es un paso necesario, no se puede partir de un modelo conceptual para realizar un físico. 3.2 Por qué "modelo relacional" ? Puede resultar confuso el concepto de modelo entidad-relación vs modelo relacional, quizás porque ambos comparten casi las mismas palabras. Como se mencionó en la sección anterior, el objetivo del modelo relacional es crear un "esquema" (schema), lo cual como se mencionará posteriormente consiste de un conjunto de "tablas" que representan "relaciones", relaciones entre los datos. Estas tablas, pueden ser construídas de diversas maneras: Creando un conjunto de tablas iniciales y aplicar operaciones de normalización hasta conseguir el esquema más óptimo. Las técnicas de nomalización se explican más adelante en este capítulo. Convertir el diagrama e-r a tablas y posteriormente aplicar también operaciones de normalización hasta conseguir el esquema óptimo.

Modelo Relacionalimprimir

Embed Size (px)

DESCRIPTION

modelo conceptual

Citation preview

Page 1: Modelo Relacionalimprimir

Modelo relacional

3.1 Introducción

En el capítulo anterior se mencionaron 3 tipos de modelado: conceptual, lógico y físico.

El modelo e-r se considera un modelo conceptual ya que permite a un nivel alto el ver con claridad la información utilizada en algun problema o negocio.

En este capítulo nos concentraremos en desarrollar un buen modelo "lógico" que se conoce como "esquema de la base de datos" (database schema) a partir del cual se podrá realizar el modelado físico en el DBMS, es importante mencionar que es un paso necesario, no se puede partir de un modelo conceptual para realizar un físico.

 

3.2 Por qué "modelo relacional" ?

Puede resultar confuso el concepto de modelo entidad-relación vs modelo relacional, quizás porque ambos comparten casi las mismas palabras. Como se mencionó en la sección anterior, el objetivo del modelo relacional es crear un "esquema" (schema), lo cual como se mencionará posteriormente consiste de un conjunto de "tablas" que representan "relaciones", relaciones entre los datos.

Estas tablas, pueden ser construídas de diversas maneras:

Creando un conjunto de tablas iniciales y aplicar operaciones de normalización hasta conseguir el esquema más óptimo. Las técnicas de nomalización se explican más adelante en este capítulo.

Convertir el diagrama e-r a tablas y posteriormente aplicar también operaciones de normalización hasta conseguir el esquema óptimo.

La primer técnica fue de las primeras en existir y, como es de suponerse, la segunda al ser más reciente es mucho más conveniente en varios aspectos:

El partir de un diagrama visual es muy útil para apreciar los detalles, de ahí que se llame modelo conceptual.

El crear las tablas iniciales es mucho más simple a través de las reglas de conversión.

Se podría pensar que es lo mismo porque finalmente hay que "normalizar" las tablas de todas formas, pero la ventaja de partir del modelo e-r es que la "normalización" es mínima por lo general.

Page 2: Modelo Relacionalimprimir

Lo anterior tiene otra ventaja, aún cuando se normalice de manera deficiente, se garantiza un esquema aceptable, en la primer técnica no es así.

 

3.3 Conceptos básicos

3.3.1 Tablas

El modelo relacional proporciona un manera simple de representar los datos: una tabla bidimensional llamada relación.

título año duración tipo

Star Wars 1977 124 color

Mighty Ducks

1991 104 color

Wayne's World

1992 95 color

Relación Películas

La relación Películas tiene la intención de manejar la información de las instancias en la entidad Películas, cada renglón corresponde a una entidad película y cada columna corresponde a uno de los atributos de la entidad. Sin embargo las relaciones pueden representar más que entidades, como se explicará más adelante.

3.3.2 Atributos

Los atributos son las columnas de un relación y describen características particulares de ella.

3.3.3 Esquemas

Es el nombre que se le da a una relación y el conjunto de atributos en ella.

Películas (título, año, duración, tipo)

En un modelo relación, un diseño consiste de uno o más esquemas, a este conjunto se le conoce como "esquema relacional de base de datos" (relational database schema) o simplemente "esquema de base de datos" (database schema)

3.3.4 Tuplas

Cada uno de los renglones en una relación conteniendo valores para cada uno de los atributos.

Page 3: Modelo Relacionalimprimir

(Star Wars, 1977, 124, color)

3.3.5 Dominios

Se debe considerar que cada atributo (columna) debe ser atómico, es decir, que no sea divisible, no se puede pensar en un atributo como un "registro" o "estructura" de datos.

3.3.6 Representaciones equivalentes de una relación

Las relaciones son un conjunto de tuplas, no una lista de tuplas. El orden en que aparecen las tuplas es irrelevante.

Así mismo el orden de los atributos tampoco es relevante

año título tipo duración

1991Mighty Ducks

color 104

1992Wayne's World

color 95

1977 Star Wars color 124

Otra representación de la relación Películas

 

3.4 Conversión del modelo e-r a un esquema de base de datos (Conversión a tablas)

3.4.1 Introducción

El modelo es una representación visual que gráficamente nos da una perspectiva de como se encuentran los datos involucrados en un proyecto u organización.

Pero el modelo no nos presenta propiamente una instancia de los datos, un ejemplo que muestre con claridad algunas datos de muestra y como se relacionan en realidad. Por eso es conveniente crear un "esquema", el cual consiste de tablas las cuales en sus renglones (tuplas) contienen instancias de los datos.

3.4.2 Conversión a tablas desde un modelo con relaciones (1-1,1-m,m-m)

Las tablas siguientes muestran las reglas que se deben seguir para poder crear dicho esquema.

 

Page 4: Modelo Relacionalimprimir

Relacion: proviene del concepto matemático de relación. Pictóricamente, una relación es una tabla bidimensional . Los renglones de la tabla se conocen como tupla y mantiene información relativa a un objeto. Las columnas se conocen como los atributos, los cuales deben tener nombre diferentes. Los valores asignados para los atributos de cada tupla son tomados de un dominio.Dos renglones en una relación no pueden ser idénticos y el orden en el cual se

acomodan los renglones no tiene significado.Llave: conjunto mínimo de atributos de una relación que identifican de manera única a cada tupla.Llave Llave Foránea conjunto de atributos de una relación que son la llave primaria de otra relación.

CLIENTE(Cl_Num, Cl_Nom, Cl_Dir)FACTURA(Fa_Num,Fa_Fecha, Fa_Importe, Cl_Num)

--Reglas de integridad.Integridad de Entidad: Ningún atributo de una llave primaria puede tener el valor nulo.(NULL)Integridad Referencial: Debido a que las llaves foráneas referencian llaves primarias, es esencial que el valor de una llave foránea coincida con el valor de alguna llave primaria

Por cada entidad, definir una tabla cuyo nombre es el mismo que el nombre de la entidad y cuyas columnas corresponden a los atributos de la entidad.2

.Por cada relación uno a muchos, agregar a la tabla del lado muchos una llave foránea, correspondiente al identificador de la entidad uno. Los atributos de la Relación si existen se agregan a la tabla del lado muchos.

Conceptos:

A la relación la vamos a llamar Tabla.

A una fila de una tabla la vamos a llamar Tupla. Ejemplo: <V1,V2,V3> = Tupla del ejemplo

Hablaremos de “Cardinalidad de una Relación” para referirnos al numero de la Relación.

El Grado es el número de atributos o columnas.

Para Expresar que una tupla pertenece a una relación usaremos el símbolo de pertenece ∈.

En nuestro caso vamos a diferenciar relación y esquema de relación. Una Relación será una instancia de dicha relación en un momento dado y un

Page 5: Modelo Relacionalimprimir

Esquema de Relación nos va a representar una información lógica que no varia. Ejemplo: Cuenta = (numero_cuenta, nombre_sucursal, saldo). Se va a tomar la convención de tomar el nombre de la relación con la primera letra mayúscula cuando hablamos de esquema de relación y minúscula cuando hablamos de relación. Ejemplo: r(R) Cuenta(Cuenta). Se suele poner en el esquema además de los atributos el dominio de los atributos. Ejemplo: Cuenta = (numero_cuenta:D1, nombre_sucursal:D2, saldo:D3). Vamos a ver ahora las características que debe cumplir una tabla para que sea considerada como una relación dentro del modelo relacional:

No habrá duplicación de tuplas. (Aquí tenemos que destacar que en sistemas comerciales se puede dar el caso de duplicación, aunque estos sistemas no serán realmente relaciónales).

Las Tuplas no tendrán un orden. (No habrá orden entre las tuplas.)

Tema 2. Modelo Relacional de Datos (MR). Introducción a las Bases de datos No hay orden entre los atributos.

Dominios atómicos: Esto es que los valores de los dominios deben ser atómicos, es decir, que entre los

Una Superclave nunca será el conjunto de todos los atributos. Para saber que atributos debemos tomar tendremos: - Claves Candidatas: Son Superclaves mínimas, es decir no exista un subconjunto de sus atributos que también sea superclave. Ejemplo: Si tuviéramos un conjunto formado por (num_empleado, nombre, edad) está sería superclave, pero no clave candidata, porque dentro del conjunto habría un subconjunto (num_empleado) que por si solo será superclave. Ejemplo: El subconjunto (nombre, edad) podría ser superclave y clave candidata a la vez. Entre todas las claves candidatas es función del administrador elegir una clave primaria. Y será la clave a partir de la que empezaremos a referirnos a las tuplas. - Claves Alternas: Son las que no han sido elegidas como clave primaria, y se pueden utilizar para diferentes cosas.

- Clave Externa: Es un atributo o conjunto de atributos de una relación R2 que hace referencia a la clave primaria de una relación R1. La clave externa, no se especifica en el esquema. Más adelante veremos forma de hacerlo de otra forma. Ejemplo: Si nosotros tenemos los dos siguientes esquemas: Empleados = (num_empleado, nombre, edad, num_dpto, salario).