EL MODELO RELACIONAL

Documentos relacionados
Gestión base de datos : Modelo Relacional (II)

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Las tres reglas básicas para convertir un esquema en el modelo E/R al relacional son las siguientes:

Modelos de Datos. Modelo Entidad-Relación

Modelo relacional. Modelo relacional

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Ing. Yim Isaias Apestegui Florentino

El Modelo Relacional. Carlos A. Olarte BDI

Diseño Lógico El modelo relacional. M.Sc.Lic. Cimar H. Meneses España

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

Bases de Datos OTROS ASPECTOS MODELO E-R

Diseño de bases de datos. Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia

Diseño Lógico Estándar. Diseño Lógico Tema 12

UNIDAD 3 MODELO RELACIONAL

Qué es SGBD? Mencionar 4 tipos de SGBD. SGBD de red. Román Gutiérrez Sosa. SGBD jerárquicos. Modelo de datos relacionales.

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

Catedra de Base de Datos

Concepto. 1963, en un simposio celebrado en California, USA. Conjunto de información relacionada que se encuentra agrupada ó estructurada.

Diseño de base de datos: Modelo Entidad Relación (I)

Introducción a las bases de datos relacionales (2010/2011)

Tema 2. DISEÑO LÓGICO DE BASES DE DATOS Parte 2

Tema 2: Diseño de Bases de Datos (Diseño Lógico)

Teórico 10 Del MER al MR (entidades débiles y relaciones)

UF5- Base de dades (Open Base) 34R/1I/1P-212

Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos

Introducción a las Bases de Datos UNIDAD II MODELO ENTIDAD-RELACION

UNIDAD 14 - SOFTWARE PARA SISTEMAS INFORMÁTICOS (VII).

[3.3] Restricciones. Unidad 3) Modelo Relacional Gestión de Bases de Datos, ciclo de ASIR

Modelo Relacional I. Nos encontramos en la FASE 2: REGLAS DE TRANSFORMACIÓN del Modelo Entidad Relación (MER) al Modelo Relacional (MR).

INFORMÁTICA II TEMA IV

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

- Bases de Datos (2012/2013) Tema 2: Diseño lógico. Modelo Relacional

Modelado Entidad-Relación

Diseño de base de datos: Modelo Entidad Relación (II)

TEMA 3: REDUCCIÓN DE UN ESQUEMA E-R A TABLAS

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO. ALUMNO: JUAN ESQUIVEL VAQUERA. ENSAYO: Modelo entidad-relación. PROFESOR: RICARDO BUSTAMANTE.

Gestor de bases de datos MicroSoft Access (2 de 4)

Introducción a las Bases de Datos y al Modelo Relacional

Bases de Datos. Sistemas de Gestión de Bases de Datos

4. Bases de Datos base de datos menor redundancia SGBD, Sistemas Gestores de Bases de Datos Administradores de Bases de Datos

[4] Diseño lógico de bases de datos

Tema 2: Diseño conceptual de Bases de Datos.

Modelo Entidad Relación.MER.

UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos

BASES DE DATOS TEMA 2 MODELOS DE DATOS

EXAMEN EXTRAORDINARIO Informática y Computación IV

TEMA 3.- MODELOS CONCEPTUALES DE DATOS.

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

Tema 3: Diseño lógico de Bases de Datos. El Modelo Relacional

Sistemas informáticos industriales. Diccionario de Datos. Diagrama Entidad Relación

Tema 4 DISEÑO LÓGICO: EL MODELO RELACIONAL

BASE DE DATOS Modelos de Datos

Es decir, se va a mostrar la equivalencia más eficiente entre las distintas relaciones representables en E-R y MR.

Normalización. CC20A 1 Computación II Auxiliar 10 Iván Bustamante. Clase Auxiliar 10 1

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

Modelos de datos. Colección de herramientas conceptuales para describir

TIPOS DE CAMPOS Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes.

Objetivos y Temario CURSO ACCESS 2010

