Sie sind auf Seite 1von 36

Base de Datos

Modelo Relacional

Introduccin a las Bases de Datos

Historia
Propuesto por E. F. Codd en 1970 Prototipos experimentales (DBMS): SYSTEM R, INGRES, y QUERY-BY-EXAMPLE. Se basa en 2 ramas de la matemtica:

Teora de conjuntos Lgica de predicados de primer orden

No hace falta ser experto en estas ramas


Lgicamente, en un modelo relacional de datos y las relaciones se representan por medio de una serie de tablas cada una de las cuales tienen varias columnas con nombres nicos.
Modelo Relacional 2

Terminologa
Archivo Registro Campo Relacin # Registros Tupla

Trminos formales Modelo Relacional Relacin Columna/Atributo Asociacin/Referencia Nmero de Tuplas

Equivalente (RDBMS) Tabla Fila Columna Interrelacin / Relacin Nmero de filas -> Cardinalidad Grado (Nmero de atributos que posee la tabla) Interrelacin o relacin Padre Hijo 1aN/1a1 Clave primaria Dominio / Tipo de dato

# Campos

Grado de una relacin (Nmero de columnas que posee la relacin) Referencia Padre Hijo

Tipo de Relacin o Asociacin entre tablas Claves Tipo de datos

Clave Primaria Dominio

Introduccin a las Bases de Datos

Estructura del Modelo Relacional


Parte Esttica (DDL)
Estructura

-Tablas Objetos del -Atributos modelo -Referencias -Dominios -Restricciones Inherentes

Restricciones: opcionales o de usuario Modelo de Datos Parte Dinmica (DML) Accin

Seleccin -Seleccin -Actualizacin Modificacin Insercin Borrado


Introduccin a las Bases de Datos 4

Parte Esttica
Se define mediante el ESQUEMA con el lenguaje DDL. El Esquema est constituido por Estructura y Restricciones Estructura: Queda definida por los objetos del modelo y las restricciones inherentes conformando un conjunto de reglas de definicin de dichas estructuras. Los objetos y restricciones de la estructura dependen de cada Modelo, pero en general, para el modelo relacional son:

Tablas (Ejm. Estudiante, Cliente, Empleado) Atributos (Ejm. Cdula, Nombre, Edad) Referencias (Asociaciones, comercialmente conocido como relaciones) Dominios (Ejm. SEXO: Masculino, Femenino) Restricciones Inherentes: Son impuestas por la propia naturaleza del modelo (Ejm. Cada columna en una tabla debe ser nica y no pude existir columnas dublicadas)
Introduccin a las Bases de Datos 5

Parte Esttica

Restricciones opcionales o de usuario: Son definidas por el usuario. Ejemplo: Si validamos (CHECK) el atributo Nota:
NOTA >= 0 y NOTA <=20

Introduccin a las Bases de Datos

Parte Dinmica
Es el conjunto de operaciones con el lenguaje de manipulacin de datos (DML) Seleccin: Localizacin de datos deseados Accin: Realizar una accin sobre los datos seleccionados, las acciones pueden ser de:

Recuperacin Actualizacin(Modificacin, Insercin, Borrado)


Introduccin a las Bases de Datos 7

Enfoque Relacional de los Datos


Se organiza en Tablas llamadas Relaciones. La fila en una relacin se denomina Tupla y representa un registro; cada columna representa un campo o un atributo.
Tupla

Relacin

Columna/Atributo
Introduccin a las Bases de Datos 8

Enfoque Relacional de los Datos

En este modelo el concepto de Relacin est ligado a la siguiente definicin matemtica: Dada una serie de conjuntos D1,D2,..Dn es una relacin de esos n-conjuntos si es un conjunto ordenado de n ocurrencias tal que d1 pertenece a D1, d2 pertenece a D2 , y dn pertenece a Dn. En donde los conjuntos D1, D2, Dn son Dominios de R

R(D1,D2,Dn)
Introduccin a las Bases de Datos 9

Enfoque Relacional de los Datos Ejemplos:

La relacin CLIENTE est descrita por su cdula, nombres, apellidos, telfono


CLIENTE (CI_CLIENTE, NOMBRES, APELLIDOS, TELEFONO)

Un ESTUDIANTE est descrita por su cdigo, nombres y nivel.


ESTUDIANTE (COD_EST, NOMBRES, NIVEL)
CODIGO NOMBRES NIVEL

234 345 356

JUAN PEREZ PEDRO SANTOS ALICIA CANTOS

2 3 5
10

Introduccin a las Bases de Datos

Enfoque Relacional de los Datos

