Tm10 modelo relacional

31
EL MODELO RELACIONAL Prof. César Luza Montero

Transcript of Tm10 modelo relacional

Page 1: Tm10 modelo relacional

EL MODELO RELACIONAL

Prof. César Luza Montero

Page 2: Tm10 modelo relacional

IntroducciónDiseño de base de datos

MERMER

MRMR

Modelo de datos

Page 3: Tm10 modelo relacional

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

Page 4: Tm10 modelo relacional

Contenido

El Modelo Relacional

Definición Elementos Reglas Ejemplos

Page 5: Tm10 modelo relacional

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

Page 6: Tm10 modelo relacional

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.

Page 7: Tm10 modelo relacional

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.

Page 8: Tm10 modelo relacional

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

Page 9: Tm10 modelo relacional

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.

Page 10: Tm10 modelo relacional

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

Page 11: Tm10 modelo relacional

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.

Page 12: Tm10 modelo relacional

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.

Page 13: Tm10 modelo relacional

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

Page 14: Tm10 modelo relacional

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

Page 15: Tm10 modelo relacional

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.

Page 16: Tm10 modelo relacional

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

Page 17: Tm10 modelo relacional

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.

Page 18: Tm10 modelo relacional

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

Page 19: Tm10 modelo relacional

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

Page 20: Tm10 modelo relacional

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

Page 21: Tm10 modelo relacional

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.

Page 22: Tm10 modelo relacional

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.

Page 23: Tm10 modelo relacional

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.

Page 24: Tm10 modelo relacional

(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

Page 25: Tm10 modelo relacional

Ejemplos

Esquema de la B.D. Empresa

Page 26: Tm10 modelo relacional

Ejemplos

Estado de la B.D. Empresa (1)

Page 27: Tm10 modelo relacional

Ejemplos

Estado de la B.D. Empresa (2)

Page 28: Tm10 modelo relacional

Ejemplos

Estado de la B.D. Empresa (3)

Page 29: Tm10 modelo relacional

Ejemplos

Integridad Referencial (1)

Page 30: Tm10 modelo relacional

Ejemplos

Integridad Referencial (2)

Page 31: Tm10 modelo relacional

Ejemplos

Integridad Referencial (3)