TEMA 4: EL MODELO RELACIONAL. ESTÁTICA

Modelo Relacional: Conceptos

Laboratorio de Base de Datos Práctica Nro. 3, Modelo Relacional y Transformaciones

DEL MODELO ENTIDAD-RELACIÓN AL MODELO RELACIONAL. Prof. Karen Quiroga

MODELO RELACIONAL BASE DE DATOS RELACIONALES

Bases de datos. Diseño y gestión

Definición de Bases de datos

BASES DE DATOS II PRACTICA I

FICHEROS Y BASES DE DATOS 2º ITIG 8/9/2001 NOMBRE

INTEGRIDAD REFERENCIAL

Modelo relacional. El modelo relacional

Transformación ER Relacional para el diseño de bases de datos relacionales

DISEÑO DE BASES DE DATOS RELACIONALES

Restricciones de Integridad

BASES DE DATOS. Fundamentos de Informática Grado en Ing. Química. Jesús Alcalá y David Pelta

Diseño lógico El modelo Relacional. José Muñoz Jimeno Febrero 2015

DESVENTAJAS DEL USO DE LA BASE DE DATOS

... Cómo empezar en ACCESS anfora CAPÍTULO. Introducción. Cómo iniciar ACCESS ACCESS 2000 Iniciar ACCESS 2000

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Fundamentos del Modelo Relacional de Datos

Operador Restricción

Qué es el modelo entidad-relación?

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

entre menú y plato con cardinalidades (0,N) y (3,3), respectivamente. Esta solución garantiza que no se puede "repetir" un plato en el (1,1)

Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición:

BASE DE DATOS Octubre Marzo 2017

Bases de datos 1. Teórico: Diseño Conceptual

BASES DE DATOS 1. Teórico: Diseño Conceptual

Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son

Transcripción:

EL MODELO RELACIONAL 1. SGBD RELACIONALES Hay muchos tipos de SGBD, pero la mayor parte de los utilizados comercialmente en la actualidad son relacionales, es decir, se basan en una cierta teoría o forma de representar los datos para implementar sus herramientas e interfaces, en este caso el Modelo Relacional. Entendemos como representación de los datos, la forma en que se presentan al usuario y que permiten ciertas operaciones para poder manejarlos. De hecho, en estos SGBD, la información se presenta en forma de tablas, con columnas para las características de los objetos o conceptos que se pretende representar en la tabla, y filas para cada caso concreto o instancia de objeto. Existe un lenguaje considerado como estándar para manejar esas tablas, el SQL, que permite crear y modificar tablas, consultarlas, introducir nuevos datos, modificar datos o borrarlos. 3.1. Estructura de una base de datos relacional En general se puede decir que una base de datos consta de los siguientes elementos: Tabla o relación: es una estructura bidimensional formada por filas y columnas. En cada tabla se almacena un tipo de entidad, es decir, un objeto o elemento que se va a almacenar en la base de datos. Así en una base de datos académica podrá haber información de las siguientes entidades: alumno, profesor, asignatura, centro, curso, etc. Campos (grado=5) Filas (cardinalidad=4) Registros: son cada una de las filas que se almacenan en la tabla. Es decir diferentes instancias de una entidad. (Ej: cada uno de los alumnos es un registro) Campos: son los atributos que se pueden almacenar de cada entidad. Puede ser un atributo, cualquier característica o propiedad de una entidad. Por ejemplo, posibles atributos de una entidad alumno son: DNI, nombre, apellidos, fecha de nacimiento etc. En cada campo solo se aceptarán valores de un determinado tipo de datos o dominio (texto, numérico, fecha, etc)

