Modelos de Datos y DBMS - Facultad de Ingeniería

84
Modelos de Datos

Transcript of Modelos de Datos y DBMS - Facultad de Ingeniería

Page 1: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelos de Datos

Page 2: Modelos de Datos y DBMS - Facultad de Ingeniería

DEFINICIONES

Page 3: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelos de Datos: Definición

¿Qué son?Lenguajes usados para especificar y manipular BDs.

Un Modelo de Datos permite expresar :Estructuras.

Elementos de los problemas.

Ej.: CURSOS(nro_curso, nombre, horas).

Restricciones.Reglas que deben cumplir los datos para que la base sea considerada válida.

Ej.: (Ɐ c Ǝ CURSOS ) (c.horas < 120)

Operaciones.Insertar, borrar y consultar la BD.

Ej.: Insert into CURSOS (1911,”FBD”,90)

Page 4: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelos de Datos: Clasificación

Según el nivel de abstracción:Conceptuales.

Representan la realidad independientemente de cualquierimplementación de BD.

Usado en etapa de Análisis.

Lógicos.Implementados en DBMSs.

Usado en etapas de Diseño e Implementación.

Físicos.Implementación de estructuras de datos.

P. Ej.: Arboles B, Hash.

Page 5: Modelos de Datos y DBMS - Facultad de Ingeniería

Esquema Conceptual (Ej., Entidad-Relación)

Esquema Lógico (Ej., Relacional, Orientado-a-documentos)

Diseño Conceptual

Diseño Lógico

CREATE TABLE PRODUCTS (...); CREATE TABLE CLIENTS (...);

SituaciónMundo Real

Modelos de Datos: Aplicación

PRODUCTS

ALIMENTS CLEANING CLIENTS

BUY

Page 6: Modelos de Datos y DBMS - Facultad de Ingeniería

Instancia de una Base de Datos

Conjunto de datos almacenados en una base.

Es el valor de base en un instante de tiempo.Si respetan todos las restricciones, se considera que lainstancia es correcta.

Muy volátiles.

Observar la diferencia con las ideas de instancia típicasde programación.

En los lenguajes de programación tradicionales u orientados aobjetos, una instancia es un elemento, aquí una instancia esun CONJUNTO DE ELEMENTOS.

Page 7: Modelos de Datos y DBMS - Facultad de Ingeniería

Esquema de una Base de Datos

Describe qué datos hay en la base, cómo se relacionanesos datos entre sí y qué restricciones de integridaddeben cumplir

Estructuras + Restricciones

Por ejemplo:CURSOS (nro_curso, nombre, horas).

ESTUDIANTES (CI, nombre, fecha_nacimiento).

TOMA_CURSO (nro_curso, CI).

Muy estables.

Page 8: Modelos de Datos y DBMS - Facultad de Ingeniería

Arquitectura Lógica de un DBMS

Propiedades importantes de DBMSs:Control global único de la BD.

Separación entre esquema y aplicaciones.Esquema: visión global de los datos de la realidad.

Aplicaciones: programas sobre la BD.

Soporte a diferentes visiones de los datos.Usuarios/aplicaciones ven subconjuntos de la BD.

Independencia de datos.Esquema lógico independiente de implementación.

Page 9: Modelos de Datos y DBMS - Facultad de Ingeniería

Acceso a la BD

Vista 1 Vista n.....................Nivel Externo

Esquema Físico (o interno)Nivel Físico

Esquema Lógico (o Conceptual de DBMS)Nivel Lógico(Conceptual DBMS)

Arquitectura en 3 Niveles

Page 10: Modelos de Datos y DBMS - Facultad de Ingeniería

Independencia de Datos

Independencia Lógica.Independencia entre especificaciones de nivel Lógico yExterno.

Cambiar partes de esquema lógico sin afectar a losesquemas externos o a las aplicaciones.

Independencia Física.Independencia entre especif. de nivel Lógico y Físico.

Cambiar implementaciones sin afectar esq. Lógico.

