El documento describe el modelo de datos relacional introducido por E.F. Codd en 1970. El modelo representa los datos como una colección de tablas relacionadas entre sí. Cada tabla consiste en filas y columnas donde cada fila representa un objeto y cada columna representa un atributo del objeto. El modelo busca lograr independencia lógica e independencia física de los datos.
3. Introducción
Un Modelo de Datos es una herramienta que puede ser
usada para especificar (describir): Objetos (entidades) del
mundo real, Relaciones entre ellos, Restricciones sobre
ellos, y la Manipulación de ellos.
Algunos modelos de datos:
Modelo Entidad
Modelo Entidad
Modelo Jerárquico
Modelo Jerárquico relación
relación
Modelo Red
Modelo Red
Modelo Orientado a
Modelo Orientado a
Modelo Relacional
Modelo Relacional Objetos
Objetos
4. Contenido
El Modelo
Relacional
Definición Elementos Reglas Ejemplos
5. Definición
El Modelo Relacional fue
introducido por Edgard F.
Codd en 1970.
Con su trabajo "Un modelo
relacional de datos para
grandes bancos de datos
compartidos" ("A
Relational Model of Data
for Large Shared Data Edgar F. Codd (1923-2003)
Banks") publicado en
ACM. Association for
Computing
Machinery
6. Definición
Los datos se representan
como una colección de
relaciones (Tablas).
Podemos decir que una
base de datos relacional
consiste de un conjunto
de tablas (relaciones)
relevantes.
7. Definición
Este modelo de datos perseguía una serie de
objetivos que se resumen en:
Independencia física.
Independencia lógica.
Flexibilidad.
Uniformidad.
Sencillez.
8. Definición
Independencia física.
El modo en el que se almacenan los datos no influye
en su manipulación lógica y por tanto, los usuarios
que acceden a esos datos no tienen que modificar
sus programas por cambios en el almacenamiento
físico.
Independencia lógica.
El añadir, eliminar o modificar objetos de la base de
datos no repercute en los programas y/o usuarios
que están accediendo a subconjuntos parciales de
los mismos (vistas).
9. Definición
Flexibilidad.
En el sentido de poder presentar a cada usuario los
datos de la forma en que éste prefiera.
Uniformidad.
Las estructuras lógicas de los datos presentan un
aspecto uniforme, lo que facilita la concepción y
manipulación de la base de datos por parte de los
usuarios.
Sencillez.
Las características anteriores, así como unos
lenguajes de usuario muy sencillos, producen como
resultado que el modelo de datos relacional sea fácil
de comprender y de utilizar por parte del usuario final.
10. Elementos
Nombre de la relación Atributos
ALUMNO
Código Nombre Edad Nota Cabecera
21-990101 JUAN 21 15
21-872342 MARIA 19 13 Tuplas o filas
21-765349 ALBERTO 18 16
columnas
11. Elementos
El Dominio de un atributo es el conjunto
de valores que un atributo puede tomar.
Un dominio es usualmente representado
por un tipo
Ejemplos:
Código, su dominio es un char(9) --- Cadena de
caracteres de longitud 9
Nombre, su dominio es un varchar(30) ---
Cadena de caracteres de longitud variable hasta
30 caracteres
Edad, su dominio es un rango de números --- 15
a 90.
12. Elementos
El esquema (schema) de la relación o cabecera de
la relación es el conjunto de los atributos de la
relación
Ejemplo:
Cabecera (Alumno) = (Código, Nombre, Edad, Nota)
Alumno (Código, Nombre, Edad, Nota)
El Estado (o contenido) de la relación es el actual
conjunto de tuplas o filas de la relación.
Un esquema determinado puede tener diferentes
estados en diferentes tiempos.
13. Elementos
El esquema de una relación raramente cambia.
Algunos posibles cambios son:
Renombrar un atributo
Borrar un atributo
Añadir un atributo
Borrar el esquema
14. Elementos
El estado de una relación puede cambiar
frecuentemente.
Algunos posibles cambios son:
Modificar algunos valores de atributos
Borrar una tupla existente
Insertar una nueva tupla
15. Elementos
Una Base de datos relacional consiste de un
conjunto de relaciones
Un esquema de base de datos relacional
consiste de un conjunto de esquemas de
relaciones.
Un estado de la base de datos es la data
actualmente en la base de datos.
16. Un Ejemplo de Base de Datos
Students Departments
SSN Name Major GPA Name Location Chairperson
1234 Jeff CS 3.2 CS N18 EB Aggarwal
2345 Mary Math 3.0 EE Q4 EB Sackman
3456 Bob CS 2.7 Math LN2200 Hanson
4567 Wang EE 2.9 Biology 210 S3 Smith
Courses Sections
Name Course# CreditHours Dept Course# Section# Semester Instructor
Database CS432 4 CS CS432 01 Fall98 Meng
Database CS532 4 CS CS532 01 Fall98 Meng
Dis. Math Math314 4 Math Math314 02 Fall 97 Hanson
Lin. Alg. Math304 4 Math Math304 01 Spring97 Brown
17. Reglas de Base Datos Relacional
Regla 1 (First Normal Form Rule).
Ningun atributo multi-valuado es permitido en
una tabla.
Es decir, para cualquier tupla t y atributo A en
una tabla, t[A] debe ser un valor simple
atomico.
18. Reglas de Base Datos Relacional
Ejemplos de atributos multivaluados:
Employees
SSN Name Age Dependents
123456789 Bob 34 Allen, Ann
234567891 Mary 42 Kathy
345678912 Bill 47 Mike, Susan, David
Otros ejemplos:
El atributo Autores de relacion Libros
El atributo Libros de referencias de una relacion Cursos
El atributo de Hobbies de una relacion Empleados
19. Reglas de Base Datos Relacional
Regla 2 (The Unique Row Rule).
No hay dos filas en la misma tabla que sean
identicas en cualquier momento dado.
Es decir cada tupla en la tabla es unica.
Cuando una nueva tupla es insertada a la
relación, el sistema tiene que estar seguro
que la nueva tupla es diferente a todas las
tuplas existentes en la relación
20. Reglas de Base Datos Relacional
Regla 3: Integridad de Entidad
No habrá entradas nulas en la llave primaria
y todas las entradas serán únicas.
Con las reglas de integridad de entidad se
garantiza que cada entidad (tupla) tiene un
identificador único
21. Reglas de Base Datos Relacional
Regla 4: Integridad Referencial
El valor de la clave foránea puede ser nulo o tiene
que parear (coincidir) con el valor de la clave
primaria de la tabla con la cual se establece la
interrelación.
Se garantiza que no es posible establecer
relaciones que no pareen.
Con las reglas de integridad se minimizan los
errores de entrada de datos, esto es, que haya
consistencia.
22. Reglas de Base Datos Relacional
Observación:
Cuando se borra una clave primaria
con referencias en una clave ajena
se debería:
Borrar información en cadena (borrar en
cascada) o
No permitir borrado o
Convertir los valores de clave ajena en
nulos.
23. Manipulacion de Datos
Operaciones en bases de datos
relacionales
• Insertar (insert)- consiste en añadir una tupla
en la relación.
• Eliminar (delete)- consiste en quitar una tupla
de la relación.
• Modificar (update)- consiste en cambiar una
tupla en la relación.
• Consultar (select) -consiste en recuperar
datos.
24. Ejemplos
NSS sexo
inic
apellido sexo
f echa_nac nombre salario
direccion
f ecnac
(0,1) (1,1) E
Tiene Dependiente
(0,n)
Supervisa Empleado
(0,n) (1,1) (0,n)
(0,n) nombre
parentesco
pertence
horas TrabajaEn Es_Jefe
f ec_Ini
(1,1) numero
(0,n) (0,1)
numerop
Proyecto Departamento
(0,n) dirigida (1,1)
Localizaciones
localizacionp (1,n)
Nombrep Modelo de datos Empresa
nombre
Independencia física. El modo en el que se almacenan los datos no influye en su manipulación lógica y por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento físico. Independencia lógica. El añadir, eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que están accediendo a subconjuntos parciales de los mismos (vistas). Flexibilidad. En el sentido de poder presentar a cada usuario los datos de la forma en que éste prefiera. Uniformidad. Las estructuras lógicas de los datos presentan un aspecto uniforme, lo que facilita la concepción y manipulación de la base de datos por parte de los usuarios. Sencillez. Las características anteriores, así como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fácil de comprender y de utilizar por parte del usuario final.
Independencia física. El modo en el que se almacenan los datos no influye en su manipulación lógica y por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento físico. Independencia lógica. El añadir, eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que están accediendo a subconjuntos parciales de los mismos (vistas). Flexibilidad. En el sentido de poder presentar a cada usuario los datos de la forma en que éste prefiera. Uniformidad. Las estructuras lógicas de los datos presentan un aspecto uniforme, lo que facilita la concepción y manipulación de la base de datos por parte de los usuarios. Sencillez. Las características anteriores, así como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fácil de comprender y de utilizar por parte del usuario final.
Independencia física. El modo en el que se almacenan los datos no influye en su manipulación lógica y por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento físico. Independencia lógica. El añadir, eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que están accediendo a subconjuntos parciales de los mismos (vistas). Flexibilidad. En el sentido de poder presentar a cada usuario los datos de la forma en que éste prefiera. Uniformidad. Las estructuras lógicas de los datos presentan un aspecto uniforme, lo que facilita la concepción y manipulación de la base de datos por parte de los usuarios. Sencillez. Las características anteriores, así como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fácil de comprender y de utilizar por parte del usuario final.
Esta regla viene de la definición matematica que una relación es un conjunto de tuplas y de hecho que un conjunto nunca contiene dos elementos identicos.
La Clave Foránea puede hacer referencia a la propia Relación: EMPLEADO.NSS_SUPERV