SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

Bases de Datos II,
por M.C. Enrique Ruiz Díaz.
Correspondientes a mis Estudios de Licenciatura en Informática en el Instituto
Tecnológico de Tuxtepec, Oax., México.

All Rights Reserved.

Con título y cédula profesional 5632071
en la Maestría en Ciencias de la Computación.
Egresado del Instituto Tecnológico de Orizaba, Ver. México.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 1 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

Acerca de mi.
Titulado en la Maestría en Ciencias en Ciencias de la Computación, Cédula
profesional 5632071. Egresado del Instituto Tecnológico de Orizaba, Ver.,
México. Antes, me Titulé en la Licenciatura en Informática, Cédula profesional
4046033. Egresado del Instituto Tecnológico de Tuxtepec, Oax., México,
distinguiéndome además, por ser el mejor promedio de mi generación con
98%.

Bien, regresando al tema de mi Título de Maestría en Ciencias de la
Computación, para subrayar que ésta, requirió el desarrollo de una TESIS. Otro
aspecto muy importante, fue que durante el desarrollo de mi Maestría escribí
un ARTICULO, mismo que fue aceptado para publicación y con mi ponencia en
el evento 'Primer Encuentro de Estudiantes en Ciencia de la Computación E2C2' ISBN-10:970-36-0404-8 e ISBN-13:978-970-36-0404-3 celebrado en el
Instituto Politécnico Nacional, México, D.F. 2007.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 2 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

Mi Diploma por mi Ponencia en el Instituto Politécnico
Nacional, México, D.F. 2007, durante mis estudios de
Maestría.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 3 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

UNIDAD 1 - Reglas de Integridad Relacional.

1.

Dibuje una tabla en donde se identifique lo siguiente:
1)
2)
3)
4)

Una tupla o registro.
Un atributo o campo.
El campo llave primaria.
El campo clave ajena.

Respuesta:
EMPLEADOS

RFC

Nom_empl

Sdo

Ant

No_Depto

Tupla 1 DISR 810422

b)
c)
d)

4,800

10

1

Tupla 2 RUDE 801125

a)

Rosa Andrea Díaz
Sánchez
Enrique Ruiz Díaz

3,500

5

2

Una tupla o registro. Cualquiera de las dos líneas de información que nos presenta la
tabla.
Un atributo o campo. Cualquiera de los 5 atributos o campos.
El campo clave primaria. En este caso es el “RFC”.
El campo clave ajena. En este caso es “No_Depto”.
(Se supone que existirá una tabla de “Departamentos” en donde necesariamente
encontraremos un “Depto no. 1” y un “Depto no. 2”.)

2.

¿A quienes se aplican las 2 reglas generales de Integridad?
A las claves primarias y a las claves ajenas.

3.

¿Qué es una Clave Primaria?
Es un identificador único en una relación (una tabla), es decir, nos permite identificar de forma
única a las tuplas. Por lo cual, la clave primaria no debe contener valores nulos ni repetidos.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 4 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

4.

¿Por qué son importantes las claves primarias?
Porque es el único modo garantizado por el sistema de localizar alguna tupla específica.

5.

¿Qué requisitos deben cubrir las claves candidatas a claves primarias?
a)
Unicidad.
Significa que no existen 2 tuplas con el mismo valor.
b)

Minimalidad. Sí la clave está compuesta, no es posible destruir ningún componente
sin destruir la unicidad.

6.

Cuál es la diferencia entre claves candidatas, clave alternativa y clave primaria?
Una relación tiene varias claves candidatas a clave primaria, se escoge una de esas claves
candidatas como clave primaria, y a las demás las llamamos claves alternativas.

7.

¿Cuáles son las 2 reglas generales de Integridad del modelo relacional?
a)
Regla de Integridad de las Entidades.
b)
Regla de Integridad Referencial.

8.

¿Qué dice la Regla de Integridad de Entidades?
Ningún componente de la clave primaria de una relación base puede aceptar nulos. Por
ejemplo, en nuestra tabla “Empleados” al atributo “RFC” se le aplica esta regla.

9.

Qué dice la Regla de Integridad Referencial?
La base de datos no debe contener valores de clave ajena sin concordancia.

10.

¿Qué es la Clave ajena?
Es un atributo de una relación cuyos valores deben concordar con los de la clave primaria de
otra relación. Por ejemplo:

...

4
2

1

...

Atributo ...
Referido

4

...

Clave
Ajena
2

Tabla 1

1

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

...

...

Tabla 2

Página 5 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

Clave ajena

EMPLEADOS

RFC

Nom_empl

Sdo

Ant

No_Depto

Tupla 1 DISR 810422

Rosa Andrea Díaz Sánchez

4,800

3

10

Tupla 2 CORE 801125

Enrique Cortinez Robles

4,500

5

20

Tupla 3 HABR 791012

Rubi Hajek byron

3,300

2

30

Clave
primaria

DEPTOS

Num_D

Nom_Dep

Num_Empl

CJ

10

5

JD1

20

Ventas

50

JD2

30

Contabilidad

10

JD3

40

11.

Mercadotecnia

Producción

0

JD4

¿Qué es la Disgreción?
Nos dice que si bien el valor de la clave ajena debe concordar con la clave primaria de otra
relación, no se requiere lo inverso, es decir, la clave primaria correspondiente a una clave
ajena dada podría contener un valor que de momento no aparezca como valor de esa clave
ajena.
En nuestro ejemplo anterior, si bien el atributo de la clave ajena: “No_Depto” de la
tabla “Empleados” debe de encontrar a su correspondiente valor en la tabla “Deptos”, ésta
tabla puede en un momento tener un valor (en su clave primaria) que no aparezca en la tabla
empleados; por ejemplo, el depto 40 de Producción.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 6 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

12.

¿Cómo se llama a la Relación que contiene a la clave ajena?
Relación referencial. (Por ejemplo, la tabla “Empleados”).

13.

¿Cómo se llama a la Relación que contiene a la clave primaria que es llamada por la clave
ajena?
Relación referida o relación objetivo. (Por ejemplo, la tabla “Deptos”).

14.

¿Qué se entiende por Relaciones autorreferenciales?
Cuando en una Relación (o tabla) los valores de la clave ajena (no nulos) deben coincidir con
los valores de la clave primaria de la misma relación.
Es decir, no hay dos tablas, sino una sola, pero observe que no se permiten nulos.

15.

¿Cuáles son las preguntas que hay que responder para el manejo de la Clave ajena?
a)
¿Puede aceptar nulos la Clave ajena?
b)
¿Qué deberá suceder si hay un intento de eliminar el objetivo de una clave ajena?
c)
¿Qué deberá suceder si hay un intento de modificar la clave primaria que es el
objetivo de una clave ajena?.

16.

Mencione las 3 respuestas posibles a las preguntas anteriores.
a)
Se restringe.
b)
Se propaga.
c)
Se anula.

17.

¿Qué se entiendo por operación restringuida (se restringe)?
No se puede eliminar una tupla de la tabla referida cuando tiene información que es
requerida por la clave ajena de otra tabla.

17.

¿Qué se entiende por operación de propagación?
La operación de eliminación se propaga a la tabla que contiene la tupla con la clave ajena que
la llama. Por ejemplo, si se elimina al departamento de contabilidad se elimina también a la
tupla de Rubi Hajek byron.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 7 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.
18.

¿Qué se entiende por la operación de “se anula”?
Se siguen 2 pasos, primero, se asigna nulo a la clave ajena correspondiente, y luego, se
elimina a la tupla correspondiente de la tabla referida u objetivo.

Nota: Las operaciones pueden ser de eliminación y de modificación.
a)
b)
c)

En el caso de la “modificación y restringida” la operación de modificación se
permite, siempre y cuando no haya claves ajenas que requieran los datos.
En el caso de “modificación y propagación” la modificación se propaga
modificando también a la clave ajena correspondiente.
En el caso de la “modificación y se anula” se siguen los 2 pasos: primero, se
asignan nulo a la clave ajena correspondiente y en seguida se modifica a la
tupla referida u objetivo.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 8 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

SENTENCIAS EN SQL - Lenguaje Estructurado de Consulta –

Aplicación de algunas sentencias elementales del lenguaje SQL. SELECT, FROM Y WHERE.
Sintaxis:
SELECT (lista de atributos)
FROM (tabla o lista de tablas)
WHERE (condicion)

OBTENGA LA INSTRUCCIONES SQL Y LA TABLA RESULTADO DE LOS SIGUIENTES
PROBLEMAS (con las tablas Empleados y Deptos).

1.
Obtener una lista de empleados (clave, nombre y sueldo) de aquellos que tengan una
antigüedad mayor a 2 años.
SELECT (RFC, Nom_empl, Sdo)
FROM EMPLEADOS
WHERE (Ant > 10)

RESULTADO

RFC

Nom_empl

Sdo

Tupla 1 DISR 810422

Rosa Andrea Díaz Sánchez

4,800

Tupla 2 CORE 801125

Enrique Cortinez Robles

4,500

2.
Obtener la clave y nombre del empleado de aquellos que estén en el departamento de
ventas.
SELECT (RFC, Nom_empl)
FROM (EMPLEADOS, DEPTOS)
WHERE (Nom_dep = “Ventas”) AND (Num_D = No_Depto)

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 9 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

RESULTADO

RFC

Tupla 2 CORE 801125

Nom_empl
Enrique Cortinez Robles

3.
Obtener la información completa de los empleados que tengan un sueldo menor o igual a
4,500
SELECT *
FROM EMPLEADOS
WHERE (SDO <= 4,500)

RESULTADO

RFC

Nom_empl

Sdo

Ant

No_Depto