Page 11: Modelos de Datos y DBMS - Facultad de Ingeniería

Lenguajes e Interfases en Ambientes BD

Provistos por DBMS:Definición de esquema:

VDL (o SSDL) - View Definition Language.

SDL - Storage Definition Language.

DDL - Data Definition Language.Suele englobar estos tres lenguajes.

Manipulación de la BD:DML - Data Manipulation Language.

Modificaciones en instancias.

QL - Query Language.Subconjunto del DML, sólo para consultas.

Page 12: Modelos de Datos y DBMS - Facultad de Ingeniería

Lenguajes e Interfases en Ambientes BD

Tipos de QL:Declarativos.

Se especifica qué propiedad cumplen los datos.

No se especifica cómo se recuperan de la BD.

Suelen recuperar conjuntos de items (registros).

Es el DBMS que define el plan de ejecución.

Procedurales.Se especifica un algoritmo que accede a estructuras del esquemalógico y recupera los datos item por item (registro a registro).

Page 13: Modelos de Datos y DBMS - Facultad de Ingeniería

Lenguajes e Interfases en Ambientes BD

Lenguajes de programación:Lenguajes host (anfitrion):

Lenguajes de uso general (C, COBOL, etc) en el cual se embebensentencias de DML.

Se tiene un pre-procesador que traduce el programa con DMLembebido en un programa puro.

PROBLEMAS: impedance-mismatch

Lenguajes 4GL:Lenguajes procedurales orientados a acceso a BDs.

Conexión privilegiada con DMLs, reduce el impedance-mismatch.

Page 14: Modelos de Datos y DBMS - Facultad de Ingeniería

Lenguajes e Interfases en Ambientes BD

Interfaces especializadas:Interfaces gráficas de consulta.

Se visualizan las estructuras en forma gráfica.

Resultados como gráficas (torta, lineas, etc).

Interfaces de Lenguaje Natural.Se procesan frases y se traducen al QL.

Interfaces para Administración.Ambientes especializados.

Page 15: Modelos de Datos y DBMS - Facultad de Ingeniería

Bases de Datos Conjunto de Datos InterrelacionadosMundo Real

Modelado por

Espec

ifica

nManipulan

ImplementanModelos de Datos

Lenguajes para especificar BD o paramodelar la realidad en términos deBD

DBMS's

Software Especializado en Manipulación de BD

Resumen de los Elementos de Bases de Datos

Page 16: Modelos de Datos y DBMS - Facultad de Ingeniería

MODELADO CONCEPTUAL

Page 17: Modelos de Datos y DBMS - Facultad de Ingeniería

Esquema Conceptual (Ej., Entidad-Relación)

Esquema Lógico (Ej., Relacional, Orientado-a-objetos)

Diseño Conceptual

Diseño Lógico

CREATE TABLE PRODUCTS (...); CREATE TABLE CLIENTS (...);

SituaciónMundo Real

Fases y resultados en el diseño de BDs

PRODUCTS

ALIMENTS CLEANING CLIENTS

BUY

Page 18: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelado ConceptualQué es ?

Primer etapa en diseño de una BD.

Actividad en la cual se constuyen esquemas conceptuales de una realidad.

Sub-etapas:

Estudio del problema real.

Especificación usando un lenguaje de muy alto nivel.

Validar resultado.

Resultado:

Esquema Conceptual

Lenguajes usados:

Modelos Conceptuales.

Page 19: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelado ConceptualLos Modelos Conceptuales:

Modelos de datos de muy alto nivel.

En general se concentran en estructuras y restricciones deintegridad.

Se concentran en describir el dominio del problema.

Suelen tener una representación gráfica asociada.

Algunos Modelos Conceptuales de Datos:Modelo Entidad-Relación [1976].

Modelos ER Extendidos [´80s y ´90s].

Modelos Multidimensionales [2000].

Page 20: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelos Conceptuales – Conceptos BásicosElementos:

ConjuntosLos elementos de interés aparecen agrupados o clasificados enconjuntos de acuerdo a sus características (Personas, Cursos, etc).

Relaciones entre ConjuntosConjuntos de parejas, ternas, cuaternas, etc. de elementos de losconjuntos anteriores. (Estudiantes aprueban cursos, docentesdictan cursos, etc).

Restricciones de Integridad.Condiciones que indican cuando un elemento o una pareja puede ono puede pertenecer a un conjunto o relación. (Todos losestudiantes deben ser mayores de 18 años, etc.)

Page 21: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelos Conceptuales – Términos ComunesAtributo

Característica que nos interesa de un determinado elementode la realidad.

Ej.: Título de un libro

¿Qué otro ejemplo se les ocurre?

Page 22: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelos Conceptuales – Términos ComunesCardinalidad

N:1Dada una relación entre dos conjuntos A y B, se dice que tienecardinalidad N:1 si dado un elemento cualquiera de A, puede haberen la relación sólo una pareja con ese elemento.

Ej: Libro y editorial

Cuantos elementos de un conjunto pueden estar relacionados con unelemento del origen.

Es una restricción de integridad

Page 23: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelos Conceptuales – Términos ComunesCardinalidad

N:NDada una relación entre dos conjuntos A y B, se dice que tienecardinalidad N:N si dado un elemento de A puede haber cualquiercantidad de elementos de B.

Ej: Libro y autor

Page 24: Modelos de Datos y DBMS - Facultad de Ingeniería

Principios del Modelado ConceptualPrincipio del 100%:

El esquema conceptual asociado a un problema deberepresentar todos sus aspectos.

Principio de Conceptualización:El esquema conceptual no debe incluir ningún elementoasociado a la implementación del esquema, así como ningúnelemento orientado a la performance de la futura BD.

Es un problema para el futuro, un desafío para los ansiosos

Page 25: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelo Entidad-RelaciónModelo Conceptual muy usado.

Propuesto por Chen en 1976.

Existe una gran variedad de “dialectos” y variantes delModelo ER.

Los modelos OO se inspiran y toman ideas de él, por lo quepresentan similaridades.

Sus conceptos básicos:Entidad : elemento de la realidad.

Por ejemplo: Estudiantes, Cursos, Docentes.

Relación : asociación entre elementos.Por ejemplo: Cursa, Dicta

Page 26: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelo Entidad-Relación¿Qué dialecto usaremos en el curso?

El modelo gráfico utilizado en el curso Fundamentos deBases de Datos

Los conceptos descriptos en las secciones correspondientesde Elmasri-Navathe.

Coincide bastante con el del Silberchatz y Korth.

Elementos principales:Entidades, Relaciones, Atributos

Generalización, Agregación, Entidad Débil.

Page 27: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelización Conceptual – Ejemplo 1Un Esquema Entidad-Relación:

Los estudiantes realizan cursos que pueden ser obligatorios uopcionales.

Page 28: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelización Conceptual – Ejemplo 2Otro Esquema ER:

Page 29: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelo Entidad-RelaciónTiene un DDL Gráfico orientado a la representación deestructuras y restricciones de integridad.

Tiene 2 elementos básicos:Diagrama Entidad-Relación.

Representa las estructuras y restricciones estandarizadas.

Restricciones no estructurales.Fórmulas lógicas o de conjuntos, representando las restriccionesque no pueden ser expresadas en el diagrama por su complejidado por falta de notación.

Page 30: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelo ER - ConstructoresResumen de principales constructores :

Conjunto de Entidades: modeliza objetos de la realidad.

Relación: modeliza asociaciones entre objetos.

Atributo: modeliza propiedades de Tipos de Ent. o de Rel.

Agregación: representa un Tipo de Rel. como un Tipo de Ent.

Especialización: modeliza sub Tipos de Entidad.

Page 31: Modelos de Datos y DBMS - Facultad de Ingeniería

