MODELO RELACIONAL.docx

6
MODELO RELACIONAL **MODELO RELACIONAL** Las bases de datos relacionales son el tipo de bases de datos actualmente más difundido. Los motivos de este éxito son fundamentalmente dos: 1. ofrecen sistemas simples y eficaces para representar y manipular los datos 2. se basan en un modelo, el relacional, con sólidas bases teóricas El modelo relacional fue propuesto originariamente por E.F. Codd en un ya famoso artículo de 1970. Gracias a su coherencia y facilidad de uso, el modelo se ha convertido en los años 80 en el más usado para la producción de DBMS. La estructura fundamental del modelo relacional es precisamente esa, "relación", es decir una tabla bidimensional constituida por líneas (tuple) y columnas (atributos). Las relaciones representan las entidades que se consideran interesantes en la base de datos. Cada instancia de la entidad encontrará sitio en una tupla de la relación,

Transcript of MODELO RELACIONAL.docx

Page 1: MODELO RELACIONAL.docx

MODELO RELACIONAL

**MODELO RELACIONAL**

Las bases de datos relacionales son el tipo de bases de datos actualmente más

difundido. Los motivos de este éxito son fundamentalmente dos:

1. ofrecen sistemas simples y eficaces para representar y manipular los datos

2. se basan en un modelo, el relacional, con sólidas bases teóricas

El modelo relacional fue propuesto originariamente por E.F. Codd en un ya famoso

artículo de 1970. Gracias a su coherencia y facilidad de uso, el modelo se ha

convertido en los años 80 en el más usado para la producción de DBMS.

La estructura fundamental del modelo relacional es precisamente esa, "relación",

es decir una tabla bidimensional constituida por líneas (tuple) y columnas

(atributos). Las relaciones representan las entidades que se consideran

interesantes en la base de datos. Cada instancia de la entidad encontrará sitio en

una tupla de la relación, mientras que los atributos de la relación representarán

las propiedades de la entidad. Por ejemplo, si en la base de datos se tienen que

representar personas, se podrá definir una relación llamada "Personas", cuyos

Page 2: MODELO RELACIONAL.docx

atributos describen las características de las personas(Figura 2). Cada tupla de la

relación "Personas" representará una persona concreta.

http://www.htmlpoint.com/sql/sql_03.htm

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.

¿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:

Page 3: MODELO RELACIONAL.docx

· 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.

· 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í.

Conceptos básicos del modelo relacional

Tablas

El modelo relacional proporciona un manera simple de representar los datos: una

tabla bidimensional llamada relación.

título año duración tipoStar Wars 1977 124 colorMighty 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.

Atributos

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

particulares de ella.

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)

Page 4: MODELO RELACIONAL.docx

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)

Tuplas

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

los atributos.

(Star Wars, 1977, 124, color)

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.

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

Estructura del modelo relacionalQué es, como se construye y como se utiliza este simple pero potente modelo relacional de datos.Se trata de un modelo bastante potente y a la vez bastante simple , que nos

representas problemas. El elemento principal de este modelo es la relación.

Por lo que podemos decir que una base de datos relacional está compuesta

por un conjunto de relaciones. 

Relación 

Page 5: MODELO RELACIONAL.docx

La relación se representa mediante una tabla, esta tabla representa a lo que en

el modelo entidad-relación llamábamos entidad. Esta tabla contiene los

atributos (columnas) y las tuplas (filas). 

Atributo: se trata de cada una de las columnas de la tabla. Vienen definidas por un

nombre y pueden contener un conjunto de valores.

Tupla: se trata de cada una de las filas de la tabla. Es importante señalar que no se

pueden tener tuplas duplicadas en una tabla.

Dominios 

El dominio dentro de la estructura del modelo relacional es el conjunto de

valores que puede tomar un atributo. Existen dos tipos de dominios: 

dominios generales: son aquellos que están comprendidos entre un máximo y un

mínimo.

dominios restringidos: son los que pertenecen a un conjunto de valores específicos.

Claves 

Cada tupla de una tabla tiene que estar asociada a una clave única que permita

identificarla. 

Una clave puede estar compuesta por uno o más atributos. 

Una clave tiene que ser única dentro de su tabla y no se puede descartar

ningún atributo de la misma para identificar una fila. 

Existen dos tipos de claves: 

Clave prmaria (Primary Key): es el valor o conjunto de valores que identifican una fila

dentro de una tabla. Nunca puede ser NULL. Un ejemplo claro de clave primaria seria el

DNI, que es único para cada persona y no puede ser NULL.

Clave ajena (Foreign Key): es el valor o valores de una tabla que corresponde con el

valor de una clave primaria en otra tabla. Esta clave es la que representa las relaciones

entre las tablas.

Page 6: MODELO RELACIONAL.docx

Vistas 

Se trata de una tabla ficticia la cual muestra atributos de otras tablas

relacionadas. De esta forma obtenemos los datos que nos interesan de una o

varias tablas. Es importante señalar que no se pueden realizar operaciones

sobre vistas.