Sie sind auf Seite 1von 136

MANEJADORES DE BASES

DE DATOS
Elementos de un SGBD
MSI. GENARO MENDEZ LOPEZ /
genaromendezl@gmail.com @gmendez_itver
Objetivo
Comprender los elementos de un
Sistema Gestor de Base de Datos
(SGBD).
Arquitectura, Esquemas, Lenguajes e
Interfaces
Clasificacin
Caractersticas Principales.
Temas
Parte I
I. Modelos de Datos, Esquemas e
Instancias.
Categoras de los modelos de datos.
Esquemas, instancias y estados de una B.D.
II. Arquitectura de un SGBD e
Independencia de los Datos.
Arquitectura de tres esquemas
Independencia de Datos.
III. Lenguajes e Interfaces de B.D.
Lenguajes del SGBD.
Interfaces del SGBD.
Temas
Parte II
IV. El entorno del SGBD.
Mdulos componentes del SGBD
Utilidades del SGBD.
Herramientas, entornos de aplicacin y
recursos de comunicacin
V. Clasificacin de los SGBD.
VI. Sistemas de Gestin de Bases de
Datos: Perspectiva Histrica
Temario
Parte III
VII. Estructura Bsica de Oracle.
Estructura de la Base de Datos
Proceso Oracle
Arranque y Parada de Oracle
VIII. Estructura de la B.D. y su Gestin en Oracle
Objetos del esquema
El diccionario de datos de Oracle
SQL en Oracle. Mtodos en Oracle y Triggers
IX. Organizacin del Almacenamiento en Oracle.
Bloques de Datos
Extensiones
Segmentos
Temario
Parte IV
X. Programacin de Aplicaciones en Oracle
Programacin en PL/SQL
Cursores en PL/SQL
Pro * C.
XI. Herramientas de Oracle
XII. Visin General de Microsoft Access
Arquitectura de Access
Definicin de los Datos en Access
Definicin de las relaciones y restricciones de Integridad
Referencial
Manipulacin de Datos en Access
XIII. Caractersticas y Funcionalidad en Access
Formulario
Informes
Macros y Access Basic y Caractersticas Adicionales.

Evaluacin
2 Exmenes Parciales (20%)
Revisin de trabajos de
investigacin y exposiciones en
clase (30%)
Exmen Final (50%)

Introduccin
Manejadores de Bases de Datos
Conceptos y definiciones
Dato:
Conjunto de caracteres con algn significado,
pueden ser numricos, alfabticos, o
alfanumricos.
Informacin:
Es un conjunto ordenado de datos los cuales
son manejados segn la necesidad del usuario,
para que un conjunto de datos pueda ser
procesado eficientemente y pueda dar lugar a
informacin, primero se debe guardar
lgicamente en archivos.
Conceptos y definiciones
Campo:
Es la unidad ms pequea a la cual uno puede
referirse en un programa. Desde el punto de
vista del programador representa una
caracterstica de un individuo u objeto.
Registro:
Coleccin de campos de iguales o de diferentes
tipos.
Archivo:
Coleccin de registros almacenados siguiendo
una estructura homognea.
Qu es una Base de Datos?
Una Base de Datos es el conjunto
de datos almacenados con una
estructura lgica.
Antecedentes
Nacieron en la temprana poca de las
computadoras digitales, a mediados
de la dcada de los 50 y fueron una
de las principales herramientas que
stos ofrecan.
Surgieron como extensiones de
programas Fortran que permitan
acceso compartido a los datos.