Diagrama vs EsquemaNo confundir el esquema ER de la base con el diagramaER de la base:

El diagrama es una representación gráfica de la estructurade los datos de la base.

El esquema es la estructura de datos representada por eldiagrama. Esto lo vamos a ver más adelante en el curso.

El lenguaje tiene una semántica bien definida.Los diferentes dialectos sólo cambian los símbolos pero noel significado.

Page 32: Modelos de Datos y DBMS - Facultad de Ingeniería

Diagrama Entidad-Relación Los conjuntos de entidades se presentan con un rectángulocon el nombre, del que “cuelgan” los atributos.

Las relaciones se representan con un rombo con el nombrey que está conectado con los conjuntos de entidades querelaciona.

Hay un conjunto grande de restricciones que se puedenimponer sobre el diagrama con diferentes notaciones.

Page 33: Modelos de Datos y DBMS - Facultad de Ingeniería

Cómo aplicar un modelo de datos para representar unadeterminada realidad se puede resumir en lossiguientes pasos:

1. Identificar los elementos de nuestro problema.

2. Identificar las relaciones entre los objetos.

3. Representar las propiedades que nos interesan de nuestrosobjetos.

4. Determinar otras restricciones que deseamos imponer.

Modelo ER – Uso Práctico

Page 34: Modelos de Datos y DBMS - Facultad de Ingeniería

En un hospital se tiene un registro de pacientes, un registro de personaly uno de salas con funcionarios que trabajan en esas salas y conpacientes internados en esas salas.

Del personal nos interesa el número de empleado, el nombre, ladirección y el teléfono.

Sabemos que dos empleados no tienen el mismo numero.

De los pacientes nos interesa el número de registro (le es asignadocuando ingresa) y el nombre mientras que de las salas nos interesa elnombre y la cantidad de camas que tiene.

También se sabe que un empleado trabaja en una única sala y que enuna sala trabajan varios empleados. Lo mismo ocurre con lospacientes.

Caso de Estudio

Page 35: Modelos de Datos y DBMS - Facultad de Ingeniería

Conjuntos de elementos de la realidad:

Pacientes, Salas, Personal

Relaciones entre esos conjuntos:Los Pacientes están Internados en las Salas y el Personal Trabaja en lasSalas.

Características que interesan de los objetos:Personal: nro. de funcionario, nombre, direccion y telefono

Pacientes: nro. de registro, nombreSalas: nombre, cantidad de camas

Restricciones:Un empleado trabaja en una unica sala y en una sala trabajan variosempleados. Un paciente está internado en una sola sala pero en una salahay varios pacientes.

Caso de Estudio – Identificación deElementos y Relaciones

Page 36: Modelos de Datos y DBMS - Facultad de Ingeniería

Caso de Estudio - Primer Nivel

Page 37: Modelos de Datos y DBMS - Facultad de Ingeniería

EntidadesUna Entidad es un elemento individual distinguible denuestra realidad

Las entidades se agrupan en Conjuntos de Entidades oTipos de Entidades

Page 38: Modelos de Datos y DBMS - Facultad de Ingeniería

AtributosUn Atributo es una función tal que dado un elemento de undeterminado conjunto de entidades devuelve un valor de undeterminado conjunto de valores.

Page 39: Modelos de Datos y DBMS - Facultad de Ingeniería

Funcionarios

Entidades y Atributos – Esquema e Instancia

NombresNombre

FUNCIONARIOS

Nombre Sueldo Dir

DirsDir

Nombre: Funcionarios NombresDir: Funcionarios DirsSueldo: Funcionarios Sueldos

Sueldos

Sueldo

Esquema

Instancia

Page 40: Modelos de Datos y DBMS - Facultad de Ingeniería

Permiten representar atributos compuestos que estánformados por varias partes independientes.

FUNCIONARIOS

ViviendaCiudad

Dir

CalleNro

Atributos Estructurados

Page 41: Modelos de Datos y DBMS - Facultad de Ingeniería

