Sei sulla pagina 1di 15

Prctica Base de Datos II

Practica 1 Teora de Normalizacin


1.

Dados las siguientes instancias de relacin indique 2 dependencias funcionales verdaderas y 2


falsas sobre los mismos
a)

2.

a1

b1

c1

d1

a2

b1

c2

a3

b2

c1

e1

a2

b2

c2

d1

e2

d1

e1

a1

b2

c1

d2

e1

d1

e2

a1

b2

c1

d2

e2

Dadas las siguientes instancias de relacin y las siguientes dependencias funcionales indicar para
cada una de ellas si son verdaderas o falsas. Justificar.
a)
A

a1

b1

c1

d2

a2

b1

c1

a2

b2

c1

b)

e1

a1

b1

c1

d2

e1

d2

e1

a1

b2

c2

d1

e1

d1

e2

a2

b3

c3

d2

e2

DF
A->B
ABC->AC
B->C
C->B
B->CD
AB->E
BE->C
E->B
E->C
3.

b)

Instancia a)

Instancia b)

Dado la siguiente relacin R = {A, B, C, D, E, F, G} y el siguiente conjunto de dependencias


funcionales F={ AB->CD, D->AB, D->E, E->FG }, determinar cules de las siguientes dependencias
funcionales pertenecen a la clausura del mencionado conjunto de dependencias funcionales:

Segundo cuatrimestre del 2015

Prctica Base de Datos II


a)
4.

AB->D

f)

b) AB->F

ABC->E

c)

D->G

d) D->C

e)

E->D

Dado el F utilizado en el ejercicio anterior

a)

calcular la clausura de los siguientes conjuntos de atributos:


i. AB

ii. D

iii. E

5.
6.
7.
8.

b) reconoce alguna relacin entre las respuestas del ejercicio anterior y los resultados del
clculo de la clausura de los conjuntos del punto a).
Cmo podra probar que una dependencia funcional es falsa?

Indique para cada uno de los conjuntos de atributos del punto a) del ejercicio anterior si los
mismos constituyen claves candidatas de R. Justifique su respuesta
Calcular todas las claves candidatas para el conjunto R del ejercicio 3. Indicar la clave primaria del
mismo

Dado los siguientes R y F, indicar para cada uno de los siguientes conjuntos de atributos si los
mismos representan una clave candidata, una superclave o ninguna de las dos.

R = { A, B, C, D, E, F, G} ; F = {A->B, C->D, E->AB, E->FG, F-> E, F->BD}


a) AB
b) A
c) AC
9.

f)

FC

g)

DA

h) G

d) E
i)

e)
j)

EA
C

Dadas las siguientes relaciones y los siguientes conjuntos de dependencias funcionales hallar el
cubrimiento minimal para cada uno de los mencionados conjuntos
a)

R = {A, B, C, D, E, F, G}; F = {A->B, C->D, E->AB, E->FG, F-> E, F->BD}

c)

R = {A, B, C, D, E, F, G, H}; F= {D->ABCFG, D->E, E->FG}

e)

R = {A,B,C,D,E,F,G,H,I } Y F = {ABC->D; C->G; A->CEG; B->FH ;B->I; I->B; I->H, BI->F}

b) R = {A, B, C, D, E, F, G, H}; F= {AB->CD, D->AB, D->E, E->FG, DE->F, ABC->E}


d) R = {A, B, C, D, E, F, G, H, I}; F= {AB->CDH, DH->AB, DH->E, E->FG, DE->F, D->B}

10. De los ejercicios anteriores reconoce alguna mejora emprica que se le pueda hacer al
algoritmo que usualmente se utiliza para calcular el F minimo.
11. Indicar para cada uno de los R del ejercicio 9 en qu forma normal se encuentra

Segundo cuatrimestre del 2015

Prctica Base de Datos II


12. Dado el siguiente R = {A, B, C, D, E, F, G} y sabiendo que AB es una clave candidata
a)

indicar un conjunto de dfs de tal forma que R no est en segunda forma normal

c)

indicar un conjunto de dfs de tal forma que R est en tercera forma normal

a)

est en segunda forma normal y no en tercera

c)

est en FNBC

b) indicar un conjunto de dfs de tal forma que R no est en tercera forma normal, aunque si en
segunda
13. Dar un ejemplo de una relacin que:

b) est en tercera forma normal y no en FNBC