Antecedentes
A finales de los 50, se desarrollaron
mtodos de acceso soportados por el
sistema operativo (acceso directo y
secuencial) y maduraron con los
sistemas operativos de segunda y
tercera generacin (principios de los
60).
Antecedentes
En los 60s se desarrollaron las bases de
datos estructuradas jerrquicamente y algo
despus las bases de datos de red.
A finales de los 60, Ted Codd, investigador
de IBM, desarroll un lenguaje de
programacin de propsito general que
denomin "programacin relacional",
basado en la teora de conjuntos y la lgica
y que contena el germen de lo que haba
de ser el ms extendido de los sistemas de
bases de datos hasta la fecha, las bases de
datos relacionales.
Objetivo principal
El objetivo primero de una base de
datos es, como su nombre indica,
almacenar grandes cantidades de
datos organizados siguiendo un
determinado esquema o "modelo de
datos" que facilite su almacenamiento,
recuperacin y modificacin.
Que es un SGBD?
Un Sistema Gestor de Base de Datos, es
una coleccin de programas y estructuras
de datos que nos permiten la manipulacin
o gestin de una BD.
Un SGBD facilita las funciones de:
almacenar fsicamente,
garantizar consistencia,
garantizar integridad,
atomicidad transaccional,
y manejar vistas a la informacin.
Por qu usar una SGBD?
Qu aporta esta tecnologa?
Software sofisticado para manejo de
grandes volmenes de datos.
Qu se hara si no se puede usar?
Desarrollar programas usando lenguajes
de propsito general. C, Pascal, Java,
C++, ...... Y
Esto que problemas trae?
Ms trabajo para manipular datos.
Productividad, Costos, Calidad.
Ventajas
Organizacin de la informacin.
Definicin central de datos.
Abstraccin de Datos.
Mltiples vistas de los datos.
Almacenamiento de datos y programas.
Programacin de la BD.
Separacin entre programas y datos.
Control de Restricciones de Integridad.
Estandarizacin de modelos y lenguajes.
Ventajas
Explotacin de la BD.
Datos compartidos.
Control de concurrencia.
Seguridad y Recuperacin ante fallas.
Datos persistentes en modelos
avanzados.
Actores involucrados
Visibles.
Administrador de BDs.
Diseador de BDs.
Desarrolladores de Sistemas de Info.
Usuarios finales.
Poco visibles.
Implementadores de SGBD.
Operadores de sistemas.
Por qu no usar SGBDs?
Alto costo en inversin:
Hardware.
Software.
Capacitacin tcnica.
Costo de administracin:
Del SGBD.
De las Bases de Datos.
Por qu no usar SGBDs?
Cuando no se justifica usar SGBDs?:
Muy pocos datos (planillas?).
Datos muy estables.
Alto performance (Tiempo Real).
No hay acceso concurrente.
Los SGBDs de escritorio:
Similares en Modelo de Datos a los grandes.
Bajo costo (plataforma PC). Por ejemplo: MS-
ACCESS
Objetivo especficos de un SGBDs
Es decir, un SGBD tiene por objetivos:
Acceso concurrente
Independencia fsica y lgica
Redundancia controlada de los datos
Alta relacin entre los datos
Integridad de los datos
Consistencia de los datos
Seguridad de los datos
Actualizacin fcil y coherente
Alto rendimiento
Reduccin de la dificultad de programacin
I. Modelo de Datos, Esquemas e
Instancias.
Manejadores de Bases de Datos
Esquema e Instancia
Se denomina Instancia.
Al estado que presenta una base de datos en un tiempo
dado. Vemoslo como una fotografa que tomamos de la
base de datos en un tiempo t, despus de que transcurre
el tiempo t la base de datos ya no es la misma.
Esquema.
Es la descripcin lgica de la base de datos, proporciona
los nombres de las entidades y sus atributos
especificando las relaciones que existen entre ellos.
Es un banco en el que se inscriben los valores que irn
formando cada uno de los atributos.
El esquema no cambia los que varan son los datos y con
esto tenemos una nueva instancia.
Esquema e instancia
Esquema de una BD:
Tipos de datos existentes.
Por ejemplo:
CURSOS(nro_curso, nombre, horas).
ESTUDIANTES(CI, nombre, fecha_nacimiento).
TOMA_CURSO(nro_curso, CI).
Muy estables.
Instancias:
Datos almacenados.
Muy voltiles.
Modelos de Datos
Qu son?
Lenguajes usados para especificar BDs.
Un Modelo de Datos permite expresar:
Estructuras.
Objetos de los problemas: Por ejemplo: CURSOS
(nro_curso, nombre, horas).
Restricciones.
Reglas que deben cumplir los datos. Por ejemplo:
(c CURSOS ) (c. horas< 120)
Operaciones.
Insertar, borrar y consultarla BD. Por ejemplo:
Insert into CURSOS (303,BD,90)
Modelos de Datos
Segn el nivel de abstraccin:
Conceptuales.
Representan la realidad independientemente
de cualquier implementacin de BD. Usado
en etapa de Anlisis.
Lgicos.
Implementados en SGBDs. Usado en etapas
de Diseo e Implementacin.
Fsicos.
Implementacin de estructuras de datos. P.
Ej.: ArbolesB, Hash.
Modelos de Datos

Categoras de los modelos
Modelo en red
Modelo CODASYL
Modelo jerrquico
Modelo orientado a objetos
Modelo Entidad-Asociacin
Modelo Relacional
Modelo en red
Una base de datos de red se compone por
una coleccin de registros que se conectan
entre si por medio de ligas.
Un registro equivale a una entidad y un
campo a un atributo del modelo entidad
relacin.
Los campos contienen exclusivamente
valores atmicos.
Una liga es una relacin que se establece
solamente entre dos registros; es decir;
debe utilizarse una liga para cada relacin
entre una pareja de registros
Diag. de estructura en red
Diagrama de Estructuras de Datos
(DED)
Permiten mostrar grficamente el
esquema de una base de datos en el
modelo de red. Sus componentes
principales son:
Cajas o cuadros: representan registros.
Lneas: representan ligas.

Estructura de datos en red
Clientes Cuentas
Ana xxxx 221528 25 180000
Angel xxxx 423374 30 50000
Mario xxxx 856490 50 20000
Ejemplo de diag. en red
Liga FECHA-CLIENTE Liga FECHA-CUENTA
NOM DIR TEL NC SALDO
FECHA
Ana xxxx 221528
25 180000
Angel xxxx 423374
30 50000
Mario xxxx 856490
50 20000
01/03/2000
30/09/1999
15/07/1999
Diag. de Estructura de Datos del
Modelo en Red.
Cliente Cuenta Liga Sucursal


Liga CLIENTE Liga Cuenta

Instancia
Cliente Liga Cuenta Sucursal