Atributos MultivaloradosSon funciones que devuelven un valor de tipoconjunto de otro dominio.

Libros

Editorial

Ciudad

Código

Descriptores*

Título

Autores*

Nombre

Page 42: Modelos de Datos y DBMS - Facultad de Ingeniería

Restricciones sobre Conjuntos de EntidadesSe dice que un atributo es Determinante cuando nopueden existir dos entidades en el conjunto que tenganel mismo valor en ese atributo.

Libros

Editorial

Ciudad

Código

Descriptores*

Título

Autores*

Nombre

Las entidades del conjunto se puedenIDENTIFICAR mediante los valores de eseatributo.

Es una restricción porque dice cuálesconjuntos de entidades son instanciasválidas para este esquema y cuáles no loson.

Page 43: Modelos de Datos y DBMS - Facultad de Ingeniería

Cursos

Relaciones - Esquema e InstanciaUna relación es un conjunto de parejas ternas,cuádruplas, etc. de entidades.

El esquema de una relación se representa con unrombo que une los conjuntos de entidades queparticipan de la relación.

Estudiantes

Ci

Nombre

Descripción

Cod

CursosInscriptos

Estudiantes

Page 44: Modelos de Datos y DBMS - Facultad de Ingeniería

Restricciones sobre RelacionesCardinalidad

Totalidad

Estudiantes

Ci

Nombre

InscriptosDescripción

Cod

Cursos

Dado un curso A ¿Cuántos estudiantespuede tener inscriptos como máximo?

N 5

Todos los estudiantes deben estarinscriptos en algún curso.

Dado un estudiante E ¿En cuántos cursospuede estar inscripto como máximo?

Page 45: Modelos de Datos y DBMS - Facultad de Ingeniería

Restricciones sobre RelacionesRestricciones no Estructurales

Page 46: Modelos de Datos y DBMS - Facultad de Ingeniería

Atributos de RelacionesSe tiene información de materiales y proveedores indicando quématerial provee cada proveedor.

Del material, se conoce el código que lo identifica, el nombre y unadescripción.

Del proveedor se conoce su RUT, su nombre y su dirección.

Cualquier material puede ser provisto por cualquier proveedor.

Materiales

Código

Nombre

Descripción NombreRUT

Proveedores

Dir

ProveeN N

Page 47: Modelos de Datos y DBMS - Facultad de Ingeniería

Atributos de RelaciónSe conoce también el precio al que un proveedor provee unproducto.

¿Es un atributo del proveedor?

No porque depende del producto.

¿Es un atributo del producto?

No porque depende del proveedor.

Materiales

Código

Nombre

Descripción NombreRUT

Proveedores

Dir

ProveeN N

PrecioPrecio Precio

Es un atributo de laRelación

Precio: Provee → Precios

Page 48: Modelos de Datos y DBMS - Facultad de Ingeniería

Combinación de Constructores de AtributosHay un conjunto de cines de los que se conoce el nombre y la ciudad y seasume que la pareja nombre-ciudad identifica al cine. Existe también un conjunto de películas que se exhibe en los cines y de lasque se conoce un cod que la identifica y un nombre.Cada cine efectúa diferentes funciones de cada película, con una fecha yhora para cada una.

Películas

Cod Nombre

Exhibe

Función*

Fecha Hora

Cines

id

Nombre Ciudad

Page 49: Modelos de Datos y DBMS - Facultad de Ingeniería

AutorelacionesEn una empresa, existen funcionarios y se sabe que unosfuncionarios son jefes de otros. Un jefe es jefe de varios funcionariosy un subordinado es controlado por un único jefe.

NombreCI

Funcionarios

Coordinación

N 1Subor dinadoJe

fe

Roles

Page 50: Modelos de Datos y DBMS - Facultad de Ingeniería

AgregacionesObjetivo:

Representar asociaciones entre elementos de Relaciones yde otros Conjuntos de Entidades.

Representar relaciones entre múltiples Conjuntos deEntidades pero manteniendo relaciones binarias.