Tupla 2 CORE 801125

Enrique Cortinez Robles

4,500

5

20

Tupla 3 HABR 791012

Rubi Hajek byron

3,300

2

30

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 10 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

UNIDAD 2 - Recuperacion y Concurrencia.

1.

¿Qué se entiende por TRANSACCIÓN?
Una transacción es una unidad lógica de trabajo. La cual no es por fuerza una sola operación
en la base de datos; más bien, es en general una secuencia de varias de esas operaciones
mediante la cual un estado consistente de la base de datos se transforma en otro estado
consistente, sin conservar por fuerza la consistencia en todos los puntos intermedios.
Por ejemplo: una transacción que implique dos modificaciones a la base de datos,
entonces la transacción es el conjunto de esas dos modificaciones, no puede faltar ninguna
de ella porque se perdería la consistencia.

2.

¿Qué se entiende por CONSISTENCIA?
Una respuesta simplista: cuando los datos de la base de datos están completos y correctos;
bien sea porque no se ha iniciado alguna transacción, o porque estas han sido exitosamente
realizadas.

3.

¿Qué es el PROCESAMIENTO DE OPERACIONES?
Es la garantía que ofrece el sistema de que si la transacción ejecuta algunas modificaciones y
después se presenta una falla (por cualquier razón) antes de que llegue el término normal de
la transacción, se anularan esas modificaciones. Así, o bien la transacción se lleva a cabo en
su totalidad, o se cancela en su totalidad (Propiedad de la “ATOMICIDAD” es decir, o todo
completo o nada).

4.

¿Cómo se llama el componente del sistema encargado de lograr la “atomicidad” en las
Transacciones?
“Manejador de Transacciones”

5.

¿Qué operaciones realiza el Manejador de Transacciones?
a)
COMMIT (comprometer en español)
b)
ROLLBACK (retroceder)

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 11 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.
6.

¿Qué significa una operación COMMIT?
Señala el término exitoso de la transacción: le dice al Manejador de transacciones que ha
finalizado con éxito una unidad lógica de trabaja (una transacción) y que se hacen
permanentes las modificaciones efectuadas por esa transacción. En español se dice
“comprometer” y significa lo mismo.

7.

¿Qué significa la operación ROLLBACK?
Señala el término No exitoso de una transacción: le dice al manejador de transacciones que
algo salió mal y que todas las modificaciones efectuadas hasta el momento por la unidad
lógica de trabajo deben anularse.

8.

¿Qué es el Punto de Sincronización?
Se establece con la ejecución de una operación COMMIT (comprometer) o ROLLBACK
(retroceder).
Un punto de Sincronización representa el límite entre dos transacciones
consecutivas, de modo que corresponde al final de una unidad lógica de trabajo (una
transacción) lo cual es el punto en que la BD está en un estado de consistencia (con datos
correctos y completos).

9.

¿Qué es la BITACORA o diario?
Es el registro de todas las operaciones de actualización (modificación), en particular, los
valores iniciales y final del objeto modificado.

10.

¿Para que sirva la BITACORA?
Para cuando es necesario anular alguna modificación especifica, el sistema puede utilizar la
entrada correspondiente de la bitácora para restaurar el valor original del objeto modificado.

11.

¿Qué es el Punto de Revisión?
Cada cierto intervalo el sistema establece un Punto de Revisión que implica:
a) Gravar físicamente el contenido de los buffers (memoria) de datos en la base de
datos física (disco duro).
b) Gravar físicamente un registro de punto de Revisión especial en la bitácora física.

12.

¿Para que sirve el Punto de Revisión?
Para cuando se reinicia el sistema después de una falla, se establezca que transacciones
deberán anularse y cuales deberán repetirse.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 12 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

13.

¿Cuales son los pasos del algoritmo para identificar las transacciones a anular y a repetir?
... ...

14.

¿Cuáles son las fallas que puede presentarse en el sistema?
a)
fallas locales.
Afecta a una sola transacción como por ejemplo, un
problema de desborde en la misma.
b)

15.

fallas globales. Afecta a todas las transacciones que se estaban efectuando en el
momento de la falla.

¿Cuáles son las categorías de las “fallas globales”?
a)
Fallas del sistema.
Por ejemplo, corte de la electricidad. Daña a todas las
transacciones que se estaban efectuando pero no daña a la base de datos.
b)
Fallas de los medios de almacenamiento.
Daño en el disco duro por aterrizaje
de las cabezas, lo que puede dañar cuando menos a una parte de la base de datos y por
supuesto a las transacciones que se estaban efectuando.

12.

¿Cómo se efectúa la recuperación en las fallas del sistema?
Cuando el sistema se reinicia algunas transacciones deberán anularse y otras deberán
realizarse nuevamente. Para ello, el sistema utilizará a la Bitácora en donde se registra las
transacciones que se estaban realizando en el momento de establecerse el “punto de
revisión”.

16.

17.

¿Cómo se efectúa la recuperación en las fallas de los medios de almacenamiento?
Cuando se destruye físicamente (en el disco duro, o cinta) alguna porción de la base de datos, la
recuperación implica cargar de nuevo (restaurar) la base de datos a partir de una copia de
respaldo y después utilizar la bitácora para realizar de nuevo todas las transacciones terminadas
desde que se hizo esa copia de respaldo.

¿En que consiste un problema de Concurrencia?
Es una situación en la cual una transacción, aunque correcta en sí, puede producir de todos
modos un resultado incorrecto debido a la interferencia por parte de alguna otra transacción.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 13 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

18.

¿Cuales son los tres problemas de Concurrencia?
a)
El problema de la modificación perdida.
b)
El problema de la dependencia no comprometida.
c)
El problema del análisis inconsistente. (no se estudiará)

19.

¿En que consiste el problema de la Modificación perdida?
Cuando la transacción B graba su registro modificado encima del registro modificado por A
sin verlo siquiera.
En detalle, en un principio, dos transacciones “A” y “B” leen correctamente el valor
de un registro, pero luego, “A” modifica el valor y a continuación “B” también modifica dicho
registro sin considerar que el valor del registro ya no corresponde a lo que inicialmente leyó.

20.

¿En que consiste el problema de la dependencia no comprometida?
Cuando una transacción (A) habrá visto datos que ya no existen (y que en cierto sentido
nunca existieron).
En detalle, Cuando se permite a una transacción (A) leer o modificar con datos
modificados por otra transacción (B) pero que aun no son datos definitivos (no se han
“comprometido”), porque sí la transacción “B” vuelve a modificar dicho registro en cuyo caso
la transacción “A” trabaja con datos que ya no existen.

21.

¿Qué es el BLOQUEO?
Es la seguridad que una transacción adquiere de que un registro de la base de datos no
cambiará sin que ella se dé cuenta. Se bloquea el acceso a otras transacciones.

22.

¿Cuáles son los dos tipos de Bloqueos?
a)
Bloqueos compartidos (bloqueos S). (Se solicita cuando se lee – se copia- un dato)
b)
Bloqueos exclusivos (bloqueos X). (Se solicita cuando se va a actualizar)

23.

¿Qué efecto tiene el bloqueo exclusivo X?
Si una transacción A tiene un bloqueo exclusivo (X) sobre un registro, una solicitud por parte
de la transacción B de cualquier tipo de bloqueo (S o X) hará que B entre en un estado de
espera hasta que se libere el bloqueo.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 14 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

24.

¿Qué efecto tiene el bloqueo compartido (S)?
Si una transacción A tiene un bloqueo compartido (S) sobre un registro:
a)
b)

25.

Una solicitud por una transacción B de bloqueo X sobre el registro hará que B entre
en un estado de espera.
Una solicitud por una transacción B de bloqueo S sobre el registro será concedida.

Dibuje la “Matriz de compatibilidad”

transacción A
Nota: el – significa que no hay
bloqueo.
trans.

S

-

X

no

no

si

S

no

si

si

-

B

X

si

si

si

Esta matriz refleja lo mismo ya
expresado anteriormente con los
efectos de los bloqueos.

26.

¿Que es el bloqueo mutuo?
Es una situación en la cual dos o más transacciones están en un estado de espera simultáneo,
y cada una espera la liberación de un bloqueo por parte de la otra para poder continuar.

27.

¿Cómo se resuelve el problema de la modificación perdida?
(Vea definición del problema) Cuando la transacción A quiere actualizar (modificar) el
registro solicita un bloqueo X, dicho bloqueo no procede porque no es compatible con el
bloqueo S que anteriormente puso la transacción B, por lo que A entra en espera ... Por otra
parte, B solicita un bloqueo X para actualización, el cual tampoco procede debido al bloqueo
S que anteriormente había impuesto A, y B también entra en espera ... la solución es que no
se pierde ninguna modificación pero hay bloqueo mutuo o candado mortal.

28.

¿Cómo se resuelve el problema del bloqueo mutuo o candado mortal?
El sistema elige como víctima a una de las transacciones y a la otra le permite continuar. La
transacción víctima posteriormente tendrá que rehacerse.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 15 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

29.

¿Cómo se resuelve el problema de la dependencia no comprometida?
Para evitar que una transacción (A) use datos que aun no terminan de ser actualizados por
otra transacción (B) se usan los bloqueos, así una transacción (B) que actualice (modifique)
un registro le asigna bloqueo X (bloqueo exclusivo) siendo así, la otra transacción (A) deberá
esperar hasta que se libere el dato para que pueda a la vez aplicar su propio bloqueo.
El hecho de “liberar” el dato se le llama “comprometer” y significa que el dato ya es
correcto.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 16 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

UNIDAD 3 - Seguridad e Integridad.

1.