14. Dados los R y F del ejercicio 9 hallar, siempre que sea posible, una descomposicin de R que este
en FNBC y que sea SPDF y SPDI
15. Dados los siguientes F, R y sus descomposiciones, completar el siguiente cuadro
R
A,B,C,D,E,F
A,B,C,D,E,F
A,B,C,D,E,F,G
N, O, P
,Q,R,S,T,U,V

F
AB->CDEF, E->F
AB->CDEF, E->F
AB->CDEF, E->F,F->G
NO->Q; N->PR; P->T; O->SU; O>V; V->O

Descomposicin
{ABCD};{EF}
{ABCDE};{EF}
{ABCDF};{EF};{FG}
{NOQ},{PQRV},{NOST},{UV}

SPDF

SPDI

16. Supongamos que se desean modelar los datos de los empleados, as como tambin la
informacin referida a las categoras a los que pertenecen los mismos. Los atributos a tomar en
cuenta son: tipo y nmero de documento, legajo, cuil, apellido y nombre y direccin del
empleado. Adems se desea conocer a que categora pertenecen, cul es la descripcin de la
misma y cul es el sueldo base que la mencionada categora tiene asociado. Cada empleado
trabaja en un nico departamento. Los departamentos tienen una descripcin y adems se desea
conocer el nombre del gerente del mismo.
a)

indicar el conjunto de dependencias funcionales del mismo

c)

descomponer el mismo en FNBC con SPDF y SPDI

b) calcular las claves candidatas

d) Coincide la solucin encontrada con la que hubiera obtenido en forma intuitiva?

Segundo cuatrimestre del 2015

Prctica Base de Datos II


Practica 2 - Optimizacin
1.

Dada la siguiente base de datos:

Empleado(E)

nro_e(4) (clave)

nom_e(32)

domicilio(24)

ciudad(10)

edad(2)

dni(8)

tel(12)

sueldo(6)
Trabaja_en(T)

nro_e (clave)

nro_depto (clave)

desde(8)

hasta(8)
Departamento(D)

nro_depto(4) (clave)

nom_depto(20)

ubicacin(20)

ciudad(10)
Gerencia (G)

nro_e (clave)

nro_depto (clave)

desde(8)

hasta(8)

Los valores entre parntesis indican la longitud en bytes es de los atributos.


El tamao de un bloque es de 1024 bytes,
B = 10
TE = 20.000
TT= 60.000
TD= 2.000
TG= 4.000
IE.ciudad = 400 ID.ciudad = 200
En todos los casos la altura de los rboles es 4.
La cantidad mxima de bloques por bucket es 6.

El 30% de los empleados es menor a 35 aos.


El 10% de los empleados gana ms de $ 10.000
Cada empleado trabaja en promedio en 2 departamentos
Sobre todas las claves se cuenta con ndices clustered. Tanto en el caso de Trabaja_en como de
Gerencia la clave es (nro_e, nro_depto)
Adems existen ndices unclustered sobre
I1 : E.ciudad
I2: T.desde
Y un ndice Hash sobre
I3 : T.hasta

Segundo cuatrimestre del 2015

Prctica Base de Datos II


Construir el rbol cannico, optimizarlo algebraicamente y proponer un plan de ejecucin para
cada una de las siguientes consultas SQL:
a.

b.
c.

d.

e.

f.

2.

Select e.nro_e
From empleado E
Where edad < 35

Select nro_depto
From departamento
Where ciudad = Rosario
Select nro_e
From empleado
Where sueldo > 10.000
And edad < 35

Select e.nro_e, t.nro_depto


From empleado E, trabaja_en T
Where edad < 35 and e.ciudad = Rosario
And e.nro_e = t.nro_e and hasta is null

Aclaracin: para saber en qu departamento trabaja un empleado es necesario


tomar el que tiene la fecha hasta en NULL en la tabla trabaja_en
Select e.nro_e, t.nro_depto, d.nom_depto
From empleado E, trabaja_en T, departamento D
Where edad < 35 and e.ciudad = Rosario
And e.nro_e = t.nro_e and hasta is null
And t.nro_depto = d.nro_depto

select e.nro_e e.nom_e, e1.nro_e, e1.nom_e


from Empleado e, Trabaja_en t, Gerencia g, Departamento d, Empleado e1
where e.nro_e=t.nro_e
and d.nro_depto=t.nro_depto
and g.nro_depto=d.nro_depto
and g.nro_e=e1.nro_e
and T.desde > 1/1/2012 and t.hasta < 1/1/2013

