Bases de Datos Parte 2- El modelo relacional: Estructura PDF
Document Details
Uploaded by ImmaculateEclipse1922
UDC
Tags
Summary
Este documento presenta una introducción a las Bases de Datos, enfocándose en el modelo relacional y su estructura. Se definen los conceptos de relación e ilustran mediante ejemplos. Se abordan elementos como los dominios y los nulos en el contexto de las relaciones.
Full Transcript
Bases de Datos Parte 2- El modelo relacional: estructura Informática Básica - Bloques II-III Laboratorio de Bases de Datos Contenidos y bibliografía Contenidos 2.1. Definición “informal”. 2.2. Definición formal. Bibliografía – Elmasri, R.; Navathe, S. (2011). Database...
Bases de Datos Parte 2- El modelo relacional: estructura Informática Básica - Bloques II-III Laboratorio de Bases de Datos Contenidos y bibliografía Contenidos 2.1. Definición “informal”. 2.2. Definición formal. Bibliografía – Elmasri, R.; Navathe, S. (2011). Database Systems. Addison-Wesley – Date, C.J. (2001). Introducción a los Sistemas de Bases de Datos. Prentice Hall. – Silberschatz, A.; Korth, H.; Sudarshan, S. (2011). Databases System Concepts. Mc Graw Hill. 2 Bases de datos 2.1 Definición “informal” Relaciones Concepto de relación – El modelo relacional establece la relación como la estructura para almacenar los datos de la BD – La relación es un concepto matemático. El modelo relacional es un modelo formal. – Informalmente, podemos ver una relación como una tabla (aunque NO ES LO MISMO) – Una base de datos consiste en un conjunto de relaciones (informalmente: un conjunto de tablas) vinculadas entre sí. 4 Relaciones: definición “informal” Si vemos una relación como una tabla – Cada tabla almacena datos de entidades del mundo real, todas del mismo tipo y con propiedades comunes. Entidades de tipos diferentes están en tablas diferentes. Ejemplo: tabla Estudiantes, tabla Docentes, tabla Materias… – Cada fila de una tabla representa hechos que se corresponden con una entidad del mundo real Ejemplo: tabla Estudiantes: cada fila, un estudiante – Cada columna representa una propiedad común a todas las entidades del mismo tipo. Ejemplo: tabla Estudiantes: dni, nombre, dirección, teléfono… – El nombre de la tabla y los nombres de las columnas ayudan a interpretar el significado de los valores que están en cada fila – Como veremos, una fila realmente es una tupla, el nombre de una columna realmente es un atributo y la tabla realmente es una relación 5 Relaciones Ejemplo: una relación (vista como tabla) Nombre de Atributos la relación Estudiantes dni nombre apellidos email 11.222.333Z Pedro Pérez Pérez [email protected] Tuplas 22.333.444Z Ana López Pérez [email protected] 11.888.999Z Alberto López López [email protected] 6 Relaciones Ejemplo: una base de datos (vista como conjunto de tablas) Estudiantes Materias dni nombre … codigo nombre creditos 11.222.333Z Pedro … 614G01002 IB 6 … … … … … … Matricula dniEstudiante codMateria curso 11.222.333Z 614G01002 2018/2019 … … … 7 Bases de datos 2.2 Definición formal Relación: definición formal Esquema de relación – Un esquema de relación R, denotado por R(A1, A2, …, An) está compuesto por un nombre de relación R y una lista ordenada de atributos A1, A2, …, An Ejemplo: Estudiantes(dni, nombre, apellidos, email) – Grado de un esquema de relación: número de atributos Ejemplo: Estudiantes tiene grado 4 9 Relación: definición formal Dominio – Cada atributo de una relación está ligado a un determinado dominio, que es un conjunto de valores atómicos. – Denotamos el dominio de un atributo A por dom(A) – El dominio define el conjunto de valores que puede tomar el atributo para una entidad determinada del mundo real – Se puede definir por extensión o por comprensión Ejemplo extensión: dom(tipoMateria) = {Obligatoria, Optativa} Ejemplo comprensión: dom(dni) = { x / x es un número de dni válido} 10 Relación: definición formal Un nulo representa ausencia de información – Porque desconocemos esa información Ejemplo: no conocemos el número de teléfono de un estudiante – Porque no procede/no es aplicable Ejemplo: un nulo en el atributo comisión de un empleado representa que el empleado no tiene derecho a comisión y que, por tanto, no procede almacenar su valor 11 Relación: definición formal Relación – Una relación r del esquema de relación R(A1, A2, …, An), denotado por r(R), es un conjunto de tuplas r = {t1, t2, …, tm}. – Cada tupla es una lista ordenada de n valores ti = (v1, v2, …, vn), donde cada valor vj es un elemento del dominio dom(Aj) o bien es un nulo. – Definición alternativa: Una relación r(R) es un subconjunto del producto cartesiano de los dominios de los atributos de R: r(R) dom(A1) x dom(A2) x... x dom(An) – Con t[CA], (siendo CA una lista ordenada de atributos de R) denotamos la lista ordenada de valores de la tupla t para los atributos en CA. 12 Relación: definición formal Esquema versus estado – Esquema y estado constituyen dos dimensiones complementarias de una relación. El esquema (o intensión) de una relación describe su estructura, y es permanente. El estado (o extensión) de una relación describe su contenido: es una instantánea de las tuplas concretas que forman parte de la relación en un momento dado. – La relación presenta siempre el mismo esquema, pero pasa por diferentes estados a lo largo del tiempo. La información que contiene debe actualizarse para adecuarse a los cambios en el mundo real. – En adelante, cuando hablemos de relación será para referirnos en conjunto tanto al esquema como al estado. 13 Relación: definición formal Esquema y estado de la base de datos. – Una base de datos relacional es una colección de relaciones Ejemplo: – Estudiantes(dni, nombre, apellidos, email), – Materias(codigo, nombre, curso, cuatrimestre), – Docentes(dni, nombre, apellidos, despacho) – Para la base de datos -en su integridad- podemos considerar también las mismas dimensiones que en el caso de la relación : Esquema o intensión de una base de datos: conjunto de todos los esquemas de las relaciones que forman la base de datos Estado o extensión de una base de datos: conjunto de todos los estados de las relaciones que forman la base de datos. 14 Relación: definición formal Y finalmente: ¿una relación no es una tabla? – ¿Una tabla puede tener filas repetidas? Sí – ¿Una relación puede tener filas repetidas? No, por definición, porque es un conjunto. – ¿Hay orden en las filas de una tabla? Si, porque las filas de una tabla tienen un orden determinado. – ¿Hay orden entre las tuplas de una relación? No, porque por definición no hay orden entre los elementos de un conjunto. 15