¿Cuál es la diferencia entre “Seguridad” e “Integridad”?
Seguridad se refiere a la protección de los datos contra una revelación, alteración o
destrucción no autorizada (protege a la BD contra usuarios no autorizados); Integridad se
refiere a la exactitud de los datos o validez de los datos (protege a la BD de usuarios
autorizados).

2.

Mencione algunas consideraciones generales sobre la Seguridad
a)
Aspectos legales, sociales y éticos. Ejemplo: tenemos derecho legal de obtener la
información solicitada a un cliente de crédito.
b)
Controles físicos. Ejem. Deberá estar cerrado el cuarto de las computadoras o
terminales.
c)
Cuestiones de política interna. Ejem. ¿Cómo decide la empresa quién puede tener
acceso a que?.
d)
Problemas de operación. Ejem. Si se utiliza un sistema de contraseñas, ¿Cómo se
mantienen en secreto? ¿Con que frecuencia se cambian?
e)
Controles del equipo. Ejem. ¿Posee la CPU características especiales de seguridad
como claves de protección a las áreas de almacenamiento?
f)
Seguridad del sistema operativo. Ejem. ¿borra el sist. op. el contenido de las áreas de
memoria y archivos cuando ya no se necesitan?

3.

¿Con qué características cuenta el SQL en materia de seguridad?
a)
El mecanismo de vistas (View)
b)
El subsistema de autorización (Grant y Revoke)

4.

¿Qué es el mecanismo de Vistas en SQL?
Es un mecanismo que hace posible dividir conceptualmente a la BD en fragmentos de distinta
manera con objeto de ocultar información confidencial a usuarios no autorizados, es decir,
solo se visualiza un subconjunto de la BD.

5.

¿Qué es el subsistema de autorización en SQL?
A diferencia del mecanismo de vistas, el subsistema de autorización permite especificar las
operaciones que los usuarios autorizados pueden ejecutar con fragmentos de la BD. Esa
función la realizan las proposiciones GRANT (conceder) y REVOKE (revocar).

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 17 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

6.

¿Qué son las restricciones de autorización?
Son las decisiones sobre cuáles derechos deben concederse a cuáles usuarios, las cuales se
dan a conocer al sistema con las proposiciones GRANT (conceder) y REVOKE (revocar) y el
sistema las guarda en su catalago.

7.

¿Qué es una “solicitud de acceso”?
Es la combinación de operación solicitada más objeto solicitado más usuario solicitante. Por
ejemplo, operación: update = actualizar; objeto: campo ‘nom’ de la tabla x; usuario: Rosy. Las
solicitudes de acceso se verifican contra las restricciones de autorización aplicables.

8.

Mencione los términos básicos para el manejo de ‘Vistas’ y ‘Autorización’ en SQL?

1)

SELECT =

Seleccionar

2)

UPDATE

=

3)

GRANT =

Conceder

4)

REVOKE

=

Revocar

5)

SYSTABLE

=

Tabla reservada (catalogo)

6)

USER

=

Usuario (el actual)

7)

SYSADM

=

Todos los derechos

8)

DELETE =

Eliminar

9)

INSERT =

Insertar

10)

AVG

=

11)

PUBLIC =

Todos los usuarios

12)

ALL

=

13)

CHECK =

Verifica

14)

IS_INTEGER

=

¿Es entero? (el contenido de una cadena de caracteres)

15)

NUM

=

A numero (una cadena de caracteres que representa un

Modificar

Se obtiene el promedio

Todos los permisos

numero toma realmente valor numerico)

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 18 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.
16)
17)
18)

ALTER TABLE
=
CREATE INDEX
=
WITH GRANT OPTION =

Alterar tabla
Crear indice
Permito para otorgar permiso

9.

¿Qué es la operación SYSADM?
Es una autorización especial que cuando se instala el DB2 por primera vez, otorga al
administrador del sistema todos los derechos para realizar todas las operaciones.

10.

¿Qué derechos son aplicables tanto a las tablas base como a las Vistas?
SELECT (seleccionar)
UPDATE (actualizar)
DELETE (eliminar)
INSERT (insertar)

11.

¿Qué derechos se aplican sólo a las tablas base?
ALTER TABLE (alterar tabla)
CREATE INDEX (crear indice)

12.

En situaciones donde los datos son muy delicados o críticos que procedimientos deben
seguirse

a)
b)

13.

Un seguimiento de auditoria, que registre datos como: operación, terminal, usuario,
fecha y hora, tabla , registro afectado, valor anterior y nuevo del campo afectado.
Guardar y/o transmitir los datos en forma codificada.

¿Con qué características cuenta el SQL en materia de Integridad?
Un Lenguaje de Integridad (hipotético) que se compone de 2 proposiciones:
a)
b)

CREATE INTEGRITY RULE (crear regla de integridad)
DROP INTEGRITY RULE (desechar regla de integridad)

Nota: Recordar que la Integridad busca proteger a la BD de los usuarios ya autorizados (ya hay
seguridad) pero que ahora se requiere que generen información valida o correcta para la BD.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 19 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

14.

¿Qué es una restricción de Integridad?
Puede considerarse como una condición que debe ser todos los estados correctos de la base
de datos.
Por ejemplo, no puede haber un mes 13, o un día 40 etc. y otras situaciones no tan obvias pero
que si son necesarias para el entorno de la base de datos, Por ejemplo: que el campo “situación”
de la tabla “s” sea positivo
( CHECK S.SITUACION > 0).

15.

¿Qué es QUEL?
Es un lenguaje que a diferencia de SQL, QUEL no aprovecha las “Vistas” (VIEW) para la
observancia de la seguridad, en vez de ello, toda solicitud de un usuario se modifica de
manera automática (y silenciosa) antes de la ejecucion para cuidar las restricciones de
seguridad. (pag. 433)

16.

De acuerdo a lo estudiado, cual sería la clasificación de “seguridad” e “integridad” abarcando
SQL y QUEL

SEGURIDAD

SQL:

a) Create view (creación de vistas)
b) Grant (conceder), Revoke (revocar)

QUEL: Estrategia de modificación de consultas.

SQL:
INTEGRIDAD

Leng. de Integridad Hipotético:
a) Create Integrity Rule
b) Drop Integrity Rule

QUEL: Estrategia de modificación de consultas.
(otra vez)

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 20 de 28

QUEL: Estrategia de modificación de consultas.
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

PROBLEMAS DE SQL
CREAR VISTAS (Seguridad)
1.

Crear una vista de nombre “Prov_paris” con los campos snom, situacion, ciudad de la
tabla S cuando la ciudad es Paris.

2.

Mismo problema anterior, sólo que este tiene acceso a todos los registros pero no a
situación.

3.

Crear una vista con el nombre “Mis_tablas” para un usuario que se le permite el
acceso sólo a las filas del catalago correspondiente a las tablas de las cuales es
dueño.

Respuestas:

1.

CREATE VIEW Prov_paris
AS SELECT S#, snom, situacion, ciudad
FROM S
WHERE ciudad=”paris”;

2.

CREATE VIEW Prov_nom_ciud
AS SELECT S#, snom, ciudad

//El nombre puede ser cualquiera//

FROM S;

//Si hay acceso a todos los registros,
entonces no hay condicion (where)//

3.

CREATE VIEW Mis_tablas
AS SELECT *
FROM SYSTABLES
WHERE CREATOR = USER;

//Acceso a todos los campos (fila completa)
// Tabla reservada = catalogo //
// Donde el creador es el mismo usuario actual//

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 21 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

CREAR PERMISOS Y REVOCACIÓN (Seguridad)
1.
2.
3.
4.
5.
6.
7.

Permiso de Selección sobre la tabla S a Carlos
Permiso de Selección y Modificación sobre los campos situación y ciudad de la tabla S
a Juan y Maria.
Concede todos los permisos sobre las tablas S y P a Juan y Lupe
Se concede selección sobre la tabla P a todos los usuarios
Permiso de crear tabla indice sobre la tabla S a Felipe
Se revoca selección sobre la tabla S a Carlos
Se revoca selección y borrado sobre la tabla SP a Elena y Juan

Respuestas:
1.

GRANT SELECT ON TABLE S TO CARLOS;

2.

GRANT SELECT, UPDATE (SITUACION, CIUDAD) ON TABLE S TO JUAN, MARIA;

3.

GRANT ALL ON TABLE S, P TO JUAN, LUPE;

4.

GRANT SELECT ON TABLE P TO PUBLIC;

5.

GRANT INDEX ON TABLE S TO FELIPE;

6.

REVOKE SELECT ON TABLE S FROM CARLOS;

7.

REVOKE SELECT, DELETE ON TABLE SP FROM ELENA, JUAN;

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 22 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

CREAR PERMISOS Y REVOCACIÓN DEL DERECHO DE CONCEDER
AUTORIZACIÓN (Seguridad)
1.

Otorgar el permiso de Seleccionar y de otorgar permiso del usuario U1 al U2 y de U2
a U3.

2.

El usuario U1 revoca el permiso otorgado a U2 (por lo que por efecto ‘cascada’ U3
pierde también el permiso)

Respuestas:

1.

Usuario U1:
GRANT SELECT ON TABLE S TO U2 WITH GRANT OPTION;
Usuario U2:
GRANT SELECT ON TABLE S TO U3 WITH GRANT OPTION;

2.

Usuario U1:
REVOKE SELECT ON TABLE S FROM U2;

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 23 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

CREAR RESTRICCIONES DE INTEGRIDAD (Lenguaje de Integridad)
1.

Los valores del campo “situacion” de la tabla S deben ser positivos.
(Respuesta detallada y simplificada).

2.

Integridad para la fecha (dia,mes,año).

3.

