Modelos de Datos y DBMS - Facultad de Ingeniería
Transcript of Modelos de Datos y DBMS - Facultad de Ingeniería
![Page 1: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/1.jpg)
Modelos de Datos
![Page 2: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/2.jpg)
DEFINICIONES
![Page 3: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/16.jpg)
MODELADO CONCEPTUAL
![Page 17: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/28.jpg)
Modelización Conceptual – Ejemplo 2Otro Esquema ER:
![Page 29: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/36.jpg)
Caso de Estudio - Primer Nivel
![Page 37: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/39.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/42.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/43.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/44.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/45.jpg)
Restricciones sobre RelacionesRestricciones no Estructurales
![Page 46: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/46.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/47.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/48.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/49.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/50.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/51.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/52.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/53.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/54.jpg)
Especialización de Conjuntos de Entidades
![Page 55: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/55.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/56.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/57.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/58.jpg)
MODELO RELACIONAL
![Page 59: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/59.jpg)
Modelo Relacional
Referencia:Elmasri -Navathe. 6ª Edición. Capítulo 3
![Page 60: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/60.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/61.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/62.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/63.jpg)
Conceptos Generales
![Page 64: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/64.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/65.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/66.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/67.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/68.jpg)
RI en el Modelo Relacional
![Page 69: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/69.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/70.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/71.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/72.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/73.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/74.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/75.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/76.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/77.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/78.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/79.jpg)
OPTMIZACIÓN DECONSULTAS
![Page 80: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/80.jpg)
¿Cómo se resuelven las consultas?
![Page 81: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/81.jpg)
Ejemplo de optimización (I)
![Page 82: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/82.jpg)
Ejemplo de optimización (II)
![Page 83: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/83.jpg)
Ejemplo de optimización (III)
![Page 84: Modelos de Datos y DBMS - Facultad de Ingeniería](https://reader036.fdocuments.ec/reader036/viewer/2022073117/62e5a5ee98295664934e0799/html5/thumbnails/84.jpg)
Ejemplo de optimización (IV)