NOM DIR TEL
NC SALDO
FECHA
NUM CIUDAD
Ana xxxx 221528
25 180000
Angel xxxx 423374
30 50000
Mario xxxx 856490
50 20000
01/03/2000
30/09/1999
15/07/1999
35 Santiago
47 Concepcin
Modelo CODASYL
(COnference on DAta SYstem Languages,
Data Base Task Group)
Este modelo es una implementacin de las
reglas generales de operacin del modelo
de red. Toma de ste los aspectos
generales operativos, pero introduce las
siguientes caractersticas particulares:
Slo pueden utilizarse ligas muchos a uno.
Se prohben las ligas muchos a muchos
para simplificar la implementacin. Las ligas
uno a uno se representan utilizando ligas
muchos a uno.
Esquema CODASYL
a1 a2 a3 b1 b2
r1
A B
RA RB
R
Modelo Jerrquico
Una base de datos jerrquica consiste en
una coleccin de registros que se conectan
entre si por medio de ligas.
Los registros y las ligas son similares a los del
modelo de red, pero en el modelo jerrquico se
organiza en forma de rbol con raz (donde la
raz es un nodo ficticio); de tal manera que una
base de datos jerrquica es una coleccin de
rboles de este tipo, formando un bosque.
A cada rbol con raz se le denomina rbol de
base de datos.
Desventajas del modelo.
En este modelo un registro puede
tener que repetirse en varios
sitios que puede ocasionar los
siguientes problemas:
Riesgos de la inconsistencia al llevar
a cabo actualizaciones.
Inevitable desperdicio de espacio en
el medio de almacenamiento
secundario.
Diagramas de estruct. de rbol
Un diagrama de estructura de rbol es el
esquema de una base de datos jerrquica.
Tiene dos componentes bsicos:
REGISTROS y LIGAS.
Estos diagramas son similares a los de
estructura de datos en el modelo de red. La
diferencia radica en que en el modelo de
red los registros se organizan en forma de
un grafo arbitrario mientras que en el
modelo jerrquico se organiza en forma de
un rbol con raz.
Reglas de formacin del rbol
Las reglas para la formacin del rbol son:
1.-No hay ciclos
2.-De padre a hijos son vlidas las relaciones de
uno a uno y uno a muchos.
El esquema de una base de datos jerrquica se
representa como una coleccin de diagramas de
estructuras de rbol. Para cada diagrama existe
una nica instancia del rbol de base de datos.
La raz de este rbol es un nodo ficticio. Los
hijos de ese nodo son instancias del tipo de
registros adecuado.

Diagramas de Estructura de
Datos del Modelo Jerrquico
Ana xxxx 221528 ngel xxxx 423374 Mario xxxx 856490
50 20000 40 30000 35 50000 25 180000
Problemas del Modelo Jerrquico
1. Hijos con ms de un padre
2. Relaciones reflexivas
3. Ms de una relacin entre dos
entidades
4. Relaciones muchos a muchos
5. Hijos sin padre
Modelo Orientado a Objetos
El modelo de bases de datos orientado por objetos
es una adaptacin a los sistemas de bases de
datos.
Se basa en el concepto de encapsulamiento de
datos y cdigo que opera sobre estos en un objeto.
Los objetos estructurados se agrupan en clases.
El conjunto de clases esta estructurado en sub. y
superclases basado en una extensin del concepto
ISA del modelo Entidad - Relacin.
Puesto que el valor de un dato en un objeto
tambin es un objeto, es posible representar el
contenido del objeto dando como resultado un
objeto compuesto.
Estructura de objetos.
El modelo orientado por objetos se basa en encapsular
cdigo y datos en una nica unidad, llamada objeto. El
interfaz entre un objeto y el resto del sistema se define
mediante un conjunto de mensajes.
Un objeto tiene asociado:
Un conjunto de variables que contienen los datos del objeto. El
valor de cada variable es un objeto.
Un conjunto de mensajes a los que el objeto responde.
Un mtodo, que es un trozo de cdigo para implementar cada
mensaje.
Un mtodo devuelve un valor como respuesta al mensaje.
El trmino mensaje en un contexto orientado por objetos, no
implica el uso de un mensaje fsico en una red de
computadoras, si no que se refiere al paso de solicitudes
entre objetos sin tener en cuenta detalles especficos de
implementacin.
Ventajas del Modelo OO
La capacidad de modificar la definicin
de un objeto sin afectar al resto del
sistema est considerada como una
de las mayores ventajas del modelo
de programacin orientado a objetos.
Jerarquas de clases
En una base de datos existen objetos que responden a los
mismos mensajes, utilizan los mismos mtodos y tienen
variables del mismo nombre y tipo.
Sera intil definir cada uno de estos objetos por separado
por lo tanto se agrupan los objetos similares para que formen
una clase, a cada uno de estos objetos se le llama instancia
de su clase. Todos los objetos de su clase comparten una
definicin comn, aunque difieran en los valores asignados a
las variables.
As que bsicamente las bases de datos orientadas por
objetos tienen la finalidad de agrupar aquellos elementos que
sean semejantes en las entidades para formar un clase,
dejando por separado aquellas que no lo son en otra clase.
Ejemplo de jerarqua
Por ejemplo: En la relacin alumno-cursa-materia
agregndole la entidad maestro; donde los atributos
considerados para cada uno son alumno: Nombre, Direccin,
Telfono, Especialidad, Semestre, Grupo; Maestro: Nombre,
Direccin, Telfono, Nmero econmico, Plaza, RFC; Materia:
Nombre, Crditos, Clave.

Los atributos de nombre, direccin y telfono se repiten en la
entidad alumno y maestro, as que podemos agrupar estos
elementos para formar la clase Persona con dichos campos.
Quedando por separado en alumno: Especialidad, semestre,
Grupo. Y en maestro: Nmero econmico, Plaza y RFC; la
materia no entra en la agrupacin (Clase persona) ya que la
clase especfica los datos de solo personas, as que queda
como clase materia.
Herencia
Las clases en un sistema orientado por objetos se
representan en forma jerrquica como en el diagrama
anterior, as que las propiedades o caractersticas del
elemento persona las contendrn (heredaran) los elementos
alumno y maestro.
Decimos que tanto la entidad Alumno y maestro son
subclases de la clase persona este concepto es similar al
utilizado en la de especializacin (la relacin ISA) del modelo
E-R.
Se pueden crear muchas agrupaciones (clases) para
simplificar un modelo as que una jerarqua (en forma
grfica) puede quedar muy extensa, en estos casos tenemos
que tener bien delimitados los elementos que intervienen en
una clase y aquellos objetos que las heredan.
Consultas en BD. OO
Los lenguajes de programacin orientados por
objetos requieren que toda la interaccin con
objetos se realiza mediante el envo de mensajes.
Consideremos el ejemplo de alumno-cursa-materia
deseamos realizar la consulta de los alumnos que
cursan la materia de Base de Datos 1, para realizar
esta consulta se tendra que enviar un mensaje a
cada instancia alumno
As un lenguaje de consultas para un sistema de
bases de datos orientado por objetos debe incluir
tanto el modelo de pasar el mensaje de objeto a
objeto como el modelo de pasar el mensaje de
conjunto en conjunto.
Complejidad de modificacin
En base de datos orientados por objetos pueden existir los
siguientes cambios:

