UD 1 Reglas de Codd
UD 1 Reglas de Codd
UD 1 Reglas de Codd
2: Reglas de Codd
El sistema debe ser relacional, base de datos y administrador de sistema. Ese sistema debe utilizar sus facilidades relacionales (exclusivamente) para manejar la base de datos.
Funciones del SGBD asociadas
Integrar toda la informacin de la organizacin. Todo se describe de la misma forma. Mecanismos para asegurar la integridad y seguridad de los datos. Se accede a todo de la misma forma. Ejemplo Clarificador1 Relacional.-Que se basa en tablas especiales (relaciones) para representar los datos y las relaciones entre estos. Aadir un usuario al sistema se debe poder hacer con las mismas herramientas (lenguaje) que se usan para aadir un registro a una tabla de clientes, por ejemplo.
Toda la informacin en la base de datos es representada unidireccionalmente, por valores en posiciones de las columnas dentro de filas de tablas. Toda la informacin en una base de datos relacional se representa explcitamente en el nivel lgico exactamente de una manera: con valores en tablas.
Funciones del SGBD asociadas
Descripcin unificada de datos e independiente de las aplicaciones. Todo se representa mediante datos en las celdas de las tablas, tanto datos como los metadatos (datos que describen la estructura de la base de datos) Mecanismos para asegurar la integridad y seguridad de los datos. Es la parte de
1 En los ejemplos clarificadores intento, con lo que se ha visto hasta ahora, poner un ejemplo que ayude a hacernos una idea de los nuevos conceptos. Estos ejemplos no deben tomarse como definiciones correctas ni como ejemplos reales. S que se podran poner muchas pegas a estos ejemplos, por lo que si a alguien no le parecen correctos, que los ignore.
Pgina 1 de 9
Bases de Datos 1 DAW UD 1.2: Reglas de Codd unidireccionalmente. Ejemplo Clarificador Aparte de la informacin que est representada en las celdas, no hay otro tipo de informacin. Si hay que especificar lo que sea, se pondr en forma de datos dentro de celdas dentro de tablas.
Todos los datos deben ser accesibles sin ambigedad. Esta regla es esencialmente una nueva exposicin del requisito fundamental para las llaves primarias. Dice que cada dato individual en la base de datos debe ser direccionado univocamente. Para ello hay que indicar en qu tabla est, cul es la columna y cul es la fila (mediante la clave primaria).
Funciones del SGBD asociadas
Descripcin unificada de datos e independiente de las aplicaciones. Todo en relaciones y stas con claves primarias Independencia de las aplicaciones respecto a la representacin fsica de los datos. Slo se acceder a los datos mediante tabla columna clave primaria Mecanismos para asegurar la integridad y seguridad de los datos. Los datos no se van a perder, siempre estarn disponibles a travs de la clave primaria Ejemplo Clarificador IMPORTANTISIMO: Clave Primaria. Lo veremos a fondo en la UD3 Definicin.- Es uno o varios atributos (campos) que permiten identificar biunvocamente (sin lugar a dudas) todos y cada una de las tuplas (registros) de una relacin. Cul es la edad del seor Lpez? Ni idea porque tenemos en la base de datos 26 Lpez. Cul es la edad del cliente con DNI 1234567-X? 27 aos. No hay lugar a dudas.
Pgina 2 de 9
El sistema de gestin de base de datos debe permitir que haya campos nulos. Debe tener una representacin de la "informacin que falta y de la informacin inaplicable" que es sistemtica, distinto de todos los valores regulares.
Funciones del SGBD asociadas
Descripcin unificada de datos e independiente de las aplicaciones. Es el propio SGBD relacional el que se encarga de los valores especiales, no las aplicaciones. Independencia de las aplicaciones respecto a la representacin fsica de los datos. Las aplicaciones no trabajarn directamente con los valores nulos. Ejemplo Clarificador Biblioteca infantil de un barrio. Guardamos de los nios el nmero de socio y el DNI. Tienen todos los alumnos DNI? No. No vale como clave primaria, por lo que la clave primaria sera el nmero de socio. Guardamos el DNI del padre/madre/tutor? No, tendramos unos nios con el DNI correcto y otros con el DNI que no es suyo. Guardamos algo especial en el campo DNI para esos nios, por ejemplo 0000000-X o NO TIENE o NO_DNI? Complica muchsimo el tratamiento de cualquier consulta. Solucin correcta: esos nios tendrn DNI NULL (no es vaco, no es , no es un nmero especial. Es un NULO y se trata de forma especial por parte del SGBD.
El sistema debe soportar un catlogo en lnea, el catlogo relacional debe ser accesible a los usuarios autorizados. Es decir, los usuarios deben poder tener acceso a la estructura de la base de datos (catlogo).
Funciones del SGBD asociadas
Integrar toda la informacin de la organizacin. Descripcin unificada de datos e independiente de las aplicaciones. Independencia de las aplicaciones respecto a la representacin fsica de los datos. Se Pgina 3 de 9
Bases de Datos 1 DAW UD 1.2: Reglas de Codd accede a travs del SGBD al catlogo Mecanismos para asegurar la integridad y seguridad de los datos. La descripcin de la estructura de la BD se hace en el catlogo Ejemplo Clarificador Lo mismo que la regla 0 pero referido slo al catlogo (estructura lgica y fsica, usuarios, ficheros, etc. metadatos en general) de la Base de Datos
El sistema debe soportar por lo menos un lenguaje relacional que; Tenga una sintaxis lineal (sintaxis especial que hace que los programas se lean de izquierda a derecha) Puede ser utilizado recprocamente y dentro de programas de uso. Soporte operaciones de definicin de datos, operaciones de manipulacin de datos (actualizacin as como la recuperacin), seguridad e integridad y operaciones de administracin de transacciones. Un lenguaje que cumple esto en gran medida es SQL.
Funciones del SGBD asociadas
Accesibilidad simultnea para distintos usuarios (aplicaciones). Por el soporte de transacciones. Descripcin unificada de datos e independiente de las aplicaciones. Siempre podremos recurrir a ese lenguaje. Mecanismos para asegurar la integridad y seguridad de los datos. Siempre podremos recurrir a ese lenguaje Ejemplo Clarificador Independientemente de que el SGBD ofrezca interfaces amigables para el usuario/administrador, se debe disponer de un lenguaje relacional con las mismas (o ms) funciones que las interfaces. Resumen: Lo que haga haciendo click con el ratn se debe poder hacer en linea de comandos (con SQL normalmente)
Pgina 4 de 9
Todas las vistas que son tericamente actualizables deben ser actualizables por el sistema.
Funciones del SGBD asociadas
Independencia de las aplicaciones respecto a la representacin fsica de los datos. Las aplicaciones no deben saber si acceden a vistas o a tablas reales Descripcin de vistas parciales de los datos para distintos usuarios. Los usuarios no deben saber si acceden a vistas. Ejemplo Clarificador Una vista puede ser el conjunto de socios de la biblioteca que viven en Elche. Si quiero aadir un socio que vive en Elche a la vista (sera actualizable), debo poder hacerlo sin notarlo, debe encargarse el SGBD de manejarlo.
El sistema debe soportar suministrar datos en el mismo tiempo que se inserte, actualiza o est borrando. Esto significa que los datos se pueden recuperar de una base de datos relacional en los sistemas construidos de datos de filas mltiples y/o de tablas mltiples.
Funciones del SGBD asociadas
Independencia de las aplicaciones respecto a la representacin fsica de los datos. Las aplicaciones acceden a los datos mediante instrucciones que afectan a varios registros Ejemplo Clarificador El lenguaje que se pretende definir en la regla 5 debe permitis hacer inserciones, actualizaciones y borrados masivos. Si quiero eliminar a los socios de la biblioteca que sean de Elche, no tengo que ir uno a uno. El sistema me debe proporcionar mecanismos para borrarlos todos de golpe.
Pgina 5 de 9
Enunciado
Los programas de aplicacin y actividades del terminal permanecen inalterados a nivel lgico cuandoquiera que se realicen cambios en las representaciones de almacenamiento o mtodos de acceso.
Persistencia de los datos. Independientemente de la representacin fsica de los datos, los datos deben mantenerse. Independencia de las aplicaciones respecto a la representacin fsica de los datos. El SGBD se interpone entre las aplicaciones y la representacin fsica de los datos Mecanismos para asegurar la integridad y seguridad de los datos. Nadie accede a los datos fsicos si no es pasando por el SGBD Ejemplo Clarificador Indicamos al SGBD que la base de datos ya no se guarda en un slo disco duro sino que ahora se guarda en varios discos duros en RAID. Tenemos que modificar la estructura de la base de datos y los programas que acceden a ella por ese cambio? No deberamos, el SGBD se debe encargar.
Enunciado
Los cambios al nivel lgico (tablas, columnas, filas, etc.) que preserven la informacin no deben requerir un cambio a una solicitud basada en la estructura. La independencia de datos lgica es ms difcil de lograr que la independencia fsica de datos.
Funciones del SGBD asociadas
Persistencia de los datos. Aunque cambie el esquema lgico, los datos no se deben perder. Ejemplo Clarificador Cuando la BD ya est en marcha, el diseador se da cuenta de que la
Pgina 6 de 9
Bases de Datos 1 DAW UD 1.2: Reglas de Codd direccin de los socios debe pasar de 20 a 50 caracteres de ancho. Tengo que cambiar aplicaciones que ya tena?. No debera. Adems voy a guardar el color de ojos de los socios. Cambio algo en las aplicaciones que ya tena? No debera.
Enunciado
Las limitaciones de la integridad se deben especificar por separado de los programas de la aplicacin y se almacenan en la base de datos. Debe ser posible cambiar esas limitaciones sin afectar innecesariamente las aplicaciones existentes.
Funciones del SGBD asociadas
Integrar toda la informacin de la organizacin. La integridad se almacena en la propia BD. Descripcin unificada de datos e independiente de las aplicaciones. Idem Mecanismos para asegurar la integridad y seguridad de los datos. La integridad no se almacena en las aplicaciones, se almacena en la propia BD Ejemplo Clarificador Los socios de un club de motoristas deben ser mayores de edad (edad>18 aos). Quin se encarga de comprobarlo? Dnde se guarda esa limitacin? No se debe guardar en las aplicaciones ni hacer que stas lo comprueben (pueden hacerlo si se quiere). El lugar correcto para guardar estas limitaciones es en la propia base de datos. Si una aplicacin slo obtiene listados de los socios existentes, no tiene porqu enterarse de si el lmite de edad se rebaja a 16 aos, debera funcionar igual que antes sin modificaciones.
Pgina 7 de 9
La distribucin de las porciones de la base de datos a las varias localizaciones debe ser invisible a los usuarios de la base de datos. Los usos existentes deben continuar funcionando con xito: cuando una versin distribuida del SGBD se introdujo por primera vez cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.
Independencia de las aplicaciones respecto a la representacin fsica de los datos. No tienen porqu saber dnde estn realmente los datos. Mecanismos para asegurar la integridad y seguridad de los datos. Si se hacen copias de seguridad (BD replicadas) se mejora la seguridad de los datos. Ejemplo Clarificador Voy a sacar dinero de un cajero. Dnde se guarda el saldo de mi cuenta? En un servidor. Saco un extracto de movimientos. Dnde est esa informacin? En el mismo servidor de antes? No tiene porqu y yo no tengo porqu saberlo (transparencia). En un servidor, Se guardan todos los datos de todos los clientes de un banco? No tiene porqu. Es ms lgico que se guarden en varios servidores, uno por zona geogrfica, por ejemplo. Lo tienen que saber los clientes? Lo notan de alguna forma? No y adems se tiene que encargar el SGBD de que sea transparente.
Enunciado
Si el sistema proporciona una interfaz de bajo nivel (de registro a la vez) y esa interfaz no se puede utilizar para subvertir (trastornar, destruir) el sistema, por ejemplo: sin pasar por seguridad relacional o limitacin de integridad.
Funciones del SGBD asociadas
Persistencia de los datos. No se van a destruir con trucos o con chapuzas Mecanismos para asegurar la integridad y seguridad de los datos. Nadie accede a los Pgina 8 de 9
Bases de Datos 1 DAW UD 1.2: Reglas de Codd datos sin respetar al SGBD Ejemplo Clarificador Si se puede, con las facilidades que da el SGBD utilizar un sistema para acceder a los registros (desde aplicaciones externas al SGBD), ste sistema debe respetar todas las reglas anteriores. Debe seguir manteniendo todas las integridades de los datos
Pgina 9 de 9