Los valores de “situación” (de la tabla S) nunca deben disminuir.

4.

El valor promedio de “situacion” debe ser mayor que 25.

5.

Desechar la regla de integridad “R4”

Respuestas:
1.

a)

CREATE INTEGRITY RULE R1
ON

INSERT S.SITUACION,
UPDATE S.SITUACION :

CHECK FORALL S (S.SITUACION > 0)
ELSE

REJECT;

// Lectura:

Se crea la regla de integridad R1
Ante una situacion de insercion, actualizacón
en el campo s.situacion:
verifica “para toda S” s.situacion >0
De lo contrario rechaza;

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

//

Página 24 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

b)

CREATE INTEGRITY RULE R1
CHECK S.SITUACION > 0

2.

// Checa que s.situacion sea > a 0 //

CREATE INTEGRITY RULE R2
CHECK IS_INTEGER (SP.AÑO)
AND

IS_INTEGER (SP.MES)

AND

IS_INTEGER (SP.DIA)

AND

NUM (SP.AÑO) BETWEEN 0 AND 99

AND

NUM (SP.MES) BETWEEN 1 AND 12

AND

NUM (SP.DIA) > 0

AND

// Between = entre //

IF NUM (SP.MES) IN (1,3,5,7,8,10,12)

THEN NUM(SP.DIA) < 32
AND

IF NUM (SP.MES) IN (4,6,9,11)

THEN NUM(SP.DIA) < 31

AND

IF NUM (SP.MES) = 2

THEN NUM(SP.DIA) < 30
AND

IF NUM (SP.MES) = 2 AND NUM(SP.AÑO) < > 0 AND

MOD ( NUM(SP.AÑO), 4) = 0
THEN NUM(SP.DIA) < 29;

3.

CREATE INTEGRITY RULE R3
BEFORE UPDATE OF S.SITUACION FROM NUEVA_SIT:
CHECK NUEVA_SIT > S.SITUACION;

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 25 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

4.

CREATE INTEGRITY RULE R4
CHECK IF EXIST S() THEN AVG (S.SITUACION) > 25;

5.

DROP INTEGRITY RULE R4;

PROBLEMAS DE QUEL
A)

RESTRICCIONES DE SEGURIDAD
1.

De la sintaxis de la restricción de seguridad en QUEL

2.

De la sintaxis de destruir permiso en QUEL

Respuestas:

1.

DEFINE PERMIT Operación(es) //Ejemplos de posibles operaciones:
RETRIEVE = select (sql) = recuperar.
REPLACE = update (sql) = actualizar //

ON

TABLA (campo1, campo2, etc)

TO

USUARIO

AT

TERMINAL(ES)

FROM

HORA1 TO HORA2

ON

DIA1 TO DIA2

WHERE (Condicion)

2.

DESTROY PERMIT TABLA No_identificador // ’No_identificador’ lo da el sist.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 26 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

B)

CREAR INTEGRIDAD EN QUEL
1.

De la sintaxis de cómo crear Integridad

2.

De la sintaxis de cómo destruir (quitar) integridad

Respuestas:
1.

DEFINE INTEGRITY
ON TABLA
IS CONDICION

2.

DESTROY INTEGRITY TABLA No_identificador

Nota: Para aplicación de estas sintaxis de QUEL vea ejemplos en la pag. 434 y 435.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 27 de 28
Bases de Datos II, por M.C. Enrique Ruiz Díaz.

Invitation.

La Bandera de los Estados Unidos Mexicanos.

Visit: https://sites.google.com/site/mcenriqueruizdiaz/
Also: http://sites.google.com/site/enriqueruizdiaz/

Get Instruments of Training for you.

Go to: https://sites.google.com/site/mccenriqueruizdiaz/

Página 28 de 28

Contenu connexe

Tendances

Resumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datosResumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datosaula40tics2finanzas
 
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...Aragón Open Data
 
Funciones busqueda y referencia
Funciones busqueda y referenciaFunciones busqueda y referencia
Funciones busqueda y referenciadanielacalambas
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis DelphiJose Ponce
 
Manual de usuario xcell48 v1.1
Manual de usuario xcell48 v1.1Manual de usuario xcell48 v1.1
Manual de usuario xcell48 v1.1gerson torrez
 

Tendances (8)

Resumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datosResumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datos
 
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Consultas
ConsultasConsultas
Consultas
 
Funciones busqueda y referencia
Funciones busqueda y referenciaFunciones busqueda y referencia
Funciones busqueda y referencia
 
Ambiente excel eva sofia lopez s.
Ambiente excel eva sofia lopez s.Ambiente excel eva sofia lopez s.
Ambiente excel eva sofia lopez s.
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis Delphi
 
Manual de usuario xcell48 v1.1
Manual de usuario xcell48 v1.1Manual de usuario xcell48 v1.1
Manual de usuario xcell48 v1.1
 

Similaire à Bases de datos ii m.c. enrique ruiz díaz

Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sqlJuanKMillos
 
Diseño Lógico de la base de datos
Diseño Lógico de la base de datosDiseño Lógico de la base de datos
Diseño Lógico de la base de datoseeencalada
 
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxOVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxMARGOTHLORENAMARTINE
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sqlJuanKMillos
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql K-rlos Pac
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datosDorvinEduardo
 
Unidad III: Modelo Lógico de BD
Unidad III: Modelo Lógico de BDUnidad III: Modelo Lógico de BD
Unidad III: Modelo Lógico de BDlissette_torrealba
 
S3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdf
S3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdfS3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdf
S3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdfJoseRivero30031
 

Similaire à Bases de datos ii m.c. enrique ruiz díaz (20)

Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sql
 
Practicassql
PracticassqlPracticassql
Practicassql
 
Tutoria 2do bim-v1
Tutoria 2do bim-v1Tutoria 2do bim-v1
Tutoria 2do bim-v1
 
Diseño Lógico de la base de datos
Diseño Lógico de la base de datosDiseño Lógico de la base de datos
Diseño Lógico de la base de datos
 
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxOVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sql
 
Taller Access #2
Taller Access #2Taller Access #2
Taller Access #2
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
U3-ACT02-TBD-ISC-MSG.pdf
U3-ACT02-TBD-ISC-MSG.pdfU3-ACT02-TBD-ISC-MSG.pdf
U3-ACT02-TBD-ISC-MSG.pdf
 
Grado 9 manual base de datos
Grado 9 manual base de datosGrado 9 manual base de datos
Grado 9 manual base de datos
 
glosario
glosarioglosario
glosario
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Unidad III: Modelo Lógico de BD
Unidad III: Modelo Lógico de BDUnidad III: Modelo Lógico de BD
Unidad III: Modelo Lógico de BD
 
Base de datos sb09002
Base de datos sb09002Base de datos sb09002
Base de datos sb09002
 
S3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdf
S3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdfS3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdf
S3_PPT N° 7_Modelado y análisis de datos_4480ce9ce17191c11e33d5beb0f4b4a4.pdf
 
04-SQL.pdf
04-SQL.pdf04-SQL.pdf
04-SQL.pdf
 

Plus de enriqueruizdiaz

1240 quotes m.c. enrique ruiz diaz
1240 quotes   m.c. enrique ruiz diaz1240 quotes   m.c. enrique ruiz diaz
1240 quotes m.c. enrique ruiz diazenriqueruizdiaz
 
Leadership 100and5 stars - theme 15 -
Leadership   100and5 stars - theme 15 -Leadership   100and5 stars - theme 15 -
Leadership 100and5 stars - theme 15 -enriqueruizdiaz
 
Third book of english readings m.c. enrique ruiz díaz, for you
Third book of english readings   m.c. enrique ruiz díaz, for youThird book of english readings   m.c. enrique ruiz díaz, for you
Third book of english readings m.c. enrique ruiz díaz, for youenriqueruizdiaz
 
The second book of english readings of m.c. enrique ruiz díaz
The second book of english readings of m.c. enrique ruiz díazThe second book of english readings of m.c. enrique ruiz díaz
The second book of english readings of m.c. enrique ruiz díazenriqueruizdiaz
 
Neuronas espejo, y el poder de leer m.c. enrique ruiz díaz
Neuronas espejo, y el poder de leer   m.c. enrique ruiz díazNeuronas espejo, y el poder de leer   m.c. enrique ruiz díaz
Neuronas espejo, y el poder de leer m.c. enrique ruiz díazenriqueruizdiaz
 
La fotografía del éxito m.c. enrique ruiz díaz
La fotografía del éxito   m.c. enrique ruiz díazLa fotografía del éxito   m.c. enrique ruiz díaz
La fotografía del éxito m.c. enrique ruiz díazenriqueruizdiaz
 
The importance of the english language ...
The importance of the english language ...The importance of the english language ...
The importance of the english language ...enriqueruizdiaz
 
The first book of english readings of m.c. enrique ruiz díaz
The first book of english readings of m.c. enrique ruiz díazThe first book of english readings of m.c. enrique ruiz díaz
The first book of english readings of m.c. enrique ruiz díazenriqueruizdiaz
 
Aprendamos del gran maestro jw-org
Aprendamos del gran maestro   jw-orgAprendamos del gran maestro   jw-org
Aprendamos del gran maestro jw-orgenriqueruizdiaz
 
Mexico y el primer mundo
Mexico y el primer mundoMexico y el primer mundo
Mexico y el primer mundoenriqueruizdiaz
 
La concentración, el adn del liderazgo
La concentración, el adn del liderazgoLa concentración, el adn del liderazgo
La concentración, el adn del liderazgoenriqueruizdiaz
 
