Documente Academic
Documente Profesional
Documente Cultură
Pg. 1
Especialidad: Informtica
Sub-rea: Manipulacin de la Informacin
Unidad de Estudio: Bases de Datos
Objetivo # 2. Analizar los elementos fundamentales para el trabajo con bases de datos.
Pg. 2
Descripcin
Manipulacin
SABD
BD
Control de la concurrencia
Seguridad
Integridad
Recuperacin despus de una falla
Control de la concurrencia: La BD debe estar disponible para que varios usuarios autorizados puedan
accesarla en forma simultnea. Este acceso puede ocasionar conflictos cuando dos o ms usuarios se interesan
simultneamente en el mismo objeto (relacin, dato,...). El SABD debe disponer de mecanismos que permitan
arbitrar estas situaciones de manera que la BD quede en estado consistente despus de la intervencin de los
usuarios.
Pg. 3
Seguridad: No todos los datos deben estar disponibles para cualquier usuario. El SABD debe brindar mecanismos
que permitan confidencialidad de la informacin mediante controles como login (para poder
entrar a una red), password, encriptamiento (cdigo de mensajes solo receptor emisor lo conocen) (traducir
los datos en un criptograma por medio de un cdigo) y el control de flujo de los datos (persigue que un usuario
no pueda inferir los datos privados a partir de los datos que si tiene acceso).
Integridad: Un SABD debe establecer las reglas de integridad que ayuden a la verificacin semntica 1 y
sintctica2 de los datos. Esto es una parte importante en todo el desarrollo de bases de datos. Debe buscarse un
equilibrio pues dependiendo del nmero de reglas, el rendimiento del sistema se puede ver afectado. Un ejemplo
de una regla de integridad es que el salario del empleado siempre sea superior a 50.000 colones, si no es as, no
se permite el ingreso del dato.
Recuperacin despus de una falla: Con el fin de tener una BD consistente, se debe manejar las transacciones
como una ejecucin atmica, o sea, se realiza toda la transaccin o no se realiza del todo, borrando todo el
trabajo que una transaccin de usuarios haya podido hacer si sta aun no ha llegado a su punto de validacin.
Para ello, el SABD invoca a una bitcora para hacer, rehacer o deshacer los cambios generados por la transaccin
del usuario.
Administrador de la BD: Es una persona o grupo de ellas que debe mantener la BD en un estado consistente
y que su utilizacin sea lo ms eficiente posible. Es quien sirve de puente entre la BD y los usuarios finales. Debe
ser una persona con un alto conocimiento de la tecnologa de BDs y del SABD que est utilizando.
Tambin debe tener conocimientos de redes de computadoras. Sus funciones son:
o Dar mantenimiento al diccionario de datos, de manera que refleje claramente el significado de los
objetos, las asociaciones entre ellos y las reglas de integridad.
o Establecer y afinar la estructura fsica de la BD. o Realizar cambios en los mtodos de acceso o en
las estructuras de la BD, segn las necesidades de los usuarios y el mejoramiento del rendimiento
de la BD.
o Asignar cdigos de acceso, con el fin de mantener seguridad y confidencialidad de la BD. o
Implementar mecanismos de recuperacin de la BD en caso de falla. o Si se trabaja en un ambiente
distribuido, verificar el acceso desde diferentes sitios.
MODELO ENTIDAD-RELACIN
El modelo de los datos permite representar la informacin del mundo real en una forma cada vez ms fiel. Este
modelo de datos se compone de cinco conceptos que permiten establecer la estructura y manejar la complejidad
de los sistemas.
1. Entidad
2. Asociacin
3. Atributo
4. Herencia
5. Composicin
1.
1
2
Entidad: Es un conjunto de objetos similares que son agrupados debido a que tienen caractersticas
semejantes, segn el contexto de la aplicacin que se est modelando. El concepto objeto se refiere a
cualquier cosa concreta o abstracta del mundo real. Por ejemplo, Pedro, Mara y Juan son objetos de
la entidad PERSONA. Una entidad se representa grficamente por un rectngulo con dos zonas, en la
Semntica:
Sintctica:
Pg. 4
parte superior se colocarn los atributos que conforman la llave primaria de la entidad y el resto de los
atributos se colocan en la parte inferior.
Nombre de la Entidad
Juan Pedro Mara
Pg. 5
ESTUDIANTE (se matricula en) DEPARTAMENTO, es una asociacin N-1, pues varios estudiantes
se matriculan en un departamento y cada uno de ellos lo hace en uno solo.
PROFESOR (ensea a) ESTUDIANTE es una asociacin M-N, ya que un profesor puede ensear a
varios estudiantes y un estudiante puede recibir la enseanza de varios profesores.
La representacin grfica de las cuatro asociaciones binarias es la siguiente:
El tipo de asociacin traduce una restriccin del mundo real, que debe respetarse al interior del sistema y
se considera una regla de integridad.
La cardinalidad de una asociacin con respecto a una entidad se puede definir como un par (x,y) tal que:
x representa el nmero mnimo de objetos asociados con un objeto dado de la entidad.
y representa el nmero mximo de objetos asociados con un objeto dado de la entidad.
Un ejemplo de lo anterior utiliza las entidades PROFESOR y ESTUDIANTE y la asociacin (ensea).
(0,n): un profesor puede no impartir lecciones, por tanto su cardinalidad mnima es 0. Tambin
puede impartir lecciones a varios estudiantes, por lo que su cardinalidad mxima es n.
(1,m): Para ser considerado estudiante debe estar matriculado al menos con un profesor y puede
recibir la enseanza de varios profesores. Por ello, la mnima es 1 y mxima m.
3. Atributo: El atributo es uno de los principales medios usados para reunir y caracterizar objetos. Sirven
para representar ciertas caractersticas genricas de una entidad. Un atributo es un conjunto de posibles
valores. No se debe confundir atributo con su valor.
Para que una entidad exista debe tener al menos un atributo. Una asociacin puede tener atributos
ligados a ella.
Pg. 6
Los atributos que se asignen a una entidad dependen del contexto de la aplicacin y se deben usar nombres
de atributos no ambiguos y algunos atributos pueden identificar de forma nica los diferentes objetos de
la entidad. Este conjunto mnimo se denomina llave.
Una entidad puede tener varias llaves asociadas y las llaves pueden tener ms de un atributo. Cada una
de las llaves de una entidad se denominan llaves candidatas. De ellas la que se escoja como llave principal
se llamar llave primaria y las otras se llamarn alternas.
En la figura anterior se muestra la ubicacin de las llaves primarias, un atributo como el nmero de cdula
puede ser una llave de la entidad PROPIETARIO pues se sabe que cada persona tiene un nico nmero
de cdula que lo identifica. El nombre de un propietario no puede ser llave pues existen personas diferentes
con el mismo nombre. Por su parte, para la entidad VEHCULO una llave puede ser la placa del vehculo.
Sea E una sper-entidad y F una sub-entidad de E. Entonces, F hereda todas las propiedades de E; es decir,
si F es un E, entonces hereda todos los atributos de E.
Los atributos adicionales --propiosde F, no pueden ser heredados por E. La llave primaria de la sperentidad
se hereda a las sub-entidades y ser la llave primaria de las mismas.
Sin embargo, una herencia no siempre es una particin, por tanto, hay objetos que pertenecen a varias
subentidades. Esto se denomina categora.
La herencia mltiple se da cuando una sub-entidad puede tener varias sper-entidades asociadas.
Pg. 7
Ejemplo de herencia
5. Composicin: Se utiliza para administrar la abstraccin y la complejidad en los sistemas. Tambin se
llama agregacin.
Trata de reunir varias entidades de un mismo nivel en una nueva entidad de un nivel superior. Esta ltima se
llama el compuesto y se determina por medio de las entidades del nivel inferior, llamadas los componentes.
As una entidad compuesta de otras entidades se define como el producto cartesiano de estas entidades.
Pg. 8
Ejemplo
El conjunto de entidades transaccin que tiene tres atributos: num _ transaccin, fecha y cuenta. Aunque
cada entidad transaccin es distinta, las transacciones en cuentas diferentes pueden compartir el mismo numero
de transaccin. As, este conjunto de entidades no tiene clave primaria, por lo tanto es dbil.
Para que un conjunto dbil sea significativo, debe ser parte de un conjunto de relaciones a muchos.
El discriminador de un conjunto de entidades dbil es un conjunto de atributos que permite que se haga
esa distincin. Por ejemplo, el discriminador del conjunto de entidades dbil transaccin es el atributo
num_transaccion, ya que para cada cuenta un nmero de transaccin idntica de forma nica una nica
transaccin.
La clave primaria de un conjunto de entidades dbil est formada por la clave primaria del conjunto de
entidades fuerte de la que dependen su existencia y su discriminador. En el ejemplo del conjunto entidades
transaccin, su clave primaria es {numero_cuenta, num_transaccion} donde numero_cuenta identifica la entidad
dominante de una transaccin, y num_transaccion distingue entidades transaccin dentro de la misma cuenta.
Transaccin
{num _ Transaccin, num_ cuenta} Fecha
1-1-111-1111
13/4
2-1-111-1111
13/4
1-2-222-2222
13/4
Modelo E-R de muchos a muchos: muchos clientes pueden tener muchas cuentas.
Modelo E-R de muchos a uno: muchos clientes pueden tener una cuenta.
Pg. 9
Pg. 10
la tabla ser:
Cuenta
Pg. 11
Num_Cuenta
123
591
937
562
888
Saldo
50.00
500.00
5.00
435000.00
761.50
la tabla ser:
Cliente
Nombre
Julio Brenes
Marlene Vindas
Juan Perez
Ana Fernndez
Marco Gutirrez
SS
1-3544-4874
1-7982-4781
1-5646-6113
1-4468-6888
1-8646-4564
Calle
15 av. 5
13 av. 4
5 av. 5
6 av. 5
5 av 12
Ciudad
San Jos
San Jos
San Jos
San Jos
San Jos
{ b1, b2, , bs }
Pg. 12
la tabla ser:
Transaccin
Num_Cuenta
Num_Trans
Fecha
Cantida
d
123
05/05/01
+100
591
203
11/11/01
-256
937
11
20/12/01
+524
562
75
09/05/01
-1000
888
12
30/05/01
+300
Este conjunto de entidades (Transaccin) tiene tres atributos: Num_Trans, Fecha, Cantidad. La clave
primaria de la entidad Cuenta, de la que transaccin es dependiente, es Num_Cuenta. As, Transaccin se
representa mediante una tabla con 4 columnas etiquetadas: Num_Cuenta, Num_Trans, Fecha y Cantidad.
Prctica
Haga el diagrama E-R para:
Artculos y Encargos.
Una base de datos para una pequea empresa debe contener informacin acerca de clientes, artculos y
pedidos. Hasta el momento se registran los siguientes datos en documentos varios:
Para cada cliente:
Nmero de cliente (nico).
Direcciones de envo (varias por cliente).
Pg. 13
Saldo.
Lmite de crdito (depende del cliente, pero en ningn caso debe superar
3000,000.00).
Descuento.
Para cada artculo:
Nmero de artculo (nico).
Fbricas que lo distribuyen.
Existencias de ese artculo en cada fbrica.
Descripcin del artculo.
Para cada pedido:
Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera est formada por el nmero de
cliente, direccin de envo y fecha de pedido. El cuerpo del pedido son varias lneas, en cada lnea se especifican
el nmero del artculo pedido y la cantidad.
Adems, se ha determinado que se debe almacenar la informacin de las fbricas. Sin embargo, dado el
uso de distribuidores, se usar:
Nmero de la fbrica (nico).
Telfono de contacto.
Y se desean ver cuntos artculos (en total) provee la fbrica.
Tambin por informacin estratgica se podra incluir informacin de fbricas alternativas respecto de
las que ya fabrican artculos para esta empresa.
Nota:
Una direccin se entender como nmero, calle, comunidad y ciudad.
Una fecha se incluye hora.
Pg. 14
Los atributos deben ser diferentes, no as los dominios. Varios atributos pueden compartir re mismo
dominio.
Cada celda c(i,j), se llama componente y toma sus valores del dominio Dj.
Cada fila [ c(i,1), c(i,2), , c(i,n) ], 1 I m, se denomina tupla.
Las tuplas en una armazn deben ser diferentes, esto significa que deben diferenciarse
al menos en los valores de un mismo atributo.w
Con estas reglas se define una relacin R de grado n, como una armazn de m x n completamente utilizada, con
m, n 1. Primero: En la cual la fila 0, que se llamar encabezado de la relacin y se denota por :
R (( A1,D1), ( A2,D2), , ( An,Dn))
Segundo: El conjunto de las tuplas de la relacin que se llamar contenido de la relacin y se denota por {
[ a11, , a1n], [ a21, , a2n], , [ am1, , am n] }
El encabezado se conoce tambin como esquema de la relacin y se denota por
R ( A1, A2, , An)
Un conjunto mnimo de atributos que determinan al resto de atributos se denomina llave candidata. La que se
escoja como llave principal se denomina llave primaria y al resto de llaves candidatas de les llamar llaves
alternas.
Un dominio es primario si sobre l se ha definido una llave primaria. Una llave externa es un atributo definido
sobre un dominio primario y que no es llave primaria.
Ejemplo. Sean las relaciones PROFESOR Y ESTUDIANTE, que traducen la lista de profesores de una
universidad que imparten cursos a los estudiantes que se han matriculado en el ao lectivo.
Pg. 15
Cdula
2302445
1456989
5435433
ESTUDIANTE
Carn
878987
852341
912348
Nombre
Astrid Mata
Julia Brenes
Pedro Sancho
Nombre-Profesor
Juan Mora
Mario Coto
Ana Salas
Ttulo
M.Sc.
Ph.D.
Dr.
Nombre-Carrera
Electrnica
Computacin
Computacin
Categora
Asociado
Asociado
Catedrtico
Nmero- Profesor
2234
2678
2678
Nmero-Profesor en la relacin PROFESOR se define como llave primaria y Cdula como llave alterna pues
estos dos atributos determina en forma nica al resto de los atributos. En la relacin ESTUDIANTE Carn es llave
primaria y el atributo Nmero-Profesor es llave externa. Las llaves primarias se subrayan.
REGLAS DE INTEGRIDAD
1. Integridad de dominio
Permite controlar la sintaxis y la semntica de un dato cualquiera y concierne al tipo de definicin del dominio.
Ejemplo: Si se considera la relacin
VIAJE( Nm-Viaje, Nm-Turista, Num-Sitio, Fecha-Salida, Fecha-Llegada, C-Salida) podra describirse as:
Definicin de dominios:
Nmero: Nmero de 5 dgitos
Fecha: Fecha definida con un formato date mm-dd-aa
Ciudad: Ciudad en un pas y establecida como un string de 20 caracteres.
Definicin de la relacin:
VIAJE(Nm-Viaje, definido sobre Nmero
Nm-Turista, definido sobre Nmero,
Num-Sitio, definido sobre Nmero,
Pg. 16
SITIO
Nom_turista
Carlos
Pedro
Juan
Ana
Mara
Pas
Num_sitio
C.R
125
Per
126
Tnez
127
Canad
128
Chile
129
130
Nom_sitio
Isla More
Iraz
Valle azul
Baha Ery
Rinesky
Ging Jo
Tipo
Mar
Volcn
Desierto
Mar
Volcn
Desierto
Continente
Oceana
Amrica
Africa
Amrica
Africa
Asia
VIAJE
Num_viaje
Num_turista
Num_sitio
Fecha_salida
Fecha_llegada
Ciudad_salida
03-96
04-96
05-96
06-96
07-96
301
303
301
304
302
125
129
128
127
128
3/3/96
7/4/96
7/5/96
7/6/96
7/28/96
3/10/96
7/14/96
7/12/96
7/14/96
8/13/96
Pars
Las Vegas
Dar-es-Salam
San Jos
Mombasa
Si se consideran las tablas anteriores, se dira que las relaciones SITIO y TURISTA son primarias, pues sus
existencias no dependen de ninguna otra relacin. Sin embargo VIAJE depende de las relaciones anteriores. Por
esa razn se dice que VIAJE es secundaria. As, el conjunto de valores que toma el atributo Num_sitio en la relacin
VIAJE, debe ser un subconjunto de los valores de Num_sitio en la relacin SITIO. Asi mismo, el conjunto de valores
de Num_turista en la relacin VIAJE debe ser un subconjunto de los valores que aparecen en el atributo
Num_turista de la relacin TURISTA.
A la hora de escoger un SABD relacional un factor importante en la decisin final es la capacidad que
tenga el producto para brindar facilidades de establecer este tipo de reglas de integridad y la manipulacin de
los datos contenidos en la BD.
Pg. 17
ALGEBRA RELACIONAL
Est constituida por una serie de operadores que se aplican a las relaciones de la BD.
Una consulta de usuario que se haga por medio de un lenguaje de este tipo, se interpreta como una
expresin algebraica constituida por relaciones de base, vista y operadores.
Son ocho los operadores del lgebra relacional y se clasifican en operadores relacionales y operadores
conjuntistas.
Operadores Conjuntistas
Operadores Algebraicos
Unin:
R S={t/t R t
Interseccin
S}
S={t/t R
t S}
Diferencia R - S = { t / t R t
Conjuntistas
Operadores Relacionales
Unin
Interseccin
Diferencia
Producto Cartesiano
S}
Producto cartesiano R X S = {
t,s / t R s S}
Proyeccin
Unarios
Binarios
Join
Divisin
Seleccin
R
RxS
R S
R
R-S
X
R
S
R
S
R
S
Representacin grfica de los operadores conjuntistas
Pg. 18
CULTURAL
No
Nombre
Direccin
Telfono
No
Nombre
Direccin
Telfono
24
49
67
Juan Coto
Ana Salas
Eva Mora
Alajuela
Heredia
Heredia
4427867
124
2375643
569
2379898
Alajuela
Limn
4427867
7679899
Juan Coto
Eric Soto
Si se desea tener la lista de los estudiantes que se encuentran matriculados en al menos una actividad, se
puede hacer la unin entre las dos relaciones DEPORTIVA y CULTURAL, como sigue:
DEPORTIVA
CULTURAL
No
Nombre
Direccin
Telfono
124
149
267
569
Alajuela
Heredia
Heredia
Limn
4427867
2375643
2379898
7679899
Juan Coto
Ana Salas
Eva Mora
Eric Soto
Si se desea la lista de los estudiantes que se encuentren matriculados en ambas actividades, se podra
conseguir haciendo una interseccin entre ambas relaciones DEPORTIVA CULTURAL.
DEPORTIVA
CULTURAL
No
Nombre
124
Juan Coto
Direccin
Alajuela
Telfono
4427867
La diferencia DEPORTIVA CULTURAL dara la lista de los estudiantes que llevan solo actividades
deportivas, independientemente de si se encuentran matriculados o no en actividades culturales.
DEPORTIVA - CULTURAL
No
Nombre
149
Ana Salas
267
Eva Mora
Direccin
Heredia
Heredia
Telfono
2375643
2379898
El producto cartesiano dar todas las posibles combinaciones de tuplas de las dos relaciones.
DEPORTIVA X CULTURAL
No
124
149
Nombre
Juan Coto
Ana Salas
Direccin
Alajuela
Heredia
Telfono
4427867
2375643
No
124
569
Nombre
Juan Coto
Eric Soto
Direccin
Alajuela
Limn
Telfono
4427867
7679899
Eva Mora
Juan Coto
Ana Salas
Eva Mora
Pg. 19
Heredia
Alajuela
Heredia
Heredia
2379898
4427867
2375643
2379898
124
569
124
569
Juan Coto
Eric Soto
Juan Coto
Eric Soto
Alajuela
Limn
Alajuela
Limn
4427867
7679899
4427867
7679899
Operadores Relacionales
La Proyeccin
Es un operador unario, es decir, se aplica sobre una sola relacin a la vez y permite una descomposicin
de tipo vertical de la relacin involucrada.
En primer lugar, La tupla proyectada es la tupla resultante al eliminar los valores cuyos atributos no se
encuentran en X, y se denota por t[X], se lee: tupla proyectada a X.
Ejemplo
Sea la relacin PINTOR(Nombre, Pas, Movimiento, Epoca) y
X= {Nombre, Epoca} un subconjunto de atributos de esta realcin.
Sea la tupla t = [Diego de Rivera, Mxico, Precolombino, 1886-1957], entonces la tupla t proyectada a X es
la siguiente
t[X] = [Diego de Rivera, 1886-1957]
En segundo lugar, la proyeccin de la relacin R sobre X se denota por R[X] y se define como el conjunto
de tuplas de R proyectadas a X, es decir,
R[X] = { t[X] / t es una tupla de R}
Ejemplo
La relacin R(A,B,C) sobre X = {A,C}, es decir, R[A,C].
R(A,B,C)
R[A,C]
Pg. 20
R
Ejemplo. Dar los nombres de los turistas del Club de Ecoturismo.
La respuesta a esta consulta sera RESULTADO = TURISTA Nombre_Turista
consulta
RESULTADO
Nombre
_Turista
La Seleccin
Es un operador unario, brinda una descomposicin horizontal de una relacin. El resultado de una
seleccin es el conjunto de tuplas que satisface una condicin. Se utilizarn las siguientes equivalencias:
AND por OR
por
NOT por
Ejemplo: A la relacin R(A,B,C) se le har una seleccin sobre el atributo B.
R : (B =
R(A,B,C)
Pg. 21
:
R
Ejemplo:
Para la consulta: Dar la informacin sobre los sitios que son volcanes y que se encuentran en Africa.
Entonces se puede aplicar el operador de seleccin a la relacin SITIO, de la siguiente forma: RESULTADO
= SITIO : (Tipo = `Volcn` AND Continente = frica`).
El rbol asociado a esta consulta ser:
RESULTADO
:
SITIO
El - Join
Es el operador ms importante del lgebra relacional, tambin llamado
producto.
fusionar en una sola relacin dos relaciones que tengan al menos un atributo en comn.
Ejemplo:
R
A
S
B
R(B =B)
A
Su papel es
Pg. 22
S
A
a
b
c
c
B
1
2
3
3
R * S
A
a
c
B
1
3
C
x
y
z
w
C
x
z
B
1
4
3
3
C
x
y
t
z
D
m
n
D
m
l
A B
*
S
R
La Divisin
Permite recuperar las tuplas de una relacin que se encuentran asociadas con todas las tuplas de la otra
relacin.
La divisin de la relacin R entre la relacin S y denotada por R S.
Ejemplo:
Se tiene dos relaciones R y S, en donde R da una lista de personas que comen frutas y S las frutas disponibles. La
divisin entre estas dos relaciones puede dar la lista de personas que comen todas las frutas.
Pg. 23
S
R S
A
Bibliografa
Gonzlez Alvarado, Carlos. Sistemas de Bases de Datos. Editorial Tecnolgica de Costa Rica, Cartago,
Primera Edicin, 1996. 491 pginas.
El Mundo de la Computacin. Curso Terico Prctico de Informtica. Editorial Ocano, Barcelona Espaa,
Tomo 4.