Relación: en una base de datos integrada por más de una tabla, probablemente existirán relaciones entre las tablas de la misma. Las relaciones entre tablas también disponen de cardinalidad. Por ejemplo, dada una tabla de Alumnos y otra de Provincias, entre ambas existirá una relación con cardinalidad de uno a varios, ya que un alumno solo puede pertenecer a una provincia pero dada una provincia puede haber varios alumnos que pertenezcan a ella. Desarrollaremos los tipos de relaciones más adelante. Otros conceptos relacionados con la tabla son el grado y la cardinalidad. El grado de una tabla es igual al número de columnas que la forman, y es fijo mientras no se cambie el diseño de la base de datos. La cardinalidad se corresponde con el número de filas de la tabla, por lo cual es variable siempre que la tabla permita realizar altas y bajas. Esta organización de la información, permite recuperar de forma flexible los datos de una o varias tablas, así como combinar registros de diferentes tablas para formar otras nuevas. 3.2. Integridad referencial La integridad referencial es una propiedad deseable en las bases de datos. Gracias a la integridad referencial se garantiza que una entidad (fila o registro) siempre se relaciona con otras entidades válidas, es decir, que existen en la base de datos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas. Todas las bases de datos relacionales gozan de esta propiedad gracias a que el software gestor de base de datos vela por su cumplimiento. Para garantizar esa integridad referencial entran en juego los siguientes elementos: Clave primaria: se conoce como clave primaria al campo o conjunto de campos que identifican unívocamente un registro de una tabla. Solo puede haber una clave primaria por tabla. Por ejemplo: para la tabla alumnos del ejemplo anterior, el campo que identificaría un alumno del resto sería el campo NIF, por tanto el campo NIF sería la clave primaria de la tabla Alumnos. Clave ajena: se conoce como clave ajena de una tabla a un campo o conjunto de campos que se utilizan para relacionar esa tabla con otra. El valor de la clave ajena debe concordar con el valor de la clave primaria de otra tabla. Ejemplo: el campo IdProvincia es una clave ajena que relaciona el alumno con una provincia.

Clave candidata: se conoce como clave candidata de una tabla al campo o conjunto de campos que cumplen las siguientes propiedades: o o Unicidad. No existen dos registros en una tabla que tengan el mismo valor para ese campo o campos. Minimalidad. Si la clave candidata consta de más de un campo, no es posible eliminar de la clave ningún campo sin que se deje de cumplir la propiedad de Unicidad. De las claves candidatas que haya en una tabla, una se elegirá una como clave primaria de esa tabla, el resto se denominarán claves alternativas. Las claves alternativas y las claves primarias, por tanto, no pueden tener valores repetidos y siempre tienen que tener valor (no pueden ser nulas). 2. TRANSFORMAR MODELO EER A MODELO RELACIONAL Para transformar un modelo entidad-relación a modelo relacional seguiremos las siguientes reglas: Toda entidad del modelo entidad-relación se transforma en una tabla. Cualquier atributo de una entidad se transforma en un campo dentro la tabla, manteniendo las claves primarias (campos identificadores) Las relaciones muchos a muchos (N:M) se transforman en una nueva tabla que tendrá como clave primaria la concatenación de los atributos clave de las entidades que relaciona. En las relaciones uno a muchos (1:N) se pueden tener dos casos: o Si la entidad que participa con cardinalidad máxima uno lo hace también con cardinalidad mínima uno, entonces se propaga el atributo de la entidad que tiene cardinalidad máxima 1 a la que tiene cardinalidad máxima N, desapareciendo el nombre de la relación. Si existen atributos en la relación éstos también se propagarán. o Si la entidad que participa con cardinalidad máxima uno lo hace también cardinalidad mínima cero, entonces se crea una nueva tabla formada por las claves de cada entidad y los atributos de la relación. La clave primaria de la nueva tabla será el identificador de la entidad que participa con cardinalidad máxima N. En el caso de las relaciones uno a uno (1:1) también pueden darse dos casos: o Si las entidades poseen cardinalidades (0,1), la relación se convierte en una tabla. o Si una de las entidades posee cardinalidad (0,1) y la otra (1,1), conviene propagar la clave de la entidad con cardinalidad (1,1) a la tabla resultante de la entidad con cardinalidad (0,1). Si ambas entidades poseen cardinalidades (1,1) se puede propagar la clave de cualquiera de ellas a la tabla resultante de la otra.