El pensamiento crítico visto por m.c. enrique ruiz díaz
El pensamiento crítico visto por m.c. enrique ruiz díazEl pensamiento crítico visto por m.c. enrique ruiz díaz
El pensamiento crítico visto por m.c. enrique ruiz díazenriqueruizdiaz
 
The phrasal verbs, by m.c. enrique ruiz díaz
The phrasal verbs, by m.c. enrique ruiz díazThe phrasal verbs, by m.c. enrique ruiz díaz
The phrasal verbs, by m.c. enrique ruiz díazenriqueruizdiaz
 
Lo que 'leader summaries logros extraordinarios' ignora
Lo que 'leader summaries   logros extraordinarios' ignoraLo que 'leader summaries   logros extraordinarios' ignora
Lo que 'leader summaries logros extraordinarios' ignoraenriqueruizdiaz
 
Por qué es importante para usted el leer 20 minutos al día
Por qué es importante para usted el leer 20 minutos al díaPor qué es importante para usted el leer 20 minutos al día
Por qué es importante para usted el leer 20 minutos al díaenriqueruizdiaz
 
Bases de datos i m.c. enrique ruiz díaz
Bases de datos i   m.c. enrique ruiz díazBases de datos i   m.c. enrique ruiz díaz
Bases de datos i m.c. enrique ruiz díazenriqueruizdiaz
 
Regular and irregular verbs, by m.c. enrique ruiz díaz
Regular and irregular verbs, by m.c. enrique ruiz díazRegular and irregular verbs, by m.c. enrique ruiz díaz
Regular and irregular verbs, by m.c. enrique ruiz díazenriqueruizdiaz
 
President abraham lincoln and the american civil war
President abraham lincoln and the american civil warPresident abraham lincoln and the american civil war
President abraham lincoln and the american civil warenriqueruizdiaz
 

Plus de enriqueruizdiaz (20)

1240 quotes m.c. enrique ruiz diaz
1240 quotes   m.c. enrique ruiz diaz1240 quotes   m.c. enrique ruiz diaz
1240 quotes m.c. enrique ruiz diaz
 
Leadership 100and5 stars - theme 15 -
Leadership   100and5 stars - theme 15 -Leadership   100and5 stars - theme 15 -
Leadership 100and5 stars - theme 15 -
 
Third book of english readings m.c. enrique ruiz díaz, for you
Third book of english readings   m.c. enrique ruiz díaz, for youThird book of english readings   m.c. enrique ruiz díaz, for you
Third book of english readings m.c. enrique ruiz díaz, for you
 
The second book of english readings of m.c. enrique ruiz díaz
The second book of english readings of m.c. enrique ruiz díazThe second book of english readings of m.c. enrique ruiz díaz
The second book of english readings of m.c. enrique ruiz díaz
 
Neuronas espejo, y el poder de leer m.c. enrique ruiz díaz
Neuronas espejo, y el poder de leer   m.c. enrique ruiz díazNeuronas espejo, y el poder de leer   m.c. enrique ruiz díaz
Neuronas espejo, y el poder de leer m.c. enrique ruiz díaz
 
La fotografía del éxito m.c. enrique ruiz díaz
La fotografía del éxito   m.c. enrique ruiz díazLa fotografía del éxito   m.c. enrique ruiz díaz
La fotografía del éxito m.c. enrique ruiz díaz
 
The importance of the english language ...
The importance of the english language ...The importance of the english language ...
The importance of the english language ...
 
The first book of english readings of m.c. enrique ruiz díaz
The first book of english readings of m.c. enrique ruiz díazThe first book of english readings of m.c. enrique ruiz díaz
The first book of english readings of m.c. enrique ruiz díaz
 
Aprendamos del gran maestro jw-org
Aprendamos del gran maestro   jw-orgAprendamos del gran maestro   jw-org
Aprendamos del gran maestro jw-org
 
Nhsm
NhsmNhsm
Nhsm
 
Mexico y el primer mundo
Mexico y el primer mundoMexico y el primer mundo
Mexico y el primer mundo
 
La concentración, el adn del liderazgo
La concentración, el adn del liderazgoLa concentración, el adn del liderazgo
La concentración, el adn del liderazgo
 
The mayan civilization
The mayan civilizationThe mayan civilization
The mayan civilization
 
El pensamiento crítico visto por m.c. enrique ruiz díaz
El pensamiento crítico visto por m.c. enrique ruiz díazEl pensamiento crítico visto por m.c. enrique ruiz díaz
El pensamiento crítico visto por m.c. enrique ruiz díaz
 
The phrasal verbs, by m.c. enrique ruiz díaz
The phrasal verbs, by m.c. enrique ruiz díazThe phrasal verbs, by m.c. enrique ruiz díaz
The phrasal verbs, by m.c. enrique ruiz díaz
 
Lo que 'leader summaries logros extraordinarios' ignora
Lo que 'leader summaries   logros extraordinarios' ignoraLo que 'leader summaries   logros extraordinarios' ignora
Lo que 'leader summaries logros extraordinarios' ignora
 
Por qué es importante para usted el leer 20 minutos al día
Por qué es importante para usted el leer 20 minutos al díaPor qué es importante para usted el leer 20 minutos al día
Por qué es importante para usted el leer 20 minutos al día
 
Bases de datos i m.c. enrique ruiz díaz
Bases de datos i   m.c. enrique ruiz díazBases de datos i   m.c. enrique ruiz díaz
Bases de datos i m.c. enrique ruiz díaz
 
Regular and irregular verbs, by m.c. enrique ruiz díaz
Regular and irregular verbs, by m.c. enrique ruiz díazRegular and irregular verbs, by m.c. enrique ruiz díaz
Regular and irregular verbs, by m.c. enrique ruiz díaz
 
President abraham lincoln and the american civil war
President abraham lincoln and the american civil warPresident abraham lincoln and the american civil war
President abraham lincoln and the american civil war
 

Dernier

Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 

Dernier (20)

Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 