Aclaracin: En el caso de los select que involucran joins se deben proponer 2 mtodos
alternativos de resolver los mismos
Dada la relacin R(A, B, C) y la consulta

select *
from R
where A > 10 and B=10 and C=5;

Asumir que:
TR=10000, BR=1000
IR.A=90, IR.B=150, IR.C=150
El 10% de los registros satisface que A > 10

Segundo cuatrimestre del 2015

Prctica Base de Datos II

3.

Suponer que existe un ndice clustered para A e ndices non-clustered para B y C .


a.
Armar el rbol cannico.
b.
Proponer 2 rboles diferentes y armar su plan de ejecucin.

Definir la mejor estrategia de evaluacin y calcular su costo sobre la base de datos del ejercicio
1 para las siguientes consultas y las siguientes situaciones:
Asumir que:
t empleados = 100.000, tamao de bloque = 4.000 bytes
I(Empleado.ciudad)=100, I(Empleado.edad)=35,
I(Empleado.sueldo)=50
1.

select *
from Empleado
where ciudad = "Crdoba" and edad = 45;

Suponer que existe:


a.
ndice clustered sobre ciudad, ndice non-clustered sobre edad.
b.
ndice non-clustered sobre edad.
c.
ndice clustered sobre edad.
2.

select *
from Empleado
where ciudad = "Crdoba" or edad = 45;

Suponer que existe:


a.
ndice clustered sobre ciudad, ndice non-clustered sobre edad.
b.
ndice non-clustered sobre edad.
c.
ndice clustered sobre edad.

6.

Sean R y S dos relaciones tales que TR=2.000.000 y TS=1.500.000. En un bloque se


pueden almacenar 40 tuplas de R o de S.
Se pide seleccionar la mejor estrategia de junta entre todas las que conozca, y
estimar la cantidad de accesos al disco para cada uno de los casos siguientes de
disponibilidad de memoria voltil:
a.
b.
c.
d.

2.501 bloques
501 bloques
301 bloques
101 bloques

Segundo cuatrimestre del 2015

Prctica Base de Datos II


Prctica 3 Laboratorio de Optimizacin

A)Para el presente trabajo practico, se solicita:


a) ejecutar todas consultas sin los ndices abajo detallados
b) imprimir el plan de ejecucin de cada query ejecutado
c) Crear los ndices que se consideren necesarios (pueden estar entre los sugeridos o no) y ejecutar
los mismos select, comparando los distintos planes de ejecucin para todas las posibilidades
consideradas
d) Analizar las diferencias que surjan entre los distintos planes de ejecucin para el mismo query
e) Elegir la mejor combinacin consulta-ndice
Indices sugeridos
CREATE NONCLUSTERED INDEX fname ON member(firstname)
CREATE NONCLUSTERED INDEX corp_no ON member(corp_no)
CREATE NONCLUSTERED INDEX mem_no ON member(member_no)
CREATE UNIQUE nonclustered INDEX mbr_mem_no ON member(member_no)
CREATE clustered INDEX mbr_corp_no_CL ON member(corp_no)
CREATE UNIQUE nonclustered INDEX mbr_name ON member(lastname, firstname)
CREATE nonclustered INDEX chg_mem_no ON charge(member_no)
CREATE nonclustered INDEX mbr_name ON member(member_no, lastname)
CREATE nonclustered INDEX chg_charge_no ON charge(member_no, charge_no)
Nota : Se utilizara la base de datos Credit., la tabla member contiene 10000 registros
1)SELECT *
FROM member
WHERE firstname LIKE 'Q%'
AND corp_no > 450
AND member_no > 6000
2)SELECT *
FROM member
WHERE firstname LIKE 'Q%'
AND corp_no > 450
AND member_no > 9500

3) SELECT *
FROM member
WHERE member_no IN (100,101,102,103,104,105,106,107,108,109,200,201,
202,203,204,205,206,207,208,209,210,211,212,213,
214,215,216,217,218,219,220,221,222,223,224,225,
226,227,228,229,230,231,232)
4) SELECT *
FROM member
WHERE member_no IN (100,101,102,103,104,105,106,107,108,109,200,201,
202,203,204,205,206,207,208,209,210,211,212,213,
214,215,216,217,218,219,220,221,222,223,224,225,
226,227,228,229,230,231,232, 233)

Segundo cuatrimestre del 2015

Prctica Base de Datos II


5)SELECT *
FROM member
WHERE member_no=1234 OR region_no=5

