Relación en base de datos
Conceptos
1° En una base de datos relacional, las relaciones permiten evitar los datos redundantes.
Una solución mejor es almacenar sólo una vez la información del editor en una tabla independiente.
Una relación se establece haciendo coincidir los datos de las columnas de clave, normalmente las columnas con el mismo nombre de ambas tablas. En la mayor parte de los casos, la relación hace coincidir la clave principal de una tabla, que proporciona un identificador único para cada fila, con una entrada de la clave externa de la otra tabla.
2° En una base de datos relacional, las relaciones permiten evitar los datos redundantes. Por ejemplo, si está diseñando una base de datos que realizará el seguimiento de información sobre libros, podría tener una tabla denominada "Títulos" que almacene los datos de cada libro, por ejemplo el título, la fecha de publicación y el editor. También hay información que podría desear almacenar sobre el editor, como su número de teléfono, dirección y código postal. Si fuera a almacenar toda esta información en la tabla "Títulos", el número de teléfono del editor se duplicaría para cada título que el editor imprimiera.
Una solución más conveniente es almacenar solo una vez la información del editor en una tabla independiente que se llamara "Editores". Colocaría entonces un puntero en la tabla "Títulos" que hiciera referencia a una entrada de la tabla "Editores".
Para asegurarse de que los datos se mantienen sincronizados, puede forzar la aplicación de integridad referencial entre tablas. Las relaciones de integridad referencial ayudan a garantizar que la información de una tabla coincida con la de otra. Por ejemplo, cada título de la tabla "Títulos" debe estar asociado a un editor concreto de la tabla "Editores". No se puede agregar un título a la base de datos para un editor que no exista en ella.
Las relaciones lógicas de una base de datos le permiten consultar datos y crear informes de manera eficiente.
3° Para que los datos de las tablas se puedan seleccionar, encontrar y procesar de forma rápida y eficaz, es necesario que las tablas no se encuentren aisladas unas de otras. Las tablas tienen que estar relacionadas con otras formando estructuras relacionales. La relación es una asociación establecida entre campos comunes (columnas) en dos tablas. Los campos que entran en relación pueden llamarse de distinta manera, pero tienen que ser del mismo tipo de datos. La relación permite al motor de Acces, encontrar datos relacionados en ambas tablas. Por ejemplo podemos encontar NOMBRE, APELLIDO (de la tabla EMPLEADO_PERSONAL), SALARIO, y DEPART (de la tabla EMPLEADO_LABORAL) de uno o varios empleados.
Bases de datos
1° Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.
2° Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.
3° Se le llama base de datos a los bancos de información que contienen datos relativos a diversas temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto.
Modelo Relacional
El modelo relacional en gestión de bases de datos es, actualmente, el modelo más utilizado en la gestión de datos dinámicos (o lo que es lo mismo, aquellos datos sujetos a modificaciones y actualizaciones). Sin embargo, la gestión de bases de datos relacionales entraña una espesa red de conceptos que a veces, para los profanos, pueden resultar algo difíciles de manejar.
Tupla
1° Una n-tupla es una secuencia (o lista ordenada) de n elementos, siendo n un número natural (entero no-negativo). La única 0-tupla es la secuencia vacía. Una n-tupla se define inductivamente desde la construcción de un par ordenado. Las tuplas suelen anotarse listando sus elementos entre paréntesis "", separados por comas. Por ejemplo, denota una 5-tupla. En ocasiones se usan otros delimitadores, como los corchetes "" o las angulares "". Las tuplas suelen emplearse para describir otros objetos matemáticos, como los vectores. Esto es, una lista con un número limitado de objetos (una secuencia infinita se denomina en matemática como una familia, aunque hay autores que consideran el término tupla para denominar no solo listas finitas). Las tuplas se emplean para describir objetos matemáticos que tienen estructura; es decir, que son capaces de ser descompuestos en un cierto número de componentes. Por ejemplo, un grafo dirigido se puede definir como una tupla de (V, E), donde V es el conjunto de nodos y E es el subconjunto de V × V que denota las aristas del grafo.
2° Una tupla es una secuencia de valores agrupados.
Una tupla sirve para agrupar, como si fueran un único valor, varios valores que, por su naturaleza, deben ir juntos.
El tipo de datos que representa a las tuplas se llama tuple. El tipo tuple es inmutable: una tupla no puede ser modificada una vez que ha sido creada.
Atributo
1° Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha...).
2° Los atributos se describen en la estructura de la base de datos empleando un modelo de datos.
Dominio
1° Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "cualquier valor de este atributo debe ser elemento del conjunto especificado".Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales, etc.
Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos se llama clave única. Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suele llamársele candidata a clave primaria.
2° Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo deben de ser elementos del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc.
Reglas de Modelo Relacional de Codd
REGLA 0 Para que un sistema se denomine Sistema de Gestión de Bases de Datos Relacionales, este sistema debe usar exclusivamente sus capacidades relacionales para gestionar la base de datos.
REGLA 1: REGLA DE LA INFORMACIÓN Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico mediante tablas y sólo mediante tablas. • Por tanto los metadatos (diccionario, catálogo) se representan y se manipulan exactamente igual que los datos de usuario, usando quizás el mismo lenguaje (ejemplo SQL)
REGLA 2: REGLA DEL ACCESO GARANTIZADO Para todos y cada uno de los datos (valores atómicos) de una base de datos relacional se garantiza que son accesibles a nivel lógico utilizando una combinación de nombre de tabla, valor de clave primaria y nombre de columna. • Cualquier dato almacenado en una base de datos relacional tiene que poder ser direccionado unívocamente. Para ello hay que indicar en qué tabla está, cuál es la columna y cuál es la fila (mediante la clave primaria). REGLAS DE CODD - 2 - ING. NERIO VILLALOBOS FINOL
REGLA 3: TRATAMIENTO SISTEMÁTICO DE VALORES NULOS Se debe disponer de valores nulos (distintos de la cadena vacía, blancos, 0, etc.) para representar información desconocida o no aplicable de manera sistemática, independientemente del tipo de datos. • Se reconoce la necesidad de la existencia del valor nulo, el cual podría servir para representar, o bien, una información desconocida (ejemplo, no se sabe la dirección de un empleado), o bien una información que no aplica (a un empleado soltero no se le puede asignar un nombre de esposa). Así mismo, consideremos el caso de un alumno que obtiene 0 puntos en una prueba y el de un alumno que no presentó la prueba. • Hay problemas para soportar los valores nulos en las operaciones relacionales, especialmente en las operaciones lógicas, para lo cual se considera una lógica trivaluada, con tres (no dos) valores de verdad: Verdadero, Falso y null. Se crean tablas de verdad para las operaciones lógicas: null AND null = null Verdadero AND null = null Falso AND null = Falso Verdadero OR null = Verdadero, etc.
REGLA 4: CATÁLOGO DINÁMICO EN LÍNEA BASADO EN EL MODELO RELACIONAL La descripción de la base de datos se representa a nivel lógico de la misma manera que los datos normales, de modo que los usuarios autorizados pueden aplicar el mismo lenguaje relacional a su consulta, igual que lo aplican a los datos normales. • Los metadatos se almacenan y se manejan usando el modelo relacional, con todas las consecuencias.
REGLA 5: REGLA DEL SUBLENGUAJE DE DATOS COMPLETO Un sistema relacional debe soportar varios lenguajes y varios modos de uso de terminal (ejemplo: rellenar formularios, etc.). Sin embargo, debe existir al menos un lenguaje cuyas sentencias sean expresables, mediante una sintaxis bien definida, como cadenas de caracteres y que sea completo, soportando: o Definición de datos REGLAS DE CODD - 3 - ING. NERIO VILLALOBOS FINOL o Definición de vistas o Manipulación de datos (interactiva y por programa) o Restricciones de integridad o Restricciones de transacciones (begin, commit, rollback). • Además de poder tener interfaces más amigables para hacer consultas, etc. siempre debe haber una manera de hacerlo todo de manera textual, que es tanto como decir que pueda ser incorporada en un programa tradicional. Un lenguaje que cumple esto en gran medida es SQL.
REGLA 6: REGLA DE ACTUALIZACIÓN DE VISTAS Todas las vistas que son teóricamente actualizables se pueden actualizar también por el sistema. • El problema es determinar cuáles son las vistas teóricamente actualizables, ya que no está muy claro. • Cada sistema puede hacer unas suposiciones particulares sobre las vistas que son actualizables.
REGLA 7: INSERCIÓN, ACTUALIZACIÓN Y BORRADO DE ALTO NIVEL La capacidad de manejar una relación base o derivada como un solo operando se aplica no sólo a la recuperación de los datos (consultas), sino también a la inserción, actualización y borrado de datos. • Esto es, el lenguaje de manejo de datos también debe ser de alto nivel (de conjuntos). Algunos sistemas de bases de datos inicialmente sólo podían modificar las filas de una tabla de una en una (un registro de cada vez).
REGLA 8: INDEPENDENCIA FÍSICA DE DATOS Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cualesquiera sean los cambios efectuados, tanto en la representación del almacenamiento, como en los métodos de acceso. • El modelo relacional es un modelo lógico de datos, y oculta las características de su representación física. REGLAS DE CODD - 4 - ING. NERIO VILLALOBOS FINOL
REGLA 9: INDEPENDENCIA LÓGICA DE DATOS Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cualesquiera sean los cambios que se realicen a las tablas base que preserven la información. • Cuando se modifica el esquema lógico preservando información (no valdría por ejemplo, eliminar un atributo) no es necesario modificar nada en niveles superiores. • Ejemplos de cambios que preservan la información: o Añadir un atributo a una tabla base. o Sustituir dos tablas base por la unión de las mismas. Usando vistas de la unión se pueden recrear las tablas anteriores...
REGLA 10: INDEPENDENCIA DE INTEGRIDAD Los restricciones de integridad específicas para una determinada base de datos relacional deben poder ser definidos en el sublenguaje de datos relacional, y almacenables en el catálogo, no en los programas de aplicación. • El objetivo de las bases de datos no es sólo almacenar los datos, sino también sus relaciones y evitar que estas restricciones se codifiquen en los programas. Por tanto en una base de datos relacional se deben poder definir restricciones de integridad. • Cada vez se van ampliando más los tipos de restricciones de integridad que se pueden utilizar en los Sistemas de Gestión de Bases de Datos Relacionales, aunque hasta hace poco eran muy escasos. • Como parte de las restricciones inherentes al modelo relacional (forman parte de su definición) están: o Integridad de Entidad: Toda tabla debe tener una clave primaria. o Integridad de Dominio: Toda columna de una tabla contendrá valores exclusivamente de un determinado dominio (conjunto de valores válidos) o Integridad Referencial: Toda clave foránea no nula debe existir en la relación donde es clave primaria. REGLAS DE CODD - 5 - ING. NERIO VILLALOBOS FINOL
REGLA 11: INDEPENDENCIA DE DISTRIBUCIÓN Una Base de Datos Relacional es independencia de la distribución. • Las mismas órdenes y programas se ejecutan igual en una base de datos centralizada que en una distribuida. • Las bases de datos son fácilmente distribuibles. • Esta regla es responsable de tres tipos de transparencia de distribución: o Transparencia de Localización. El usuario tiene la impresión de que trabaja con una base de datos local. (Regla de Independencia Física) o Transparencia de Fragmentación: El usuario no se da cuenta de que la relación con que trabaja está fragmentada. (Regla de Independencia Lógica). o Transparencia de Replicación: El usuario no se da cuenta de que pueden existir copias (réplicas) de una misma relación en diferentes lugares.
REGLA 12: REGLA DE LA NO SUBVERSIÓN Si un sistema relacional tiene un lenguaje de bajo nivel (un registro a la vez), ese bajo nivel no puede ser usado para subvertir (saltarse) las reglas de integridad y las restricciones expresadas en los lenguajes relacionales de más alto nivel (una relación a la cada vez). • Algunos problemas no se pueden solucionar directamente con el lenguaje de alto nivel. • Normalmente se usa SQL incorporado en un lenguaje anfitrión para solucionar estos problemas. Se utiliza el concepto de cursor para tratar individualmente las filas de una tabla. En cualquier caso no debe ser posible saltarse las restricciones de integridad impuestos al tratar las filas a ese nivel.
Graficas
Razones
Fuentes:
https://www.definicionabc.com/general/banco-de-datos.php
https://support.microsoft.com/es-mx/help/304466/how-to-define-relationships-between-tables-in-an-access-database
http://roboticaparati.blogspot.com/2012/08/relaciones-entre-tablas.html
http://www.aulapc.es/ofimatica_acces_relaciones.html
http://www.masadelante.com/faqs/base-de-datos
https://es.wikipedia.org/wiki/Base_de_datos
https://blog.es.logicalis.com/analytics/conceptos-basicos-del-modelo-relacional-en-la-gestion-de-bases-de-datos
https://es.wikipedia.org/wiki/Tupla
http://progra.usm.cl/apunte/materia/tuplas.html
https://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-datos-modelo-entidad-relacion
http://www.alegsa.com.ar/Dic/atributo.php
https://es.wikipedia.org/wiki/Base_de_datos_relacional
http://frankfirts.blogspot.com/2011/10/atributos-y-dominios.html
http://www.galeon.com/nevifi/Archivos/Codd.pdf
Comentarios
Publicar un comentario