











Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
trato de los modelos de base de datos
Tipo: Esquemas y mapas conceptuales
1 / 19
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!












Objetivo El alumno explicará y comprenderá las características y elementos que integran al Modelo Relacional aplicados al diseño lógico de bases de datos. Una vez que se realizó el diseño conceptual, se realiza la trasformación al modelo entidad relación al modelo relacional. Notas: La lógica de predicados es utilizada para expresar el significado de un amplio alcance de proposiciones en matemáticas y ciencias de cómputo de manera que nos permite razonar y explorar relaciones entre los objetos Todos los hombres son mortales, Sócrates es hombre, luego Sócrates es mortal Calculo relacional Es un lenguaje de consultas para las bases de datos relacionales que describe la respuesta deseada Lenguaje basado en el cálculo de predicados de primer orden No procedimental, se expresa qué se quiere obtener y no cómo Relación: predicado Seleccionar aquellas tuplas cuyo predicado es verdadero
Predicado permite operaciones {=, <>, <, >, <=, >=} entre una variable y una constante o entre dos variables El cálculo relacional se apoya en algún lenguaje de interrogación de bases de datos como puede ser el SQL. Ejemplo: Dada la relación: ESTUDIANTE = {NUMCUENTA, NOMBRE, EDAD, CORREO, ESTADONACIMIENTO} Seleccionar estudiantes que NACIERON EN Oaxaca y tienen más de 23 años ESTUDIANTE: ESTADONACIMIENTO=’OAXACA’ AND EDAD> Algebra relacional Es un lenguaje de consulta procedural mediante conjunto de operaciones sobre relaciones Cada operación toma una o más relaciones como operandos y produce una relación como resultado Ambos métodos logran los mismos resultados. Los dos lenguajes son lógicamente equivalentes. Esto significa que cualquier consulta que pueda resolverse en un lenguaje puede resolverse en el otro. Estructura lógica de los datos, representada por relaciones (tabla) BASE DE DATOS = conjunto de relaciones ENTIDAD = estructura fundamental, tabla bidimensional
(nomenclatura relacional) (nomenclatura visual o de tabla) (nomenclatura ficheros) relación = tabla = fichero tupla = fila = registro atributo = columna = campo grado = nº de columnas = nº de campos cardinalidad = nº de filas = nº de registros
Cada tabla debe tener un nombre distinto Cada atributo de la tabla solo puede tener un valor en cada tupla Cada atributo tiene un nombre distinto en cada tabla (aunque puede coincidir en tablas distintas) Cada tupla es única (no hay tuplas duplicadas) El orden de los atributos no importa El orden de las tuplas no importa
Persistentes. Son las tablas que crean los usuarios (normalmente los administradores). Sólo pueden ser borradas por los administradores Se dividen en tres tipos: o Bases. Son tablas independientes. Se crean indicando su estructura y después se les añaden los datos. Cuando alguien habla de tablas, se refiere a este tipo de tablas. Son el fundamento del modelo relacional o Vistas. Contienen una instrucción (normalmente en lenguaje SQL) la cual provoca una consulta sobre los datos de las tablas base, haciendo que se muestren los datos que cumplen las condiciones especificadas en dicha. Si los datos de las tablas base cambian, los de las vistas que utilizan esos datos también cambian. o Instantáneas o vistas materializadas. Son vistas (es decir, consultas) que además de almacenar la instrucción SQL, almacenan una copia de los datos que muestra. De modo que la siguiente vez que usemos la instantánea, utilizará la copia de los datos (no leerá los datos originales). Las instantáneas, a diferencia de las vistas, no siempre muestran los datos actualizados. Las instantáneas actualizan los datos, refrescando el resultado cada cierto tiempo. La ventaja es que son más veloces que las vistas al no tener que acudir a los datos base; la parte mala, es que los datos que muestran pueden ser obsoletos (ya que pueden haber variado en las tablas base originales). No persistentes (Temporales). Son tablas que se eliminan automáticamente por el sistema. Las utiliza el SGBD como almacén intermedio de datos (resultados de consultas, por ejemplo) para acelerar la ejecución del sistema o como almacén auxiliar para instrucciones complejas. Hay tablas temporales de tipo base, vista o instantáneas; al igual que ocurre con las persistentes. ATRIBUTOS (CARACTERÍSTICAS)
» Entidad , ningún atributo que forme parte de la llave primaria puede tomar un valor nulo. » Referencial , no deben existir llaves foráneas sin concordancia o NO deben tener valores nulos. RESTRICCIONES Se trata condiciones de obligado cumplimiento para que un dato forme parte de una tabla Inherentes Son aquellas que no requieren que se establezcan de forma explícita, sino que son definidas por el propio hecho de que la base de datos sea relacional. Las más importantes son: ✓ No puede haber dos filas iguales ✓ El orden de las filas no es significativo ✓ El orden de las columnas no es significativo ✓ Cada atributo sólo puede tomar un valor en la intersección entre fila y columna Semánticas El modelo relacional permite incorporar restricciones personales a las tablas. Son las más importantes y son fundamentales para que la información de la base de datos sea coherente y eficiente. Principales restricciones semánticas.
2. Acceso garantizado Todo dato (valor en una tabla) debe ser accesible mediante una combinación de un nombre de tabla, un valor de su clave primaria y el nombre de una columna. Es una forma de insistir en la obligatoriedad de la clave primaria. 3. Tratamiento sistemático de los valores nulos. El DBMS debe permitir el tratamiento adecuado de estos valores. Esto significa que los valores nulos se manejan como una información más de la base de datos; se podrá utilizar como información en sí y por lo tanto operar con estos valores no producirá error alguno. 4. Catálogo en línea basado en el modelo relacional. El catálogo en línea es otro nombre para el diccionario de datos. Esta regla indica que los metadatos (información del modelo relacional) deben de ser accesibles usando un lenguaje relacional estándar. Es decir, la forma de acceder a los metadatos es la misma que la forma de acceder a los datos. Dicho de otra forma, también los metadatos se almacenan en tablas. 5. Sub-lenguaje de datos completo Debe existir un lenguaje que permita un completo manejo de la base de datos (definición de datos, definición de vistas, manipulación de datos, restricciones de integridad, autorizaciones y gestión de transacciones). 6. Actualización de vistas. El SGBD debe encargarse de que las vistas muestren la última información. Cualquier vista que es actualizable debe hacerse a través del sistema. 7. Inserciones, modificaciones y eliminaciones de alto nivel. Cualquier operación de modificación debe actuar sobre conjuntos de filas o registros, nunca deben actuar registro a registro. 8. Independencia física de los datos Cualquier cambio en la ubicación física de los datos, los querys no deben requerir modificaciones por dichos cambios en la ubicación física.
9. Independencia lógica de los datos Los programas de aplicación no deben verse afectados por cambios realizados en las tablas que estén permitidos teóricamente y que preserven la información. Ejemplo; insertar una columna. 10. Independencia de integridad. Las restricciones de integridad deben almacenarse en la base de datos (en el diccionario de datos), no en los programas de aplicación. Eso permite que dichas reglas sobre los datos se cumplan siempre independientemente de la forma de acceder a los mismos. 11. Independencia de la distribución. El lenguaje de manipulación de datos (DML) debe permitir que sus instrucciones funcionen igualmente en una base de datos distribuida que en una que no lo es. Es decir, los programas y los usuarios no deben verse afectados por cambios en la ubicación o distribución física de los datos. 12. No subversión. Si el SGBD dispone de un lenguaje de bajo nivel (normalmente será un lenguaje de tipo procedimental) para trabajar en la base de datos, este lenguaje no se puede saltar ninguna regla de las anteriores. 0. Regla básica Cualquier sistema que se anuncie como sistema gestor de bases de datos relacionales debe ser capaz de gestionar por completo las bases de datos utilizando sus capacidades relacionales. (DDL, DML) DEFINICIONES Esquema Un esquema contiene la definición de una estructura (generalmente relaciones “tablas” de una base de datos), determina la identidad de la relación y qué tipo de información podrá ser almacenada dentro de ella. Todo esquema constará de: o Nombre de la relación (su identificador). o Nombre de los atributos (o campos) de la relación y sus dominios. o Sus relaciones
A el nombre de los atributos que la componen D los dominios de los que toman valores los atributos I restricciones de integridad TRANSFORMACIÓN AL MODELO RELACIONAL A PARTIR DEL MODELO ENTIDAD-RELACIÓN Para transformar un modelo entidad-relación a modelo relacional seguiremos las siguientes reglas:
1. Entidad fuerte Toda entidad fuerte se transforma en una relación (tabla): ✓ Se conservan los atributos y la llave primaria ✓ En llaves candidatas se establece restricción de unicidad ✓ Atributos compuestos se colocan en forma individual ✓ Atributos multivalorados; se crea una nueva relación propagando la llave primaria de la relación como foránea a la nueva relación. ✓ Atributos derivados o calculados se establecen como atributos calculados (pueden no colocarse) ✓ Se establecen restricciones sobre atributos Simbología a utilizar PRIMARY KEY (PK) UNIQUE (U) FOREIGN (FK) CHECK(CK) Calculados (C) Discriminantes (D) Opcional (N) Ejemplo del esquema profesor: PROFESOR={clave (PK), nombre, paterno, materno(N), rfc(U), edad(C)*CS1} EMAILPROF={idEmail (pk), email(U), clave(FK)} *CS1: Se obtiene del rfc del profesor
Representación de entidades
Representación de atributos
3. Relaciones 1:1 La llave primaria de una entidad se propaga a la otra entidad como llave foránea con la restricción de unicidad, dependiendo de la cardinalidad mínima. Si la cardinalidad mínima es cero, se pasa el atributo de la entidad de cardinalidad uno hacía la de cardinalidad cero, si en ambas es la misma cardinalidad, dependerá del contexto. m:1 ó 1:m La llave primaria de la entidad que tiene la cardinalidad uno se propaga a la relación de muchos como llave foránea. m: m Se genera una nueva relación que contendrá la llave primaria de cada una de las entidades que une, pero como llaves foráneas y juntas como llave primaria, además de sus atributos propios (descriptivos) de la relación. Para las relaciones (1:1, 1:m, m:1) que contengan atributos descriptivos, se tienen dos opciones: 1. Generar una nueva relación que contendrá la llave primaria de cada una de las entidades que une como llaves foráneas, además de sus atributos descriptivos, conservando la unicidad en la nueva relación. 2. Propagar la llave primaria de la entidad uno junto con todos los atributos de la relación a la entidad m 4. Relaciones recursivas La llave primaria de la entidad pasa como llave foránea de la misma entidad. Ejemplo: EMPLEADO= { claveEmp(PK), nombreEmp, claveSup(FK) }
Representación de relaciones Niveles de dependencia ◦ Relación suave – no identificativa ◦ Relación fuerte – identificativa Relación no-identificativa ◦ Empleada para representar relaciones 1:M. ◦ A veces se utiliza para relaciones 1:1 y M:M ◦ Representada con líneas punteadas ◦ La PK de la tabla padre pasa como un campo más en la tabla hijo, es decir, la FK no forma parte de la PK en la tabla hijo Ejemplo: Sucursal y Ciudad (1:M)
Representación de relaciones con cardinalidades, notación IDEF1X