Adicin de una nueva clase: Para realizar este proceso, la nueva clase
debe colocarse en la jerarqua de clase o subclase cuidando las variables
o mtodos de herencia correspondientes.

Eliminacin de una clase: Se requiere la realizacin de varias
operaciones, se debe de cuidar los elementos que se han heredado de
esa clase a otras y reestructurar la jerarqua.

En s la estructuracin de modelos orientados por objetos simplifica
una estructura evitando elementos o variables repetidas en diversas
entidades, sin embargo el precio de esto es dedicarle un minucioso
cuidado a las relaciones entre las clases cuando en modelo es
complejo, la dificultad del manejo de objetos radica en la
complejidad de las modificaciones y eliminaciones de clases, ya que
de tener variables que heredan otros objetos se tiene que realizar
una reestructuracin que involucra una serie de pasos complejos.
Modelo E-R
Modelo Entidad - Relacin
Es un MD de alto nivel
Est basado en una percepcin del
mundo real que consiste en una
coleccin de objetos bsicos (entidades)
y de relaciones entre estos objetos.
Elementos del Modelo ER
Conjuntos entidad
Conjuntos asociacin
Cuestiones de diseo
Restricciones de asociaciones
Claves
Diagrama E-A
Caractersticas del modelo E-A
ampliado
Conjuntos entidad
Una base de datos se puede modelar como:
Un conjunto de entidades,
Asociaciones entre entidades.
Una entidades un objeto que existe y es
distinguible de otros objetos.
Ejemplo: una persona, compaa, evento o planta
determinada
Las entidades tienen atributos
Ejemplo: las personas tienen nombres y direcciones.
Un conjunto entidad es un conjunto de entidades
del mismo tipo que comparten las mismas
propiedades.
Ejemplo: el conjunto de todas las personas, compaas,
rboles, vacaciones
Ejemplo
Atributos
Una entidad se representa por un conjunto de atributos, que
son propiedades descriptivas que tienen todos los miembros
de un conjunto entidad.

cliente = (id-cliente, nombre-cliente,
direccion-cliente, ciudad-cliente)
prestamo= (numero-prestamo, cantidad)

Dominioel conjunto de valores permitidos para cada atributo
Tipos de atributo:
Atributos simplesy compuestos.
Atributos monovalorados y multivalorados
P.e. atributo multivalorado : numeros-telefono
Atributos derivados
Se pueden calcular a partir de otros atributos
P.e. edad, dada la fecha de nacimiento
Atributos compuestos
Conjuntos de relacin
Una asociacin es una relacin entre varias
entidades Ejemplo:
Lpez deposita A-102
entidad cliente conjunto asociacin entidad cuenta
Un conjunto asociacin es una relacin matemtica
entre n2 entidades, cada una perteneciente a un
conjunto entidad
{(e1, e2, en) | e1E1, e2 E2, , en En}
donde (e1, e2, , en) es una asociacin
Ejemplo:
(Lpez, A-102) depositos
Ejemplo
Conjuntos asociacin
Un atributo tambin puede ser
propiedad de un conjunto asociacin.
Por ejemplo, el conjunto asociacin
depositante entre los conjuntos
entidad cliente y cuenta puede tener
el atributo fecha-acceso
Ejemplo
Grado de un conj. asociacin
Indica el nmero de conjuntos entidad que pueden participar
en un conjunto asociacin.
Los conjuntos asociacin en que participan dos conjuntos
entidad se denominan binarias (o de grado dos).
Normalmente, la mayora de los conjuntos asociacin son
binarias.
En un conjuntos asociacin pueden participar mas de dos
conjuntos entidad.
P.e. Supongamos que los empleados de un banco pueden tener
puestos (responsabilidades) en varias sucursales, con diferentes
responsabilidades en cada sucursal. Entonces habr una
asociacin ternaria entre los conjuntos entidad empleado,
puesto y sucursal
Las asociaciones entre ms de dos conjuntos entidad no son
comunes. La mayora de las asociaciones son binarias.
Cardinalidad de un conj.
asociacin
Indica el nmero de entidades a las que se
puede asociar otra entidad mediante el
conjunto asociacin.
Fundamentalmente es til para conjuntos
asociacin binarios.
La cardinalidad de un conjunto asociacin
binario puede ser de cuatro tipos:
Uno a uno (1:1)
Uno a varios (1:M)
Varios a uno (M:1)
Varios a varios (M:N)
Cardinalidad
La cardinalidad afecta al diseo E-R
Podemos hacer fecha-apertura un
atributo de cuenta, en vez de un
atributo de asociacin, si cada cuenta
slo puede pertenecer a un nico
cliente
Es decir, la asociacin de cuenta a cliente
es varios a uno, o, los que es
equivalente, cliente a cuenta es uno a
varios
Ejemplo
Diagramas E-R
Rectngulos: representan conjuntos entidad.
Rombos: representan conjuntos asociacin.
Lneas: unen los atributos con los conjuntos entidad y los conjuntos
entidad con los conjuntos asociacin.
Elipses: representan atributos
Elipses dobles: representan atributos multivaluados.
Elipses discontinuas: denotan atributos derivados.
Subrayado: indica que un atributo es una clave primaria
Diagrama con atributos multivaluados y
derivados

