UNA BASE DE DATOS RELACIONAL: es una base de datos que cumple con el modelo relacional, el cual es el más utilizado para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas. 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 RELACIONES BASE Y DERIVADAS: En una base de datos relacional, todos los datos se almacenan y se accede a ellos por medio de relaciones. Las relaciones que almacenan datos son llamadas "relaciones base" y su implementación es llamada "tabla". Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones relacionales. RESTRICCIONES: Una restricción es una condición que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10. Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. DOMINIOS: 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. Distintos tipos de dominios son: enteros, cadenas de texto, fecha. CLAVE ÚNICA 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. CLAVE PRIMARIA: Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas. CLAVE FORÁNEA: Una clave foránea es una referencia a una clave en otra tabla. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas. CLAVE ÍNDICE: Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. PROCEDIMIENTOS ALMACENADOS: Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes. ESTRUCTURA: La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia).El esquema es la definición de la estructura de la base de datos y principalmente almacena los siguientes datos: El nombre de cada tabla El nombre de cada columna El tipo de dato de cada columna La tabla a la que pertenece cada columna Diseño de las bases de datos relacionales: El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que necesitamos. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos. Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc. Una Base de datos jerárquica es un tipo de Sistema Gestor de Bases de Datos que, almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol, en donde un nodo padre de información puede tener varios nodos hijo. Cómo funciona: A diferencia del modelo relacional, el modelo jerárquico no diferencia una vista lógica de una vista física de la base de datos. De manera que las relaciones entre datos se establecen siempre a nivel físico, mediante referencia a direcciones físicas del medio de almacenamiento (sectores y pistas). Los datos se almacenan en la forma de registros, el equivalente a las filas del modelo relacional. Cada registro consta de un conjunto de campos, el equivalente a las columnas del modelo relacional. Un conjunto de registros con los mismos campos se denomina fichero. En las bases de datos jerárquicas no existen índices que faciliten esta tarea. Como ya se ha mencionado, las relaciones se establecen mediante punteros entre registros. Es decir, un registro hijo contiene la dirección física en el medio de almacenamiento de su registro padre. Esto tiene una ventaja fundamental sobre las bases de datos relacionales: el rendimiento. El acceso de un registro a otro es prácticamente inmediato sin necesidad de consultar tablas de correspondencia. Las relaciones jerárquicas entre diferentes tipos de datos pueden hacer que sea muy sencillo responder a determinadas preguntas, pero muy difícil el contestar a otras. Duplicidad de registros No se garantiza la inexistencia de registros duplicados. Esto también es cierto para los campos "clave". Es decir, no se garantiza que dos registros cualesquiera tengan diferentes valores en un subconjunto concreto de campos. La des normalización permite ingresar redundancia de una forma controlada, seguir a una serie de pasos conlleva a: Combinar las relaciones Duplicar los atributos no claves Introducción de grupos repetitivos Crear tablas de extracción Cuando se debe desnormalizar: CODASYL CODASYL es el acrónimo para "Conference on Data Systems Languages", un consorcio de industrias informáticas formado en 1959 con el objeto de regular el desarrollo de un lenguaje de programación estándar que pudiera ser utilizado en multitud de ordenadores. De todos estos esfuerzos resultó el lenguaje COBOL. El modelo CODASYLEl modelo Codasyl definió una serie de elementos básicos que definían su estructura de datos. Son los siguientes: - Elemento de datos.- Unidad de datos más pequeña que se puede referenciar. Puede ser de distintos tipos, y puede definirse como dependiente de valores de otros elementos (datos derivados). - Agregado de datos.- Se asemeja a los campos de un fichero o a los atributos de otros modelos. - Registro.- Colección nominada de elementos de datos. Unidad básica de acceso y manipulación. Se asemeja a los registros en ficheros y a las entidades en el modelo E/R. - Conjunto (SET).- Colección nominada de dos o más tipos de registros que establece una vinculación entre ellos. Origen de muchas restricciones. Las interrelaciones 1:N se representan aquí mediante SET. - Área.- Subdivisión nominada del espacio direccionable de la base de datos que contiene ocurrencias de registros. - Clave de base de datos � identificador interno único para cada ocurrencia de registro. Proporciona su dirección en la base de datos. Es un obstáculo para conseguir la independencia lógica / física. Suponía problemas el reutilizar una clave cuando se reorganizaba la base de datos. CODASYL: CONJUNTOS (SET) El conjunto es uno de los más importantes elementos del modelo Codasyl, pues constituye el elemento básico para la representación de interrelaciones. Mediante SET se establecen relaciones jerárquicas a dos niveles. El nodo raíz es el propietario y los nodos descendientes (pueden ser de varios tipos) son los miembros. CARACTERÍSTICAS BÁSICAS DEL MODELO CODASYL - Un SET es una colección nominada de dos o más tipos de registros que representan un tipo de interrelación 1:N (en consecuencia también 1:1). - Cada SET tendrá un tipo de registro propietario y uno o más tipos de registros miembro. - El número de SET que se pueden declarar en el sistema es ilimitado. - Cualquier registro puede ser propietario de uno o varios SET. - Cualquier registro puede ser miembro de uno o varios SET. - Podrán existir SET singulares en los que el propietario es el sistema (una entidad se interrelaciona consigo mismo). - A pesar de que una entidad sea miembro de un SET, existe la posibilidad de que ciertas ocurrencias de esa entidad no estén ligadas al SET, con lo que no tendrían propietario y quedarían no ligadas respecto de ese SET. RESTRICCIONES INHERENTES DEL MODELO CODASYL. Las restricciones son las siguientes: - Solo se admiten tipos de interrelaciones jerárquicas de dos niveles (propietario y miembro). Si se admite la combinación de varios SET para generar jerarquías multinivel. - En el nivel propietario solo se permite un tipo de registro. - En el mismo SET no se permite que a un registro ser a la vez propietario y miembro, no está admitida la reflexividad. Aunque esta restricción se eliminó con el tiempo, los productos basados en Codasyl la siguen utilizando. - Una misma ocurrencia de miembro no puede pertenecer en un mismo tipo de SET a más de un propietario. Esto hace que se simplifique la implementación física de los SET, ya que sus ocurrencias se pueden organizar como una cadena.