6)SELECT *
FROM member
WHERE member_no=1234 OR corp_no=410
7) SELECT *
FROM member
WHERE region_no = 5 OR corp_no = 410

8)SELECT member.member_no, lastname, charge_no


FROM member
JOIN charge ON member.member_no = charge.member_no
WHERE member.lastname = 'HAHN'
AND firstname = 'CVVD'
9) SELECT m.member_no, lastname, charge_no
FROM member m JOIN charge c
ON m.member_no = c.member_no
WHERE m.lastname = 'HAHN'
AND firstname = 'CVVD'
10) SELECT corp_no, count(*)
FROM member
GROUP BY corp_no

11) SELECT region_no, count(*)


FROM member
GROUP BY region_no

12)SELECT corp_no, count(*)


FROM member
WHERE member.lastname = 'HAHN'
GROUP BY corp_no

13)SELECT region_no, corp_no, count(*)


FROM member
WHERE member.lastname = 'HAHN'
GROUP BY region_no, corp_no

14)SELECT corp_no, region_no, count(*)


FROM member
WHERE member.lastname = 'HAHN'
GROUP BY corp_no, region_no
15)SELECT corp_no, region_no, count(*)
FROM member
WHERE member.lastname = 'HAHN'

Segundo cuatrimestre del 2015

Prctica Base de Datos II


GROUP BY corp_no, region_no
HAVING COUNT(*) > 4

B)
a) Crear el ndice corp_no sobre la tabla member y borrar todos los dems
b) Revisar el plan de ejecucin de la siguiente consulta
SELECT *
FROM member
WHERE corp_no = 450
c) Que cantidad de filas estima que va a devolver?
d) Ejecutar el comando
DBCC SHOW_STATISTICS ('member', corp_no)

e) Ese comando devuelve un resultado que puede dividirse en 3 partes, en la ltima parte hay un cuadro
que tiene una primera columna RANGE-HI_KEY, buscar en esa tabla la fila correspondiente al nmero
450 (que es el valor de la clave del ndice), cual es la columna cuyo valor coincide con el nmero estimado
de filas?
f) Revisar el plan de ejecucin de la siguiente consulta:
SELECT *
FROM member
WHERE corp_no = 448

g) Cual es ahora el nmero de filas estimadas? Ejecutar nuevamente el comando dbcc show_statistics, existe el
valor 448 entre los valores de la range_hi_key? Buscar en la documentacin el significado de las columnas
range_row and distinct_range_row. En el siguiente link

http://www.sqlservercentral.com/blogs/aschenbrenner/2014/01/28/inside-thestatistics-histogram-density-vector/
pueden encontrar un artculo muy interesante sobre el tema

C) El siguiente ejemplo fue tomado de A Hazard of Using the SQL Update Statement
(http://www.sqlservercentral.com/articles/T-SQL/101464/)
a) Ejecutar las siguientes instrucciones SQL

CREATE TABLE #Test1 (


ID
INT IDENTITY(1,1) PRIMARY KEY
,Value VARCHAR(10)
);
CREATE TABLE #Test2 (
ID
INT
,Row_No INT
,Value VARCHAR(10)
,PRIMARY KEY (ID, Row_No)
);

INSERT INTO #Test1


SELECT 'Dwain' UNION ALL SELECT 'Brandie';
INSERT INTO #Test2

Segundo cuatrimestre del 2015

Prctica Base de Datos II


SELECT 1,
UNION ALL
SELECT 1,
UNION ALL
SELECT 2,
UNION ALL
SELECT 2,

1, 'Tom'

2, 'Chris'
1, 'Jeff'

2, 'Lynn';

SELECT a.ID, b.Row_No, a.Value, b.Value


FROM #Test1 a
JOIN #Test2 b ON a.ID = b.ID;
b) Que devuelve el join?
c) Que hace la siguiente instruccin?

UPDATE a
SET Value = b.Value
FROM #Test1 a
JOIN #Test2 b ON a.ID = b.ID;
d) Cuantos registros modifica esta instruccin? Puede predecirse el resultado? Por que?
e) Usando las vistas updated y deleted compruebe su respuesta al punto d)
f) Analice el plan de ejecucin de la consulta. Que puede concluir?

Segundo cuatrimestre del 2015

10

Prctica Base de Datos II


Prctica 4 Schedules
1. Dado el siguiente conjunto de transacciones

Escribir
a)
b)
c)
d)
e)

T1 = { R1(x), R1(y), w1(x), w1(y),c1}


