Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3.2 Normalización.
3.3 Integridad de bases de datos.
◦ 3.3.1 Concepto.
◦ 3.3.2 Restricciones básicas (not null, llave primaria,
orden, verificación y aserción ).
◦ 3.3.3 Integridad de entidad.
◦ 3.3.4 Integridad referencial.
◦ 3.3.5 Reglas de relación.
◦ 3.3.6 Reglas de base de datos.
◦ 3.3.7 Reglas de negocios.
3.4 Seguridad de bases de datos.
◦ 3.4.1 Concepto de seguridad.
◦ 3.4.2 Autenticación y autorización.
◦ 3.4.3 Rol y privilegios de usuarios.
◦ 3.4.4 Vistas y seguridad.
3.5 Recuperación de bases de datos.
◦ 3.5.1 Transacciones.
◦ 3.5.1.1 Definición de transacción.
◦ 3.5.1.2 Propiedades de Atomicidad, Consistencia, Aislamiento y
Durabilidad (ACID).
◦ 3.5.1.3 Estados de las transacciones.
◦ 3.5.2 Bitácora.
◦ 3.5.2.1 Tipos de bitácora.
◦ 3.5.2.2 Contenido de la bitácora.
MODIFICAR EL ESQUEMA DE LA BD
◦ Índices.
◦ Recursos.
◦ Alteración.
◦ Eliminación.
Primero será necesario crear los usuarios. En
MySQL se puede usar la interfase gráfica para
crearlos.
Un rol es un papel desempeñado por un individuo dentro de un conjunto de
personas. En la base de datos, siempre existen un conjunto de personas que
harán uso de ella, las acciones que pueden hacer son: visualización,
modificación, agregación, eliminación de registros entre algunas otras, y la
regla que permite esto es conocida como privilegio. La cual es el permiso
que tienen los usuarios para realizar una operación determinada.
Características
No son propiedad de nadie ni están en un esquema.
Puede incluir permisos para pasar privilegios de uno a otro usuario (with
grant option).
Los privilegios son: alter, execute, delete, index, insert, references, select,
update, all.
A nivel de Sistema:
Derecho a ejecutar un tipo de comando sobre objetos de un esquema,
objetos de un tipo especificado, sobre el sistema o sobre un usuario.
Ejemplos:
grant select on sucursal to U1, U2, U3
grant update (importe) on prestamo to U1, U3
grant select on sucursal to U1 with grant option
Se usa la sentencia “revoke”, con el formato:
Ejemplos:
Revoke select on sucursal from U1, U3 cascade
Revoke update(importe) on prestamo from U1, U2
Las vistas son una forma de proporcionar al usuario un
modelo personalizado de la base de datos. Las vistas tienen
la misma estructura que una tabla: filas y columnas. La única
diferencia es que sólo se almacena de ellas la definición, no
los datos.
Por ejemplo:
Un “registro de actualización” describe una
escritura única en la BD y tiene los campos:
◦ ID_Transacción.
◦ ID_elemento_datos.
◦ Valor anterior.
◦ Valor nuevo.
Otros registros indican eventos especiales
como: inicio de transacción, éxito o fracaso
de la misma. Una posible vista de la bitácora
puede ser:
Registro Descripción
<Ti, iniciada> La transacción Ti ha comenzado.
<Ti, Xj, V1, V2> La transacción Ti ha realizado
una escritura sobre el dato Xj. Xj
tenía el valor V1 antes de la
escritura y tendrá el valor V2
después de la escritura
<Ti, comprometida> La transacción Ti se ha
comprometido.
<Ti, abortada> La transacción Ti ha sido
abortada.
Entonces, como mencionamos antes la
bitácora contiene modificaciones y eventos
importantes en la BD. Los tipos de registros
son:
◦ Actualización de la BD.
◦ Compensación.
◦ Commit.
◦ Abort.
◦ Checkpoint.
◦ Terminación.
3.6.1 Concepto.
Un diccionario de datos es un conjunto de
metadatos (descripción de datos).
Es un almacén centralizado de información
acerca de los datos, como su significado, sus
relaciones, origen, uso y formato.
En los sistemas de BD esta almacenado junto
con la BD. Se crea como resultado de las
sentencias del LDD. Y se puede consultar con el
LMD.
Contiene una descripción de cada objeto de la
BD (tablas, vistas, índices, procedimientos
almacenados, disparadores, etc.). Por ejemplo,
para una tabla, contiene información sobre su
nombre, los campos y sus tipos de datos, las
restricciones de integridad, etc.
Algunas funciones:
Los usuarios y aplicaciones pueden consultarlo
y obtener descripciones de los objetos.
Se usa por el compilador del LMD para validar
las sentencias.
Algunos de los tipos de tablas de diccionario
de datos de SQL:2003:
Tabla Contenido
USERS Fila por usuario.
DOMAINS Fila por dominio.
DOMAIN_CONSTRAINTS Fila por cada restricción de dominio.
TABLES Fila por cada tabla y vista.
VIEWS Fila por vista.
COLUMNS Fila por columna.
TABLE_CONSTRAINTS Fila por cada restricción de tabla.
REFERENTIAL_CONSTRAINTS Fila por cada restricción de
referencia.