Relacional
Caractersticas Modelo
Conceptos Bsicos
Relaciones
Dominios y atributos
Restricciones de Integridad
Valor Null
Esquemas Relacionales
Conceptos Bsicos
Relaciones
Estructura bsica
Representacin: tabla
Atributos
Propiedades de relaciones
Representacin: columnas
Conceptos Bsicos
Dominios
Conjunto de valores
Atributos asociados con dominios
Tupla
Ejemplar de una relacin
Representacin: filas
0807689
0789899
0788222
0678111
Nombre_estud
Luis Gmez
Mara Ruiz
Jose Cordoba
Luis Marin
estudiante
Promedio
3.5
4.1
3.2
4.0
tuplas
(o filas)
Dominios
Atributos
Propiedades de relaciones
Asociado con un nombre
Asociado a una relacin
Valores del mismo tipo
Valores tomados de un dominio
Tipos de Atributos
Relaciones
Definidas matemticamente
Compuesta por
nombre de relacin,
conjunto de atributos Ai
dominios asociados a atributos
Definicin formal
Dados conjuntos D1, D2, . Dn una relacin r es
conjunto de
D1 x D2 x x Dn
Una relacin 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 relacin definida sobre
Estudiantes x Profesores x Asignaturas
Relaciones:descripcin
Nombre asociado
Cabecera: pares (atributo, dominio)
Esquema: Nombre y cabecera
Cuerpo: conjunto de tuplas
Esquemas de Relacin
Definidos a partir de atributos A1, A2, , An
R = (A1, A2, , An )
es un esquema de relacin
Esquema_Estudiante = (Id-estudiante,
estudiante Nombre, Promedio )
Instancias de Relacin
Nombre_estud
Luis Gmez
Mara Ruiz
Jose Cordoba
Luis Marin
estudiante
Promedio
3.5
4.1
3.2
4.0
tuplas
(o filas)
Nombre
Promedio
0807689
Luis Gmez
3.5
0789899
Mara Ruiz
4.1
0788222
Jose Cordoba
3.2
0678111
Luis Marin
4.0
0807685
Jorge Arbelaez
3.5
Base de Datos
Base de Datos
Relaciones
Con nombre asignado
Persistentes (de base, vistas materializadas)
Temporales (Definidas por el usuario, vistas
temporales)
Sin nombre
Temporales : resultado consulta
Relacin profesor
cdula
nombre
categora facultad
ltimo ttulo
Titular
Ph.D.
Asociado Ciencias
Ingeniera
M. Sc.
Artes
M.A.
Titular
Ingeniera
Ph.D.
Asociado Salud
M.Sc.
Auxiliar
M.Sc.
Salud
Relacin Asignatura
cdigo
nombre
Cred.
tipo
Nivel
7500098
Matemticas 1
Fund.
Profesional
7000002
Investigacin I
Fund.
Doctorado
7800034
Clculo
Electiva
Tecnolgico
50890000 Ingls
Electiva
Tecnolgico
7508702
Fundamentos BD
Electiva
Doctorado
2223344
Cine y Arte
Fund.
Profesional
Restricciones
Relacin: 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 relacin r(R)
Ejemplo: {cdula, nombre} y
{cdula}
son superllaves de Profesor.
Llaves (Cont.)
Llave Primaria:
Primaria llave candidata escogida como
identificador de tuplas en una relacin
Escoger atributo cuyo valor nunca o rara vez cambie
email es nico pero puede cambiar
Llaves forneas
Llaves Forneas
Estudiante (
Programas
CK
FK
PK
Id_estud,
Id_estud cdula, nombre, promedio, cod_programa)
PK
FK
(cod_programa,
cod_programa nombre, id_director, totalcrditos)
Profesores (id_prof,
id_prof nombre, categora, titulo,...)
PK
Desconocida
Inaplicable
No disponible
Inexistente
...
Necesaria en el BD
Creacin de tuplas con valores desconocidos (pago
prstamo)
Adicin atributos a relacin existente
Atributos no aplicables (editorial articulo)
Transformacin E-R a MR
E-R
no soportado por SGBD
Transformacin a modelo datos soportado SGBD
Transformacin
No-determinista
Mas de una forma de representar aspectos E-R en MR
Aspectos MR no representados en E-R
Reglas de transformacin
Conjunto entidad
relacin (tabla)
cdula
Nombre
Profesor
categora
Profesor
cdula
5454545
3242424
nombre
NN
YT
categora
titular
Auxiliar
Conjunto relacin
tabla
Horario
Profesor
cdula
Aula
Program
Asignatura
Cdigo
Nombre
Nombre
categora
Programacin
cdula
cdigo
aula
horario
5454545
750033M
331-2075
Martes 8-10
3242424
750001M
331-2026
Jueves 14-17
Proceso de Transformacin
Etapas
Paso 1
Por
Ejemplo
EmpNo
Empleado
Nombre
Fech_desp
Salario
Emp EmpNo
Cargo
Number(4)
Nombre
Varchar2(10)
Cargo
Varchar2(9)
Salario
Number(7,2)
Comision Number(7,2)
Fech_desp Date
Comision
PK
Entidades Fuertes
Depto
Edificio
Nombre
DeptNo
Dept DeptNo
Nombre
Edificio
Number(2)
Varchar2(14)
Varchar2(13)
PK
Etapas
Paso 2
Por cada entidad dbil, crear una relacin
consistiendo de todos los atributos simples
de esa entidad e incluir columnas para las
llaves primarias de las entidades de las
que dependen
Ejemplo
Prstamo
Pagos
Fecha
cantidad
NoPrestamo
Pagos Noprestamo
Nopago
Fecha
Cantidad
NoPago
Char(8)
Number(4)
Date
Number(9,2)
Discriminador
Llave primaria
compuesta
Etapas
Paso 3
Cuando dos entidades participan en una
relacin 1-m, la relacin representando la
entidad con la cardinalidad m(muchos)
debe tener una columna para la llave
fornea representando esta relacin.
Ejemplo
D#
E#
Dept
Asignado
Emp
Trabaja en
Emp EmpNo
Number(4)
Nombre
Varchar2(10)
Cargo
Varchar2(9)
Salario
Number(7,2)
Comision Number(7,2)
Fech-desp Date
DeptNo
Number(2)
Llave Fornea
Ejemplo
D#
E#
Dept
Asignado
Emp
Trabaja en
Emp EmpNo
Number(4)
Nombre
Varchar2(10)
Cargo
Varchar2(9)
Salario
Number(7,2)
Comis
Number(7,2)
Fech-desp Date
DeptNo
Number(2)
Llave fornea
Etapas
Paso 4
Cuando dos entidades participen en una
relacin (1-1), una columna de llave fornea
se debe incluir en la relacin que representa
una de estas entidades.
Ejemplo
E#
ID#
Emp
Tiene
ID Tarjeta
Pertenece a
Emp EmpNo
Nombre
Direcc
DOB
IDNo
ID Tarjeta
IDNo
Desde
Expira
EmpNo
Number(6)
Varchar2(10)
Varchar2(200)
Date
Char(10)
Char(10)
Date
Date
Number(6)
Llave Fornea
Una de las dos
Llave Fornea
Etapas
Paso 5
Cuando dos entidades participan en una
relacin m:m, entonces una relacin se
debe crear consistiendo de llaves forneas
provenientes de las dos relaciones que
representan a las entidades participantes.
Ejemplo
P#
C#
Conduce
Persona
Carro
Conducido por
Persona-CarroPersonNo Number(6)
CarroNo
P#
Person
Char(7)
P#,C#
Person-Car
Llave Fornea
Llave Fornea
C#
Car
Etapas
Paso 6
Cuando una entidad tenga un atributo
multivaluado, crear una relacin con una
columna para la llave fornea de la
relacin que representa la entidad y una
columna para el atributo multivaluado.
Ejemplo
Lenguaje
Lenguaje
Lenguaje
Programador
Nombre
EmpNo
Programador EmpNo
Prog-Leng
Nombre
Number(2)
Varchar2(14)
EmpNo
Lenguaje
Number(2)
Varchar2(20)
Llave primaria
Llave primaria
compuesta
Etapas
Paso 7
Cuando ms de dos entidades participan
en una relacin, se debe crear una relacin
consistiendo de llaves forneas de aquellas
relaciones representando las entidades
participantes en la relacin
Ejemplo
EncuentroNo
Encuentro
Jugador No
registro
Jugador
faltaNo
falta
registro
EncuentroNo
JugadorNo
faltaNo
Fecha
Number(4)
Number(6)
Number(3)
Date
Llave Primaria
compuesta
Etapas
Sub-tipo
Para sub-tipos, crear relaciones separadas
por cada subtipo consistiendo de los
atributos propios del subtipo. Incluir como
llave fornea la superllave que acta como
llave primaria del super-tipo, que juega el
papel de llave primaria del sub-tipo.
Crear una relacin separada para el
supertipo
Ejemplo
EMPLEADO
Empleado No
Nombre
Direccin
SECRETARIA
Vel_digitar
Empleado
Secretaria
TECNICO
INGENIERO
Grado
EmpleadoNo
Nombre
Direccin
Tcnico
velocidad
EmpleadoNo
Grado
Ingeniero
EmpleadoNo
Tipo
EmpleadoNo
Tipo
Etapas
Paso 8 Opcin 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 relacin para el supertipo!
Ejemplo
VEHICULO
Vehiculo No
Licencia No
Precio
CARRO
CAMION
No de puestos
No de eje
Tonelaje
Carro
VehculoeNo
LicenciaNo
Precio
Nodepuestos
Camin
VehculoNo
LicenciaNo
Precio
NodeEjes
Tonelaje
Mucho más que documentos.
Descubra todo lo que Scribd tiene para ofrecer, incluyendo libros y audiolibros de importantes editoriales.
Cancele en cualquier momento.