En el caso de las relaciones N-arias se aplica la misma regla que para las relaciones N:M En el caso de las relaciones reflexivas supondremos que se trata de una relación binaria con la particularidad que las dos entidades son iguales y aplicaremos las reglas vistas en los puntos anteriores. Veamos algunos ejemplos. Relaciones N:M Supongamos el siguiente modelo entidad-relación. En este caso la relación compra se transforma en una nueva tabla cuya clave primaria estará formada por los atributos dni, que es la clave primaria de cliente, y código, que es la clave primaria de producto. Además tendrá como campo fecha compra, ya que este atributo forma parte de la relación. El modelo relacional quedaría de la siguiente forma: CLIENTE CP(dni) Nombre Apellidos PRODUCTO CP(codigo) descripción COMPRAS CP(dni_cliente,codigo_producto) Fecha_compra C.Aj(dni_cliente)=> Cliente C.Aj(codigo_producto)=>Producto Relaciones 1:N Veamos ahora el caso de una relación 1:N. En el siguiente modelo entidad-relación un empleado pertenece a un único departamento (debe pertenecer a uno obligatoriamente), y un departamento tiene 1 o más empleados.

En este caso se propaga el atributo código de departamento a la tabla EMPLEADO. El modelo relacional quedaría de la siguiente manera: EMPLEADO CP(dni) nombre salario C.Aj(codigo_departamento)=>depar tamento DEPARTAMENTO CP(codigo) nombre localización Imaginemos ahora que pudiera darse el caso de que hubiera empleados que no pertenecieran a ningún departamento. En este caso la entidad que participa con cardinalidad máxima 1, DEPARTAMENTO, también lo hace con cardinalidad mínima 0, ya que puede haber empleados que no pertenezcan a ningún departamento. Así pues, se crea una nueva tabla formada por dni de EMPLEADO y código de DEPARTAMENTO. En esta nueva tabla dni de EMPLEADO será la clave primaria. El modelo relacional quedaría de la siguiente forma: EMPLEADO(CP(dni),nombre,salario) DEPARTAMENTO(CP(código),nombre,localización) PERTENECE(CP(dni_empleado),C.Aj(código_departamento)=>departamento) Relaciones 1:1

Veamos ahora el caso de una relación 1:1 a través del siguiente ejemplo. En el siguiente modelo entidad-relación un equipo de fútbol tiene a un único presidente y un presidente preside a un único club de fútbol. En este ejemplo, tal y como dicen las reglas, podemos propagar la clave de cualquier tabla a la tabla resultante de la otra. Es decir, tenemos dos opciones, o mover la clave de PRESIDENTE a EQUIPO o mover la clave de EQUIPO a PRESIDENTE. El modelo relacional podría quedar de cualquiera de las dos formas siguientes: EQUIPO(CP(código),nombre,año_fundación) PRESIDENTE(CP(dni),nombre,CAj.(código_equipo)=>equipo) ó EQUIPO(CP(código,nombre),año_fundación,CAj(dni_presidente)=>presidente) PRESIDENTE(CP(dni),nombre) Relaciones reflexivas Veamos ahora como quedaría en el modelo relacional la siguiente relación reflexiva. En el siguiente modelo entidad-relación un ALUMNO es delegado de varios ALUMNOS y un ALUMNO tiene obligatoriamente un delegado y sólo a uno.

Como podemos observar en las reglas de transformación, en este caso la relación reflexiva se trata como si fuera una relación binaria con la particularidad de que las dos entidades son iguales. Al tratarse de una relación 1:N se propagará la clave de la entidad ALUMNO a la entidad ALUMNO, quedando el modelo relacional de la siguiente forma: ALUMNO(CP(num_expediente),nombre,C.Aj(num_expediente_delegado)=>alu mno)