T2= { R2(z), R2(w), w2(w), w2(z),w2(x),c2}
T3= { R3(x), R3(z), w3(x), w3(z),c3}
T4= { R4(y), R4(z), w4(y), w4(z),c4}
La historia serial
Una historia no recuperable
Una historia recuperable, pero que no evite abort en cascada
Una historia que evite abort en cascada
Una historia estricta

2. dem ejercicio anterior para el siguiente conjunto de transacciones


T1 = { R1(x), R1(y), w1(x), w1(y),a1}
T2= { R2(z), R2(w), w2(w), w2(z),c2}
T3= { R3(x), R3(z), w3(x), w3(z),a3}
T4= { R4(y), R4(z), w4(y), w4(z),c4}

3. Dada las siguientes historias, construir para cada una el grafo de seriabilidad e indicar cuales de las
siguientes caractersticas satisface : RC, ACA, ST, SR
a)

b)
c)
d)

H = { R1(x), R1(y), R2(z), R2(w), R4(y), R4(z), w1(x), w1(y),c1, w2(w), w2(z), R3(x),
R3(z), w3(x), w4(y), w4(z),c4, w3(z),c2, c3,}

H = { R1(x), R1(y), R2(z), w1(x), w1(y),c1, R2(w), R4(y), R4(z), w2(w), w2(z), R3(x),
R3(z), w3(x), w4(y), w4(z),c4, w3(z),c2, c3,}
H = { R1(x), R1(y), R2(z), R2(w), w1(x), w1(y),R4(y), R4(z), c1,w2(w), w2(z), R3(x),
R3(z), w3(x), w4(y), w4(z),c4, w3(z),c2, c3,}

H = { R1(x), R1(y), R2(z), R2(w), R4(y), R4(z), w1(x), w1(y),c1, w2(w), w2(z), R3(x),
R3(z), w3(x), w4(y), w3(z),c2, w4(z),c4,c3}

Segundo cuatrimestre del 2015

11

Prctica Base de Datos II


Prctica 5 Control de Concurrencia
1. Dado el siguiente conjunto de transacciones
T1 = { R1(x), R1(y), w1(x), w1(y),c1}
T2= { R2(z), R2(w), w2(w), w2(z),c2}
T3= { R3(x), R3(z), w3(x), w3(z),w3(x),c3}
T4= { R4(y), R4(z), w4(y), w4(z),c4}
a)
b)

Agregarlas operaciones de lock y unlock necesarias para cada operacin


Construir una historia que cumpla con las reglas establecidas para el two-phase locking, que
sea serializable y no sea serial.
c)
Construir una historia que no cumpla con las reglas establecidas para el two-phase locking ,
que sea serializable y no sea serial
d)
Construir, de ser posible, una historia no serial que sea 2PL, serializable y provoque un
deadlock
e)
Construya una posible historia si se utilizara un control de concurrencia por timestamp.
f)
Construya una posible historia, si se utilizara un control de concurrencia por timestamp y que
implique abortar la transaccin 3.
g)
Construya una historia que utilice control de concurrencia por timestamp y se beneficie de la
thomas write rule
h)
Construya una historia que pueda corresponder a un control de concurrencia por multiversion.
Recuerde establecer para cada operacin sobre que versin del tem est operando.

2. Dadas las siguientes historias indicar si cumplen con las reglas establecidas en el 2PL, en caso de que
no cumplan indicar que regla no cumplen y en que operaciones y proponer las modificaciones
necesarias para que si cumplan con las reglas del 2PL
a)
b)
c)
d)
e)
f)

rl1(a), rl1(b), rl2(a), rl2(c), r1(a), r1(b), r2(a), r2(c), ru1(a), ru1(b), ru2(a), ru2(c)
wl1(a), rl1(b), rl2(a), rl2(c), w1(a), r1(b), r2(a), r2(c), wu1(a), ru1(b), ru2(a), ru2(c)
rl1(a), wl1(b), rl2(a), rl2(c), r1(a), w1(b), r2(a), r2(c), ru1(a), wu1(b), ru2(a), ru2(c)
rl1(a), rl1(b), wl2(a), rl2(c), r1(a), r1(b), w2(a), r2(c), ru1(a), ru1(b), wu2(a), ru2(c)
rl1(a), rl1(b), ru1(a), rl2(a), rl2(c), r1(a), r1(b), r2(a), r2(c), ru1(b), ru2(a), ru2(c)
rl1(a), ru1(a), rl1(b), rl2(a), rl2(c), r1(a), r1(b), r2(a), r2(c), ru1(b), ru2(a), ru2(c)