Constructor:Se re-interpreta una Relacion como si fuera un Conjunto deEntidades.

El nuevo Conjunto de Entidades se utiliza como cualquier otro.

Page 51: Modelos de Datos y DBMS - Facultad de Ingeniería

Agregaciones

Materiales RequerimientosM-R

Pedidos

M-R-P

N N

N

N

Esta representación permite que existanparejas material-requerimiento sin pedido.La relación triple no lo permite.

Con una totalidad representa lomismo que con la relacióntriple.

Page 52: Modelos de Datos y DBMS - Facultad de Ingeniería

Especialización de Conjuntos de EntidadesUna empresa tiene varios departamentos de los que se conoceun nombre que los identifica. Además tiene un conjunto defuncionarios de los que se conoce su CI, su Nombre, sudirección y el departamento en que trabaja.

Si el funcionario es un chofer, se conoce su nro de libreta deconducir y la cantidad de accidentes que tuvo. Si esadministrativo, entonces se conocen los idiomas que habla. Sies técnico, se conoce las especialidades en que puede trabajar.

Page 53: Modelos de Datos y DBMS - Facultad de Ingeniería

Especialización de Conjuntos de EntidadesLa empresa tiene a su vez un conjunto de coches de los que seconoce su matrícula y la marca. Cualquier coche puede serconducido por cualquier chofer.

La empresa lleva adelante un conjunto de proyectos. De cadaproyecto se conoce un nro. de proyecto que lo identifica y quétécnicos trabajan en él. Un técnico puede estar asignado avarios proyectos simultáneamente y en cada proyecto puedentrabajar varios técnicos.

Page 54: Modelos de Datos y DBMS - Facultad de Ingeniería

Especialización de Conjuntos de Entidades

Page 55: Modelos de Datos y DBMS - Facultad de Ingeniería

Entidad DébilExiste un conjunto de hospitales de los cuales se conoce elcódigo del hospital, el nombre, la dirección y los teléfonos.

Hay salas de las cuales se conoce el nombre de la sala y lacantidad de camas que tiene en un hospital dado. Endiferentes hospitales hay salas con el mismo nombre (Ej.General, Operaciones 1)

Hay empleados que trabajan en las salas de los hospitalesde los cuales se conoce el nro. de empleado entre otrasinformaciones. Los nros de empleados no se repiten en losdistintos hospitales.

Page 56: Modelos de Datos y DBMS - Facultad de Ingeniería

HospitalesCod-hosp

Nombre

Dir Tel* Nom-Salas*

#cant-camas-salas*

Hospitales

Cod-hosp

Nombre Dir

Tel*

SalasNom-Sala

#camas

Empleados#emp

Info-emp

H-S1 N

E-S

N

1

No se pueden agregar los empleadosen las salas

Empleados de distintos hospitalesfiguran en la misma sala

Entidad Débil

Page 57: Modelos de Datos y DBMS - Facultad de Ingeniería

Empleados#emp

Info-emp

Entidad Débil

SalasNom-Sala

#camasH-S1 N

E-S

N

1Hospitales

Cod-hosp

Nombre Dir

Tel*

Conjunto de Entidades Débiles(Se identifican usando una relación)

Conjunto de Entidades Fuertes(Se identifican por un atributo)

Punta en la entidadfuerte

Totalidad

Cardinalidad N:1

Page 58: Modelos de Datos y DBMS - Facultad de Ingeniería

MODELO RELACIONAL

Page 59: Modelos de Datos y DBMS - Facultad de Ingeniería

Modelo Relacional

Referencia:Elmasri -Navathe. 6ª Edición. Capítulo 3

Page 60: Modelos de Datos y DBMS - Facultad de Ingeniería

Conceptos Generales

Es un Modelo de Datos Lógico.Se usa como Modelo implementado por DBMS.

Creado por Codd en 1970.Se comenzó con una definición teórica.

Se proponía un modelo con fuertes elementos matemáticospara BDs.