Bases de datos ii m.c. enrique ruiz díaz

  • 1. Bases de Datos II, por M.C. Enrique Ruiz Díaz. Bases de Datos II, por M.C. Enrique Ruiz Díaz. Correspondientes a mis Estudios de Licenciatura en Informática en el Instituto Tecnológico de Tuxtepec, Oax., México. All Rights Reserved. Con título y cédula profesional 5632071 en la Maestría en Ciencias de la Computación. Egresado del Instituto Tecnológico de Orizaba, Ver. México. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 1 de 28
  • 2. Bases de Datos II, por M.C. Enrique Ruiz Díaz. Acerca de mi. Titulado en la Maestría en Ciencias en Ciencias de la Computación, Cédula profesional 5632071. Egresado del Instituto Tecnológico de Orizaba, Ver., México. Antes, me Titulé en la Licenciatura en Informática, Cédula profesional 4046033. Egresado del Instituto Tecnológico de Tuxtepec, Oax., México, distinguiéndome además, por ser el mejor promedio de mi generación con 98%. Bien, regresando al tema de mi Título de Maestría en Ciencias de la Computación, para subrayar que ésta, requirió el desarrollo de una TESIS. Otro aspecto muy importante, fue que durante el desarrollo de mi Maestría escribí un ARTICULO, mismo que fue aceptado para publicación y con mi ponencia en el evento 'Primer Encuentro de Estudiantes en Ciencia de la Computación E2C2' ISBN-10:970-36-0404-8 e ISBN-13:978-970-36-0404-3 celebrado en el Instituto Politécnico Nacional, México, D.F. 2007. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 2 de 28
  • 3. Bases de Datos II, por M.C. Enrique Ruiz Díaz. Mi Diploma por mi Ponencia en el Instituto Politécnico Nacional, México, D.F. 2007, durante mis estudios de Maestría. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 3 de 28
  • 4. Bases de Datos II, por M.C. Enrique Ruiz Díaz. UNIDAD 1 - Reglas de Integridad Relacional. 1. Dibuje una tabla en donde se identifique lo siguiente: 1) 2) 3) 4) Una tupla o registro. Un atributo o campo. El campo llave primaria. El campo clave ajena. Respuesta: EMPLEADOS RFC Nom_empl Sdo Ant No_Depto Tupla 1 DISR 810422 b) c) d) 4,800 10 1 Tupla 2 RUDE 801125 a) Rosa Andrea Díaz Sánchez Enrique Ruiz Díaz 3,500 5 2 Una tupla o registro. Cualquiera de las dos líneas de información que nos presenta la tabla. Un atributo o campo. Cualquiera de los 5 atributos o campos. El campo clave primaria. En este caso es el “RFC”. El campo clave ajena. En este caso es “No_Depto”. (Se supone que existirá una tabla de “Departamentos” en donde necesariamente encontraremos un “Depto no. 1” y un “Depto no. 2”.) 2. ¿A quienes se aplican las 2 reglas generales de Integridad? A las claves primarias y a las claves ajenas. 3. ¿Qué es una Clave Primaria? Es un identificador único en una relación (una tabla), es decir, nos permite identificar de forma única a las tuplas. Por lo cual, la clave primaria no debe contener valores nulos ni repetidos. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 4 de 28
  • 5. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 4. ¿Por qué son importantes las claves primarias? Porque es el único modo garantizado por el sistema de localizar alguna tupla específica. 5. ¿Qué requisitos deben cubrir las claves candidatas a claves primarias? a) Unicidad. Significa que no existen 2 tuplas con el mismo valor. b) Minimalidad. Sí la clave está compuesta, no es posible destruir ningún componente sin destruir la unicidad. 6. Cuál es la diferencia entre claves candidatas, clave alternativa y clave primaria? Una relación tiene varias claves candidatas a clave primaria, se escoge una de esas claves candidatas como clave primaria, y a las demás las llamamos claves alternativas. 7. ¿Cuáles son las 2 reglas generales de Integridad del modelo relacional? a) Regla de Integridad de las Entidades. b) Regla de Integridad Referencial. 8. ¿Qué dice la Regla de Integridad de Entidades? Ningún componente de la clave primaria de una relación base puede aceptar nulos. Por ejemplo, en nuestra tabla “Empleados” al atributo “RFC” se le aplica esta regla. 9. Qué dice la Regla de Integridad Referencial? La base de datos no debe contener valores de clave ajena sin concordancia. 10. ¿Qué es la Clave ajena? Es un atributo de una relación cuyos valores deben concordar con los de la clave primaria de otra relación. Por ejemplo: ... 4 2 1 ... Atributo ... Referido 4 ... Clave Ajena 2 Tabla 1 1 Go to: https://sites.google.com/site/mccenriqueruizdiaz/ ... ... Tabla 2 Página 5 de 28
  • 6. Bases de Datos II, por M.C. Enrique Ruiz Díaz. Clave ajena EMPLEADOS RFC Nom_empl Sdo Ant No_Depto Tupla 1 DISR 810422 Rosa Andrea Díaz Sánchez 4,800 3 10 Tupla 2 CORE 801125 Enrique Cortinez Robles 4,500 5 20 Tupla 3 HABR 791012 Rubi Hajek byron 3,300 2 30 Clave primaria DEPTOS Num_D Nom_Dep Num_Empl CJ 10 5 JD1 20 Ventas 50 JD2 30 Contabilidad 10 JD3 40 11. Mercadotecnia Producción 0 JD4 ¿Qué es la Disgreción? Nos dice que si bien el valor de la clave ajena debe concordar con la clave primaria de otra relación, no se requiere lo inverso, es decir, la clave primaria correspondiente a una clave ajena dada podría contener un valor que de momento no aparezca como valor de esa clave ajena. En nuestro ejemplo anterior, si bien el atributo de la clave ajena: “No_Depto” de la tabla “Empleados” debe de encontrar a su correspondiente valor en la tabla “Deptos”, ésta tabla puede en un momento tener un valor (en su clave primaria) que no aparezca en la tabla empleados; por ejemplo, el depto 40 de Producción. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 6 de 28
  • 7. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 12. ¿Cómo se llama a la Relación que contiene a la clave ajena? Relación referencial. (Por ejemplo, la tabla “Empleados”). 13. ¿Cómo se llama a la Relación que contiene a la clave primaria que es llamada por la clave ajena? Relación referida o relación objetivo. (Por ejemplo, la tabla “Deptos”). 14. ¿Qué se entiende por Relaciones autorreferenciales? Cuando en una Relación (o tabla) los valores de la clave ajena (no nulos) deben coincidir con los valores de la clave primaria de la misma relación. Es decir, no hay dos tablas, sino una sola, pero observe que no se permiten nulos. 15. ¿Cuáles son las preguntas que hay que responder para el manejo de la Clave ajena? a) ¿Puede aceptar nulos la Clave ajena? b) ¿Qué deberá suceder si hay un intento de eliminar el objetivo de una clave ajena? c) ¿Qué deberá suceder si hay un intento de modificar la clave primaria que es el objetivo de una clave ajena?. 16. Mencione las 3 respuestas posibles a las preguntas anteriores. a) Se restringe. b) Se propaga. c) Se anula. 17. ¿Qué se entiendo por operación restringuida (se restringe)? No se puede eliminar una tupla de la tabla referida cuando tiene información que es requerida por la clave ajena de otra tabla. 17. ¿Qué se entiende por operación de propagación? La operación de eliminación se propaga a la tabla que contiene la tupla con la clave ajena que la llama. Por ejemplo, si se elimina al departamento de contabilidad se elimina también a la tupla de Rubi Hajek byron. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 7 de 28
  • 8. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 18. ¿Qué se entiende por la operación de “se anula”? Se siguen 2 pasos, primero, se asigna nulo a la clave ajena correspondiente, y luego, se elimina a la tupla correspondiente de la tabla referida u objetivo. Nota: Las operaciones pueden ser de eliminación y de modificación. a) b) c) En el caso de la “modificación y restringida” la operación de modificación se permite, siempre y cuando no haya claves ajenas que requieran los datos. En el caso de “modificación y propagación” la modificación se propaga modificando también a la clave ajena correspondiente. En el caso de la “modificación y se anula” se siguen los 2 pasos: primero, se asignan nulo a la clave ajena correspondiente y en seguida se modifica a la tupla referida u objetivo. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 8 de 28
  • 9. Bases de Datos II, por M.C. Enrique Ruiz Díaz. SENTENCIAS EN SQL - Lenguaje Estructurado de Consulta – Aplicación de algunas sentencias elementales del lenguaje SQL. SELECT, FROM Y WHERE. Sintaxis: SELECT (lista de atributos) FROM (tabla o lista de tablas) WHERE (condicion) OBTENGA LA INSTRUCCIONES SQL Y LA TABLA RESULTADO DE LOS SIGUIENTES PROBLEMAS (con las tablas Empleados y Deptos). 1. Obtener una lista de empleados (clave, nombre y sueldo) de aquellos que tengan una antigüedad mayor a 2 años. SELECT (RFC, Nom_empl, Sdo) FROM EMPLEADOS WHERE (Ant > 10) RESULTADO RFC Nom_empl Sdo Tupla 1 DISR 810422 Rosa Andrea Díaz Sánchez 4,800 Tupla 2 CORE 801125 Enrique Cortinez Robles 4,500 2. Obtener la clave y nombre del empleado de aquellos que estén en el departamento de ventas. SELECT (RFC, Nom_empl) FROM (EMPLEADOS, DEPTOS) WHERE (Nom_dep = “Ventas”) AND (Num_D = No_Depto) Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 9 de 28
  • 10. Bases de Datos II, por M.C. Enrique Ruiz Díaz. RESULTADO RFC Tupla 2 CORE 801125 Nom_empl Enrique Cortinez Robles 3. Obtener la información completa de los empleados que tengan un sueldo menor o igual a 4,500 SELECT * FROM EMPLEADOS WHERE (SDO <= 4,500) RESULTADO RFC Nom_empl Sdo Ant No_Depto Tupla 2 CORE 801125 Enrique Cortinez Robles 4,500 5 20 Tupla 3 HABR 791012 Rubi Hajek byron 3,300 2 30 Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 10 de 28
  • 11. Bases de Datos II, por M.C. Enrique Ruiz Díaz. UNIDAD 2 - Recuperacion y Concurrencia. 1. ¿Qué se entiende por TRANSACCIÓN? Una transacción es una unidad lógica de trabajo. La cual no es por fuerza una sola operación en la base de datos; más bien, es en general una secuencia de varias de esas operaciones mediante la cual un estado consistente de la base de datos se transforma en otro estado consistente, sin conservar por fuerza la consistencia en todos los puntos intermedios. Por ejemplo: una transacción que implique dos modificaciones a la base de datos, entonces la transacción es el conjunto de esas dos modificaciones, no puede faltar ninguna de ella porque se perdería la consistencia. 2. ¿Qué se entiende por CONSISTENCIA? Una respuesta simplista: cuando los datos de la base de datos están completos y correctos; bien sea porque no se ha iniciado alguna transacción, o porque estas han sido exitosamente realizadas. 3. ¿Qué es el PROCESAMIENTO DE OPERACIONES? Es la garantía que ofrece el sistema de que si la transacción ejecuta algunas modificaciones y después se presenta una falla (por cualquier razón) antes de que llegue el término normal de la transacción, se anularan esas modificaciones. Así, o bien la transacción se lleva a cabo en su totalidad, o se cancela en su totalidad (Propiedad de la “ATOMICIDAD” es decir, o todo completo o nada). 4. ¿Cómo se llama el componente del sistema encargado de lograr la “atomicidad” en las Transacciones? “Manejador de Transacciones” 5. ¿Qué operaciones realiza el Manejador de Transacciones? a) COMMIT (comprometer en español) b) ROLLBACK (retroceder) Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 11 de 28
  • 12. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 6. ¿Qué significa una operación COMMIT? Señala el término exitoso de la transacción: le dice al Manejador de transacciones que ha finalizado con éxito una unidad lógica de trabaja (una transacción) y que se hacen permanentes las modificaciones efectuadas por esa transacción. En español se dice “comprometer” y significa lo mismo. 7. ¿Qué significa la operación ROLLBACK? Señala el término No exitoso de una transacción: le dice al manejador de transacciones que algo salió mal y que todas las modificaciones efectuadas hasta el momento por la unidad lógica de trabajo deben anularse. 8. ¿Qué es el Punto de Sincronización? Se establece con la ejecución de una operación COMMIT (comprometer) o ROLLBACK (retroceder). Un punto de Sincronización representa el límite entre dos transacciones consecutivas, de modo que corresponde al final de una unidad lógica de trabajo (una transacción) lo cual es el punto en que la BD está en un estado de consistencia (con datos correctos y completos). 9. ¿Qué es la BITACORA o diario? Es el registro de todas las operaciones de actualización (modificación), en particular, los valores iniciales y final del objeto modificado. 10. ¿Para que sirva la BITACORA? Para cuando es necesario anular alguna modificación especifica, el sistema puede utilizar la entrada correspondiente de la bitácora para restaurar el valor original del objeto modificado. 11. ¿Qué es el Punto de Revisión? Cada cierto intervalo el sistema establece un Punto de Revisión que implica: a) Gravar físicamente el contenido de los buffers (memoria) de datos en la base de datos física (disco duro). b) Gravar físicamente un registro de punto de Revisión especial en la bitácora física. 12. ¿Para que sirve el Punto de Revisión? Para cuando se reinicia el sistema después de una falla, se establezca que transacciones deberán anularse y cuales deberán repetirse. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 12 de 28
  • 13. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 13. ¿Cuales son los pasos del algoritmo para identificar las transacciones a anular y a repetir? ... ... 14. ¿Cuáles son las fallas que puede presentarse en el sistema? a) fallas locales. Afecta a una sola transacción como por ejemplo, un problema de desborde en la misma. b) 15. fallas globales. Afecta a todas las transacciones que se estaban efectuando en el momento de la falla. ¿Cuáles son las categorías de las “fallas globales”? a) Fallas del sistema. Por ejemplo, corte de la electricidad. Daña a todas las transacciones que se estaban efectuando pero no daña a la base de datos. b) Fallas de los medios de almacenamiento. Daño en el disco duro por aterrizaje de las cabezas, lo que puede dañar cuando menos a una parte de la base de datos y por supuesto a las transacciones que se estaban efectuando. 12. ¿Cómo se efectúa la recuperación en las fallas del sistema? Cuando el sistema se reinicia algunas transacciones deberán anularse y otras deberán realizarse nuevamente. Para ello, el sistema utilizará a la Bitácora en donde se registra las transacciones que se estaban realizando en el momento de establecerse el “punto de revisión”. 16. 17. ¿Cómo se efectúa la recuperación en las fallas de los medios de almacenamiento? Cuando se destruye físicamente (en el disco duro, o cinta) alguna porción de la base de datos, la recuperación implica cargar de nuevo (restaurar) la base de datos a partir de una copia de respaldo y después utilizar la bitácora para realizar de nuevo todas las transacciones terminadas desde que se hizo esa copia de respaldo. ¿En que consiste un problema de Concurrencia? Es una situación en la cual una transacción, aunque correcta en sí, puede producir de todos modos un resultado incorrecto debido a la interferencia por parte de alguna otra transacción. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 13 de 28
  • 14. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 18. ¿Cuales son los tres problemas de Concurrencia? a) El problema de la modificación perdida. b) El problema de la dependencia no comprometida. c) El problema del análisis inconsistente. (no se estudiará) 19. ¿En que consiste el problema de la Modificación perdida? Cuando la transacción B graba su registro modificado encima del registro modificado por A sin verlo siquiera. En detalle, en un principio, dos transacciones “A” y “B” leen correctamente el valor de un registro, pero luego, “A” modifica el valor y a continuación “B” también modifica dicho registro sin considerar que el valor del registro ya no corresponde a lo que inicialmente leyó. 20. ¿En que consiste el problema de la dependencia no comprometida? Cuando una transacción (A) habrá visto datos que ya no existen (y que en cierto sentido nunca existieron). En detalle, Cuando se permite a una transacción (A) leer o modificar con datos modificados por otra transacción (B) pero que aun no son datos definitivos (no se han “comprometido”), porque sí la transacción “B” vuelve a modificar dicho registro en cuyo caso la transacción “A” trabaja con datos que ya no existen. 21. ¿Qué es el BLOQUEO? Es la seguridad que una transacción adquiere de que un registro de la base de datos no cambiará sin que ella se dé cuenta. Se bloquea el acceso a otras transacciones. 22. ¿Cuáles son los dos tipos de Bloqueos? a) Bloqueos compartidos (bloqueos S). (Se solicita cuando se lee – se copia- un dato) b) Bloqueos exclusivos (bloqueos X). (Se solicita cuando se va a actualizar) 23. ¿Qué efecto tiene el bloqueo exclusivo X? Si una transacción A tiene un bloqueo exclusivo (X) sobre un registro, una solicitud por parte de la transacción B de cualquier tipo de bloqueo (S o X) hará que B entre en un estado de espera hasta que se libere el bloqueo. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 14 de 28
  • 15. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 24. ¿Qué efecto tiene el bloqueo compartido (S)? Si una transacción A tiene un bloqueo compartido (S) sobre un registro: a) b) 25. Una solicitud por una transacción B de bloqueo X sobre el registro hará que B entre en un estado de espera. Una solicitud por una transacción B de bloqueo S sobre el registro será concedida. Dibuje la “Matriz de compatibilidad” transacción A Nota: el – significa que no hay bloqueo. trans. S - X no no si S no si si - B X si si si Esta matriz refleja lo mismo ya expresado anteriormente con los efectos de los bloqueos. 26. ¿Que es el bloqueo mutuo? Es una situación en la cual dos o más transacciones están en un estado de espera simultáneo, y cada una espera la liberación de un bloqueo por parte de la otra para poder continuar. 27. ¿Cómo se resuelve el problema de la modificación perdida? (Vea definición del problema) Cuando la transacción A quiere actualizar (modificar) el registro solicita un bloqueo X, dicho bloqueo no procede porque no es compatible con el bloqueo S que anteriormente puso la transacción B, por lo que A entra en espera ... Por otra parte, B solicita un bloqueo X para actualización, el cual tampoco procede debido al bloqueo S que anteriormente había impuesto A, y B también entra en espera ... la solución es que no se pierde ninguna modificación pero hay bloqueo mutuo o candado mortal. 28. ¿Cómo se resuelve el problema del bloqueo mutuo o candado mortal? El sistema elige como víctima a una de las transacciones y a la otra le permite continuar. La transacción víctima posteriormente tendrá que rehacerse. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 15 de 28
  • 16. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 29. ¿Cómo se resuelve el problema de la dependencia no comprometida? Para evitar que una transacción (A) use datos que aun no terminan de ser actualizados por otra transacción (B) se usan los bloqueos, así una transacción (B) que actualice (modifique) un registro le asigna bloqueo X (bloqueo exclusivo) siendo así, la otra transacción (A) deberá esperar hasta que se libere el dato para que pueda a la vez aplicar su propio bloqueo. El hecho de “liberar” el dato se le llama “comprometer” y significa que el dato ya es correcto. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 16 de 28
  • 17. Bases de Datos II, por M.C. Enrique Ruiz Díaz. UNIDAD 3 - Seguridad e Integridad. 1. ¿Cuál es la diferencia entre “Seguridad” e “Integridad”? Seguridad se refiere a la protección de los datos contra una revelación, alteración o destrucción no autorizada (protege a la BD contra usuarios no autorizados); Integridad se refiere a la exactitud de los datos o validez de los datos (protege a la BD de usuarios autorizados). 2. Mencione algunas consideraciones generales sobre la Seguridad a) Aspectos legales, sociales y éticos. Ejemplo: tenemos derecho legal de obtener la información solicitada a un cliente de crédito. b) Controles físicos. Ejem. Deberá estar cerrado el cuarto de las computadoras o terminales. c) Cuestiones de política interna. Ejem. ¿Cómo decide la empresa quién puede tener acceso a que?. d) Problemas de operación. Ejem. Si se utiliza un sistema de contraseñas, ¿Cómo se mantienen en secreto? ¿Con que frecuencia se cambian? e) Controles del equipo. Ejem. ¿Posee la CPU características especiales de seguridad como claves de protección a las áreas de almacenamiento? f) Seguridad del sistema operativo. Ejem. ¿borra el sist. op. el contenido de las áreas de memoria y archivos cuando ya no se necesitan? 3. ¿Con qué características cuenta el SQL en materia de seguridad? a) El mecanismo de vistas (View) b) El subsistema de autorización (Grant y Revoke) 4. ¿Qué es el mecanismo de Vistas en SQL? Es un mecanismo que hace posible dividir conceptualmente a la BD en fragmentos de distinta manera con objeto de ocultar información confidencial a usuarios no autorizados, es decir, solo se visualiza un subconjunto de la BD. 5. ¿Qué es el subsistema de autorización en SQL? A diferencia del mecanismo de vistas, el subsistema de autorización permite especificar las operaciones que los usuarios autorizados pueden ejecutar con fragmentos de la BD. Esa función la realizan las proposiciones GRANT (conceder) y REVOKE (revocar). Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 17 de 28
  • 18. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 6. ¿Qué son las restricciones de autorización? Son las decisiones sobre cuáles derechos deben concederse a cuáles usuarios, las cuales se dan a conocer al sistema con las proposiciones GRANT (conceder) y REVOKE (revocar) y el sistema las guarda en su catalago. 7. ¿Qué es una “solicitud de acceso”? Es la combinación de operación solicitada más objeto solicitado más usuario solicitante. Por ejemplo, operación: update = actualizar; objeto: campo ‘nom’ de la tabla x; usuario: Rosy. Las solicitudes de acceso se verifican contra las restricciones de autorización aplicables. 8. Mencione los términos básicos para el manejo de ‘Vistas’ y ‘Autorización’ en SQL? 1) SELECT = Seleccionar 2) UPDATE = 3) GRANT = Conceder 4) REVOKE = Revocar 5) SYSTABLE = Tabla reservada (catalogo) 6) USER = Usuario (el actual) 7) SYSADM = Todos los derechos 8) DELETE = Eliminar 9) INSERT = Insertar 10) AVG = 11) PUBLIC = Todos los usuarios 12) ALL = 13) CHECK = Verifica 14) IS_INTEGER = ¿Es entero? (el contenido de una cadena de caracteres) 15) NUM = A numero (una cadena de caracteres que representa un Modificar Se obtiene el promedio Todos los permisos numero toma realmente valor numerico) Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 18 de 28
  • 19. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 16) 17) 18) ALTER TABLE = CREATE INDEX = WITH GRANT OPTION = Alterar tabla Crear indice Permito para otorgar permiso 9. ¿Qué es la operación SYSADM? Es una autorización especial que cuando se instala el DB2 por primera vez, otorga al administrador del sistema todos los derechos para realizar todas las operaciones. 10. ¿Qué derechos son aplicables tanto a las tablas base como a las Vistas? SELECT (seleccionar) UPDATE (actualizar) DELETE (eliminar) INSERT (insertar) 11. ¿Qué derechos se aplican sólo a las tablas base? ALTER TABLE (alterar tabla) CREATE INDEX (crear indice) 12. En situaciones donde los datos son muy delicados o críticos que procedimientos deben seguirse a) b) 13. Un seguimiento de auditoria, que registre datos como: operación, terminal, usuario, fecha y hora, tabla , registro afectado, valor anterior y nuevo del campo afectado. Guardar y/o transmitir los datos en forma codificada. ¿Con qué características cuenta el SQL en materia de Integridad? Un Lenguaje de Integridad (hipotético) que se compone de 2 proposiciones: a) b) CREATE INTEGRITY RULE (crear regla de integridad) DROP INTEGRITY RULE (desechar regla de integridad) Nota: Recordar que la Integridad busca proteger a la BD de los usuarios ya autorizados (ya hay seguridad) pero que ahora se requiere que generen información valida o correcta para la BD. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 19 de 28
  • 20. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 14. ¿Qué es una restricción de Integridad? Puede considerarse como una condición que debe ser todos los estados correctos de la base de datos. Por ejemplo, no puede haber un mes 13, o un día 40 etc. y otras situaciones no tan obvias pero que si son necesarias para el entorno de la base de datos, Por ejemplo: que el campo “situación” de la tabla “s” sea positivo ( CHECK S.SITUACION > 0). 15. ¿Qué es QUEL? Es un lenguaje que a diferencia de SQL, QUEL no aprovecha las “Vistas” (VIEW) para la observancia de la seguridad, en vez de ello, toda solicitud de un usuario se modifica de manera automática (y silenciosa) antes de la ejecucion para cuidar las restricciones de seguridad. (pag. 433) 16. De acuerdo a lo estudiado, cual sería la clasificación de “seguridad” e “integridad” abarcando SQL y QUEL SEGURIDAD SQL: a) Create view (creación de vistas) b) Grant (conceder), Revoke (revocar) QUEL: Estrategia de modificación de consultas. SQL: INTEGRIDAD Leng. de Integridad Hipotético: a) Create Integrity Rule b) Drop Integrity Rule QUEL: Estrategia de modificación de consultas. (otra vez) Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 20 de 28 QUEL: Estrategia de modificación de consultas.
  • 21. Bases de Datos II, por M.C. Enrique Ruiz Díaz. PROBLEMAS DE SQL CREAR VISTAS (Seguridad) 1. Crear una vista de nombre “Prov_paris” con los campos snom, situacion, ciudad de la tabla S cuando la ciudad es Paris. 2. Mismo problema anterior, sólo que este tiene acceso a todos los registros pero no a situación. 3. Crear una vista con el nombre “Mis_tablas” para un usuario que se le permite el acceso sólo a las filas del catalago correspondiente a las tablas de las cuales es dueño. Respuestas: 1. CREATE VIEW Prov_paris AS SELECT S#, snom, situacion, ciudad FROM S WHERE ciudad=”paris”; 2. CREATE VIEW Prov_nom_ciud AS SELECT S#, snom, ciudad //El nombre puede ser cualquiera// FROM S; //Si hay acceso a todos los registros, entonces no hay condicion (where)// 3. CREATE VIEW Mis_tablas AS SELECT * FROM SYSTABLES WHERE CREATOR = USER; //Acceso a todos los campos (fila completa) // Tabla reservada = catalogo // // Donde el creador es el mismo usuario actual// Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 21 de 28
  • 22. Bases de Datos II, por M.C. Enrique Ruiz Díaz. CREAR PERMISOS Y REVOCACIÓN (Seguridad) 1. 2. 3. 4. 5. 6. 7. Permiso de Selección sobre la tabla S a Carlos Permiso de Selección y Modificación sobre los campos situación y ciudad de la tabla S a Juan y Maria. Concede todos los permisos sobre las tablas S y P a Juan y Lupe Se concede selección sobre la tabla P a todos los usuarios Permiso de crear tabla indice sobre la tabla S a Felipe Se revoca selección sobre la tabla S a Carlos Se revoca selección y borrado sobre la tabla SP a Elena y Juan Respuestas: 1. GRANT SELECT ON TABLE S TO CARLOS; 2. GRANT SELECT, UPDATE (SITUACION, CIUDAD) ON TABLE S TO JUAN, MARIA; 3. GRANT ALL ON TABLE S, P TO JUAN, LUPE; 4. GRANT SELECT ON TABLE P TO PUBLIC; 5. GRANT INDEX ON TABLE S TO FELIPE; 6. REVOKE SELECT ON TABLE S FROM CARLOS; 7. REVOKE SELECT, DELETE ON TABLE SP FROM ELENA, JUAN; Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 22 de 28
  • 23. Bases de Datos II, por M.C. Enrique Ruiz Díaz. CREAR PERMISOS Y REVOCACIÓN DEL DERECHO DE CONCEDER AUTORIZACIÓN (Seguridad) 1. Otorgar el permiso de Seleccionar y de otorgar permiso del usuario U1 al U2 y de U2 a U3. 2. El usuario U1 revoca el permiso otorgado a U2 (por lo que por efecto ‘cascada’ U3 pierde también el permiso) Respuestas: 1. Usuario U1: GRANT SELECT ON TABLE S TO U2 WITH GRANT OPTION; Usuario U2: GRANT SELECT ON TABLE S TO U3 WITH GRANT OPTION; 2. Usuario U1: REVOKE SELECT ON TABLE S FROM U2; Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 23 de 28
  • 24. Bases de Datos II, por M.C. Enrique Ruiz Díaz. CREAR RESTRICCIONES DE INTEGRIDAD (Lenguaje de Integridad) 1. Los valores del campo “situacion” de la tabla S deben ser positivos. (Respuesta detallada y simplificada). 2. Integridad para la fecha (dia,mes,año). 3. Los valores de “situación” (de la tabla S) nunca deben disminuir. 4. El valor promedio de “situacion” debe ser mayor que 25. 5. Desechar la regla de integridad “R4” Respuestas: 1. a) CREATE INTEGRITY RULE R1 ON INSERT S.SITUACION, UPDATE S.SITUACION : CHECK FORALL S (S.SITUACION > 0) ELSE REJECT; // Lectura: Se crea la regla de integridad R1 Ante una situacion de insercion, actualizacón en el campo s.situacion: verifica “para toda S” s.situacion >0 De lo contrario rechaza; Go to: https://sites.google.com/site/mccenriqueruizdiaz/ // Página 24 de 28
  • 25. Bases de Datos II, por M.C. Enrique Ruiz Díaz. b) CREATE INTEGRITY RULE R1 CHECK S.SITUACION > 0 2. // Checa que s.situacion sea > a 0 // CREATE INTEGRITY RULE R2 CHECK IS_INTEGER (SP.AÑO) AND IS_INTEGER (SP.MES) AND IS_INTEGER (SP.DIA) AND NUM (SP.AÑO) BETWEEN 0 AND 99 AND NUM (SP.MES) BETWEEN 1 AND 12 AND NUM (SP.DIA) > 0 AND // Between = entre // IF NUM (SP.MES) IN (1,3,5,7,8,10,12) THEN NUM(SP.DIA) < 32 AND IF NUM (SP.MES) IN (4,6,9,11) THEN NUM(SP.DIA) < 31 AND IF NUM (SP.MES) = 2 THEN NUM(SP.DIA) < 30 AND IF NUM (SP.MES) = 2 AND NUM(SP.AÑO) < > 0 AND MOD ( NUM(SP.AÑO), 4) = 0 THEN NUM(SP.DIA) < 29; 3. CREATE INTEGRITY RULE R3 BEFORE UPDATE OF S.SITUACION FROM NUEVA_SIT: CHECK NUEVA_SIT > S.SITUACION; Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 25 de 28
  • 26. Bases de Datos II, por M.C. Enrique Ruiz Díaz. 4. CREATE INTEGRITY RULE R4 CHECK IF EXIST S() THEN AVG (S.SITUACION) > 25; 5. DROP INTEGRITY RULE R4; PROBLEMAS DE QUEL A) RESTRICCIONES DE SEGURIDAD 1. De la sintaxis de la restricción de seguridad en QUEL 2. De la sintaxis de destruir permiso en QUEL Respuestas: 1. DEFINE PERMIT Operación(es) //Ejemplos de posibles operaciones: RETRIEVE = select (sql) = recuperar. REPLACE = update (sql) = actualizar // ON TABLA (campo1, campo2, etc) TO USUARIO AT TERMINAL(ES) FROM HORA1 TO HORA2 ON DIA1 TO DIA2 WHERE (Condicion) 2. DESTROY PERMIT TABLA No_identificador // ’No_identificador’ lo da el sist. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 26 de 28
  • 27. Bases de Datos II, por M.C. Enrique Ruiz Díaz. B) CREAR INTEGRIDAD EN QUEL 1. De la sintaxis de cómo crear Integridad 2. De la sintaxis de cómo destruir (quitar) integridad Respuestas: 1. DEFINE INTEGRITY ON TABLA IS CONDICION 2. DESTROY INTEGRITY TABLA No_identificador Nota: Para aplicación de estas sintaxis de QUEL vea ejemplos en la pag. 434 y 435. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 27 de 28
  • 28. Bases de Datos II, por M.C. Enrique Ruiz Díaz. Invitation. La Bandera de los Estados Unidos Mexicanos. Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/ Get Instruments of Training for you. Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 28 de 28