Conjuntos asociacin con atributos

Roles
Los conjuntos entidad que participan
en una asociacin no tienen por que
ser distintos
En los diagramas E-A los roles se
indican etiquetando las lneas que
unen rombos y rectngulos.
Las etiquetas de rol son opcionales y
se utilizan para clarificar la semntica
de la asociacin.
Ejemplo
Las etiquetas directory trabajador se
denominan roles; indican cmo interactan las
entidades a travs del conjunto asociacin
trabaja-para.
Restricciones de cardinalidad
Las restricciones de cardinalidad se
indican dibujando o bien una flecha
(), que significa uno,o bien un
extremo sin flecha (), que significa
varios,entre el conjunto asociacin y
el conjunto entidad correspondiente.
Asociacin uno-a-uno
Un cliente se asocia con, como mximo un
prstamo mediante la asociacin
prestatario
Un prstamo se asocia con como mximo
un cliente mediante prestatario
Asociacin uno a varios
En una asociacin uno-a-varios un prstamo se
asocia con, como mucho, un cliente a travs de
prestatario, y un cliente se asocia con varios
(incluido 0) prestamos a travs de prestatario.
Asociacin varios a varios
Un cliente se asocia con varios (incluido 0)
prstamos a travs de prestatario
Un prstamo se asocia con varios (incluido 0)
clientes a travs de prestatario

Participacin de un conjunto entidad en
conjunto asociacin
Participacin total (se indica mediante una
lnea doble): cada entidad del conjunto
entidad participa en al menos una
asociacin del conjunto asociacin
P.e. la participacin de prstamo en prestatario
es total cada prstamo debe tener un cliente
asociado a travs de prestatario
Participacin parcial: algunas entidades
pueden no participar en ninguna asociacin
del conjunto asociacin
P.e. la participacin de cliente en prestatario es
parcial
Participacin total y parcial

Cardinalidad
Los lmites de cardinalidad tambin pueden
expresar restricciones de participacin.
Cardinalidad mnima.. Cardinalidad mxima.
Claves
Una superclave de un conjunto entidad es un
conjunto de uno o ms atributos cuyos valores
determinan de manera nica cada entidad.
Una clave candidata de un conjunto entidad es una
superclave mnima
Id-cliente es una clave candidata de cliente
numero-cuenta es una clave candidata de cuenta
Aunque pueden existir varias claves candidatas en
un conjunto entidad, una de ellas se debe elegir
como clave primaria.
Ejemplo de claves

Conjuntos de entidad dbil
Un conjunto entidad que no tiene una clave primaria se
denomina conjunto entidad dbil.
La existencia de un conjunto entidad dbil depende de la
existencia de un conjunto entidad identificador
debe estar relacionado con el conjunto entidad identificador
mediante un conjunto asociacin uno-a-varios total desde el
conjunto entidad identificador al conjunto entidad dbil
La asociacin identificadora se representa mediante un rombo
doble
El discriminador (o clave parcial) de un conjunto entidad dbil
es el conjunto de atributos que diferencian las entidades del
conjunto entidad dbil.
La clave primaria de un conjunto entidad dbil est formada
por la clave primaria del conjunto entidad fuerte del que
depende existencialmente el conjunto entidad dbil junto con
el discriminador del propio conjunto entidad dbil.
Conj. entidad dbil
Un conjunto entidad dbil se representa mediante un
rectngulo doble.
El discriminador de un conjunto entidad dbil se subraya
con una lnea discontinua.
Numero-pago:discriminador del conjunto entidad pago
Clave primaria para pago (numero-prestamo, numero-
pago)
Conj. entidad dbil
Nota: la clave primaria de un conjunto
entidad fuerte no se almacena
explcitamente en el conjunto entidad dbil,
dado que est implcita en la asociacin
identificadora.
Si numero-prestamo se almacenara
explcitamente, pago se podra convertir en
entidad fuerte, pero entonces la asociacin
entre pago y prestamo debera duplicarse
por la asociacin implcita definida por el
atributo numero-prestamo comn a pago y
prestamo
Especializacin
Proceso de diseo arriba-abajo; creamos
subgrupos con un conjunto de entidades que se
distinguen de las dems entidades del conjunto.
Estos subgrupos se convierten en conjuntos
entidad de ms bajo nivel que tiene atributos o
participan en asociaciones que no son aplicables al
conjunto entidad de nivel superior.
Se representa mediante un tringulo con la
etiqueta ISA (P.e. clientees unapersona).
Herencia de atributosun conjunto entidad de nivel
ms bajo hereda todos los atributos y
participaciones en asociaciones del conjunto
entidad de nivel superior al que est enlazado.
Ejemplo