Actualmente : modelo lógico dominante.Los DBMS Relacionales son la enorme mayoria.

Page 61: Modelos de Datos y DBMS - Facultad de Ingeniería

Visión Informal del Modelo.Las estructuras consisten en TABLAS,

Las columnas corresponden a ATRIBUTOS de tipo atómico.

Las filas corresponden a registros de datos.

Las operaciones están fundamentalmente orientadas amanejo de TABLAS, como conjuntos de registros.

Es un modelo de datos extremadamente simple y claro, quetambién ha resultado potente para la mayor parte de lasaplicaciones de BDs.

Conceptos Generales

Page 62: Modelos de Datos y DBMS - Facultad de Ingeniería

Conceptos Generales

Dominio D.Es un conjunto de valores atómicos.

Esquema de relacion R(A1,...,An).R es el nombre de relación.

A1,...,An son los atributos con dominios D1,...,Dn.

Relación r(R).Es una instancia de un esquema de relación R.

Consiste en un conjunto de t-uplas (o tuplas)r = {<a1,...,an> , <b1,...,bn>, <c1,...,cn> ,.... }

También puede interpretarse a r como:r(R) ⊆ (D1 x ... x Dn)

Page 63: Modelos de Datos y DBMS - Facultad de Ingeniería

Conceptos Generales

Page 64: Modelos de Datos y DBMS - Facultad de Ingeniería

Conceptos Generales

Esquema de BD Relacional o Esquema Relacional:Conjunto de esquemas de relación.

Page 65: Modelos de Datos y DBMS - Facultad de Ingeniería

EMPLEADO(Nombre, Apellido, NSS, FechaN, Direccion, Sexo, Salario, NSSSuper, ND)

DEPARTAMENTO(Nombre,NumeroD,NSSGTE,FechaInicGte )

LugaresDeptos(NumeroD, Lugard)

PROYECTO(Nombre, NumeroP, LugarP, NumD)

Trabaja_En(NSSE, NumP, Horas)

Ejemplo

Page 66: Modelos de Datos y DBMS - Facultad de Ingeniería

Fabricantes que Venden Productos:FABS PRODS VENTAS

#f Nombre Direcc #p desc #f #p precio1 Juan d1 1 t1 1 1 1002 Pedro d2. 2 t2 1 2 2004 Maria d3 3 t3 1 3 3005 Ana d2 5 t2 1 10 10006 Pedro d4. 6 t3 1 11 11009 Pepe d5 7 t4 2 3 35010 Laura d4 9 t2 2 6 60013 Maria d3. 10 t1 2 7 70015 Pedro d1 11 t3 5 3 35016 Oscar d3 12 t2 5 5 20019 Juan d4 15 t3 9 7 100

9 3 30010 3 400

Ejemplo de Instancia de BD Relacional

Page 67: Modelos de Datos y DBMS - Facultad de Ingeniería

Catacterísticas de las Relaciones

Es un conjunto de tuplas:No está ordenado.

No hay repetidos.

Valores de Atributos en tuplas:Son valores atómicos (indivisibles).

Propiedad: primera forma normal.

Atributos ordenados o no ?Visión ''producto cartesiano'': SI .

Visión ''tuplas como funciones'': NO .t: R → D1 U ... U Dn

Page 68: Modelos de Datos y DBMS - Facultad de Ingeniería

RI en el Modelo Relacional

Page 69: Modelos de Datos y DBMS - Facultad de Ingeniería

Restricciones de Dominios.Restricciones de tipo en los Di:

Indica a qué tipo pertenecen los valores.

Pueden incluir subrangos o enumerados.

Ejemplo:FUNCIONARIO(CI, Nombre, Dir, Edad).

CI: number(9);

Nombre, Dir: String;

Edad: number(2); Edad > 18;

RI en el Modelo Relacional

Page 70: Modelos de Datos y DBMS - Facultad de Ingeniería

ClaveUna clave es una superclave que no contiene propiamenteuna superclave (o sea minimal).

