Está en la página 1de 55

Modelo

Relacional
Características Modelo

 Sencillo: construido a partir de relaciones


 Uniforme
 Soporte matemático
 Principio de independencia mantenido
 LDD, LMD (Lenguaje Definición Datos , Lenguaje Manipulación
Datos )

 Propuesto por Codd(1970)


Conceptos Básicos

 Relaciones
 Dominios y atributos
 Restricciones de Integridad
 Valor Null
 Esquemas Relacionales
Conceptos Básicos

 Relaciones
 Estructura básica
 Representación: tabla
 Atributos
 Propiedades de relaciones
 Representación: columnas
Conceptos Básicos

 Dominios
 Conjunto de valores
 Atributos asociados con dominios
 Tupla
 Ejemplar de una relación
 Representación: filas
Un ejemplo de una relación

atributos
(o columnas)

id_estudiante Nombre_estud Promedio

0807689 Luis Gómez 3.5 tuplas


0789899 María Ruiz 4.1 (o filas)
0788222 Jose Cordoba 3.2
0678111 Luis Marin 4.0

estudiante
Dominios

 Conjunto de valores atómicos


 Asociado con un nombre
 Valores del mismo tipo
 Definidos por extensión o comprensión
Atributos

 Propiedades de relaciones
 Asociado con un nombre
 Asociado a una relación
 Valores del mismo tipo
 Valores tomados de un dominio
Tipos de Atributos
 Cada atributo de una relación tiene un
nombre
 El conjunto de valores permitidos de un
atributo es su dominio
 Valores atributos atómicos (no se pueden
descomponer)

 Dominio atómico: elementos atómicos


 null valor especial de cualquier dominio
Relaciones

 Definidas matemáticamente
 Compuesta por
• nombre de relación,
• conjunto de atributos Ai
• dominios asociados a atributos
Definición formal

Dados conjuntos D1, D2, …. Dn una relación r es


conjunto de
D1 x D2 x … x Dn

Una relación es un conjunto de


n-tuplas (a1, a2, …, an) donde cada
ai ∈ Di
Ejemplo
 Estudiantes = {e1,e2,e3, e4, …}
 Profesores = {p1, p2, p3, …}
 Asignaturas = {MDI, MDII, BD, SOFT,....}
r = { (e1,p1,MDI), (e1,p3,BD), (e3, p2, MDI),
(e2, p3, BD) } es una relación definida sobre
Estudiantes x Profesores x Asignaturas
Relaciones:descripción

 Nombre asociado
 Cabecera: pares (atributo, dominio)
 Cuerpo: conjunto de tuplas
Esquemas vs.
Instancias
Esquemas de Relación

Definidos a partir de atributos A1, A2, …, An

R = (A1, A2, …, An )
es un esquema de relación

Esquema_Estudiante = (Id-estudiante, Nombre, Promedio )


Instancias de Relación
Valores actuales (instancia de relación) de relación especificados en tabla
Un elemento t de r es una tupla, fila de la tabla
Conjunto de tuplas r = {t1, t2,..., tn} donde cada
ti = (x1, x2,... xm) xi ∈ Di

atributos
(o columnas)
id_estudiante Nombre_estud Promedio

0807689 Luis Gómez 3.5


tuplas
0789899 María Ruiz 4.1
(o filas)
0788222 Jose Cordoba 3.2
0678111 Luis Marin 4.0
estudiante
Relaciones sin orden
orden de tuplas irrelevante

Id-estudiante Nombre Promedio


0807689 Luis Gómez 3.5
0789899 María Ruiz 4.1
0788222 Jose Cordoba 3.2
0678111 Luis Marin 4.0
0807685 Jorge Arbelaez 3.5
Base de Datos
 Conjunto finito de relaciones {Ri}

 Información organización almacenada en


relaciones
estudiantes : almacena información de estudiante
asignaturas : almacena información de asignaturas
profesores : almacena información de profesores
Base de Datos
 Relaciones
 Con nombre asignado
 Persistentes (de base, vistas materializadas)
 Temporales (Definidas por el usuario, vistas
temporales)

 Sin nombre
 Temporales : resultado consulta
Relación profesor

cédula nombre categoría facultad último título


3456777 Juan Mejia Titular Ingeniería Ph.D.
3434343 Cecilia Múnera Asociado Ciencias M. Sc.
4554551 Carlos Cárdenas Auxiliar Artes M.A.
3123434 Luisa Vargas Titular Ingeniería Ph.D.
6666666 Carmen Suarez Asociado Salud M.Sc.
2223344 Jose Rubio Auxiliar Salud M.Sc.
Relación Asignatura

