Reglas de Codd
SGBD (Español) = SMBD (Latino): Sistema Manejador de Base de Datos.
Un SMBD es más relacional cuantas más reglas cumpla.
Regla 1: Información
*es descriptor de la ESTRUCTURA LOGICA de la base de datos!
*es lógica porque habla del cómo cuidar a lo físico, esto es lo datos
Un SMBD es más relacional cuantas más reglas cumpla.
Regla 1: Información
- Todos los datos deben estar almacenados en las tablas
- Estas tablas deben cumplir las premisas del modelo relacional
- No puede haber información a la que accedemos por otra vía.
Todo lo contenido en una bdr a nivel lógico debe de guardarse en relaciones/tablas, incluidos el diccionario de datos, metadatos o tablas del sistema
*esta regla trabaja sobre la ESTRUCTURA LOGICA de la base y su forma de organización
Regla 2: Acceso garantizado
- Todo dato (valor atómico) en una base de datos relacional es accesible de manera garantizada mediante la combinación del nombre de la tabla, llave primaria y nombre de columna.
el atributo, es la ETIQUETA que le pongo a una serie de campos de un mismo tipo
el campo es la unidad mínima de almacenamiento
y la columna es la unión de ATRIBUTO + campos del mismo tipo
son tres cosas diferentes
el atributo es lógico
el campo y columna son físicos
*trabaja con la ESTRUCTURA LOGICA llamada relación/tabla y el acceso a sus datos
*trabaja con la ESTRUCTURA LOGICA llamada relación/tabla y el acceso a sus datos
Regla 3: Tratamiento sistemático de los valores nulos
- Los valores nulos (NULL), que son diferentes a la cadena vacía, del carácter de espacio en blanco y al cero, son manejados por un sistema de base de datos relacionales de manera sistemática con el objeto de representar la información desconocida o faltante; debe hacerlo independiente del tipo de dato.
Se establecen 3 cosas
- Operaciones con nulos
- Búsqueda con nulos
- Tablas de verdad con nulos
*trabaja con lógica lógica porque dice como debe ser la REPRESENTACION LOGICA de los valores no aplicables de la base
Regla 4: Catalogo dinámico basado en línea
(esta disponible para todo usuario de la base en cualquier momento).
- El catalogo en línea es el diccionario de datos (estructura lógica de la BDR)
- El diccionario de datos se debe poder consultar usando las mismas técnicas que para los datos
- Los métadatos, por tanto, se organizan también en tablas relacionales.
- Si SELECT es la instrucción que consulta datos, también será la que consulta métadatos.
*Un objeto de una BDR es todo aquello que le puedo poner nombre y existe dentro de ella.
Ejemplo: DATABASE, TABLE, VIEW, TRIGGER, STORED, PROCEDURE, FUCTION, CONSTRAINT, USER, RULES. (Son parte de la estructura lógica de la BDR).
CATALOGO = Estructura lógica de la bd
DINAMICO = actualizado por el sistema
BASADO EN LINEA = Disponible para el usuario en todo momento
*es descriptor de la ESTRUCTURA LOGICA de la base de datos!
Regla 5: Sublenguaje de datos completos
- Al menos tiene que existir un lenguaje capaz de hacer todas las funciones de SMBD.
- No puede hacer funciones fuera de ese lenguaje.
- Puede haber otros lenguajes de SMBD para hacer ciertas tareas.
- Pero esas tareas también se deben poder hacer con el "lenguaje completo".
*lógico debido a que es cómo debe ser el sublenguaje para tratar los objetos y los datos
Regla 6: Vistas teoricamente actualizadables
- Las vistas tienen que mostrar información actualizada
- No puede haber diferencias entre los datos de las vistas y los datos de las tablas base.
un acceso recurrente e independiente a la tabla debe de siempre tener actualizable sus datos así como la tabla lo hace.
Una VISTA es un "objeto de la bdr" que es una tabla temporal y acceso recurrente a los datos de una tabla
se genera por dos razones: rapidez o seguridad...
algunos las mal llaman reportes, y hasta cierto punto puede ser debido a que en ocasiones guardar consultas que constantemente ejecutamos
por eso es por rapidez o seguridad es porque yo le puedo dar a un usuario una vista y el solo verá los atributos que yo le diga
*Las vistas no hacer operaciones (instrucciones) de modificación (son vista de selección de datos)
*teoricamente es sí puede verse modificada la tabla y siempre se verá en la vista, salvo aquellos casos en que se cambie la estructura física y que por integridad la vista no se puede modificar automáticamente si no más bien manual por seguridad del negocio. ejemplo: al borrar un dato por error, para recuperarlo tendria que
*es lógico, porque es como se deben de llevar las modificaciones de un acceso recurrente que e lógico
Regla 7: Inserciones, modificaciones (actualizaciones) y eliminaciones de alto nivel
- La idea es que el lenguaje que maneja la BD sea muy humana
- Eso implica que las operaciones DML trabaje con conjunto de filas a la vez
- Para modificar, eliminar o añadir datos no hará falta programar de la norma en la que lo hace los lenguajes de tercera generación como C o Java.
*Las instrucciones de modificación de una base de datos además de ser individuales también se pueden hacer por bloque. Si yo modifico, que pueda modificar a varias tuplas al mismo tiempo (eliminacion en cascada).
*Una consulta es cualquier instrucción o petición, incluyendo SELECT.
Las operaciones que le puede hacer a una BD de una tabla: inserción, actualización, eliminación y selección.
Las operaciones que alteran los datos son: inserción, actualización y eliminación.
*es lógica y física debido a que tiene también que ver con los datos y no solamente con la estructura de la base, afecta a la información como tal...
*Una consulta es cualquier instrucción o petición, incluyendo SELECT.
Las operaciones que le puede hacer a una BD de una tabla: inserción, actualización, eliminación y selección.
Las operaciones que alteran los datos son: inserción, actualización y eliminación.
*es lógica y física debido a que tiene también que ver con los datos y no solamente con la estructura de la base, afecta a la información como tal...
--------------------------------------------
INTEGRIDAD= mecanismos para establecer las reglas de negocio
5 tipos de integridad:
Clave
entidad
campo
referencial
usuario
cambiar sw o aplicaciones = independencia lógica
cambiar dispositivos de almacenamiento = independencia física
cambiar reglas de negocio y que los datos se vean sin alteraciones = Independencia de Integridad
cambiar en cuántos esta dividida y los datos no se vean afectos = Independencia de distribución, como por ejemplo bases de batos distribuidas
-----------------------------------
Regla 8: Independencia física
Los programas de aplicación no sufren modificación a pesar de los cambios en el nivel físico de almacenamiento o en los métodos de acceso.
Ej: Cambio los medios de almacenamiento la bdr no se debe de ver alterada
Ej: Cambio los medios de almacenamiento la bdr no se debe de ver alterada
Regla 9: Independencia lógica
Los programas de aplicación no sufren modificación a pesar de los cambios hecho a tablas.
Regla 10: Independencia de integridad
Las reglas de integridad (restricciones) deben de ser gestionadas y almacenadas por el SMBD
*es lógica porque habla del cómo cuidar a lo físico, esto es lo datos
Regla 11: Independencia de distribución
Un sistema relacional puede estar distribuido en distintos equipos o sitios de una red y las tablas deben ser vistas como si estuvieran localmente.
Una misma bd está en al menos dos dispositivos de almacenamiento diferentes el usuario al acceder a ella debe de hacer sus operaciones como si estuviera en una sola bdr.
Ej: tengo dos discos duros en la misma máquina y tengo la mitad de la base en una y la otra mitad en la otra (también se relaciona con independencia física)
*No aplica cuando un disco es particionado en 2 o mas partes, los dispositivos deben ser físico y no lógicos. Para una base de datos si tu distribuyes lógicamente se llama particionamiento, no distribución
*Trabaja con nivel Lógica y Física debido a que lógica y físicamente deben estar, físicamente distribuidas y lógica juntas como si fueran una sola para que los usuarios no lo noten
Una misma bd está en al menos dos dispositivos de almacenamiento diferentes el usuario al acceder a ella debe de hacer sus operaciones como si estuviera en una sola bdr.
Ej: tengo dos discos duros en la misma máquina y tengo la mitad de la base en una y la otra mitad en la otra (también se relaciona con independencia física)
*No aplica cuando un disco es particionado en 2 o mas partes, los dispositivos deben ser físico y no lógicos. Para una base de datos si tu distribuyes lógicamente se llama particionamiento, no distribución
*Trabaja con nivel Lógica y Física debido a que lógica y físicamente deben estar, físicamente distribuidas y lógica juntas como si fueran una sola para que los usuarios no lo noten
Regla 12: No subversión
La base de datos no permitirá que exista un lenguaje o forma de acceso, que permita saltarse las reglas anteriores (de negocio o de integridad)
El sublenguaje que exista en los manejadores debe ser tan robusto que no importando que haya otros lenguajes. La integridad siempre lleva el sublenguaje de datos.
ejemplo lenguajes como ensamblador, C, perl, java, ruby, etc. son más potentes que el subleguaje, pero no debe permiter saltarse las reglas (como hay tres prestamos y de pronto tenga 5).
*es lógica y va muy ligada con la regla del sublenguaje
El sublenguaje que exista en los manejadores debe ser tan robusto que no importando que haya otros lenguajes. La integridad siempre lleva el sublenguaje de datos.
ejemplo lenguajes como ensamblador, C, perl, java, ruby, etc. son más potentes que el subleguaje, pero no debe permiter saltarse las reglas (como hay tres prestamos y de pronto tenga 5).
*es lógica y va muy ligada con la regla del sublenguaje
Regla 0
Un SMBD relacional debe gestionar su BD de forma completa usando el modelo relacional.
Comentarios
Publicar un comentario