Tm10 modelo relacional
-
Upload
julio-pari -
Category
Documents
-
view
896 -
download
1
Transcript of Tm10 modelo relacional
EL MODELO RELACIONAL
Prof. César Luza Montero
IntroducciónDiseño de base de datos
MERMER
MRMR
Modelo de datos
Introducción
Algunos modelos de datos:
Modelo JerárquicoModelo Jerárquico
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.
Modelo RedModelo Red
Modelo RelacionalModelo Relacional
Modelo Orientado a Objetos
Modelo Orientado a Objetos
Modelo Entidad relación
Modelo Entidad relación
Contenido
El Modelo Relacional
Definición Elementos Reglas Ejemplos
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 Banks") publicado en ACM.
Edgar F. Codd (1923-2003)
Association for Computing Machinery
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.
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.
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).
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.
ElementosNombre de la relación Atributos
Cabecera
Tuplas o filas
columnas
ALUMNO
Código Nombre Edad Nota
21-990101
21-872342
21-765349
JUAN
MARIA
ALBERTO
21
19
18
15
13
16
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.
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.
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
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
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.
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
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.
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
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
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
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.
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.
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.
(0,n)
(0,n)
(0,n)
(1,1)
(1,1)(0,n)
(0,1)
(0,n) (1,1)
(0,1)
(1,1)(0,n)
Empleado
DepartamentoProyecto
Dependiente
pertence
TrabajaEn
ETiene
nombre
inicapellido
NSS
f echa_nac
direccion
sexo
salario
Supervisa
nombre
numero
Es_Jefe
Localizaciones(1,n)
Nombrep
numerop
localizacionp
horas
nombre
sexo
f ecnac
parentesco
dirigida
f ec_Ini
Ejemplos
Modelo de datos Empresa
Ejemplos
Esquema de la B.D. Empresa
Ejemplos
Estado de la B.D. Empresa (1)
Ejemplos
Estado de la B.D. Empresa (2)
Ejemplos
Estado de la B.D. Empresa (3)
Ejemplos
Integridad Referencial (1)
Ejemplos
Integridad Referencial (2)
Ejemplos
Integridad Referencial (3)