a)
b)
c)
d)
e)
f)
g)

st1 , st2, r1 (A), r2 (B), w2 (A), w1(B)


st1 , st2, r1 (A), w1(B) ,r2 (B), w2 (A),
st1, st2, r1(A), w2(B),w1(b)
st1 , r1 (A), st2, r2 (B), r2 (A), w1(B)
st1 , st2, st3, r1(A), r2(B), w1(C), r3(B), r3(C), w2(B),w3(B)
st1 , st2, st3, r1(A), r2(B), w1(C), r3(C), r3(B), w2(B),w3(B)
st1, st2, r1(A), r2(B), w2(A),r1(B)

3. Dadas las siguientes historias indicar si son ejecuciones correctas de control de concurrencia por
timestamp, en caso de que no lo sean proponga modificaciones que las transformen en historias
adecuadas

4. Modificar las historias del punto anterior indicando en cada caso la versin que corresponde
leer/escribir

Segundo cuatrimestre del 2015

12

Prctica Base de Datos II


5. Indicar para cada una de las historias modificadas en el punto anterior si son correctas para un control
multiversion, el resultado coincide con el del punto 3?

Segundo cuatrimestre del 2015

13

Prctica Base de Datos II


Prctica 6 Recuperacin
1. Dadas la siguiente historia escribir las entradas del log correspondiente a la misma, asumiendo que el
log es de la forma <t,tem, valor anterior> , que todos los tems tienen inicialmente el valor 5 y que
cada operacin de write los incrementa en 1.
a. H = { R1(x), R1(y), R2(z), R2(w), R4(y), R4(z), w1(x), w1(y),c1, w2(w), w2(z), R3(x), R3(z), w3(x), w4(y),
w3(z),c2, w4(z),c3,c4}
2. dem ejercicio anterior, pero asumiendo que el log es de la forma <t,tem, nuevo valor>
3. dem ejercicio anterior, pero asumiendo que el log es de la forma <t,tem, valor anterior, nuevo valor>
4. Modificar el log anterior de tal forma de que ocurra un checkpoint quiescente luego del c1.
5. Modificar el log del punto 3 de tal forma que comience un checkpoint non-quiescent luego del c1,
cuando debera finalizar el mismo?
6. Tomando el log del ejercicio 4 supongamos que se produce una cada del equipo luego del c2, que
valores debera escribir el proceso de restart en la base de datos?
7. Tomando el log del ejercicio 5 supongamos que se produce una cada del equipo luego de finalizar el
c3, que valores debera escribir el proceso de restart en la base de datos?
8. Dada las siguientes entradas en el log
< START S>; <S, A, 60, 61>;<COMMIT S>;< START T>; <T,A,61,62>; <START U>; <U,B,20,21>;
<T,C,30,31>; <START V>; <U,D,40,41>; <V,F,40,41>; <COMMIT U>; <T,E,50,51>; <COMMIT T>;
<V,B,21,22>; <COMMIT V>
Supongamos que se escribe el comienzo de un checkpoint non quiescence inmediantemente despues
uno de los siguientes registros fue escrito en el log
I.<S, A, 60, 61>
II.<T,A,61,62>
III.<U,B,20,21>
IV.<U,D,40,41>
V. <T,E,50,51>
Para cada caso indicar
a) en qu momento debera escribirse el <END CKPT>
b) que valores tendra la base de datos y cuales debera tener si el crash se produce antes del checkpoint
c) que valores tendra la base de datos y cuales debera tener si el crash se produce despus del
checkpoint
d) para los casos b) y c) que acciones debera realizar el proceso de restart

Segundo cuatrimestre del 2015

14

Prctica Base de Datos II


Prctica 7 Seguridad

1- Usando la base de datos utilizada para resolver las consultas SQL definir:
a) un grupo para aquellos usuarios que van a efectuar slo consultas sobre las tablas
b) un grupo para los usuarios que cargan los pedidos
c) un grupo para el sector de recursos humanos que es el que da de alta empleados.
Para realizar este ejercicio primero crear una matriz donde se indique para cada grupo que permisos se le
asignan sobre cada tabla.
2- Definir la seguridad en el tema de auditora de tal forma que ningn usuario de los que da alta de
facturas y pagos pueda modificar las tablas de auditoria. Probarlo haciendo un insert sobre cualquiera de
dichas tablas.

Segundo cuatrimestre del 2015

15

Potrebbero piacerti anche