Grado de una relacin: Es el nmero de atributos o columnas que posee.


G(CLIENTE)=4 G(ESTUDIANTE)=3

Dominio: Es el conjunto de todos los posibles valores para una o ms columnas de una tabla relacional.
Se pueden distinguir:
Dominios Generales o Continuos Dominios Restringidos o Discretos
Introduccin a las Bases de Datos 11

Enfoque relacional de Datos

Dominios Generales o continuos: Aquellos que contienen todos los posibles datos entre un mximo y un mnimo. Se puede decir que este tipo de dominios corresponde a la definicin de Metadato
Ejemplo: NUM_CLIE(Numero de Cliente): Todos los nmeros enteros y positivos de 4 dgitos NIVEL: Todos los enteros positivos de 2 dgitos FECHA DE NACIMIENTO: Todas las fechas desde principio de siglo hasta hoy NOMBRE: Texto, alfanumrico
Introduccin a las Bases de Datos 12

Enfoque relacional de Datos

Dominios Restringidos o discretos: Aquellos que contienen Valores Especficos entre un mximo y un mnimo predefinido.
ESTADO_CIVIL: Compuesto de soltero, casado, viudo, divorciado SEXO: Masculino, Femenino

Introduccin a las Bases de Datos

13

Ejemplo Dominios Generales (Metadatos)


Texto (10) CEDULA 0602724778 0876668834 1288445677 Texto (20) NOMBRES XAVIER CAMPOS OSCAR PSTOR PATRICIA SNCHEZ Entero(2) NIVEL 2 3 6

Introduccin a las Bases de Datos

14

Enfoque relacional de Datos

Cardinalidad de una relacin:


Es el nmero de tuplas que contiene.Ya que en las relaciones se van insertando y borrando tuplas a menudo, la cardinalidad de las mismas vara constantemente.

Introduccin a las Bases de Datos

15

Restricciones del Modelo Relacional


Son las restricciones Inherentes del modelo Relacional. Para que una tabla forme parte de una estructura relacional, debe cumplir los siguientes restricciones:

Debe tener un solo tipo de fila, cuyo formato queda definido por el esquema de la tabal (o relacin). Por tanto, todas las filas tienen las mismas columnas. Cada fila debe ser nica y no pueden existir filas duplicadas Cada columna debe ser nica y no pueden existir columnas duplicadas El valor de una columna para una fila debe ser nico Los valores de una columna deben pertenecer al dominio que representa, y es posible que un mismo dominio se utilice para definir los valores de varias columnas. Para determinar una tupla(fila) concreta es necesario una clave. La asociacin entre tablas se da mediante atributos que tienen el mismo dominio (o compatible)
Introduccin a las Bases de Datos 16

Restricciones del Modelo Relacional

Una tabla que cumpla con las restricciones inherentes tiene las siguientes propiedades:
Las filas pueden estar en cualquier orden Las columnas pueden estar en cualquier orden Se hace referencia a una columna mediante su nombre que la identifica.

NOTA: Una base de datos relacional es un conjunto de relaciones normalizadas.


Introduccin a las Bases de Datos 17

Claves
Clave primaria o principal Clave candidata Clave fornea (ajena, foreign key) Clave de Bsqueda

Introduccin a las Bases de Datos

18

Clave Primaria (PK)


Clave primaria o principal: es aquella clave candidata que se escoge para identificar sus tuplas de modo nico. En el peor de los casos una clave primaria estar formada por todos los atributos de la relacin.

Introduccin a las Bases de Datos

19

Propiedades de una PK
nico valor en la tabla (No se repite) Es utilizada para las bsquedas (Resultados de una sola fila) No puede ser nula (NULL) (es obligatoria) La clave puede formarse de un atributo (simple) o ms (compuesta) Una relacin (tabla) solo puede tener una PK, la cual debe ser declarada.

Introduccin a las Bases de Datos 20

Clave Primaria (PK)

Ejemplo de Definicin
ESTUDIANTE (COD_EST, NOMBRES, NIVEL) Se define con un subrayado.

Introduccin a las Bases de Datos

21

Clave Candidata

Una clave aspirante o candidata (Candidate Key) es un atributo o grupos de atributos cuyo contenido puede representar de manera nica a cada fila de una relacin. Si existe mas de una clave candidata, se designa una como clave primaria. Ejemplo en una tabla Estudiante, el Cdigo y la Cdula son identificadores nicos de cada fila, sin embargo solo uno debe ser designado como Clave primaria.
Introduccin a las Bases de Datos 22

