0% encontró este documento útil (0 votos)
209 vistas10 páginas

Modelo Relacional en Bases de Datos

4.1. Modelo relacional: Concepto. Estructura del Modelo Relacional. Características del Modelo Relacional. Cómo traducir un esquema entidad relación a un esquema relacional. Lenguajes de manipulación de Datos: Algebra Relacional. Cálculo Relacional. SQL.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
209 vistas10 páginas

Modelo Relacional en Bases de Datos

4.1. Modelo relacional: Concepto. Estructura del Modelo Relacional. Características del Modelo Relacional. Cómo traducir un esquema entidad relación a un esquema relacional. Lenguajes de manipulación de Datos: Algebra Relacional. Cálculo Relacional. SQL.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIDAD 4.

MODELOS DE DATOS

4.1. Modelo relacional: Concepto. Estructura


del Modelo Relacional. Características del Modelo Relacional. Cómo traducir un esquema entidad
relación a un esquema relacional. Lenguajes de manipulación de Datos: Algebra Relacional.
Cálculo Relacional. Ejemplos de manejadores que implementan el modelo relacional. SQL.

Modelo relacional

Modelo de organización y gestión de bases de datos consistente en el almacenamiento de datos


en tablas compuestas por filas, o tuplas, y columnas o campos. Se distingue de otros modelos,
como el jerárquico, por ser más comprensible para el usuario inexperto, y por basarse en la lógica
de predicados para establecer relaciones entre distintos datos. Surge como solución a la creciente
variedad de los datos que integran las data warehouses y podemos resumir el concepto como una
colección de tablas (relaciones).

Tabla: es el nombre que recibe cada una de las relaciones que se establecen entre los datos
almacenados; cada nueva relación da lugar a una tabla. Están formadas por filas, también
llamadas tuplas, donde se describen los elementos que configuran la tabla (es decir, los elementos
de la relación establecida por la tabla), columnas o campos, con los atributos y valores
correspondientes, y el dominio, concepto que agrupa a todos los valores que pueden figurar en
cada columna.