Generalizacin
Proceso de diseo abajo-arriba combinar
una serie de conjuntos entidad que
comparten las mismas caractersticas en un
conjunto entidad de ms alto nivel.
La especializacin y la generalizacin son
procedimientos opuestos. Por ello se
representan de la misma forma en los
diagramas E-A.
Los trminos especializacin y
generalizacin se pueden utilizar como
sinnimos.
Especializacin y generalizacin
Puede haber varias especializaciones de un
conjunto entidad en base a diferentes
caractersticas
P.e. empleados-temporales vs. empleados-fijos, adems
de oficinistas vs. secretarios vs. Vendedores
Cada empleado debe ser:
Miembro de empleados-.temporales o de empleados fijos,
y tambin miembro de uno de los siguientes grupos:
oficinistas, secretarios, o vendedores
La asociacin ISA tambin se denomina asociacin
superclase subclase
Restricciones de diseo en una generalizacin
y especializacin
Restricciones sobre que entidades pueden ser miembros de un conjunto de
entidades de nivel ms bajo.
Definido por condiciones
P.e. todos los clientes de ms de 65 aos son miembros del
conjunto entidad mayor-de-edad; mayor-de-edad ISA persona.
Definido por el usuario
Restricciones sobre cuando o no las entidades pueden pertenecer a ms de
un conjunto entidad de nivel ms bajo dentro de la misma generalizacin.
Disjunto
Una entidad puede pertenecer a un solo conjunto entidad de menor
nivel.
Se indica en el diagrama E-A escribiendo disjunto al lado del
tringulo ISA
Solapado
Una entidad puede pertenecer a varios conjuntos entidad de menor
nivel
Restricciones (cont.)
Restriccin de completitud especifica
cuando o no una entidad del conjunto
entidad de nivel superior debe pertenecer a
al menos un conjunto entidad de menor
nivel en la generalizacin.
total : una entidad siempre debe pertenecer a
un conjunto entidad de menor nivel
parcial: una entidad no necesita pertenecer a
uno de los conjuntos entidad de menor nivel
Agregacin
Consideremos la asociacin ternaria trabaja-en.
Supongamos que queremos almacenar informacin sobre los
directores de las tareas que realiza cada empleado en una
sucursal
Agregacin (cont.)
Los conjuntos asociacin trabaja-en y dirige representan
informacin redundante
Cada asociacin dirige corresponde a una asociacin trabaja-en
Sin embargo, algunas asociaciones trabaja-en pueden no
corresponderse con ninguna asociacin dirige
Por eso no podemos descartar la asociacin trabaja-en
Eliminamos esta redundancia mediante agregacin
Tratamos la asociacin como una entidad abstracta
Permitimos asociaciones ente asociaciones
Abstraemos la asociacin en una nueva entidad
Sin introducir redundancia, el siguiente diagrama representa:
Un empleado trabaja en un puesto concreto en una sucursal
concreta
Una combinacin empleado, sucursal, puesto puede tener
asociado un director
Diagrama E-A con agregacin

Decisiones de diseo
El uso de un atributo o conjunto entidad para
representar un objeto.
Cundo un concepto del mundo real se expresa
mejor mediante un conjunto entidad o mediante un
conjunto asociacin.
El uso de asociaciones terciarias vs. dos
asociaciones binarias.
El uso de conjuntos entidad fuertes o dbiles.
El uso de especializacin/generalizacin
contribuye a la modularidad en el diseo.
El uso de agregacin se puede tratar el conjunto
entidad agregado como una sola unidad sin
importar los detalles de su estructura interna.
Resumen de smbolos utilizados
en E-A

Resumen de smbolos.

Resumen de smbolos

Modelo relacional
numero-cuenta nombre-sucursal saldo
A-101 Veracruz 500
A-102 Puebla 400
A-201 Oaxaca 900
A-215 Sonora 700
A-217 Guerrero 750
A-222 San Luis 700
A-305 Merida 350
Dominios
Un dominio Di es un conjunto de
valores
Ejemplo:
D1: (0,10,11,12,14,16)
D2: Conj. De los nmeros naturales
D3: (0,1,1/2,3,1/3,2/3)
D4:Conj. De los nmeros reales
D5: (0,1,2,-1,-2)
D6: (0, 3.1416, -3.1416)
Estructura bsica
Formalmente, dados los conjuntos D1, D2, . Dn una relacin r es
un subconjunto de
D1x D2 x x Dn
Es decir, una relacin es un conjunto de n-tuplas (a1,a2, , an) donde
cada aiDi

Ejemplo: Si
nombre-cliente= {Lpez, Vega, Surez, Dominguez}
calle-cliente= {5 de Mayo, Norte, Diagonal}
ciudad-cliente= {Mrida, Veracruz, Guadalajara}
Entonces r= { (Lpez, 5 de Mayo, Mrida),
(Vega, Norte, Veracruz),
(Surez, Norte, Veracruz),
(Dominguez, Diagonal, Guadalajara)}
es una relacin sobre
nombre-cliente x calle-cliente x ciudad-cliente
Tipos de atributo
Cada atributo de una relacin tiene un nombre
El conjunto de valores permitidos para cada
atributo se denomina dominio del atributo
Los valores de los atributos deben ser
(normalmente) atmicos, es decir, indivisibles
P.e. atributos con valores multivaluados no son atmicos
P.e. atributos con valores compuestos no son atmicos
El valor especial null pertenece a cualquier dominio
El valor nulo complica la definicin de algunos
operadores
Esquema de una relacin
A1, A2, , An son atributos
R= (A1, A2, , An) es un esquema de
relacin
P.e. Esquema-cliente= (nombre-cliente,
calle-cliente, ciudad-cliente)
r(R) es una relacin sobre el esquema
de relacin R
P.e. cliente (Esquema-cliente)
Definiciones
Tupla: es el nombre de cada elemento de R.
Grado de una tupla: nde componentes que tiene.
Grado de una relacin: el de sus tuplas.
Como R es un conjunto, todas sus tuplas son diferente y no
hay un criterio de orden definido entre las tuplas de R.
Una tupla es una lista ordenada de valores
t=<t1, t2, ... tn> | t1D1... tkDk
Atributos: a cada dominio que participa en una relacin se le
da un nombre.
Ahora una tupla puede ser una lista desordenada de valores
identificadas por sus nombres de atributos.
t=<ATRIB1=t1, ATRIB2=t2, ... ATRIBn=tn>
t=<ATRIB3=t3, ATRIB1=t1, ... ATRIBk=tk>
Esquemas y relaciones
Como ya fue mencionado anteriormente, El
esquema es el diseo lgico de la BD
El concepto de esquema de la relacin se
corresponde con el concepto de los tipos de
datos en los lenguajes de programacin.
El concepto de relacin se corresponde con
el concepto de variable de los lenguajes de
programacin.
Instancia de una relacin
Los valores actuales (instancia) de una relacin se
especifican mediante una tabla
Un elemento t de r es una tupla, y est
representado por una fila en una tabla
Las relaciones no tienen orden
El orden de las tuplas no es relevante (las tuplas se
pueden almacenar en un orden arbitrario)
P.e. la relacin cuentas con tuplas no ordenadas
numero-cuenta nombre-sucursal saldo
A-101 Veracruz 500
A-102 Puebla 400
A-201 Oaxaca 900
A-215 Sonora 700
A-217 Guerrero 750
A-222 San Luis 700
A-305 Merida 350
Bases de datos relacionales
Una base de datos est formada por un conjunto de relaciones
La informacin sobre una organizacin se divide en partes y cada relacin
almacena una parte de la informacin