Clave de Bsqueda
Las columnas o atributos que no fueron designados como PK, se convierten en Claves de Bsqueda. El resultado de estas consultas son N filas. Ejemplo:

Buscar todos los estudiantes de sexo Masculino. (GENERO = M)

Introduccin a las Bases de Datos

23

Clave Fornea (FK)


La clave fornea (Foreign Key) tambin llamada externa o ajena, es un atributo o conjunto de atributos de una relacin (tabla) cuyos valores coinciden con los valores de una tabla primaria de alguna otra relacin. Representan Relaciones entre datos

Introduccin a las Bases de Datos

24

Propiedades de una FK

El dominio de la FK debe corresponder al dominio de la PK con la que se asocia (Referencia) Los valores de la FK referencian a los de la PK con la que se asocia Los valores de una FK pueden repetirse en la tabla (hijos) Puede o no ser nula (NULL) (Puede o no ser obligatoria) La clave puede formarse de un atributo (simple ) o ms (compuesta) En una relacin (tabla) puede declararse una o mas FK.
Introduccin a las Bases de Datos 25

Referencia Padre-Hijo
El Modelo hace una analoga Padre-Hijo en la referencia (asociacin) entre una tabla con otra. Un padre puede tener varios hijos, y un hijo debe tener un solo padre.

Introduccin a las Bases de Datos

26

Referencia Padre-Hijo
Padre Hijo

1 1

1 N

Primero existe el padre, luego los hijos (Desde la creacin hasta la manipulacin de datos) No admite hurfanos La clave fornea es la que permite establecer la referencia entre 2 tablas y se ubica en la tabla hija.

Introduccin a las Bases de Datos 27

Ejemplo Referencia Padre-Hijo


RELACION_LABORAL (cod_RL, Descripcion) EMPLEADO(CodEmp, NombreEmp, Direccion, Genero, CodRL)


RELACION_LABORAL CodRL(PK) Descripcion

EMPLEADO CodEmp(PK) CIEmp NombreEmp Direccion Genero CodRL(FK)

Introduccin a las Bases de Datos

28

Nota: Referencia Padre-Hijo


La FK que est en la tabla hija referenciada al PK del padre: Cada vez que se ingresa un valor en la FK(CodRL del EMPLEADO) busca que exista la tupla (PK) padre (CodRL) El padre tiene varios hijos: Padre nico (codRL=1) tiene varios hijos en la tabla hija Al crearse las tablas, primero se crear RELACION_LABORAL y luego EMPLEADO. Al ingresar los datos primero se ingresarn en RELACION_LABORAL y luego en EMPLEADO.

Introduccin a las Bases de Datos 29

Reglas de Integridad

Los datos deben cumplir para ser correctos.


Restricciones de dominio Datos Requeridos(Obligatorios) Integridad de entidades Integridad Referencial Reglas de Negocio

Introduccin a las Bases de Datos

30

Restricciones de Dominio

Restriccin sobre el conjunto de valores, tipos de datos, tamao

Introduccin a las Bases de Datos

31

Datos Requeridos (obligatorio ->Not NULL)

Nulo: Cuando un atributo de una tupla es desconocido, se dice que es nulo. Es la ausencia de valor.

No es 0 ni Cadena vaca Razones: Porque al insertar se desconoca o porque en dicha tupla no tiene sentido(?).
Null = Sin Dato

CEDULA 0602724778 0876668834 1288445677

NOMBRES XAVIER CAMPOS OSCAR PSTOR PATRICIA SNCHEZ

NOTA 19 17 Null

Introduccin a las Bases de Datos

32

Integridad de Entidad

LLamada Integridad de Clave


Ninguno de los atributos que componen la clave primaria puede ser nulo ni duplicados Crea un ndice No puede ser nulo

Introduccin a las Bases de Datos

33

Integridad Referencial (IR)


Se aplica a las claves forneas Si en una relacin hay alguna clave fornea, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos
Regla de Nulos Regla de Borrado
Restringir, Propagar, Anular

Regla de Modificacin
Restringir, Propagar, Anular
Introduccin a las Bases de Datos 34

Integridad de Reglas de Negocio


El administrador puede imponer restricciones Ejemplo: las notas deben estar en el rango de 0 hasta 20 Ejemplo: la empresa puede tener hasta 20 empleados.

Introduccin a las Bases de Datos

35

Bibliografa

RODRIGUEZ Ivonne. Texto Bsico. BASE DE DATOS I, Espoch 2011. 251 p RIVER Laura, FERRAGGINE Viviana. Introduccin a las Bases de Datos. https://sites.google.com/site/basesdedatostupar/home

Introduccin a las Bases de Datos

36