![Page 1: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/1.jpg)
Resumen de Bases de Datos
Última clase auxiliar
de CC42A / CC55A
Repaso para el examen
Mauricio Monsalve M.
![Page 2: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/2.jpg)
Principales temas a manejar
Modelamiento de
datos: modelo ER y
modelo relacional. Normalización y
formas normales. Álgebra relacional. SQL.
Evaluación de con-
sultas. Indexación. Transacciones
concurrentes. Recuperación ante
caídas.
![Page 3: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/3.jpg)
Modelos de datos
Entidad RelaciónEntidad Relación El de las cajas. Tener claro cómo
se escriben las
cardinalidades y el
concepto de enti-
dad débil.
RelacionalRelacional Relaciones
matemáticas. El modelo de las
tablas y las llaves
externas (referen-
cias).
![Page 4: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/4.jpg)
Ej. entidad relación
![Page 5: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/5.jpg)
Dependencias funcionales
X-->Y significa que,
implícitamente,
Y=f(X). Para iguales x
deben haber
iguales y.
![Page 6: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/6.jpg)
Dependencias funcionales
¿Qué dfs se
cumplen? ( a, b, c, d ) ( 10, 2, +, A ) ( 13, 3, - , A ) ( 11, 2, +, B ) ( 7 , 3, - , B )
Axiomas de Arm-
strong Reflexividad: ab->a Amplificación: a->b
y a->c => a->bc Transitividad: a->b
y b->c => a->c
![Page 7: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/7.jpg)
Dependencias multivaluadas
A->>B significa que
para cada valor de
A, deberán apare-
cer B(A) valores
asociados. a1b1c1 y a1b2c2
llevan a a1b1c2 y
a1b2c1.
![Page 8: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/8.jpg)
Dependencias multivaluadas
![Page 9: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/9.jpg)
Dependencias multivaluadas
A donde va la
mamá, van todos
los hijos. A->>B significa que
para cada A siem-
pre se asocian los
mismos B.
EjercicioEjercicio: Paseos
R(mami,hijo,lugar).
Tenemos: (Rosa,Juan,Arica),
(Luisa,Diego,Osorno),
(Rosa,Pablo,Copiapó)
Completar.
![Page 10: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/10.jpg)
Formas normales
1FN: Atributos
atómicos en las
relaciones. Lo aho-
ra inviolable. 2FN: Dependencia
completa de la llave
(no de una parte de
ésta).
![Page 11: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/11.jpg)
Formas normales
3FN: X->Y (no tri-
vial), X superllave o
Y atributo primo. FNBC: Más simple,
X->Y no trivial, X es
superllave. BC puede romper
dependencias.
![Page 12: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/12.jpg)
Formas normales
4FN: X->>Y (no tri-
vial), X es super-
llave. FNBC gene-
ralizado. 5FN: Producto re-
unión: R=P*Q*T,
entonces sólo
guardar P, Q y T.
![Page 13: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/13.jpg)
Formas normales
Como ejercicio ayudamemoria, pruebe las
siguientes propiedades: Pruebe que FNBC => 3FN. Pruebe que 4FN => FNBC. Pruebe que 3FN => 2FN. Pruebe que 5FN => 4FN.
![Page 14: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/14.jpg)
Normalización
Las formas nor-
males más impor-
tantes son 3FN y
FNBC. Encontrar árbol
cobertor mí-nimo
(sacar dependen-
cias redundantes).
Para 3FN hacer
cada dependencia
una relación. Si no
está la llave agre-
garla. Para FNBC partir la
relación sistemáti-
camente.
![Page 15: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/15.jpg)
Consultas SQL
La consulta SQL es
el SELECT. MUY importante. Tratar de que cada
consulta requiera
sólo una instrucción
(dejar holgura al
optimizador).
![Page 16: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/16.jpg)
Consultas SQL
Tenemos:Auto(Patente,Año,Kms,RUT)Auto(Patente,Año,Kms,RUT)Dueño(RUT,Nombre,Apellido)Dueño(RUT,Nombre,Apellido)Domicilio(RUT,Nro,Calle,Comuna)Domicilio(RUT,Nro,Calle,Comuna)
Conteste: Personas con a lo más tres autos. Personas que hayan usado todos sus autos y que
tengan residencia en todas las comunas.
![Page 17: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/17.jpg)
Almacenamiento en disco
Básicamente hay 3
tipos de archivo sin
índices. Heap: desordenado. Sorted: ordenado. Clustered: agrupado,
similar a ordenado.
![Page 18: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/18.jpg)
Almacenamiento en disco
Índices: B+Tree y
Hashing. B+Tree es un TDA
árbol con nodos in-
ternos que son guía
y con nodos hoja
que son punteros al
archivo principal.
Hashing se basa en
una función que ar-
roja un número.
H(atrib)=N. Es la
función de hashing. Saber más es más
conviene.
![Page 19: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/19.jpg)
Almacenamiento en disco
B+Tree permite
búsquedas en
igualdad y en ran-
go. Hashing sólo per-
mite búsquedas en
igualdad. Más efi-
ciente en eso.
Índice agrupado: es
“casi” ordenado en
relación a la tabla
que indexa. Su uso
es más eficiente. No agrupado: or-
den aleatorio (inefi-
ciencia secuencial).
![Page 20: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/20.jpg)
Evaluación de consultas
Es útil el álgebra
relacional. ¿Por
qué? Optimización:
Álgebra. Clase de equivalen-
cia. Función de costo.
Método: al ver ár-
boles, sólo consi-
derar left-joins. Ver la posibilidad
de usar índices. Estimar. De forma
grosa, pero hacer-
lo.
![Page 21: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/21.jpg)
Transacciones
El objetivo es per-
mitir el uso concur-
rente de la base de
datos. Scheduling de
transacciones.
Protocolos de blo-
queo. Niveles de ais-
lamiento. Propiedades ACID.
![Page 22: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/22.jpg)
Transacciones
Serializabilidad
(view serializability):
Cuando una ejecu-
ción concurrente es
equivalente a una
serial, en cuanto a
resultados finales.
Problemas de con-
sistencia: RW, WW,
WR. Aislamientos:
SERIALIZABLE
READ_REPETIBLE
READ_COMMITED
READ_UNCOMMITED
![Page 23: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/23.jpg)
Serializabilidad de conflicto
![Page 24: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/24.jpg)
Serializabilidad de conflicto
Dibujar gráfico y de-
pendencias de un
plan. Las dependen-
cias son conflictos. Grafo cíclico: malas
noticias. No serializable por
conflicto => No seria-
lizable.
![Page 25: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/25.jpg)
Recuperabilidad
![Page 26: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/26.jpg)
Recuperabilidad
El bandido va a en-
venenar a los ca-
ballos de la compe-
tencia. El tipo que sabe,
apuesta todo su
dinero al caballo
que quedará sano.
Pero el bandido no
cumple su cometi-
do, pues es atrapa-
do en el acto. El otro tipo ya apos-
tó, no hay manera
de deshacer su ac-
ción.
![Page 27: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/27.jpg)
Recuperabilidad y recuperación
Como el apostador
llegó a commit, no
se recupera. El
bandido cayó en el
abort, así que sus
“cambios” fueron
deshechos.
Recuperabilidad: si
T1 lee algo escrito
por T2, entonces
T2 hace commit
antes que T1. ¿Por qué? Por la
recuperación.
![Page 28: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/28.jpg)
Recuperación
Existen LOGs en las
bases de datos. Guardan las transac-
ciones. Ante una caída, se
deshace todo lo que
no haya hecho com-
mit, hacia atrás.
Recuperabilidad: (T1
lee de T2) Si T2 no ha
hecho commit, será
deshecho. Entonces
T1 también deberá ser
deshecho. Por eso, si
T2 no hace commit,
T1 tampoco.
![Page 29: Última clase auxiliar de CC42A / CC55A Repaso para el ...users.dcc.uchile.cl/~mnmonsal/BD/2005-2/auxfinal.pdf · Última clase auxiliar de CC42A / CC55A Repaso para el examen Mauricio](https://reader034.vdocumento.com/reader034/viewer/2022050305/5f6d9092d840910a0d33c69f/html5/thumbnails/29.jpg)
¡Eso ha sido!
Mucha suerte en el examen. Comer y dormir bien. Nada de “carretes tóxicos” el día anterior. Estudien de las tantas guías disponibles.
Vean: http://www.dcc.uchile.cl/~mnmonsal/BD http://www.dcc.uchile.cl/~cgutierr/cursos/BD http://www.dcc.uchile.cl/~cc42a