Estructura del modelo relacional

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

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 primaria (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.

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.

Características (modelo relacional en BD)

· Una base de datos relacional se compone de varias tablas o relaciones.


· No pueden existir dos tablas con el mismo nombre.
· Cada tabla es a su vez un conjunto de registros, filas o tuplas.
· Cada registro representa un objeto del mundo real.
· Cada una de estos registros consta de varias columnas, campos o atributos.
· No pueden existir dos columnas con el mismo nombre en una misma tabla.
· Los valores almacenados en una columna deben ser del mismo tipo de dato.
· Todas las filas de una misma tabla poseen el mismo número de columnas.
· No se considera el orden en que se almacenan los registros en las tablas.
· No se considera el orden en que se almacenan las tablas en la base de datos.
· La información puede ser recuperada o almacenada por medio de sentencias llamadas
«consultas».
Pasar del Modelo Entidad-Relación al Modelo Relacional

Partiendo de un esquema conceptual ( modelo Entidad-Relación), podemos obtener un esquema


relacional (modelo relacional) siguiendo las siguientes reglas:

1. Cada entidad se representa como una tabla y sus atributos como columnas de ésta.

Fondos (ID, ISBN, Titulo)

2. Cada Entidad débil se representa como una tabla, cuyas columnas serán los atributos de ésta,
añadiendo una columna más para la llave primaria de la Entidad fuerte de la que depende.

Ejemplares (IDFondos,IDEjemplares, Estado Saludo, Ubicación)


3. En las relaciones 1:N (uno a muchos), se crea una tabla con los atributos de la Entidad del
extremo “N” (Fondos) como columnas y una columna del atributo principal de la Entidad del
extremo “1” (Editorial). Dicho de otro modo, se propaga la clave principal de la de menor
cardinalidad.

Fondos (IDFondos, ISBN, Titulo, IdEditorial)


4. En el caso de una relación N:M (muchos a muchos), se crea una tabla con los atributos
principales de ambas Entidades como columnas y tantas columnas como atributos tenga esa
relación.

REP(IDEjemplares_IDPréstamos, Fecha, Fecha Real)


5. En una relación 1:1 la clave principal de una de las entidades se propaga a la que tenga mayor
cardinalidad o, sino, se escoge la opción más lógica en el caso concreto para decidir de qué
Entidad será propagada su clave primaria.

Fondos (IdFondos, ISBN, Título, idEjemplar).


6. Cuando nos encontramos con las Generalizaciones o Jerarquías, hay dos posibilidades:

A. Si no hay relaciones y atributos en las Entidades subtipos, se crea una tabla con una columna
con un atributo discriminador, que contendrá los tipos de lectores (asemejándose a lo que sería un
atributo multivaluado). Por otro lado, estará la tabla de la Entidad supertipo, con tantas columnas
como atributos tenga y el atributo discrimandor en cuestión.

Lectores (idLectores, DNI, Sanciones, Nombre, Teléfono, Dirección, Tipo).

TipoLectores(Tipo).
B. Se crea una tabla para el supertipo y su clave principal se propaga a los subtipos , cada uno con
tantas columnas como atributos tengan (independientes de la Entidad supertipo).

Fondos (idFondos, ISBN, Titulo)

Multimedia (idFondos, Formato)

Libre (IdFondos, Páginas)


Álgebra Relacional

El álgebra relacional es un conjunto de operaciones que describen paso a paso como computar
una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional.
Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo.
Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una
representación intermedia de una consulta a una base de datos y, debido a sus propiedades
algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.

CÁLCULO RELACIONAL

El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre una Base
de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo
procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los
mismos resultados.

El cálculo relacional usa un enfoque completamente diferente al álgebra relacional. No obstante,


los dos lenguajes son lógicamente equivalentes. Esto significa que cualquier consulta que pueda
resolverse en un lenguaje puede resolverse en el otro. La solución para toda consulta en este tipo
de cálculo se define por:

Ø Una lista de resultados

Ø Una sentencia de cualificación

La lista de resultados está clara, son aquellos registros que cumplen las condiciones que
deseamos. La sentencia de cualificación contiene las condiciones que deseamos que cumplan los
registros de la lista de resultados. La diferencia entre el cálculo y el álgebra radica en que el cálculo
realiza la operación en un único paso, sin necesidad de tener que obtener tablas intermedias, el
álgebra realiza las operaciones paso a paso.

Normalmente el cálculo relacional se apoya en algún lenguaje de interrogación de bases de datos


como puede ser el SQL.

El cálculo relacional incluye un concepto nuevo denominado cuantificador, los cuantificadores


tratan de averiguar el número de registros afectados por una determinada operación, incluso
antes de realizarla. Según su naturaleza los podemos dividir en dos grupos:

Cuantificadores existenciales

Son aquellos que tratan de averiguar el número de registros que devolvería un tipo de consulta.
Por ejemplo: saber el número de clientes de Madrid que han comprado el producto 2015. Si el
número de registros que satisfacen esta relación es mayor que cero, podemos generar la consulta
para lanzar posteriormente un informe, en caso contrario se puede enviar un mensaje al usuario
para que sepa que no hay ningún cliente con estas características.
Cuantificadores universales

Son aquellos que indican que una condición se aplica a todas las filas de algún tipo. Se usa para
brindar la misma capacidad que la operación división del álgebra relacional.

SQL

SQL significa Structured Query Language. SQL se utiliza para comunicarse con una base de datos.

De acuerdo con ANSI (American National Standards Institute), es el lenguaje estándar para
sistemas de gestión de bases de datos relacionales.

Las sentencias SQL se utilizan para realizar tareas como actualizar datos en una base de datos o
recuperar datos de una base de datos.

Algunos sistemas de gestión de bases de datos relacionales comunes que utilizan SQL son: Oracle,
MySQL, Microsoft SQL Server, Access, Ingres, etc.

Aunque la mayoría de los sistemas de base de datos utilizan SQL, la mayoría de ellos también
tienen sus propias extensiones propietarias que usualmente sólo se utilizan en su sistema.

Sin embargo, los comandos SQL estándar como "Seleccionar", "Insertar", "Actualizar", "Eliminar",
"Crear" y "Eliminar" se pueden utilizar para lograr casi todo lo que se necesita hacer con una base
de datos.

Un sistema de base de datos relacional contiene uno o más objetos denominados tablas.

Los datos o información para la base de datos se almacenan en estas tablas. Las tablas se
identifican de forma única por sus nombres y están formadas por columnas y filas.

Las columnas contienen el nombre de la columna, el tipo de datos y cualquier otro atributo para la
columna.

Las filas contienen los registros o datos de las columnas. Aquí hay una tabla de ejemplo llamada
"clima".

Bases de datos basadas en SQL

Las bases de datos más comunes basadas en SQL son:

 MySQL: MySQL es una base de datos SQL de código abierto, desarrollada por una empresa
sueca MySQL AB

 Oracle: Oracle es un sistema de gestión de bases de datos relacional desarrollado por


Oracle Corporation.

 Access: Microsoft Access es un software de gestión de base de datos de nivel de entrada.

También podría gustarte