Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DATO
CALIDAD DE LA INFORMACIN
BASE DE DATOS
FUNCIONES DE UN SMBD
Definir todos los datos empleados en el sistema y
Base de Datos
Programas de
Aplicacin
Usuarios Finales
HISTORIA
Principios
Modelos
50s
60s
70s
80s
90s
Bases de datos OO
ARQUITECTURA DE TRES
NIVELES
NIVEL FSICO (interno)
Se describe la estructura fsica de la base de datos mediante un esquema
interno. Este esquema se especifica mediante un modelo fsico y describe
todos los detalles para el almacenamiento de la base de datos, as como
los mtodos de acceso. Es el nivel ms bajo de representacin de la base
de datos.
NIVEL CONCEPTUAL (lgico)
Es aquel en el que se definen las estructuras de almacenamiento y las
relaciones que se darn entre ellas. Este esquema oculta los detalles de
las estructuras de almacenamiento y se concentra en describir entidades,
atributos, relaciones, operaciones de los usuarios y restricciones.
NIVEL EXTERNO (externo - vistas)
Puede definirse como la forma en que el usuario aprecia la informacin y
sus relaciones. Cada esquema externo describe la parte de la base de
datos que interesa a un grupo de usuarios determinado y oculta a ese
grupo el resto de la base de datos.
OBJETIVOS DE UN SMBD
Independencia LGICA: Ocurre cuando se modifica el esquema
conceptual sin afectar al resto de los esquemas. Bsicamente se modifica
el esquema conceptual cuando cambian las caractersticas de los datos a
almacenar.
Independencia FSICA:
Se presenta cuando es
posible la modificacin
del esquema fsico sin
afectar a los esquemas
restantes.
Las principales razones
para llevar a cabo una
modificacin
del
esquema fsico sern un
ajuste en el hardware de
almacenamiento
o una redistribucin de
MANEJO DE TRANSACCIONES:
Recuperacin va reprocesamiento
Realizar un respaldo de la base de datos.
Conservar un registro de todas las transacciones
Recuperacin va progresiva
Consiste en recuperar la base de datos del respaldo y
aplicar todas las transacciones vlidas a partir del respaldo.
Recuperacin va regresiva
Se deshacen los cambios efectuados por transacciones
errneas o procesadas de un modo parcial, deshaciendo
las modificaciones que stas hicieron en la base de datos.
Concurrencia
Diferentes usuarios pueden manipular los datos al mismo
tiempo y la integridad de los datos se conserva.
COMPONENTES DE UN SBD
1. Datos
2. Hardware
(Mquinas)
3. Software
(Programas)
4. Usuarios
(Personas)
1. DATOS
2. HARDWARE
3. SOFTWARE
3. SOFTWARE
Componentes (continuacin...)
Subsistema de Generacin de Aplicaciones: Apoya
al usuario a generar aplicaciones transaccionales
Subsistema de Administracin: Apoya al usuario en
la administracin de todo el ambiente de una base de
datos (recuperacin, seguridad, optimizacin,
concurrencia, administracin de cambios)
4. USUARIOS
Usuarios sofisticados
Interactan con el sistema sin escribir
programas. En cambio escriben sus preguntas en un lenguaje de
consultas de base de datos.
Usuarios especializados
Algunos usuarios sofisticados escriben
aplicaciones de base de datos especializadas que no encajan en el
marco tradicional de procesamiento de datos.
Usuarios no sofisticados Los usuarios no sofisticados interactan con
el sistema invocando a uno de los programas de aplicacin permanentes
que se han escrito anteriormente en el sistema de base de datos.
Programadores de aplicaciones Los que interactan con el sistema
por medio de llamadas en DML, las cuales estn incorporadas en un
programa escrito en un lenguaje de programacin (C, Java, etc.)
DBA
La Base de Datos.
El SMBD relacionado .
Autoriza accesos.
Coordina y vigila su utilizacin.
Adquiere los recursos de software y hardware.
Define las polticas de respaldo y recuperacin de
la base de datos.
DISEADORES DE DB
en la base de datos.
Eligen las estructuras apropiadas para
USUARIO FINAL
MEMORIA PRINCIPAL
SISTEMA OPERATIVO
2
1
PROGRAMA DE
APLICACIONES
3
ARCHIVO
CONVENCIONAL
MEMORIA PRINCIPAL
4
SISTEMA OPERATIVO
3
BUFFER DEL SISTEMA
OPERATIVO
SMBD
BASE DE
DATOS
PROGRAMA DE
APLICACIONES
REA DE TRABAJO DEL
PROGRAMA DE
APLICACIONES
Extraccin:
MODELO DE DATOS
CLASIFICACIN
una
inconsistencia de datos .
Jerrquico
De Red
Relacional
Fundamentos Matemticos.
Los datos estn estructurados
a nivel lgico como tablas
formadas por filas y columnas.
Concepto fundamental:
Relacin.
Alto nivel de abstraccin.
Dr. Edgar F. "Ted" Codd Junio 1970
A Relational Model of Data for Large Shared Data Banks
Entidad - Relacin
Percepcin de un mundo
real. Entidades y relaciones.
Entidades: descritas por
un conjunto de atributos.
Relaciones: Asociacin
entre entidades.
Dr. Peter Pin-Shan Chen Marzo 1976
The Entity-Relationship Model--Toward a Unified View of Data
Orientado a Objetos
Development of an
object-oriented DBMS
D. Maier, J. Stein, A. Otis,
A. Purdy 1986.
MODELO ENTIDAD-RELACIN
HISTORIA
Chen lo caracteriza:
El Modelo Entidad-Relacin puede ser usado
como una base para una vista unificada de
los datos, adoptando el enfoque ms natural
del mundo real que consiste en entidades e
interrelaciones.
Diagramas de Chen
DEFINICIN
CONCEPTOS BSICOS
Entidad
Atributo
Relacin (Interrelacin)
Diagramas Entidad-Relacin
CONJUNTO DE ENTIDADES
Smbolo:
NombreEntidad
ENTIDAD
Instancia o entidad
Persona
TIPOS DE ENTIDADES
Entidad
Entidad dbil
ATRIBUTO
NombreAtributo
Nombre
Edad
Persona
Nacionalidad
Cada entidad de un
mismo conjunto de
entidades posee los
mismos atributos,
tanto en nombre
como en nmero,
diferencindose cada
uno de las entidades
por los valores que
toman dichos
atributos.
25
Mexicana
26
Salvadorea
TIPOS DE ATRIBUTOS
26
Persona
Salvadorea
Nacionalidad
Edad
26
Persona
Salvadorea
Nacionalidad
Edad
26
Persona
Salvadorea
Nacionalidad
Atributo
Telfono
Edad
26
Persona
Salvadorea
Nacionalidad
Ao
CLAVES
Nombre
Id_cliente
Cliente
Telfono
Cliente
Telfono
No_IFE
SELECCIN DE LA CLAVE
PRIMARIA
Nombre
Id_cliente
Cliente
Telfono
No_IFE
ENTIDAD-ATRIBUTO
Nombre
Telfono
Nmero de cuenta
Alumno
Fecha de nacimiento
Edad
Nacionalidad
Da
Ao
Mes
INTERRELACIONES
(ASOCIACIONES)
Ensea
GRADO
Asociacin unaria
Asociacin binaria
Casada
R
con
Mdico
E
Persona
E
atiende
R
Paciente
E
Asociacin ternaria
E
Materia
R
Obtiene
E
Estudiante
E
Evaluacin
Empleado
Supervisa
ROL
Empleado
Supervisor
Supervisa
CLAVE FORANEA
CARDINALIDAD
Tipos de interrelaciones:
Uno a uno
Uno a muchos
Muchos a uno
Muchos a muchos
Esto depende del entono real dentro del
que se est modelando.
Uno a uno
Tiene
a1
b1
a2
b2
a3
b3
Municipio
Ayuntamiento
Uno a muchos:
Conformada por
a1
a2
a3
Empresa
b1
b2
b3
b4
b5
Departamento
Muchos a uno
Pertenece a
a1
a2
a3
a4
a5
Sucursal
b1
b2
b3
Empresa
Muchos a muchos
Atiende a
a1
b1
a2
b2
a3
b3
a4
b4
Profesor
Estudiante
Consideremos un
vnculo
TRABAJA_PARA
entre los dos
conjuntos de
entidades
EMPLEADO y
DEPARTAMENT
O, que asocia a
cada empleado
con el
departamento
para el que
trabaja
ATRIBUTOS DE LAS
INTERRELACIONES
Interrelacin
Semestre
Profesor
Imparte
Asignatura
OPCIONES DE SIMBOLOGA
Cardinalidad
Uno a uno
(1:1)
Uno a muchos
(1:N)
Muchos a uno
(N:1)
Muchos a
muchos (M:N)
Chen
1
Chen
Obligatoria
Opcional
No existe
Obligatoria
Obligatoria
Opcional
Opcional
Obligatoria
Opcional
Cardinalidad
Uno a uno
(1:1)
Uno a muchos
(1:N)
Muchos a uno
(N:1)
Muchos a muchos
(M:N)
Obligatoria
Obligatoria
Opcional
Opcional
Obligatoria
Opcional
MODELO ERE
SUBTIPOS, SUPERTIPOS Y
HERENCIA
Herencia de tipo:
Los subtipos heredan los atributos del
supertipo relacionado.
Una instancia de un subtipo es tambin una
instancia de un supertipo.
Supertipo Empleado
con Tres Subtipos
Derivados
Interrelacin en la
cual todas las
instancias participan
Conjunto de
entidades General
Interrelacin en la
cual slo las
versiones
especializadas
participan
Versin
especializada del
supertipo
Notacin
para
Subtipos y
Supertipos
en el Modelo
EER
NOTACIN DE ALGUNAS
HERRAMIENTAS
Interrelacin en la
cual todas las
instancias participan
Conjunto de
entidades General
Interrelacin en la
cual slo las
versiones
especializadas
participan
Versin especializada
del supertipo
INTERRELACIONES Y SUBTIPOS
Interrelacin a
nivel de
supertipos
Interrelacin a
nivel de
subtipos
GENERALIZACIN
EJEMPLO
Marca
Id_
Vehculo
Marca
Modelo
Nombre_
Vehculo
No_
Pasajeros
Id_
Vehculo
Modelo
Nombre_
Vehculo
Tipo
Cabina
Capacidad
Precio
No_de
Motor
Carro
Precio
Marca
Modelo
Id_
Vehculo
Nombre_
Vehculo
Precio
Moto
No_de
Motor
Camin
No_de
Motor
ESPECIALIZACIN
EJEMPLO
Precio_unitario
Descripcin
Proveedor
Id_Proveedor
Pieza
No_Parte
Cant_Disponible
Num_Envo
Ubicacin
Generalizacin
nfasis en las similitudes.
Cada instancia del supertipo es tambin
una instancia de alguno de los subtipos.
Especializacin
nfasis en las diferencias.
Alguna instancia del supertipo puede no
ser instancia de ningn subtipo.
RESTRICCIONES EN SUPERTIPOS
EJEMPLOS
Tipo_empleado
Tipo_empleado=
d
H
S
Atributo simple
que indica el tipo
de subclase
correspondiente
Comprada
Manufacturada
Tipo
CLUSTER DE ENTIDADES
Grupos de
Entidades
Relacionadas
Pueden Formar
Clusters
Hace
negocios
con
Unidad de
ventas
Cliente
Compra
Material
Usado
Artculo
Producido en
Manufacturera
Artculo
vendido
SIMBOLOGA
Descripcin
Herencia
Especializacin total
Especializacin parcial
Regla disjunta
Regla de traslape
Smbolo
JERARQUAS DE RBOL
Propiedad
d
Edificio
Finca
MLTIPLES JERARQUAS
JERARQUA MLTIPLE
dni
fecha
direc
pila
ape1
nombre
Empleado
ape2
d
tipo
veloc
Secretaria
Tcnico
Ingeniero
Precio
Jefe
Asalariado
nivel
sueldo
Jefe de ingeniera
Subcont
HERENCIA SIMPLE
HERENCIA MLTIPLE
sexo
nombre
dni
direc
Persona
fecha-n
O
sueldo
Laboral
nivel
proyecto
Empleado
Estudiante
especialidad
Docente
Ayudante
Maestria
Licenciatura
categora
titulo
grupo
Investigacin
Docencia
prctica
Horario?
Ayudante
INHIBICIN DE LA HERENCIA
d
Ancho
Tringulo
Lado
Rectngulo
Cuadrado
Alto
REDEFINICIN DE ATRIBUTOS
HEREDADOS
sobre
todo
para
atributos
rea
Ancho
Rectngulo
Lado
Cuadrado
Alto
rea
CATEGORAS
dir
IFE
Persona
nombre
nombre
Unin
Banco
U
dir
Empresa
nombre
Propietario
tiene
matricula
Vehculo
fechacompra
dir
Finca
Edificio
Persona
Banco
Propiedad
Propietario
Empresa
CATEGORAS Y GENERALIZACIN
Edificio
Propiedad
Propiedad
Edificio
Finca
AGREGACIN
Empleado
Trabaja en
Sucursal
Empleado
Trabaja en
Dirige
Administrador
Sucursal
Alternativa 2: agregacin.
Trabajo
Empleado
Trabaja en
Trabaja-en
Dirige
Administrador
Sucursal
RESUMEN DE SIMBOLOGA
Elemento
Smbolo
Generalizacin /
Especializacin
Especializacin total
Especializacin parcial
Disjuncin
Traslape
Elemento
Unin / Categora
Smbolo
U
Categora parcial
U
Categora total
Agregacin
Como entidad
Elemento
Equivalencia Relacional
Conj. de entidades
Tabla
Atributo
Campo
Clave primaria
Llave primaria
Atributo compuesto
(monovaluados)
Atributo multivaluado
Elemento
Equivalencia Relacional
Atributo compuesto
(multivaluados)
Atributo derivado
----
Entidad dbil
Elemento
Equivalencia Relacional
Interrelacin muchos a
muchos
Interrelaciones de orden n
Elemento
Equivalencia Relacional
Elemento
Equivalencia Relacional
interrelaciones
recursivas
Generalizacin
Elemento
Generalizacin
Equivalencia Relacional
OPCIN A: Crear una tabla para el
supertipo, con sus atributos
correspondientes y una tabla para cada
subtipo con sus atributos ms la clave
primaria del supertipo.
Elemento
Equivalencia Relacional
Generalizacin
Elemento
Equivalencia Relacional
Generalizacin
Elemento
Generalizacin
Equivalencia Relacional
OPCIN D: Crear una sola tabla con
todos los atributos del supertipo ms los
atributos de los subtipos, ms unos
atributos Ti cuyo valor lgico nos indicar
a qu subtipo pertenece la tupla. Esta
opcin corresponde una especializacin
con solapamiento.
Elemento
Categoras
Equivalencia Relacional
Se crea una clave para la categora que
identifique cada una de las ocurrencias de la
categora y que ser heredada como clave
fornea por cada uno de los supertipos. Se
aadir un atributo a la tabla de la categora
que exprese a que subtipo pertenece cada
tpla en particular.
PROBLEMA
Enterradores
Jardineros
Administrativos
Los jardineros se ocuparn del cuidado de los sectores, de tal forma que un
jardinero est al cuidado de un sector, aunque del cuidado de un sector
pueden encargarse varios jardineros.
Asimismo, cada sector contendr un determinado nmero de sepulturas. Una
sepultura pertenece a un sector.
Las Sepulturas pueden ser:
Nicho
Tumba
Fosa Comn
APaterno
Da
AMaterno
Nombre
Nombre
completo
Mes
Antigedad
Ao
Fecha de
contratacin
Direccin
ID
Telfono
Empleado
Tipo_empleado
Salario
d
E
Administrativo
Enterrador
Jardinero
Tipo
Id_sepulcro
Fecha de compra
Sepulcro
N
Tumba
CapacidadT
Nicho
Fosa comn
Altura
InscripcinT
InscripcinN
CapacidadF
NSector
Capacidad
Id_sector
Superficie
Nombre
Nombre
completo
Sector
APaterno
AMaterno
Id_factura
Mes
Telfono
Cantidad
Da
Id_familiar
Ao
Direccin
Nombre
Nombre
completo
Mes
APaterno
AMaterno
Mes
Ao
Ao
Da
Da
Factura
Fecha
Familiar
Fecha
Nacimiento
Enterrador
Fallecido
Id_fallecido
Fecha
Fallecimiento
Asignado a
Enterrador
Administrativo
Jardinero
IDJardinero
<pi> Integer
Nombre
Text
APaterno
Text
AMaterno
Text
Direccion
Text
Salario
Decimal
Antigedad
Integer
FechaContratacin
Date
IDAdmininstrador
<pi> Integer
Nombre
Text
APaterno
Text
AMaterno
Text
Direccion
Text
Salario
Decimal
Antigedad
Integer
FechaContratacin
Date
<M>
<M>
<M>
<M>
<M>
<M>
IDEnterrador
<pi> Integer
Nombre
Text
APaterno
Text
AMaterno
Text
Direccion
Text
Salario
Decimal
Antigedad
Integer
FechaContratacin
Date
<M>
<M>
<M>
<M>
<M>
<M>
<M>
Relationship_16
Relationship_18
<M>
<M>
<M>
Identifier_1 <pi>
Identifier_1 <pi>
Identifier_1 <pi>
<M>
<M>
<M>
Relationship_19
Relationship_20
Sector
IdSector
<pi> Integer
NSector
Text
Capacidad
Integer
Superficie
Decimal
Telfono
<M>
<M>
<M>
<M>
Relationship_17
Relationship_12
Familiar
IdFamiliar <pi> Integer
Nombre
Text
APaterno
Text
AMaterno
Text
Direccion
Text
Identifier_1 <pi>
Identifier_1 <pi>
Relationship_14
Relationship_6
Relationship_4
Tumba
Capacidad Integer <M>
Inscripcin Text
Identifier_1 <pi>
Relationship_13
Factura
IdFactura <pi> Integer <M>
Cantidad
Decimal <M>
Fecha
Date
Relationship_8
Relationship_21
Identifier_1 <pi>
Nicho
Altura
Decimal <M>
Inscripcin Text
<M>
<M>
<M>
Identifier_1 <pi>
Relationship_15
Sepulcro
IDSepulcro <pi> Integer <M>
Tipo
Text
<M>
<M>
FosaComn
Relationship_22
Fallecido
IdFallecido
<pi> Integer
Nombre
Text
APaterno
Text
AMaterno
Text
FechaDeNacimiento
Date
FechaDeFallecimiento
Date
Identifier_1 <pi>
<M>
<M>
<M>
<M>
<M>
<M>
IDJardinero
Nombre
APaterno
AMaterno
Direccion
Salario
Antigedad
FechaContratacin
Enterrador
Administrativo
Jardinero
IDAdmininstrador
Nombre
APaterno
AMaterno
Direccion
Salario
Antigedad
FechaContratacin
integer
<pk>
long varchar
long varchar
long varchar
long varchar
decimal
integer
date
IDEnterrador
Nombre
APaterno
AMaterno
Direccion
Salario
Antigedad
FechaContratacin
integer
<pk>
long varchar
long varchar
long varchar
long varchar
decimal
integer
date
FK_TELEFONO_RELATIONS_ADMINIST
FK_SECTOR_RELATIONS_JARDINER
FK_TELEFONO_RELATIONS_JARDINER
integer
<pk>
long varchar
long varchar
long varchar
long varchar
decimal
integer
date
FK_TELEFONO_RELATIONS_ENTERRAD
Telfono
Sector
IdSector
integer
<pk>
IDJardinero integer
<fk>
NSector
long varchar
Capacidad integer
Superficie decimal
FK_SEPULCRO_RELATIONS_SECTOR
IDTelfono
IDEnterrador
IDAdmininstrador
IdFamiliar
IDJardinero
Telfono
integer
integer
integer
integer
integer
integer
<pk>
<fk4>
<fk3>
<fk1>
<fk2>
FK_TELEFONO_RELATIONS_FAMILIAR
FK_FACTURA_RELATIONS_ADMINIST
Familiar
FK_FALLECID_RELATIONS_FAMILIAR
IdFamiliar integer
<pk>
Nombre
long varchar
APaterno long varchar
AMaterno long varchar
Direccion long varchar
FK_FALLECID_RELATIONS_ENTERRAD
Sepulcro
FK_FACTURA_RELATIONS_FAMILIAR
IDSepulcro integer
<pk>
IdSector
integer FK_TUMBA_RELATIONS_SEPULCRO
<fk>
IDSepulcro
Tipo
long varchar
Capacidad
FK_FOSACOMU_RELATIONS_SEPULCRO
Inscripcin
Tumba
integer
<fk>
integer
long varchar
FK_NICHO_RELATIONS_SEPULCRO
Factura
IdFactura
IdFamiliar
IDAdmininstrador
Cantidad
Fecha
integer <pk>
integer <fk1>
integer <fk2>
decimal
date
Nicho
IDSepulcro integer
<fk>
Altura
decimal
Inscripcin long varchar
FosaComn
IDSepulcro integer <fk>
Capacidad integer
FK_FALLECID_RELATIONS_SEPULCRO
Fallecido
IdFallecido
IdFamiliar
IDSepulcro
IDEnterrador
Nombre
APaterno
AMaterno
FechaDeNacimiento
FechaDeFallecimiento
integer
integer
integer
integer
long varchar
long varchar
long varchar
date
date
<pk>
<fk1>
<fk3>
<fk2>
Diseo Conceptual
Diseo Lgico
Diseo Fsico
DISEO CONCEPTUAL
DISEO LGICO
METODOLOGA DE DISEO
las
TAREAS A REALIZAR
6. Jerarquas de generalizacin:
7. Diagrama entidad-relacin:
Dibujar
el
diagrama
entidad-relacin
correspondiente a una de las vistas de los
usuarios.
Se obtiene as un esquema conceptual local.
EJEMPLO
nacionalidad
fecha de nacimiento
experimento_id nombre
descripcion
articulo_id
ref_articulo_id
articulo_id
institucion_id
monto
fecha recepcion
Vehculo
Platero:Animal
Animal
Punto
Figura
(1,3)
(2,2)
(2,1)
(5,2.5)
EJEMPLO
Figura
Tringulo
Cuadrado
Se aplica:
Jerarqua de clases
Generalizacin
Polimorfismo
Crculo
UML
MODELO Y DIAGRAMA
EL PORQUE DE MODELAR
EL LENGUAJE DE MODELADO
QU ES UML?
Especificar
Construir
Visualizar
Documentar
EL PAPEL DE UML
UML
PAQUETES
Paquete 1
Paquete 2
CASOS DE USO
Representa la
funcionalidad
que ofrece el
sistema en lo
que se refiere a
su interaccin
externa con los
usuarios.
SECUENCIA
ESTADOS
DISTRIBUCIN (DESPLIEGUE)
ACTIVIDAD
COMPONENTES
Transaccione
s
Actualizar_transaccione
s
bsqueda
Consultas
/reportes
Reservas
CLASES
Es el diagrama principal
para el anlisis y diseo.
Un diagrama de clases
presenta las clases del
sistema con sus
interrelaciones estructurales
y de herencia.
La definicin de clase
incluye definiciones para
atributos y operaciones.
OBJETOS
El Modelado
de Objetos
permite
representar el
ciclo de vida de
los objetos a
travs de sus
interacciones.
COLABORACIN
Es una forma de
representar interaccin
entre objetos.
El diagrama de
colaboracin se centra
en estudiar todos los
efectos de un objeto
dado durante un
escenario.
DIAGRAMA DE CLASES
ELEMENTOS
ATRIBUTOS
MTODOS
Pblico: Indica que el mtodo ser visible tanto dentro como fuera de
la clase, es decir, es accesible desde todos lados.
Privado: Indica que el mtodo slo ser accesible desde dentro de la
clase (slo otros mtodos de la clase lo pueden invocar).
Protegido: Indica que el mtodo no ser accesible desde fuera de la
clase, pero si podr ser invocado por mtodos de la clase adems de
mtodos de las subclases que se deriven (ver herencia).
EJEMPLO
Vehculo
Vehculo
Conducido por
Piloto
Terrestre
Areo
Martimo
Motor
Asiento
DIAGRAMAS ESTTICOS
DIAGRAMAS DE CLASES
Clase
atributos
Mtodos
Clase
Dependencia
Cuenta
CONCEPTOS AVANZADOS
Clase A
create
Clase B
Mensaje de
registro
Registrador
Referencia
dbil
Equipo
Jugador
Marcas
Asociaciones calificadas
EJEMPLO
Asociacin
marido
0.. 1
casado-con
0.. 1
mujer
jefe
Persona
nombre
s. s.
0.. 1
Administra
empleado
trabaja-para
emplea-a
Compaa
nombre
direccin
Agregacin
coche
Persona
1
0..2
+Padre
1
motor
+Hijos
Generalizacin
Responsabilidades
Herencia Mltiple
Dependencia
Herencia
Polimorfismo
Se relaciona fuertemente con herencia.
Muchas formas.
INTRODUCCIN
En 1969 invent el Modelo Relacional, el Modelo de Base de Datos ms utilizado hoy en da.
Al inicio el apoyo de IBM a los Sistemas de Base de Datos Tradicionales (de redes) era
mayoritario.
Hasta 1978 el Modelo Relacional llam la atencin del Presidente de IBM Frank Cary.
Ms tarde IBM anuncia SQL/DS su 1er producto relacional en 1981 y despus sacan al mercado
DB2 en 1983.
El trabajo inicial de Codd fue publicado en Communications of the ACM en 1970.
En 1985 postul una lista de 12 reglas que deba cumplir un producto de bases de datos para
ser llamado relacional.
Un poco de historia...
Estructura de Datos.
Integridad de Datos.
Manejo de Datos.
Estructura Datos:
La Relacin.
Concepto matemtico.
Representa por una tabla.
Terminologa matemtica (teora de conjuntos y lgica de predicados).
ESTRUCTURA
CUERPO (atributo:valor)
{(A1 : VI1), (A2 : VI2),...... (An : VIn)}
Con i=1,2,..,m m es la cardinalidad de la relacin
Grficamente
Relacin = Tabla
Atributo = Columna
Tupla = Fila
Propiedades Relaciones:
Tipos de Relaciones:
Relaciones Base
Tienen nombre.
Forman parte directa de la BD (autnomas).
Vistas
Con nombre y derivadas.
No poseen datos almacenados propios.
Instantneas
Con nombre y derivadas.
Son reales, tienen datos propios almacenados.
Solo lectura y se refrescan peridicamente.
Resultados de Consulta
Originan de una consulta.
Con o sin nombre.
No persistentes en la BD.
Resultados intermedios
Origen = subconsultas.
Sin nombre y no persisten en la BD.
Resultados temporales
Con nombre.
Se destruyen automticamente en un momento dado.
Claves
Identificadores nicos.
Mediante valores de atributos.
Superclave
Atributo o conjunto de atributos que identifican de modo nico las
tuplas de una relacin.
Clave candidata
Una superclave en la que ninguno de sus subconjuntos es una
superclave de la relacin.
Clave ajena
ONUM
RESUMEN
Una relacin
Una tupla
Un atributo
Cardinalidad
Atributo
Columna
Grado
Nmero de columnas
La clave primaria
Dominio
RELACIN
D.F
GUDALAJARA
ETC...
CARDINALIDAD
RELACIN
V#:V#
v1
v2
v3
v4
v5
TUPLA
---- ---- --- ----- --- --- ----- --- -Clave Primaria
DOMINIO
Resumen
Ejemplo de RELACIN:
EL MODELO RELACIONAL
NO PROCEDIMENTAL
{ t | C(t) }
Donde C es una condicin dada.
PROCEDIMENTAL
PRINCIPIOS BSICOS
lgebra Relacional
Conjunto de operaciones para manipular la
estructura de datos relacional.
Especificar la consulta de datos.
Lenguaje procedimental.
Clculo Relacional
Lenguaje equivalente.
No procedimental.
Teora describe:
Elementos bsicos para crear una BD Relacional.
Las lneas para construirla.
EJEMPLO
Los atributos Nombre, Ciudad, Tipo-Cliente toman los valores de sus
correspondientes dominios.
DOMINIOS
NOMBRES
xxxxxxxxxxxxxx
50
CIUDADES
MONTERREY
MONTERREY
D.F.
MONTERREY
ACAPULCO
MAZATLAN
VERACRUZ
YUCATAN
TIPOS DE CLIENTES
BANCOS
CENTROS EDUCATIVOS
EMPRESAS PRIVADAS
FILIALES
HOSPITALES PRIVADOS
PARA-ESTATALES
DOCTORES
ACCIONISTAS
Relacin Cliente
Nombre
Ciudad
INSTITUTO MEXICANO, A.C.
MONTERREY
UNIVERSIDAD DEL SUR, A.C.
MONTERREY
ADMINISTRADORA MEDICA DE OCCIDENTE, S.A. D.F.
DE C.V.
SERVICIOS HOSPITALARIOS S.A. DE C.V.
MONTERREY
SERVICIOS AGENTE DE SEGURIDAD
ACAPULCO
LAVA RPIDO S.A. DE C.V.
MAZATLAN
BEBIDAS NACIONALES, S.A. DE C.V.
VERACRUZ
CLINICAS DEL NORTE, S.A. DE C.V.
YUCATAN
Tipo-Cliente
BANCOS
CENTROS EDUCATIVOS
EMPRESAS PRIVADAS
FILIALES
HOSPITALES PRIVADOS
PARA-ESTATALES
DOCTORES
ACCIONISTAS
REGLAS DE INTEGRIDAD
Nulos
Nulos
Por ejemplo la relacin de productos puede presentar
nulos en ciertos atributos.
Nulos
Relacin: Producto
Producto#
100
101
102
103
Clave Primaria
RESTRICCIONES DE DOMINIO
EJEMPLO
Los atributos
nombre_cliente y nombre_empleado
pueden pertenecer al mismo dominio, ambos son cadenas de
caracteres.
Pero
sueldoxhora e ndice_de_ganancia
a cierto nivel ambos son nmeros con decimales, pero a un nivel
conceptual el sueldo no puede ser menor a x cantidad y un
ndice va de 0.0 a 1.0
INTEGRIDAD DE ENTIDADES
Regla de modificacin
Qu ocurre si se intenta modificar el valor de la clave primaria de la tupla referenciada por la clave ajena ?
Ejemplo:
Restriccin en lenguaje natural:
1.
Todos los proveedores deben tener valor del status entre 0 y 101
Restriccin formal
CONSTRAINT PROV_R1
IS_EMPTY (PROV WHERE STATUS <1 OR STATUS>100)
El Administrador debe hacer que se ejecute esta restriccin en todas las
operaciones que intenten insertar un proveedor o cambiar el estatus de uno
existente
RESUMEN
Reglas de Integridad
Nulo
Restricciones de dominio
Regla de integridad de
Entidades
Reglas de Integridad
referencial
LGEBRA RELACIONAL
1. Unin.
2. Seleccin.
3. Diferencia.
4. Producto.
5. Proyeccin.
Operaciones derivadas
(compuestas)
1. Interseccin.
2. Divisin.
3. Join (Reunin).
SELECCIN
Opta por tuplas que satisfagan cierto predicado. Compara
todas las tuplas, una por una y selecciona slo las tuplas que
satisfagan cierta condicin (predicado) especificada.
Representado por sigma ().
Predicado aparece como subndice de ().
La relacin se da entre parntesis.
EJEMPLO
Enum
Nombre
Apellido
Direccin
Telfono
Puesto
Fecha_nac
Salario
DNI
Onum
EL21
Amelia
Pastor
Magallanes, 15
Director
12/10/62
30000
39432212E
O5
EG37
Pedro
Cubedo
Bayarri, 11
Supervisor
24/3/57
18000
38766623X
O3
EG14
Luis
Collado
Borriol, 35
Administ.
9/5/70
12000
24391223L
O3
EA9
Rita
Renau
Casalduch,
Supervisor
19/5/60
18000
39233190F
O7
EG5
Julio
Prats
Melilla, 23
Director
19/12/50
24000
25644309X
O3
EL41
Carlos
Baeza
Herrero, 51
Supervisor
29/2/67
18000
39552133T
O5
Nombre
Apellido
Direccin
Telfono
Puesto
Fecha_nac
Salario
DNI
Onum
EL21
Amelia
Pastor
Magallanes, 15
Director
12/10/62
30000
39432212E
O5
EG5
Julio
Prats
Melilla, 23
Director
19/12/50
24000
25644309X
O3
Obtener todos los empleados que trabajan en la oficina 03, dada la siguiente
relacin (Plantilla)
Enum
Nombre
Apellido
Direccin
Telfono
Puesto
Fecha_nac
Salario
DNI
Onum
EL21
Amelia
Pastor
Magallanes, 15
Director
12/10/62
30000
39432212E
O5
EG37
Pedro
Cubedo
Bayarri, 11
Supervisor
24/3/57
18000
38766623X
O3
EG14
Luis
Collado
Borriol, 35
Administ.
9/5/70
12000
24391223L
O3
EA9
Rita
Renau
Casalduch,
Supervisor
19/5/60
18000
39233190F
O7
EG5
Julio
Prats
Melilla, 23
Director
19/12/50
24000
25644309X
O3
EL41
Carlos
Baeza
Herrero, 51
Supervisor
29/2/67
18000
39552133T
O5
Onum = 03 (PLANTILLA)
Resultado:
Enu
m
Nombr
e
Apellido
Direccin
EG37
Pedro
Cubedo
Bayarri, 11
EG14
Luis
Collado
Borriol, 35
EG5
Julio
Prats
Melilla, 23
Fecha_na
c
Salari
o
24/3/57
18000
Administ.
9/5/70
12000
Director
19/12/50
24000
Telfono
Puesto
964 535
690
964 522
230
964 524
590
Superviso
r
DNI
38766623
X
24391223
L
25644309
X
Onum
O3
O3
O3
Obtener todos los inmuebles de Castelln con un alquiler mensual de hasta 350.
Dada la siguiente relacin (Inmueble)
Inum
Calle
Area
Poblacin
Tipo
Hab
Alquiler
Pnum
IA14
Enmedio, 128
Centro
Castelln
Casa
600
P46
IL94
Riu Ebre, 24
Ronda Sur
Castelln
Piso
350
P87
IG4
Sorell, 5
Grao
Castelln
Piso
300
P40
IG36
Alicante,1
Segorbe
Casa
325
P93
IG21
San Francisco, 10
Vinaroz
Piso
550
P87
IG16
Capuchinos, 19
Castelln
Piso
400
P93
Rafalafena
Resultado:
Inum
Calle
Area
Poblacin
Tipo
Hab
Alquiler
Pnum
IL94
Riu Ebre, 24
Ronda Sur
Castelln
Piso
350
P87
IG4
Sorell, 5
Grao
Castelln
Piso
300
P40
PROYECCIN
c1,c2,c3(A)
EJEMPLO
Nombre
Apellido
Direccin
Telfono
Puesto
Fecha_nac
Salario
DNI
Onum
EL21
Amelia
Pastor
Magallanes, 15
Director
12/10/62
30000
39432212E
O5
EG37
Pedro
Cubedo
Bayarri, 11
Supervisor
24/3/57
18000
38766623X
O3
EG14
Luis
Collado
Borriol, 35
Administ.
9/5/70
12000
24391223L
O3
EA9
Rita
Renau
Casalduch,
Supervisor
19/5/60
18000
39233190F
O7
EG5
Julio
Prats
Melilla, 23
Director
19/12/50
24000
25644309X
O3
EL41
Carlos
Baeza
Herrero, 51
Supervisor
29/2/67
18000
39552133T
O5
enum,nombre,apellido,salario (PLANTILLA)
Resultado:
Enum
Nombre
Apellido
Salario
EL21
Amelia
Pastor
30000
EG37
Pedro
Cubedo
18000
EG14
Luis
Collado
12000
EA9
Rita
Renau
18000
EG5
Julio
Prats
24000
EL41
Carlos
Baeza
18000
PRODUCTO CARTESIANO
EJEMPLO
(Prestamo)
(Cliente)
nmero-prstamo
nombre-cliente
P-11
Gmez
P-14
P-15
P-16
Fernndez
392
nombre cliente
nmero prstamo
Gmez
P-11
Gmez
P-14
Gmez
P-15
Gmez
P-16
Fernndez
P-11
Fernndez
P-14
Fernndez
P-15
Fernndez
P-16
UNIN
EJEMPLO
Obtener un listado de las reas en las que hay oficinas o inmuebles para alquilar.
Onum
Calle
Area
Poblacin
Telfono
Fax
O5
Enmedio, 8
Centro
Castelln
O7
Moyano, s/n
Centro
Castelln
O3
San Miguel, 1
Villarreal
O4
Trafalgar, 23
Castelln
O2
Cedre, 26
Villarreal
Grao
Inum
Calle
Area
Poblacin
Tipo
Hab
Alquiler
Pnum
IA14
Enmedio, 128
Centro
Castelln
Casa
600
P46
IL94
Riu Ebre, 24
Ronda Sur
Castelln
Piso
350
P87
IG4
Sorell, 5
Grao
Castelln
Piso
300
P40
IG36
Alicante,1
Segorbe
Casa
325
P93
IG21
San Francisco, 10
Vinaroz
Piso
550
P87
IG16
Capuchinos, 19
Castelln
Piso
400
P93
Rafalafena
Area
( rea (OFICINA) ) U
( rea (INMUEBLE) )
Resultado:
Centro
Grao
Ronda Sur
Rafalafena
EJEMPLO
Averiguar los nombres de todos los clientes que tienen concedido un prstamo en
el banco y averiguar su importe.
nombre-cliente, prstamo.nmero-prstamo, importe
(prestatario.nmero-prstamo = prstamo.nmero-prstamo (prestario x cliente))
nombre cliente
nmero prstamo
Fernndez
P-16
Gmez
P-93
Gmez
P-15
Lpez
P-14
Prez
P-17
1000
Santos
P-11
Moralzarzal
2000
Sotoca
P-23
Becerril
500
Valdivieso
P-17
nmero-prstamo
nombre-sucursal
importe
P-11
Collado Mediano
900
P-14
Centro
1500
P-15
Navacerrada
1500
P-16
Navacerrada
1300
P-17
Centro
P-23
P-93
nombrecliente
(prestatario |x|
cliente)
nmero prstamo
Import
e
Fernndez
P-16
1.300
Gmez
P-23
2.000
Gmez
P-11
900
Lpez
P-15
1.500
Prez
P-93
500
Santos
P-17
1.000
Sotoca
P-14
1.500
Valdivieso
P-17
1.000
DIVISIN
LGEBRA RELACIONAL
Pnum
P87
DIFERENCIA
EJEMPLO
Obtener un listado de todas las poblaciones en donde hay una oficina y no hay
inmuebles para alquilar. Dada las siguientes relaciones
Onum
Calle
Area
Poblacin
Telfono
Fax
O5
Enmedio, 8
Centro
Castelln
O7
Moyano, s/n
Centro
Castelln
O3
San Miguel, 1
Villarreal
O4
Trafalgar, 23
Castelln
O2
Cedre, 26
Villarreal
Grao
Inum
Calle
Area
Poblacin
Tipo
Hab
Alquiler
Pnum
IA14
Enmedio, 128
Centro
Castelln
Casa
600
P46
IL94
Riu Ebre, 24
Ronda Sur
Castelln
Piso
350
P87
IG4
Sorell, 5
Grao
Castelln
Piso
300
P40
IG36
Alicante,1
Segorbe
Casa
325
P93
IG21
San Francisco, 10
Vinaroz
Piso
550
P87
IG16
Capuchinos, 19
Castelln
Piso
400
P93
Rafalafena
Poblacin
( poblacin (OFICINA) - ( poblacin (INMUEBLE)
Villarreal
INTESECCIN
EJEMPLO
Qnum
Inum
Fecha
Comentario
Q56
IA14
24/11/99
muy pequeo
Q76
IG4
20/10/99
muy lejos
Q56
IG4
26/11/99
Q62
IA14
14/11/99
no tiene saln
Inum
Calle
Area
Poblacin
Tipo
Hab
Alquiler
Pnum
IA14
Enmedio, 128
Centro
Castelln
Casa
600
P46
IL94
Riu Ebre, 24
Ronda Sur
Castelln
Piso
350
P87
IG4
Sorell, 5
Grao
Castelln
Piso
300
P40
IG36
Alicante,1
Segorbe
Casa
325
P93
IG21
San Francisco, 10
Vinaroz
Piso
550
P87
IG16
Capuchinos, 19
Castelln
Piso
400
P93
Rafalafena
N
( Inum (VISITA) )
IG4
PROYECCIN EXTENDIDA
EJEMPLO
No_Cta
Materia
Calificacon
95481904 Leng. de Prog
9
50385974 Algoritmos
10
98385928 Autmatas
8
98792838
I. A.
8
97218294 Prog. Lgica
7
Materia
No_Cta
Materia
95481904 Leng. de Prog
50385974 Algoritmos
98385928 Autmatas
98792838
I. A.
97218294 Prog. Lgica
Resultado
Calificacon-1
8
9
7
7
6
REUNIN EXTERNA
No_Cta
Materia
Calificacon
95481904 Leng. de Prog
9
50385974
Algoritmos
10
98385928
Autmatas
8
98792838
I. A.
8
Materia
Elizabeth
Peruana
null
null
null
FUNCIONES DE AGREGACIN
AGRUPACIN
Esta operacin agrupa las tuplas que tienen los mismos valores en
los atributos especificados y realiza uno o ms clculos (funciones
de agregacin) sobre los grupos obtenidos.
Se utiliza la notacin:
EJEMPLO
Letra
a
a
a
b
b
c
c
Numero
1
2
4
1
2
3
4
Nombre
Angel
Amalia
Armando
Beto
Bernab
Carlos
Cecilia
Muestra
Letra
a
b
c
RENOMBRAMIENTO
x(A)
iIndica que el resultado de la operacin es una nueva
relacin con el nombre x. Si se desea cambiar tambin el
nombre de los atributos, se indica del siguiente modo:
x(A1,A2,...,An)(A)
dDonde A1, A2, ... An son los nuevos nombres de los
atributos.
Borrado
rrE
INSERCIN
r r U {(Fuengirola,124.765)}
ACTUALIZACIN
r F1,F2,,Fn(r)
r F1,F2,,Fn(P(r)) U (r P(r))
CREACIN DE VISTAS
CLCULO RELACIONAL
es hombre
[Argumento]
[Funcin]
VARIABLE TUPLA
Conectivas
Negacin
Conjuncin
Disyuncin
Implicacin
Cuantificadores
Universal
Existencial
Trminos:
Los smbolos de constantes:
Luis, Mara, Juan, AD1, BDA
Trminos de proyeccin:
x.A, donde x es una variable-tupla y A es el nombre de un atributo de la relacin sobre la que
se declar x. El trmino x.A representa el valor del atributo A en la tupla x.
FRMULAS
xF
xF
Frmulas (Ejemplos):
x.A = y.B
x.A = 'Dedalo'
( x.ciudad='Londres')
( x.codigo=y.codigo y.numero<>z.numero)
x (x.codigo=y.codigo x.numero='123')
x (x.color='rojo')
EVALUACIN DE FRMULAS
R(x): cuando x se instancia a una tupla t, tal que t R, entonces se evala a cierto. En caso
contrario se evala a falso.
t1 t2: se evaluar a cierto o falso segn el resultado de la comparacin. En el caso de que
alguno de los trminos sea de proyeccin, es decir, de la forma x.A, el valor que se utilizar
para realizar la comparacin ser el del aributo A de la tupla que en ese momento instancie
la variable.
Con operadores lgicos no cambia.
La evaluacin de frmulas con cuantificadores se realiza igual que para la lgica de primer
orden. Lo que interesa es encontrar tuplas para las que se cumple cierto predicado.
Donde:
t
es la variable tupla.
P( t )
es cualquier formula
EJEMPLOS
Evaluacin de Frmulas:
1) Depende de la clase de tomo que sea:
a) R(t1, t2, ..., tn):
Si se puede encontrar una tupla de R, tal que los valores de los atributos a1, a2,
..., an de la tupla coinciden con los de los respectivos trminos t1, t2, ..., tn, entonces
la frmula se evala a cierto. En otro caso se evala a falso.
b) t1 t2: La evaluacin es equivalente a la vista en el CRT, dependiendo del
resultado de la comparacin.
2) Evaluacin de frmulas con operadores lgicos: Es idntica a la ya estudiada.
3) Evaluacin de frmulas con cuantificadores: La nica diferencia es que ahora el
dominio de las variables es el dominio asociado a uno de los atributos de una
relacin. Este es el dominio que se debe usar para realizar su asignacin.
EJEMPLOS
QUERY BY EXAMPLE
Visualizan en pantalla una fila vaca de cada una de las tablas que indica el usuario. El
usuario rellena estas filas con un ejemplo de lo que desea y el sistema devuelve
los datos que siguen tal ejemplo. Uno de estos lenguajes es QBE (Query-byExample).
Caractersticas del QBE
No procedural.
Una fila ejemplo se forma de constantes y elementos ejemplo que en realidad son
variables de dominio.
Encontrar todos los clientes con cuenta tipo SFC y Metro Town:
Encontrar los clientes que tengan una cuenta tipo SFC, Metro Town o ambas:
Encontrar todos los clientes que tengan una cuenta igual a la de Jones:
DATALOG
y se lee: "Si Q1, Q2, ... y Qn son ciertos, entonces P es cierto". Si n=0, "P es cierto", y se
escribe:
P.
(esto es un hecho)
Interpretacin de la teora de modelos
La interpretacin de una coleccin de predicados asigna cierto o falso a cada posible
instancia de los predicados, donde los argumentos se escogen de un conjunto infinito de
constantes.
La interpretacin se representa habitualmente por el conjunto de instancias verdaderas.
Ejemplo:(1) p(X) :- q(X).
(2) q(X) :- r(X).
Dominio: los enteros.
Un posible dominio M1={r(1),q(1),p(1),q(2),p(2),p(3)}, conjunto de instancias verdaderas.
EJEMPLO
r(1,2), r(3,4).
PREDICADOS INTENCIONALES Y
EXTENCIONALES
Es otra diferencia entre Datalog y las bases de datos relacionales.
Un predicado cuya relacin se almacena explcitamente en la base de datos se
denomina extencional.
Un predicado que se define en trminos de reglas se denomina intencional.
Por ejemplo, en la base de datos genealgica:
madre, padre, mujer, hombre: extencional
madre(ana,pedro).
madre(ana,juan).
...
padre(jose,julia).
padre(luis,jose).
...
progenitor, antepasado: intencional
progenitor(X,Y) :- madre(X,Y).
progenitor(X,Y) :- padre(X,Y).
antepasado(X,Y) :- progenitor(X,Y).
antepasado(X,Y) :- progenitor(X,Z), antepasado(Z,Y).
RECURSIVIDAD Y GRAFOS DE
DEPENDENCIA
Las reglas Datalog son en general recursivas.
Para determinar si un determinado predicado es recursivo se construye un
grafo de dependencias.
Sus nodos son predicados.
Hay un arco de p a q si hay una regla con un subobjetivo cuyo predicado
sea p y con una cabeza cuyo predicado sea q.
Un programa lgico es recursivo si hay uno o ms ciclos en el grafo.
Un predicado es recursivo si forma parte de un ciclo.
Ntese que p y q pueden ser el mismo predicado (de hecho, el caso ms
habitual).
EJEMPLO
Reglas de Codd
ANTECEDENTES
En la dcada de los 80 comenzaron a aparecer numerosos sistemas de
gestin de bases de datos (SGBD) que se anunciaban como
"relacionales". Sin embargo estos sistemas carecan de muchas
caractersticas que se consideran importantes en un sistema relacional,
perdiendo muchas ventajas del modelo relacional. Como ejemplo
extremo de esto "sistemas relacionales" eran simplemente sistemas que
utilizaban tablas para almacenar la informacin, no disponiendo de
elementos como claves primarias, etc.
REGLAS DE CODD
1.
Reglas fundamentales
2.
Reglas estructurales
3.
Reglas de integridad
4.
5.
1. FUNDAMENTALES (0 Y 12)
Regla 0
2. ESTRUCTURALES (1 Y 6)
3. INTEGRIDAD (3 y 10)
null
AND
null
null
Verdadero
AND
null
null
Falso
AND
null
Falso
OR
null
Verdadero
Verdadero
etc.
Definicin de datos
Definicin de vistas
Manipulacin de datos (interactiva y por programa)
Restricciones de integridad
Autorizacin
Restricciones de transaccin (Begin, commit, rollback).
REGLAS DE CODD
CLASE
DESCRIPCIN
Fund
Basic
Total
RS
Structure
14
RT
Data Types
RB
Basic operators
31
37
RZ
Advenced operators
42
44
RN
Naming
14
RE
14
22
RQ
Qualifiers
10
13
RJ
Indicators
14
14
RM
Manipulation
14
20
RI
Integrity
11
23
34
RC
Catalog
11
RV
Views
RA
Autorization
10
16
RF
Functions
10
RP
Protection
RD
16
RL
17
RX
29
29
Caracterstica RM/V2
Nombre
RS1
Information rule
RM1
Guaranteed access
RS-13,RM-10
Missing information
RC-1
Active catalog
RM-3
Comprehensive data
sublanguage
RV-4,RV-5
View updatability
RM-4
RP-1
RP-2
10
RP-3
Integrity independence
11
RP-4
Distribution independence
12
RI-16
Non-Subversion
Una
Unatabla-R
tabla-Res
es
un
tipo
especial
un tipo especial
de
desubconjunto
subconjunto
Terminologa:
Trmino Matemtico
Relacin de grado n
Atributo
Dominio
Tupla
Cardinalidad de una
relacin
No
Noexiste
existeelel
concepto
conceptode
de
posicin
posicinnini
duplicados
duplicados
RS - ESTRUCTURA
RB OPERADORES BSICOS
RZ OPERADORES AVANZADOS
RN REGLAS DE NOMBRAMIENTO
RA AUTORIZACIN
RF FUNCIONES ESCALARES Y DE
AGREGACIN
RP PROTECCIN FSICA
RL DISEO DE LENGUAJES
RELACIONALES
RX ADMINISTRACIN DE BD
DISTRIBUIDAS
RQ CALIFICADORES
RM MANIPULACIN
RI INTEGRIDAD
RC - CATLOGO
RV VISTAS
RS-1 CARACTERSTICAS DE LA
INFORMACIN
Caractersticas Orientadas a la
Estructura y a los Datos
RS-1 LA INFORMACIN
RS-4 PORTABILIDAD DE LA
INFORMACIN
Trmino ANSI
Trmino-R
Esquema externo
Vistas
Esquema conceptual
Relaciones base
Esquema interno
Representacin al
almacenar
Operadores Bsicos
1) RB-3 Igualdad
2) RB-4 Desigualdad
3) RB-5 Menor que
4) RB-6 Menor o igual que
5) RB-7 Mayor que
6) RB-8 Mayor o igual que
7) RB-9 El ms grande que sea menor que
8) RB-10 El ms grande que sea menor o igual que
9) RB-11 El ms chico que sea mayor que
10)RB-12 El ms chico que sea mayor o igual que
Se
Sepuede
puedeusar
usarcualquiera
cualquierade
delos
los10
10
operadores
lgicos
vistos
previamente
operadores lgicos vistos previamente
RB-34 ACTUALIZACIN DE PK
MARCANDO FKs
Operadores Avanzados
RZ-3 a 12 SEMI-THETA-JOIN
La reunin externa simtrica (symmetric outer equijoin) de S sobre B con T sobre C, denotada
W = S [ B / = \ C ] T,
est definida por
W = LOI union IEJ union ROI.
Esto implica que W = U union V.
Se forma St = S per T;
Se forma Ts = T per S;
Se forma la semi-equi-join U = S[sem=] Ts;
Se forma S \ - / T = St U.
Se representa por:
S \ /T
Eventos
desconocidos
para el SMBD
Eventos
no aplicables
Valor-de-BD
Aplicable
(Marca-A)
No aplicable
(Marca-I)
Otro
Valor
Valorde
deBD:
BD:Valor
Valorelemental
elementalde
delalabase
basede
dedatos.
datos.Es
Escualquier
cualquiervalor
valorque
queuna
una
sola
sola columna
columna puede
puede tener
tener en
en una
una relacin.
relacin. (Excepto
(Excepto en
en ciertas
ciertas funciones
funciones
especficos
especficoses
esun
unvalor
valoratmico)
atmico)
1.
1.
1.
x + x = 2x
x+A=A
A+x=A
A+A=A
A+I=I
I+A=I
I+I=I
x+I=I
I+x=I
PK Y FK EN RELACIONES BASE
APLICACIN DE IGUALDAD
P
v
m
f
not P
f
m
v
PQ
P
v
m
f
not P
f
m
v
v
P m
f
v
v
v
v
Q
m f
v v
m m
m f
PQ
P
v
m
f
not P
f
m
v
v
P m
f
v
v
v
v
Q
m f
v v
m m
m f
Q
PQ
v m
v v m
P m m m
f f f
f
f
f
f
P
v
a
i
f
not P
f
a
i
v
a = Marca-A, i = Marca-I
P
v
a
i
f
not P
f
a
i
v
PQ
v
v v
a v
i v
f v
Q
a i f
v v v
a a a
a i f
a f f
a = Marca-A, i = Marca-I
P
v
a
i
f
not P
f
a
i
v
PQ
v
v v
a v
i v
f v
Q
a i f
v v v
a a a
a i i
a I f
PQ
v
v v
a a
i i
f f
Q
a
a
a
i
f
i
i
i
i
f
f
f
f
f
f
APLICACIN DE FUNCIONES
ESTADSTICAS
EMP
Emp#
ENombre
Dep#
Salario
H_Ciudad
E107
Pancho
D12
10,000
Zitcuaro
E912
Jos
12,000
Colima
E239
Jos
12,000
Colima
E575
Pedro
D12
Colima
E123
Adrin
D01
15,000
Cuernavaca
E224
Rodrigo
Puebla
Emp#
EMP
ENombre
Dep#
Salario
H_Ciudad
E107
Pancho
D12
10,000
Citcuaro
E912
Jos
12,000
Colima
E239
Jos
12,000
Colima
E575
Pedro
D12
Colima
E123
Adrin
D01
15,000
Cuernavaca
E224
Rodrigo
Puebla
Dep#
Salario
D12
10,000
12,000
**
12,000
D12
D01
15,000
***
Dep#
Salario
D12
10,000
12,000
D12
##
D01
15,000
IV. SQL
INTRODUCCIN
HISTORIA
FECHA
EVENTO
1970
1974
1978
1979
1981
1982
1983
1986
1987
1988
FECHA
EVENTO
1989
1990
1991
1992
1993
1994
1996
1997
UDB DB2 de IBM unifica la arquitectura DB2 para las plataformas de IBM y de otros
fabricantes.
Los principales fabricantes de SGBD anuncian estrategias de integracin de Java.
FECHA
EVENTO
1998
Microsoft SQL Server 7 ofrece soporte de bases de datos para Windows NT en el mbito
empresarial.
Oracle 8i ofrece integracin entre las bases de datos e Internet y rompe con el modelo
Cliente/Servidor.
Se distribuyen por primera vez productos comerciales de bases de datos residentes en
memoria.
1999
J2EE estandariza el acceso JDBC a bases de datos desde los servidores de aplicaciones.
2000
2001
2002
Gartner clasifica a IBM como primer fabricante de bases de datos, superando a Oracle.
Una sentencia o instruccin SQL es como una frase (escrita en ingls ) con la que
decimos lo que queremos obtener y de donde obtenerlo.
Todas las sentencias empiezan con un verbo (palabra reservada que indica la accin
a realizar), seguido del resto de clusulas, algunas obligatorias y otras opcionales
que completan la frase.
Consideraciones para escribir sentencias SQL:
SENTENCIA
DESCRIPCIN
SELECT
INSERT
UPDATE
DELETE
SENTENCIA
CREATE
DROP
ALTER
DESCRIPCIN
Utilizada para crear nuevas tablas, vistas, esquemas, dominios e
ndices.
Empleada para eliminar tablas, vistas, esquemas, dominios e
ndices.
Utilizada para modificar las tablas, vistas, esquemas, dominios
e ndices.
SENTENCIA
GRANT
DESCRIPCIN
Se utiliza para conceder privilegios de acceso a los usuarios.
REVOKE
COMMIT
ROLLBACK
LDM: SELECT
Proyeccin
Seleccin
Tabla 1
Tabla 1
Reunin
Tabla 1
Tabla 2
SELECT *
FROM
departments;
Operador
Descripcin
Suma
Resta
Multiplicacin
Divisin
Un operador de concatenacin:
Concatena columnas o cadenas de caracteres a otras
columnas.
Esta representado por dos barras verticales ( || ).
Crea una columna como resultado que es una expresin de
carcter.
Operador
Significado
Igual que
>
Mayor que
>=
<
Menor que
<=
<>
Diferente que
Operador
Significado
BETWEEN
...AND...
IN(lista)
LIKE
IS NULL
Si es un nulo
El operador LIKE nos permite buscar filas que cumplan con un determinado
patrn:
El Segundo caracter es o
SELECT
FROM
WHERE
last_name
employees
last_name LIKE _o%';
Contiene SA_
SELECT employee_id, last_name, job_id
FROM
employees
WHERE job_id like '%SA\_%';
Operador
AND
Significado
Es TRUE si ambas condiciones son
verdaderas
OR
NOT
Orden de evaluacin
Operador
Significado
1
Operadores aritmticos
Operador
2
de concatenacin
Es TRUEOperador
si ambas condiciones
son
AND
3
Operadores de comparacin
verdaderas
IS [NOT] NULL, LIKE, [NOT] IN
OR 4
Es TRUE si alguna es las condiciones
5
[NOT] BETWEEN
es verdadera
6
Operador lgico NOT
Es TRUE si la siguiente condicin es
NOT
7
Operador lgico AND
falsa
8
Operador lgico OR
ESTNDAR DE SQL-99
Funcin SQL
BIT_LENGTH (expresin)
Descripcin
Devuelve la longitud de la
generalmente una cadena, en bits.
expresin,
CHAR_LENGTH (expresin)
CURRENT_DATE
CURRENT_TIME (precisin)
CURRENT_TIMESTAMP (precisin)
Funcin SQL
Descripcin
LOWER (cadena)
OCTET_LENGTH (cadena)
UPPER (cadena)
Funciones
Funciones de
slo una fila
Funciones de
mltiples filas
Caracteres
Generales
Funciones de
slo una fila
Conversin
Numricas
Fechas
Funciones
de caracteres
Funciones de manipulacin
de maysculas y minsculas
LOWER
UPPER
INITCAP
Funciones de manipulacin
de caracteres
SUBSTR
LENGTH
POSITION
LPAD | RPAD
TRIM
REPLACE
Funcin
Resultado
LOWER(Hola')
hola
UPPER('Hola')
HOLA
SELECT
SELECT
FROM
FROM
WHERE
WHERE
employee_id,
employee_id, last_name,
last_name, department_id
department_id
employees
employees
last_name
last_name == 'higgins';
'higgins';
Resultado
Hola
LENGTH('Hola Mundo')
10
LPAD(Hola,10,'*')
******Hola
Hola******
ola Mundo
ROUND:
Redondea el valor al decimal especificado
ROUND(45.926, 2) 45.93
TRUNC:
Trunca un valor al decimal especificado
TRUNC(45.926, 2) 45.92
MOD:
Devuelve el residuo de una divisin
MOD(1600, 300) 100
SELECT
TRUNC(45.923,2), TRUNC(45.923),
TRUNC(45.923,-2), TRUNC(4365.923,-2)
-------------------------------------45.92 45
0 4300
SELECT
last_name,
COALESCE(commission_pct, salary, 10)as comm
FROM
employees
ORDER BY commission_pct;
employee_id
last_name
department_id
department_id
department_name
location_id
100
King
90
101
Kochhar
90
60
IT
1400
70
Public Relations
2700
70
80
Sales
2500
110
90
Executive
1700
100
Finance
1700
110
Accounting
1700
120
Treasury
1700
204
Baer
205
Higgins
employee_id
department_id
department_name
199
50
Shipping
200
10
Administration
201
20
Marketing
202
20
Marketing
203
40
Human Resources
204
70
Public Relations
205
110
Accounting
206
110
Accounting
CROSS JOIN
Esta clusula produce el producto cruz de las dos tablas.
select last_name, department_name
from employees
CROSS JOIN departments;
NATURAL JOIN
Esta clusula est basada en todas las columnas de las dos
tablas que tienen el mismo nombre
Selecciona las filas que tienen el mismo valor en estas
columnas de ambas tablas
Si hay columnas con el mismo nombre, pero con tipo de
datos diferente, sale un error.
select department_id, department_name, location_id, location_id, city
from departments
NATURAL JOIN locations
where department_id IN (20, 50);
JOIN con ON
in
o
j
ui
q
E
OBJETIVO
exentos
de
anomalas
de
Prdida de restricciones
dependencias funcionales.
de
integridad.
Normalmente
debido
Ejemplos:
Restricciones de existencia (valores nulos).
Restricciones de unicidad (valores duplicados.
EJEMPLO
Esquema-prestamo =(nombre-sucursal,
ciudad-sucursal,
activo, nombrecliente,
nmero-prstamo,
importe)
nombre-sucursal
ciudad-sucursal
activo
nombre-cliente
numeroprstamo
importe
Centro
Arganzuela
9.000.000
Santos
P-17
1.000
Moralzarzal
La Granja
2.100.000
Gmez
P-23
2.000
Navacerrada
Aluche
1.700.000
Lpez
P-15
1.500
Centro
Arganzuela
9.000.000
Sotoca
P-14
1.500
Becerril
Aluche
400.000
Santos
P-93
500
Collado Mediano
Aluche
8.000.000
Abril
P-11
900
Navas de la Asuncin
Alcal de Henares
300.000
Valdivieso
P-29
1.200
Segovia
Cerceda
3.700.000
Lpez
P-16
1.300
Centro
Arganzuela
9.000.000
Gonzlez
P-18
2.000
Navacerrada
Aluche
1.700.000
Rodrguez
P-25
2.500
Galapagar
Arganzuela
7.100.000
Amo
P-10
2.200
Se sabe que:
Cada sucursal bancaria tiene un valor nico del
activo, por lo que dado el nombre de una sucursal se
puede identificar de manera nica el valor del activo.
Cada sucursal puede conceder muchos prstamos
por lo que, dado el nombre de una sucursal, no se
puede determinar de manera nica el numero de un
prstamo.
Ejemplo:
a) Semnticamente confusas
Ejemplo:
b) Informacin redundante en la tuplas y
anomalas de actualizacin.
Anomalas de actualizacin:
Anomalas de insercin.
Anomalas de eliminacin.
Anomalas de modificacin.
Ejemplo:
c) Valores nulos en la tuplas.
Ejemplo:
c)Tuplas espurias.
Se aplica proyeccin a EMP_PROY
es
una
DEFINICIN
A RyB R
La dependencia funcional
A B
es en R si y solo si para alguna relacin aceptable r(R),
siempre que dos tuplas t1 y t2 de r concuerden con los
atributos A, tambin concuerdan sobre los atributos B.
Esto es:
CIUDAD
P#
CANT
V1
Londres
P1
100
V1
Londres
P2
100
V2
Pars
P1
200
V2
Pars
P2
200
V3
Pars
P2
300
V4
Londres
P2
400
V4
Londres
P4
400
V4
Londres
P5
400
No se cumple: { P# } { cant }
DETERMINANTE Y DEPENDIENTE
Determinante Dependiente
Cuando se contiene slo un atributo en ambos
conjuntos denominado conjunto individual, se escribe:
V# ciudad
TIPOS DE DEPENDENCIA
Equivalente:
XY
YX
se representa: X Y
Ejemplo: { V# } { cant }
{ cant } { V# }
pero: X1 | Y
Lo representamos: X
X2 | Y
Funcional trivial: X Y
de X (Y C X).
es trivial si Y es un subconjunto
{ V#, P# } { V# }
1.
r satisface F
1.
F se cumple en R
calle-cliente ciudad-cliente
En el mundo real
Dos ciudades pueden tener
calles que se llamen igual.
nombre-cliente
calle-cliente
Ciudad-cliente
Santos
Mayor
Peguerinos
Gmez
Carreteras
Cerceda
Lpez
Mayor
Peguerinos
Prez
Carreteras
Cerceda
Fernndez
Jazmn
Len
Gonzlez
Arenal
La Granja
Relacin cliente
numero-prestamo importe
En la empresa real
Cada prstamo tienen
nico importe.
un
numero-prestamo
Nombre-sucursal
importe
P-17
Centro
1.000
P-23
Moralzarzal
2.000
P-15
Navacerrada
1.500
P-14
Centro
1.500
P-93
Becerril
500
P-18
Centro
2.000
Relacin prstamo
CIERRE DE UN CONJUNTO DE
DEPENDENCIAS
AXIOMAS DE ARMSTRONG
Notacin:
Letras griegas (, , ,..) para conjuntos de atributos
Letras latinas maysculas para atributos individuales
ab denota
Regla de la reflexibilidad. Si es un conjunto de
atributos y , entonces se cumple que
OTRAS REGLAS
EJEMPLO
Esquema de relacin
R = (A, B, C, G, H, I)
La dependencia funcional
H.
A B
A C
CG H
CG I
B H
La dependencia funcional
CG HI.
AG I.
2 x 2n = 2 n + 1
dependencias funcionales posibles
n es el nmero de atributos de R.
Ejemplo:
Esquema de relacin
Conjunto de dependencias funcionales
Calcular
(AG)+
resultado = AG
A B hace que se incluya B a resultado
resultado:= resultado B
R = (A, B, C, G, H, I)
AB
AC
CG H
CG I
BH
A B est en F
A resultado (AG)
Ejemplo:
AB
AC
CG H
CG I
BH
COBERTURA CANNICA
DEFINICIN
EJEMPLOS
es raro en
ABC
ABC
AC
ABCD
AC
Sea F
AB CD, A E y EC
Comprobar si C es raro en AB () CD ()
Hay que calcular el cierre de los atributos AB bajo F=
{ A B, BC, AC }
{ A B, BC, AD}
de
las
las
las
de
ABC
BC
AB
ABC
Calculamos el recubrimiento cannico de F.
dependencias