código nombre Cred. tipo Nivel


7500098 Matemáticas 1 3 Fund. Profesional
7000002 Investigación I 6 Fund. Doctorado
7800034 Cálculo 3 Electiva Tecnológico
50890000 Inglés 3 Electiva Tecnológico
7508702 Fundamentos BD 6 Electiva Doctorado
2223344 Cine y Arte 4 Fund. Profesional
Restricciones

 Del Modelo de Datos


 Relación: conjunto
 No par de tuplas iguales: requisito Llave primaria
 Orden tuplas no significativo
 Orden de atributos no significativo
 Atributos con un único valor
 Atributos que integran llave primaria no nulos:
integridad entidad
Llaves (Key)
Sea K ⊆ R
K es una superllave de R si los valores de K
identifican de manera única cualquier tupla de una
relación r(R)

Ejemplo: {cédula, nombre} y
{cédula}
son superllaves de Profesor.
Llaves (Cont.)

 K es una llave candidata si K es minimal


{cédula} es llave candidata para Profesor
 Es superllave.
 Llave Primaria: llave candidata escogida como
identificador de tuplas en una relación
 Escoger atributo cuyo valor nunca o rara vez cambie
• email es único pero puede cambiar
Llaves foráneas
 Esquema de relación conteniendo atributo llave
primaria de otra relación: Llave Foránea

Atributo Cédula de Profesor es llave


foránea de Programación

 Solo los valores que aparecen para la llave


primaria en la relación referente pueden
aparecer como valores de llave foránea en la
relación referenciada.
Llaves Foráneas

PK CK FK
Estudiante ( Id_estud, cédula, nombre, promedio, cod_programa)

PK FK
Programas (cod_programa, nombre, id_director, totalcréditos)

Profesores (id_prof, nombre, categoría, titulo,...)


PK
Valores Nulos (Null)
 Mecanismo representación información
 Desconocida
 Inapplicable
 No disponible
 Inexistente
 ...
 Necesaria en el BD
 Creación de tuplas con valores desconocidos (pago préstamo)
 Adición atributos a relación existente

Esquema Relación: Definición

R 〈 A:D, I〉

R: es un nombre de relación
A: lista de atributos
D: dominios asociados a los atributos
I: restricciones de integridad sobre atributos y
tuplas de una relación
Esquema BDR: Definición

E 〈 {Ri}, {Ii}〉

E: nombre esquema relacional


{Ri}: conjunto de esquemas de relación
{Ii} : conjunto de restricciones de integridad
Del Modelo E-R al Relacional
Transformación E-R a MR
 E-R
 no soportado por SGBD
 Transformación a modelo datos soportado SGBD
 Transformación
 No-determinista
• Más de una forma de representar aspectos E-R en MR
• Aspectos MR no representados en E-R
 Reglas de transformación
Conjunto entidad

relación (tabla)

cédul Nombr
e categorí
a
a

Profesor
Profesor
cédula nombre categoría
5454545 NN titular
3242424 YT Auxiliar
Conjunto relación
tabla
Horario Aula

Profesor Asignatura
Programa

cédula
Nombre Código Nombre

categoría

Programación
cédula código aula horario
5454545 750033M 331-2075 Martes 8-10
3242424 750001M 331-2026 Jueves 14-17
Atributos de conjunto
relación
Atributos de relación o tabla son:
 Llaves de cada entidad participante (como
llaves foráneas)
• Conforman una superllave para la
relación
 Todos los Atributos descriptivos
Proceso de Transformación
Etapas

Paso 1
 Por cada entidad ‘fuerte’ en el modelo
ER crear una relación base con una
columna por cada atributo simple de la
entidad.
 El atributo llave para la entidad es la
llave primaria de la relación.
Ejemplo

Empleado
EmpNo Cargo

Nombre Fech_desp

Salario Comision

Emp EmpNo Number(4) PK


Nombre Varchar2(10)
Cargo Varchar2(9)
Salario Number(7,2)
Comision Number(7,2)
Fech_desp Date
Entidades Fuertes

Depto
Edificio

Nombre
DeptNo

Dept DeptNo Number(2) PK


Nombre Varchar2(14)
Edificio Varchar2(13)
Etapas

Paso 2
Por cada entidad ‘débil’, crear una relación
consistiendo de todos los atributos simples
de esa entidad e incluir columnas para las
llaves primarias de las entidades de las
que dependen
Ejemplo

Préstamo Pagos
Fecha