P.e.: cuenta: almacena informacin sobre cuentas
depositante: almacena informacin sobre que cliente tiene
asignada que cuenta
cliente: almacena informacin sobre clientes

Almacenar toda la informacin en una sola relacin:
banco(numero-cuenta, saldo, nombre-cliente, ..) da lugar a
informacin repetida (p.e. dos clientes tienen una misma cuenta)
necesidad de valores nulos (p.e. informacin sobre un cliente sin cuenta)

La teora de la normalizacin se encarga de como disear esquemas
relacionales correctos
Claves
Dado K R
K es una superclave de R si los valores de K son
suficientes para identificar cada una de las tuplas
de cada relacin posible r(R)
por posible r indicamos una relacin r que pueda existir
en la organizacin que estamos modelando.
Ejemplo: {nombre-cliente, calle-cliente} y {nombre-
cliente} son ambas superclaves de Cliente, si
consideramos que dos clientes no pueden tener el mismo
nombre.
K es una clave candidata si K es mnima
Ejemplo: {nombre-cliente} es una clave candidata para
Cliente, dado que es una superclave (asumiendo que dos
clientes no pueden tener el mismo nombre), y ningn
subconjunto es una superclave.
Determinacin de claves a partir de
diagramas E-A

Conjunto entidad fuerte. La clave primaria del conjunto
entidad pasa a ser la clave primaria de la relacin.
Conjunto entidad dbil. La clave primaria de la relacin
est formada por la unin de la clave primaria del conjunto
entidad fuerte y el discriminador del conjunto entidad dbil.
Conjunto asociacin. La unin de las claves primarias de
los conjuntos entidad participantes es una superclave de la
relacin.
Para conjuntos asociacin varios-a-uno, la clave primaria del
conjunto entidad varios pasa a ser la clave primaria de la
relacin.
Para conjuntos asociacin uno-a-uno, la clave primaria de la
relacin puede ser la de cualquiera de los conjuntos entidad.
Para conjuntos asociacin varios-a-varios, la unin de las claves
primarias pasa a ser la clave primaria de las relacin.
Conversin de esquemas E-A a
relaciones
Las claves primarias permiten representar tanto los conjuntos
entidad como los conjuntos asociacin como relaciones que
representan los contenidos de la base de datos.
Una base de datos que sigue el esquema E-A se puede
representar mediante un conjunto de relaciones.
Para cada conjunto entidad y cada conjunto asociacin existe
una nica relacin a la que se le asigna el nombre del
conjunto entidad o conjunto asociacin correspondiente.
Cada relacin tiene columnas (normalmente una por
atributo), que tienen nombres nicos.
Convertir un diagrama E-A a relaciones es la base para
conseguir un diseo relacional a partir de ese diseo E-A
Representacin de conjuntos entidad como
relaciones
Un conjunto entidad fuerte se transforma en una
relacin con los mismos atributos.
Representacin de conjuntos entidad
dbiles.
Un conjunto entidad dbil se transforma en una
relacin a la que se le aade una columna para la
clave primaria del conjunto entidad fuerte
identificado
Representacin de conjuntos asociacin
como relaciones
Un conjunto asociacin varios a varios se representa con una
relacin con columnas para las claves primarias de los dos
conjuntos entidad participantes, y tambin para los atributos
descriptivos del conjunto asociacin.

P.e.: relacin para el
conjunto asociacin
Prestatario
Diagrama E-A para una entidad bancaria

La relacin cliente
La relacin depositante
Diagrama del esquema para una entidad
bancaria

Restricciones de dominio
Las restricciones de integridad nos protegen ante
daos accidentales en la base de datos,
asegurando que los cambios autorizados en la base
de datos no van a producir una prdida de
consistencia en los datos
Las restricciones de dominios son la forma ms
elemental de restricciones de integridad.
Comprueban los valores insertados en la base de
datos, y comprueban las consultas para asegurar
que las comparaciones tienen sentido.
Restricciones de dominio
Se pueden crear nuevos dominios a partir de los tipos de
datos existentes

P.e. create domain Pesos numeric(12, 2)
create domain Dolares numeric(12,2)

No se puede asignar o comparar un valor de tipo Pesos con
un valor de tipo Dlares.

No obstante, se pueden convertir tipos:
(cast r.A as Dolares)

(Se debera tambin multiplicar por la conversin dolares-a-
pesos)
II. Arquitectura de un SGBD e
Independencia de los Datos
Manejadores de Bases de Datos
Arquitectura lgica
Propiedades importantes de SGBDs:
Control global nico de la BD.
Separacin entre esquema y aplicaciones.
Esquema: visin global de los datos de la realidad.
Aplicaciones: programas sobre la BD.
Soporte a diferentes visiones de los datos.
Usuarios/aplicaciones ven subconjuntos de la BD.
Independencia de datos.
Esquema lgico independiente de implementacin.
Arquitectura en tres niveles
Niveles de abstraccin
El nivel fsico describe cmo se almacena un registro (p.e.,
cliente).
El nivel lgico: describe los datos almacenados en la base de
datos y las relaciones entre los datos.

