Base de datos funcional
Una base de datos relacional se compone de un conjunto de tablas albergadas dentro de una plataforma contenedora de tablas llamada base de datos. Una tabla se compone de dos componentes importantes. Un componente es conocido con el nombre técnico de Atributos y podemos considerarlos a modo de ejemplo como si se tratara de las columnas de una tabla. El otro componente es conocido con el nombre de Túplas o Túplos y podríamos compararlos con las filas de una tabla. Las columnas se encuentran relacionadas con las filas. Los atributos forman parte de los campos que tienen una relación con sus registros o filas, por lo tanto, el Atributo está ligado con sus Túplas en una relación de uno a uno o de uno a varios elementos de las filas. Este sistema representativo de datos resulta ser bidimensional dado que utiliza dos componentes para su construcción que son las columnas y las filas. Véase la figura siguiente.Características
- Una Base de Datos Relacional se compone de varias tablas o relaciones.
- No pueden existir dos tablas con el mismo nombre ni registro.
- Cada tabla es a su vez un conjunto de registros (filas y columnas).
- La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas).
- Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos.
- Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las relaciones.
Elementos
Elementos de una Base de Datos Relacional1. Relaciones base y derivadasA través de las relaciones se puede acceder a la información de una base de datos relacional.Las Relaciones pueden ser:• Relaciones Base, son relaciones que almacenan datos cuya implementación es “Una Tabla”.• Relaciones Derivadas, son relaciones que no almacenan datos, pero se calculan al aplicar operaciones relacionales, muestran la información de varias relaciones. Su implementación es llamada “Vista” o “Consulta”.
2. RestriccionesEs una condición que obliga cumplir con ciertas reglas en una base de datos. Las restricciones pueden ser determinadas por los usuarios o pueden estar definidas dentro de la misma base de datos.
3. DominiosEs un conjunto de posibles valores para cierto atributo. Algunos ejemplos de dominios son: enteros y cadenas de texto.
4. Clave únicaEs uno o varios campos que pueden marcarse como posibles claves primarias, son campos cuya información es única en cada tabla
5. Clave primariaEs una clave única elegida de todas las posibles claves únicas, la cual define la relación entre las tablas relacionadas.
6. Clave foráneaEs un dato que hace referencia a una clave de otra tabla.Por ejemplo, el Curso de Inglés 1 puede ser una clave foránea en la tabla de estudiantes, obviamente se permite que haya varios estudiantes en un mismo Curso, pero existirá sólo un Curso de Inglés 1.
7. Clave índiceSon claves que permiten ubicar rápidamente los datos en una tabla.
Las 12 reglas del CODD
Codd se percató de que existían bases de datos en el mercado las cuales decían ser relacionales, pero lo único que hacían era guardar la información en las tablas, sin estar estas tablas literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero sistema relacional debería tener aunque en la práctica algunas de ellas son difíciles de realizar. Un sistema podrá considerarse “más relacional” cuanto más siga estas reglas.
- Regla 0: 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.
- Regla 1: la regla de la información, toda la información en la base de datos es representada unidireccionalmente, por valores en posiciones de las columnas dentro de filas de tablas. Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico exactamente de una manera: con valores en tablas.
- Regla 2: la regla del acceso garantizado, todos los datos deben ser accesibles sin ambigüedad. Esta regla es esencialmente una nueva exposición del requisito fundamental para las llaves primarias. Dice que cada valor escalar individual en la base de datos debe ser lógicamente direccionable especificando el nombre de la tabla, la columna que lo contiene y la llave primaria.
- Regla 3: tratamiento sistemático de valores nulos, el sistema de gestión de base de datos debe permitir que haya campos nulos. Debe tener una representación de la “información que falta y de la información inaplicable” que es sistemática, distinto de todos los valores regulares.
- Regla 4: catálogo dinámico en línea basado en el modelo relacional, el sistema debe soportar un catálogo en línea, el catálogo relacional debe ser accesible a los usuarios autorizados. Es decir, los usuarios deben poder tener acceso a la estructura de la base de datos (catálogo).
- Regla 5: la regla comprensiva del sublenguaje de los datos, el sistema debe soportar por lo menos un lenguaje relacional que:
- Tenga una sintaxis lineal.
- Puede ser utilizado de manera interactiva.
- Soporte operaciones de definición de datos, operaciones de manipulación de datos (actualización así como la recuperación), seguridad e integridad y operaciones de administración de transacciones.
- Regla 6: regla de actualización, todas las vistas que son teóricamente actualizables deben ser actualizables por el sistema.
- Regla 7: alto nivel de inserción, actualización, y cancelación, 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 múltiples y/o de tablas múltiples.
- Regla 8: independencia física de los datos, los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuandoquiera que se realicen cambios en las representaciones de almacenamiento o métodos de acceso.
- Regla 9: independencia lógica de los datos, los cambios al nivel lógico (tablas, columnas, filas, etc.) no deben requerir un cambio a una solicitud basada en la estructura. La independencia de datos lógica es más difícil de lograr que la independencia física de datos.
- Regla 10: independencia de la integridad, las limitaciones de la integridad se deben especificar por separado de los programas de la aplicación y se almacenan en la base de datos. Debe ser posible cambiar esas limitaciones sin afectar innecesariamente las aplicaciones existentes.
- Regla 11: independencia de la distribución, la distribución 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 versión distribuida del SGBD se introdujo por primera vez
- cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.
- Regla 12: la regla de la no subversión, si el sistema proporciona una interfaz de bajo nivel de registro, a parte de una interfaz relacional, que esa interfaz de bajo nivel no se pueda utilizar para subvertir el sistema, por ejemplo: sin pasar por seguridad relacional o limitación de integridad. Esto es debido a que existen sistemas anteriormente no relacionales que añadieron una interfaz relacional, pero con la interfaz nativa existe la posibilidad de trabajar no relacionalmente.