Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 1 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. TEMA 2: EL MODELO RELACIONAL. ESQUEMA DE RELACIONES. Hemos dicho que un modelo es una representación simplificada de un sistema real. En particular, un modelo de datos debe representar tanto las características estáticas como dinámicas del sistema que se pretende modelar, para lo cual utiliza las siguientes componentes: · Un conjunto de objetos y sus interrelaciones, que representan las características estáticas del sistema, incluyendo las propiedades de los objetos. Este conjunto constituye el modelo conceptual. · Un conjunto de operaciones o lenguaje, que representa las características dinámicas. Este conjunto de operaciones incluye las de - manipulación de los datos, que permiten crear, modificar y eliminar tanto objetos como sus interrelaciones - consulta, que permiten identificar objetos por medio de sus propiedades. · Un conjunto de restricciones sobre los objetos, sus interrelaciones y las operaciones definidas sobre ellos. Las restricciones pueden ser de tres tipos: - inherentes: constituyen las propiedades semánticas básicas del modelo de datos, - explícitas: son las reglas de la organización que deben expresarse mediante un mecanismo apropiado, - implícitas: son las que derivan de otras restricciones, ya sean inherentes o explícitas. Como hemos visto, la obtención del modelo conceptual es el primer paso del proceso puro de diseño de la base de datos, que corresponde a la fase 2 de tal proceso: diseño conceptual de la base de datos. El modelo conceptual es una descripción de la necesidad de datos del usuario, expresada mediante un modelo de alto nivel de abstracción. Es un modelo que debe capturar la semántica de los objetos del mundo real y sus interrelaciones. Estos conceptos no incluyen detalles de implementación, por lo que resultan más fáciles de entender y pueden ser usados para comunicarse con usuarios no técnicos, a fin de comprobar que se hayan contemplado todas las necesidades de datos de estos. Justamente este enfoque independiente de la implementación, permite al diseñador de la base de datos concentrarse en la semántica de los datos. El área de modelado semántico fue objeto de investigaciones durante fines de los años 70 y comienzos de los 80. El modelo conceptual puede obtenerse a partir de diversos enfoques de modelado y utilizando diversas herramientas que permiten su construcción. Estos diversos enfoques son los que nos han permitido clasificar los DBMS según, justamente, el modelo que guía la representación de los datos. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 2 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. EL MODELO ENTIDAD-RELACIÓN. A fin de definir y formalizar las componentes del Modelo Relacional, comencemos con su antecesor, el Modelo Entidad-Relación. Este enfoque fue presentado por Chen en 1.976 y refinado por varios investigadores. Junto al enfoque, Chen presentó también una herramienta a utilizar para la construcción del modelo, llamada Diagrama Entidad-Relación. Este modelo y sus variaciones se emplean muy frecuentemente en el diseño conceptual de aplicaciones de bases de datos, de modo que describiremos los conceptos básicos de estructuración de los datos y las restricciones del Modelo Entidad-Relación y estudiaremos su empleo en el diseño de modelos conceptuales. El Modelo Entidad-Relación describe los datos como entidades, atributos y vínculos. Entidades Una entidad es un objeto del mundo real, con existencia independiente. Puede ser un objeto de existencia física, como una persona, o puede ser un objeto con existencia conceptual, como una facultad de una universidad. Atributos Un atributo es una cualidad, una propiedad específica de una entidad que sirve para describirla. Una entidad particular tendrá un valor para cada uno de sus atributos. Los valores de los atributos son los datos persistentes. Por ejemplo, la entidad Profesor puede describirse por su Nombre, su Número de Documento de Identidad y su Domicilio, su Número de Teléfono y su Fecha de Nacimiento. Sus valores pueden ser “Pérez, Juan”, “15.000.000”, “Los Abetos 100, Salta”, “(0387) 4391123” y “09/11/60”. Los siguientes son ejemplos de entidades Profesor, que tienen asignado un valor para cada uno de sus atributos: Nombre Número de Documento de Identidad Domicilio Número de Teléfono Fecha de Nacimiento Pérez, Juan 15.000.000 Los Abetos 100, Salta. (0387) 4391123 09/11/60 Ramos, María 16.000.000 Alvarado 312, Salta. (0387) 4315665 10/10/61 Martínez, Pedro 16.500.000 España 421, Salta. (0387) 4212245 01/03/61 Los atributos pueden ser: Simples o compuestos: serán compuestos cuando puedan descomponerse en un conjunto de atributos y simples en caso contrario. Por ejemplo: el atributo Domicilio de la entidad Profesor puede considerarse compuesto porque puede descomponerse en tres atributos simples: Calle, Número y Ciudad. El valor del atributo compuesto es la concatenación de los valores de los atributos simples que lo componen. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 3 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. Los atributos compuestos son útiles cuando el usuario hace referencia al atributo como una unidad y, por lo tanto, no conviene su descomposición en atributos simples. Los atributos simples se denominan también atómicos. Monovaluados o multivaluados: son monovaluados cuando toman un solo valor para una entidad en particular y multivaluados en caso contrario. Por ejemplo, los profesores podrían tener varios números de teléfono y, por lo tanto, el atributo Número de Teléfono sería un atributo multivaluado. En cambio, Fecha de Nacimiento es un atributo monovaluado, porque para cada caso puede tomar un solo valor. Almacenados o derivados: son derivados cuando se determinan a partir de un dato persistente para la misma entidad y almacenados si contienen el dato persistente. Por ejemplo, el atributo Fecha de Nacimiento es almacenado para la entidad Profesor y el atributo Edad puede ser derivado de Fecha de Nacimiento y, por lo tanto, no necesita almacenamiento. Puede darse el caso de que una entidad no tenga ningún valor aplicable a alguno de sus atributos. En estos casos, aplicaremos al atributo un valor especial, denominado valor nulo. Un valor nulo de atributo puede generarse por dos situaciones: a) no existe el valor, por ejemplo, si Número de Piso es un atributo de una entidad Persona cuyo valor será la ubicación de su lugar en un edificio de departamentos y una persona habita en una casa, el atributo Número de Piso contendrá un valor nulo; b) no se conoce el valor, por ejemplo, la persona habita en un edificio de departamentos, pero no se sabe en qué piso. Tipo de entidades Una base de datos contiene entidades que son similares. Por ejemplo, una facultad seguramente querrá almacenar datos de sus profesores, pero cada entidad Profesor comparte los mismos atributos. Un tipo de entidades es un conjunto de entidades que comparten los mismos atributos. Así, siguiendo nuestro ejemplo, podemos decir que el conjunto de entidades Profesor ejemplificado anteriormente, forma el tipo de entidades Profesores. Una restricción importante del tipo de entidades es la restricción de clave o de unicidad de los atributos. Esto es, cada entidad de un tipo de entidades debe tener un valor distinto para esa entidad particular. Los atributos con esa particularidad se denominan atributos clave y sus valores sirven para identificar a cada entidad de manera única.En nuestro ejemplo, el Número de Documento de Identidad de la entidad Profesor es atributo clave. Dominio Cada uno de los atributos simples de un tipo de entidades está asociado con un conjunto de valores integrado por los valores que puede tomar tal atributo para una entidad particular. Este conjunto de valores se denomina dominio del atributo. Vínculos Un vínculo es una asociación de entidades que incluye una y solo una entidad de cada tipo de entidades que participa en el vínculo. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 4 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. Por ejemplo, consideremos el tipo de entidades Profesores definida anteriormente, la entidad Facultad compuesta por los atributos Código de Facultad y Nombre y el tipo de entidades Facultades compuesto por un conjunto de entidades Facultad, el que podemos representar: Tipo de entidades Facultades: Código de Facultad Nombre 1 Facultad de Ciencias Exactas 2 Facultad de Ingeniería 3 Facultad de Ciencias Económicas 4 Facultad de Humanidades Ahora podríamos representar los vínculos entre cada una de las entidades Profesor y cada una de las entidades Facultad, cada uno de los cuales, conforme la definición, incluyen una sola entidad del tipo de entidades Profesores y una sola entidad del tipo de entidades Facultades: Número de Documento de Identidad Código de Facultad 15.000.000 1 15.000.000 2 16.000.000 2 16.500.000 4 Es de hacer notar que cada uno de estos vínculos asocia una entidad de cada tipo de entidades a través de su correspondiente clave. Tipo de vínculos Un tipo de vínculos es un conjunto de vínculos que define las asociaciones entre las entidades intervinientes. Por lo tanto, la representación que acabamos de hacer es la del tipo de vínculos que podríamos denominar Trabaja En. Un tipo de vínculos también puede tener atributos. Por ejemplo, si quisiéramos saber la cantidad de horas semanales que cada una de las entidades Profesor trabaja en cada una de las entidades facultades que intervienen en el tipo de vínculos Trabaja En, podemos agregar en este tipo de vínculos el atributo Cantidad de Horas y asignarle el correspondiente valor. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 5 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. Así podemos representar el tipo de vínculos Trabaja En de la siguiente manera: Número de Documento de Identidad Código de Facultad Cantidad de Horas 15.000.000 1 20 15.000.000 2 10 16.000.000 2 10 16.500.000 4 10 Un tipo de vínculos tiene restricciones, llamadas restricciones de cardinalidad, que limita la cantidad de vínculos de los que puede participar una entidad. Esta cardinalidad toma los siguientes valores: 1:N: cada entidad del primer tipo de entidades puede tener muchos vínculos con entidades del segundo tipo de entidades y, además, cada entidad del segundo tipo de entidades tiene un solo vínculo con alguna entidad del primer tipo de entidades. Por ejemplo, definimos: Tipo de entidades Materias: Código de Materia Nombre 1 Introducción a la Matemática 2 Elementos de Computación Cada entidad Profesor puede ser responsable del dictado de muchas entidades Materia pero, a su vez, cada entidad Materia tiene una única entidad Profesor responsable. Entonces, la cardinalidad del tipo de vínculos Es Responsable De es de 1:N desde el tipo de entidades Profesores hacia el tipo de entidades Materias y este tipo de vínculos puede representarse de la siguiente manera. Tipo de vínculos Es Responsable De: Número de Documento de Identidad Código de Materia 15.000.000 1 15.000.000 2 16.000.000 3 1:1: cada entidad del primer tipo de entidades tiene un único vínculo con una entidad del segundo tipo de entidades y viceversa. Por ejemplo, si creamos el tipo de vínculos Es Decano De, podemos representar los vínculos entre una entidad Profesor y una entidad Facultad de la cual es Decano: Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 6 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. Tipo de vínculos Es Decano De: Número de Documento de Identidad Código de Facultad 15.000.000 1 16.000.000 2 M:N: cada entidad del primer tipo de entidades puede tener muchos vínculos con entidades del segundo tipo de entidades y viceversa. El ejemplo del tipo de vínculos Trabaja En sirve como ejemplo de esta cardinalidad. DIAGRAMA ENTIDAD-RELACIÓN. La representación de las entidades, los vínculos, los tipos de entidades y los tipos de vínculos se hace confusa siguiendo la notación que hemos usado. Para su simplificación, el Modelo Entidad-Relación se apoya en una herramienta, el Diagrama Entidad-Relación, que utiliza la siguiente simbología: Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 7 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. Completando nuestro ejemplo, el Diagrama Entidad-Relación tendría el siguiente aspecto: A partir de este fundamental aporte de Chen, tanto en cuanto al planteo del Modelo Entidad- Relación como modelo de datos y a la herramienta asociada, el DER, varios investigadores han seguido trabajando sobre esta última en el afán de contribuir a que su desarrollo permita la expresión del modelo en forma más clara. En particular, puede citarse a Martin en el año 1.982, al mismo Chen y a Date en el año 1.986 y a Ross en 1.988. De entre las modificaciones introducidas, se destacan las siguientes: 1. Se elimina la especificación de los atributos de cada una de los tipos de entidades intervinientes, a fin de simplificar la lectura del gráfico, teniendo en cuenta que el objetivo del diagrama es representar un modelo conceptual que solamente provee una visión global de las componentes e interfaces de los datos. 2. Los tipos de vínculos se representan con una línea llena que une los tipos de entidades intervinientes, eliminándose el rombo intermedio. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 8 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. 3. Teniendo en cuenta que todos los tipos de vínculos son bi-direccionales entre dos tipos de entidades que intervienen en el tipo de vínculos correspondiente, la cardinalidad se representa con un cruce de la línea representativa del tipo de vínculos del lado del tipo de entidades para la cual una entidad interviene una sola vez y con un cruce de la línea representativa del tipo de vínculos más una bifurcación del lado del tipo de entidades para la cual una entidad interviene al menos una o muchas veces. Así, el Diagrama Entidad-Relación que hemos dibujado anteriormente, adquiere el siguiente aspecto: EL MODELO RELACIONAL. El Modelo Relacional de Datos fue introducido por Codd en el año 1.970. Hasta ese entonces no existía una noción clara de modelo de datos y los sistemas existentes eran complejos y carentes de una sólida base conceptual. Así, el mérito de este modelo fue proponer una base matemática simple y bien definida para el estudio de los problemas de bases de datos. Se ha establecido con firmeza en el mundo de las aplicaciones de bases de datos y en el mercado abundan lo DBMS relacionales. El Modelo Relacional representa a la base de datos como una colección de relaciones, cada una de las cuales puede percibirse como una tabla con una cierta cantidad de filas, representando cada fila una colecciónde valores relacionados entre sí. Estos valores contenidos en una tabla pueden representar dos aspectos diferentes y excluyentes: describen a una entidad, representan un vínculo del mundo real. Por ejemplo, pensemos que en la el tipo de entidades Alumnos guardamos datos sobre estos y, además, sobre la carrera en la cual se han inscripto en una determinada facultad y pensemos también que los alumnos pueden cursar una única carrera. Podemos representar el tipo de entidades Alumnos de la siguiente forma: Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 9 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. LU DNI Nombre Domicilio Teléfono Código de Carrera 1 25.000.000 Juan Los Arces 133. Salta (0387) 4395587 2 2 25.500.000 María Alvarado 521. Salta (0387) 4315563 4 3 25.600.000 Diego Caseros 91. Salta (0387) 4317841 4 Los valores contenidos en los atributos LU, DNI, Nombre, Domicilio y Teléfono describen a la entidad Alumno correspondiente, en cambio, el valor contenido en el atributo Código de Carrera representa un vínculo del mundo real: es el vínculo que tiene esa entidad Alumno con una sola de las entidades del tipo de entidades Carreras, que tendría el siguiente aspecto: Código de Carrera Nombre 1 Licenciatura en Física 2 Licenciatura en Química 3 Profesorado en Matemática y Física 4 Licenciatura en Análisis de Sistemas 5 Licenciatura en Matemática En la terminología del Modelo Relacional, una fila de una tabla se denomina tupla, una cabecera de columna es un atributo y la tabla es la representación de una relación. El tipo de datos al cual pertenece cada uno de los valores que aparecen en cada columna de la tabla se denomina dominio. Si hacemos una comparación entre esta terminología y la utilizada por el Modelo Entidad- Relación, tenemos las siguientes equivalencias: Modelo Relacional Modelo Entidad-Relación Tabla Tipo de entidades Tupla Entidad Atributo Atributo simple Dominio Dominio DOMINIOS. TUPLAS. ATRIBUTOS. RELACIONES. ESQUEMA DE RELACIÓN. Un dominio es un conjunto de valores atómicos, todos del mismo tipo. Esto es, para el Modelo Relacional, cada valor del dominio es indivisible, lo que lleva a interpretar que cada elemento de tal conjunto constituye la menor unidad semántica de datos. La forma común de expresar un dominio es asignarle un nombre, una asignación del tipo de datos que contiene y, en caso necesario, un formato. Por ejemplo: Edades de empleados: valores enteros entre 16 y 80. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 10 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. Nombre de facultades: cadenas de caracteres que representan nombres válidos. Números de teléfonos: cadenas de caracteres de la forma (dddd) ddddddd, donde d es un dígito. Una relación, R, se compone de un esquema de relación y de un ejemplar de relación. Un esquema de relación se denota por R(A1, A2, A3, . . . , An) y está compuesto por el nombre de la relación, R, y una lista de atributos A1, A2, A3, . . . , An. Un esquema de relación suele también denominarse como cabecera de la relación. Cada atributo Ai toma valores en un dominio determinado Di, lo que se denota con: dom(Ai) = Di. El grado de una relación R, es la cantidad de atributos, n, de su esquema de relación. Un ejemplar r, de la relación R, que se denota por r(R), es un conjunto de m tuplas: r = { t1, t2, t3, . . . , tm } . A su vez, cada tupla ti es una lista ordenada de valores < v1, v2, v3, . . . , vn > , donde vi dom(Ai) o bien es un valor nulo, para 1 i n. Suele también denominarse a r como cuerpo de la relación R. Puede definirse también un ejemplar del esquema de relación como un subconjunto del producto cartesiano de los dominios que definen el esquema de relación: r(R) = { dom(A1) X dom(A2) X dom(A3) X . . . X dom(An) } La cardinalidad de una relación es la cantidad de tuplas que posee su ejemplar de relación . Tomando como base el ejemplo anterior, la relación Alumnos tiene el siguiente esquema de relación o cabecera: Alumnos(LU, DNI, Nombre, Domicilio, Teléfono, Código de Carrera). Los atributos de esta relación son LU, DNI, Nombre, Domicilio, Teléfono y Código de Carrera. Podemos decir, por ejemplo, que dom(Teléfono) = Números de teléfono. Cada tupla de esta relación representa a una entidad alumno en particular. El grado de la relación Alumnos es 6 y su cardinalidad es 3. Una de las principales ventajas del Modelo Relacional es que su objeto abstracto básico, la relación, tiene una representación como tabla que es muy sencilla de entender. Es justamente esta representación sencilla lo que hace que los Sistemas de Bases de Datos Relacionales sean tan fáciles de entender y de usar. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 11 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. PROPIEDADES DE LAS RELACIONES. Las propiedades de las relaciones son justamente las características que las distinguen de un archivo tradicional: Primera propiedad: no existen tuplas repetidas. Se ha definido un ejemplar r de una relación R, o cuerpo de la relación R, como un conjunto de tuplas. Matemáticamente, los conjuntos no tienen elementos repetidos, por lo tanto, el cuerpo de una relación no contiene tuplas repetidas. Una consecuencia inmediata de esta propiedad, es la necesidad de que cada tupla posea un valor particular, o un conjunto de valores, que solamente aparezca en ella y que permita su individualización dentro del conjunto de tuplas. Segunda propiedad: Las tuplas no están ordenadas. Esta propiedad también se deriva de la definición de conjunto. El conjunto de tuplas puede representarse en cualquier orden, lo que no altera los valores de ninguno de los datos persistentes. De hecho, un índice sobre alguno de los atributos implica una referencia a un ordenamiento de las tuplas de acuerdo a algún criterio pero, definitivamente, no implica la alteración de los valores que contienen ni ese atributo ni ninguno de los otros. Tercera propiedad: Los atributos no están ordenados. Esta propiedad se desprende también de la definición de esquema de una relación o cabecera de una relación. Al haber sido definida como un conjunto, no interviene en ella la propiedad de orden. Como los atributos no están ordenados, tampoco puede utilizarse el concepto de adyacencia. O sea, no es posible decir que determinado atributo es adyacente a otro. Por lo tanto, la única manera de individualizar un atributo es por su nombre. RESTRICCIONES DEL MODELO RELACIONAL. Como hemos visto en el proceso de diseño de bases de datos, cada uno de los modelos que implica este proceso tiene la posibilidad de incorporar restricciones y el conjunto de restricciones a incorporar depende justamente del tipo de modelo que guía este proceso de diseño. Ya hemos visto los conceptos del Modelo Relacional, ahora tenemos que incorporar ese conjunto de restricciones que indica tal modelo deben completar al esquema de la base de datos. Estas restricciones se clasifican de la siguiente manera: 1. Restricciones de dominio. 2. Restricciones de clave. 3. Restricciones de integridad. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 12 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. 3.1. Integridad de las entidades. 3.2. Integridad referencial. RESTRICCIONES DE DOMINIO. El valor de cada atributo Ai debe ser un valor atómico del dominio dom(Ai) de ese atributo. Si un atributo nopuede contener un valor atómico no es un atributo simple y, por lo tanto, deberá subdividirse. De esto se desprende que todos los atributos de una relación deben ser atributos simples O sea, en cada posición definida por la intersección de un atributo con una tupla, solo puede haber un valor y nunca un conjunto de valores. Un conjunto de valores sería considerado como una repetición de valores, cada uno de los cuales puede pertenecer al mismo o a diferentes dominios. Cuando los valores pertenecen al mismo dominio el conjunto de valores se denomina grupo repetitivo. Es por esta restricción también suele enunciarse como: las relaciones no contienen grupos repetitivos. RESTRICIONES DE CLAVE. Como hemos mencionado en la primera propiedad de las relaciones, no existen tuplas repetidas. Esto significa que no puede haber dos tuplas que tengan la misma combinación de valores para todos sus atributos. Por lo tanto debe existir, al menos, un subconjunto de atributos para el cual no existan dos tuplas con la misma combinación de valores para esos atributos. Cada uno de estos subconjuntos de denominan superclave de la relación y, por lo tanto, debe poder asegurarse que toda relación debe tener, al menos, una superclave. Es decir, una superclave asegurará que cada tupla es única con respecto a esa superclave. Decimos en este caso que una superclave cumple con la propiedad de unicidad. Sin embargo, una superclave puede tener atributos redundantes, así que definiremos un concepto más útil: el de clave candidata. Una clave candidata K de una relación R es una superclave que cumple con la propiedad de minimalidad. Esta propiedad de minimalidad es la que otorga a una clave candidata la posibilidad de mantener su propiedad de unicidad pero utilizando la menor cantidad posible de atributos. En nuestro ejemplo de la relación Alumnos, la combinación de los atributos LU y DNI es una superclave, pero en forma separada, el atributo DNI es una clave candidata y el atributo LU también. Como una relación puede tener más de una clave candidata, de entre ellas se selecciona una que será la clave primaria de la relación y es la que se utilizará para la identificación unívoca de cada tupla. La elección de la clave primaria entre las claves candidatas es arbitraria, sin embargo, se recomienda elegir la que tiene un solo atributo o la menor cantidad de atributos combinados. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 13 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. RESTRICCIONES DE INTEGRIDAD. Una restricción es una norma, una regla que debe cumplirse con el propósito de asegurar un buen resultado. En nuestro caso, entonces, nuestro objetivo es definir normas o reglas con el propósito de informárselas al DBMS para que puede impedir la ocurrencia de casos no permitidos por las normas. Las restricciones de integridad se especifican en los modelos de la base de datos y deben hacerse cumplir para todas las relaciones y las asociaciones entre ellas. INTEGRIDAD DE LAS ENTIDADES. La restricción de integridad de las entidades establece que ningún valor de clave primaria puede ser nulo. Esta restricción no necesita explicación por su obviedad. Si una tupla tiene un valor nulo en su clave primaria no hay como identificarla unívocamente. Es más, si más de una tupla tuviese valor nulo en su clave primaria, no serían distinguibles entre ellas. INTEGRIDAD REFERENCIAL. Las restricciones de dominio, de clave y de integridad de las entidades se consignan sobre relaciones individuales. En cambio, la restricción de integridad referencial se especifica entre dos relaciones y sirve para mantener la consistencia entre las tuplas de esas relaciones. Esta regla establece que cuando una tupla de una relación haga referencia a otra relación, en esta segunda deberá existir una tupla a la cual se refiere. Por ejemplo, en nuestro caso la relación Alumnos contiene como atributo el Código de Carrera que cursa ese alumno. El valor que tiene tal atributo en la relación Alumnos debe referirse a un único valor existente en el atributo Código de Carrera de la relación Carreras. Para formalizar un poco esta definición de integridad referencial, definiremos un nuevo concepto: clave ajena, o clave externa, o clave foránea. La definición de clave foránea es, en sí misma, la definición de integridad referencial. Un conjunto de atributos de R1 es una clave foránea de R1 si: Los atributos de la clave foránea tienen el mismo dominio que los atributos de la clave primaria de una relación R2. Se dice que los atributos de la clave foránea hacen referencia, o se refieren, a la relación R2. Un valor de clave foránea en una tupla t1 de R1 ocurre como valor en alguna tupla t2 de R2, o bien es nulo. Se dice que la tupla t1 hace referencia, o se refiere a la tupla t2. BASES DE DATOS RELACIONALES. Ahora, habiendo incorporado todos los conceptos previos, podemos definir una Base de Datos Relacional como un conjunto de relaciones y un conjunto de restricciones. Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 14 Departamento de Informática. TUP. BASES DE DATOS Lic. Patricia Mac Gaul – Lic. Martín Díaz – Lic. Guillermo Villanueva. Año 2.015. Hemos visto que el Modelo Relacional se inicia como una teoría pura propuesta por Codd en el año 1.970, a esa altura sin ninguna posibilidad de implementación. Pero el aporte de Chen en 1.976, con su Modelo Entidad-Relación, da las pautas para que ésta sea posible y proporciona la herramienta adecuada para el modelado semántico. Es por ello que hay equivalencias entre las terminologías y los conceptos de ambos modelos, lo que será útil consignar porque hemos analizado con suficiente profundidad los conceptos del Modelo Entidad-Relación: Modelo Entidad-Relación Modelo Relacional Tipo de entidades Relación Entidad o Entidad Tipo de vínculos Relación Tipo de vínculos con cardinalidad 1:1 Clave foránea en una de las entidades Tipo de vínculos con cardinalidad 1:N Clave foránea en la entidad con cardinalidad muchos Tipo de vínculos con cardinalidad N:M Relación “Vínculo” o “Entidad Asociativa” con dos claves foráneas, cada una de las cuales referencia a una Entidad. Atributo simple Atributo Atributo multivaluado Entidad con una clave foránea que referencia a la Entidad que poseía el atributo multivaluado. Conjunto de valores atómicos Dominio Atributo clave Clave primaria
Compartir