typecliente = record
nombre: string;
calle: string;
ciudad: integer;
end;

EL nivel de vista: los programas de aplicacin ocultan detalles
de los tipos de datos. Las vistas tambin pueden ocultar
informacin (p.e. salario) por motivos de seguridad.
Esquema bsico
Independencia de datos
Independencia Lgica.
Independencia entre especificaciones de nivel
Lgico y Externo.
Cambiar partes de esquema lgico sin afectar a
los esquemas externos o a las aplicaciones.
Independencia Fsica.
Independencia entre especificacin de nivel
Lgico y Fsico.
Cambiar implementaciones sin afectar esq.
Lgico.
Lenguajes e Interfaces en
ambientes de Base de Datos
Provistos por SGBD
Definicin de esquema:
VDL (o SSDL) - View Definition Language.
SDL - Storage Definition Language.
DDL - Data Definition Language.
Suele englobar estos tres lenguajes.
Manipulacin de la BD:
DML - Data Manipulation Language.
Modificaciones en instancias.
QL - Query Language.
Subconjunto del DML, slo para consultas
Lenguajes e Interfaces en
ambientes de Base de Datos
Tipos de QL:
Declarativos.
Se especifica qu propiedad cumplen los datos.
No se especifica cmo se recuperan de la BD.
Suelen recuperar conjuntos de items (registros).
Es el DBMS que define el plan de ejecucin.
Procedurales.
Se especifica un algoritmo que accede a
estructuras del esquema lgico y recupera los
datos item por item (registro a registro).
Lenguajes e Interfaces en
ambientes de Base de Datos
Lenguajes de programacin:
Lenguajes host (anfitrion):
Lenguajes de uso general (C, COBOL, etc) en el cual
se embeben sentencias de DML.
Se tiene un pre-procesador que traduce el programa
con DML embebido en un programa puro.
PROBLEMAS: impedance-mismatch
Lenguajes 4GL:
Lenguajes procedurales orientados a acceso a BDs.
Conexin privilegiada con DMLs, reduce el impedance-
mismatch.
Resumen de lenguajes
DDL (Data Definition language): Lenguaje de Definicin de Datos.
Por medio de este el DBMS identifica las descripciones de los elementos
de los esquemas y almacena la descripcin del esquema en el catlogo
del DBMS.
Por medio de este el DBMS especifica el esquema conceptual e interno
(Base de datos Almacenada).
SDL (Store Definition language): Lenguaje de definicin de almacenamiento.
Es utilizado por el DBMS para especificar el esquema interno que
corresponde a la Base de Datos Almacenada.
VDL (View Definition language): Lenguaje de Definicin de Vistas.
Es utilizado por el DBMS para especificar las vistas del usuario y sus
correspondiencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinacin
de los anteriores.
DML (Data Manipulation language): Lenguaje de Manipulacin de Datos.
Permite la manipulacin de las operaciones de Insercin, Eliminacin y
Modificacin.
Tipos de DML's:
De alto Nivel o No por procedimientos: SQL.
De bajo Nivel o por procedimientos.
Lenguajes e Interfaces en
ambientes SGBDs
Interfaces especializadas:
Interfaces grficas de consulta.
Se visualizan las estructuras en forma
grfica.
Resultados como grficas (pastel, lineas,
etc).
Interfaces de Lenguaje Natural.
Se procesan frases y se traducen al QL.
Interfaces para Administracin.
Ambientes especializados.
Lenguaje SQL
SQL: lenguaje no procedimental
ampliamente utilizado
ej. encontrar el nombre del cliente con id-cliente
192-83-7465
select cliente.nombre-cliente from
cliente where cliente.id-cliente= 192-
83-7465
ej encontrar los balances de todas las cuentas
pertenecientes al cliente con id-cliente 192-83-
7465
select cuenta.balance from depositante,
cuenta where depositante.id-cliente=
192-83-7465 and depositante.numero-
cuenta = cuenta.numero-cuenta
SQL y programas de aplicacin
Los programas de aplicacin
normalmente acceden a bases de
datos mediante
Extensiones de lenguaje que permiten
embeded SQL
Interfaces de programacin de
aplicaciones (ej. ODBC/JDBC) que
permiten enviar consultas SQL a una
base de datos
Usuarios de un SGBD
Personal del DBA
Usuarios Espordicos
Programadores de Aplicaciones
Usuarios paramtricos
Estructura de un DBMS
Diferentes tipos de SGBDs
Segn el Modelo de Datos:
Relacional.
Orientado a Objetos.
Otros: Redes, Jerrquico, Deductivo, ...
Segn el porte:
Desktop (escritorio) / mono-usuario.
Servidor / multi-usuario.
Segn distribucin de la BD:
Centralizado.
Distribuido.
Resumen de los elementos de un
SGBDs
Gestor de Transacciones
Una transaccin es un conjunto de operaciones
que realizan una nica funcin lgica en una
aplicacin de bases de datos
El componente de gestin de transacciones
asegura que la base de datos se mantiene en un
estado consistente (correcto) aun cuando se
produzcan fallos en el sistema (ej. fallos de
alimentacin o del sistema operativo) o fallos de
transaccin.
El gestor de control de concurrencia controla la
interaccin entre transacciones concurrentes, para
asegurar la consistencia de la base de datos.

Das könnte Ihnen auch gefallen