cantidad
NoPrestamo
NoPago
Discriminador
Pagos Noprestamo Char(8) Llave
Nopago Number(4) primaria
compuesta
Fecha Date
Cantidad Number(9,2)
Etapas

Paso 3
Cuando dos entidades participan en una
relación 1-m, la relación representando la
entidad con la cardinalidad m(muchos)
debe tener una columna para la llave
foránea representando esta relación.
Ejemplo
D# E#
Dept Asignado
Emp
Trabaja en

EmpNo Number(4)
Emp
Nombre Varchar2(10)
Varchar2(9)
Cargo
Number(7,2)
Salario Number(7,2)
Comision Date
Fech-desp Number(2)
DeptNo Llave Foránea
Como un empleado ‘debe’ trabajar en un departamento, la
columna DeptNo en la relación Emp (tabla) no puede ser
NULL!
Ejemplo
D# E#
Dept Asignado Emp
Trabaja en

EmpNo Number(4)
Emp
Nombre Varchar2(10)
Varchar2(9)
Cargo
Number(7,2)
Salario Number(7,2)
Comis Date
Fech-desp Number(2)
DeptNo Llave foránea
Como un empleado ‘podria no’ trabajar en un departamento, la
columna DeptNo en la relación Emp (tabla) puede ser NULL!
Etapas

Paso 4
Cuando dos entidades participen en una
relación (1-1), una columna de llave foránea
se debe incluir en la relación que representa
una de estas entidades.
Ejemplo
E# ID#
Emp Tiene ID Tarjeta
Pertenece a

EmpNo Number(6)
Emp
Nombre Varchar2(10)
Varchar2(200)
Direcc
Date
DOB Char(10) Llave Foránea
IDNo
ID Tarjeta IDNo Char(10) Una de las dos
Desde Date
Expira Date
EmpNo Number(6) Llave Foránea
Etapas

Paso 5
Cuando dos entidades participan en una
relación m:m, entonces una relación se
debe crear consistiendo de llaves foráneas
provenientes de las dos relaciones que
representan a las entidades participantes.
Ejemplo
P# C#
Persona Conduce
Carro
Conducido por

Persona-Carro PersonNo Number(6) Llave Foránea


CarroNo Char(7)
Llave
Foránea
P# P#,C# C#
Person Person-Car Car
Etapas

Paso 6
Cuando una entidad tengaun atributo
multivaluado, crear una relación con una
columna para la llave foránea de la
relación que representa la entidad y una
columna para el atributo multivaluado.
Ejemplo

Programador L e n g u a je
Lenguaje Le n g u a j e

Nombre
EmpNo

Programador EmpNo Number(2) Llave primaria


Nombre Varchar2(14)

Prog-Leng EmpNo Number(2)


Llave
Lenguaje Varchar2(20)
primaria
compuesta
Etapas

Paso 7
Cuando más de dos entidades participan
en una relación, se debe crear una relación
consistiendo de llaves foráneas de aquellas
relaciones representando las entidades
participantes en la relación
Ejemplo
EncuentroNo Jugador No
Encuentro registro Jugador

TecnicoNo
Tecn

registro EncuentroNo Number(4)


JugadorNo Number(6) Llave Primaria
TecNo Number(3) compuesta
Fecha Date
Etapas
Sub-tipo
Para sub-tipos, crear relaciones separadas
por cada subtipo consistiendo de los
atributos propios del subtipo. Incluir como
llave foránea la superllave que actúa como
llave primaria del super-tipo, que juega el
papel de llave primaria del sub-tipo.
Crear una relación separada para el
supertipo
Ejemplo
EMPLEADO
Empleado No
Nombre
Dirección

SECRETARIA TECNICO INGENIERO


Vel_digitar Grado Tipo

Empleado EmpleadoNo Técnico EmpleadoNo


Nombre Grado
Dirección
Ingeniero EmpleadoNo
Secretaria EmpleadoNo Tipo
velocidad
Etapas

Paso 8 – Opción B
Para sub-tipos, crear relaciones separadas
por cada subtipo consistiendo de todos los
atributos del supertipo, y todos aquellos
que son propios de un sub-tipo dado. La
llave primaria del super-tipo es la llave
primaria de cada subtipo
No crear una relación para el supertipo!
Ejemplo
VEHICULO
Vehiculo No
Licencia No
Precio

CARRO CAMION
No de puestos No de eje
Tonelaje

Carro VehículoeNo Camión VehículoNo


LicenciaNo LicenciaNo
Precio Precio
Nodepuestos NodeEjes
Tonelaje

También podría gustarte