Ej:Fab (#f, Nom, Dir)

Prod (#p, Desc)

Ventas (#f, #p, precio)

RI en el Modelo Relacional

Page 71: Modelos de Datos y DBMS - Facultad de Ingeniería

Claves Foráneas (Foreign Keys)

Dado R, un conjunto de atributos X es una FK de R si:Los atributos de X coinciden en dominio con los de una clave Y de S.

Los valores de X en tuplas de r(R) (para toda r) corresponden avalores de Y en la relación s(S).

RI en el Modelo Relacional

Page 72: Modelos de Datos y DBMS - Facultad de Ingeniería

Integridad Referencial

Se dice que existe una RI Referencial entre R y S, donde Rreferencia a S.

Es otra forma de decir que en R hay una foreign key sobre S.

RI en el Modelo Relacional

Page 73: Modelos de Datos y DBMS - Facultad de Ingeniería

Ejemplo de RI Referenciales:Departamento.NSSGTE FK Empleado.NSSEmpleado.NSSSuper FK Empleado.NSSProyecto.NumeroD FK Departamento.NumeroD

EMPLEADO(Nombre,Apellido,NSS,FechaN,Direccion, Sexo, Salario, NSSSuper, ND)

DEPARTAMENTO(Nombre,NumeroD,NSSGTE,FechaInicGte )

LugaresDeptos(NumeroD, Lugard)

PROYECTO(Nombre, NumeroP, LugarP, NumD)

Trabaja_En(NSSE, NumP, Horas)

RI en el Modelo Relacional

Page 74: Modelos de Datos y DBMS - Facultad de Ingeniería

Una BD se considera válida si:Todas las relaciones r satisfacen las RIs.

Todas las instancias actuales de todas las relaciones declaradas enel esquema relacional satisfacen todas las RIs.

RI en el Modelo Relacional

Page 75: Modelos de Datos y DBMS - Facultad de Ingeniería

RI en el Modelo Relacional

Propiedades importantes:Las RI surgen de:

La observación de la realidad.

NO de la observación de relaciones.

Las RI se definen a nivel de:ESQUEMA RELACIÓN

NO a nivel de instancia.

Las RI son verificadas o violadas por:relaciones (instancias).

NO por esquemas de relación.

Page 76: Modelos de Datos y DBMS - Facultad de Ingeniería

Insert

Sea R(A,B,C) y r(R),

insert <a,b,c> into R

Incluye la tupla <a,b,c> en la relación r.

Las tuplas insertadas deben cumplir las RI.

Operaciones de Modificación

Page 77: Modelos de Datos y DBMS - Facultad de Ingeniería

DeleteSea R(A,B,C) y r(R),

Delete from R where <cond>

borra de las tuplas de r las que cumplen la condición <cond>

Borrar tuplas puede generar violaciones a RI,¿En qué casos ?

Operaciones de Modificación

Page 78: Modelos de Datos y DBMS - Facultad de Ingeniería

UpdateSea R(A,B,C) y r(R),

update R set <atributo> =<valor>,… where <cond>

modifica las tuplas de r que cumplen la condición <cond>.

Actualizar tuplas puede generar violaciones a RI,¿En qué casos ?

Operaciones de Modificación

Page 79: Modelos de Datos y DBMS - Facultad de Ingeniería

OPTMIZACIÓN DECONSULTAS

Page 80: Modelos de Datos y DBMS - Facultad de Ingeniería

¿Cómo se resuelven las consultas?

Page 81: Modelos de Datos y DBMS - Facultad de Ingeniería

Ejemplo de optimización (I)

Page 82: Modelos de Datos y DBMS - Facultad de Ingeniería

Ejemplo de optimización (II)

Page 83: Modelos de Datos y DBMS - Facultad de Ingeniería

Ejemplo de optimización (III)

Page 84: Modelos de Datos y DBMS - Facultad de Ingeniería

Ejemplo de optimización (IV)