Tm10 modelo relacional

Post on 23-Jun-2015

896 views 1 download

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)