SlideShare a Scribd company logo
1 of 36
Bases de Datos Unidad IV Modelo de Datos para la Implementación Modelo Relacional de Datos Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
Proceso de Diseño de Base de Datos Una vez que hemos llevado a cabo el proceso de análisis de datos y obtenido el esquema conceptual o lógico de nuestra BD, es necesario implantarla en un sistema a través de un proceso de DISEÑO, que nos permitirá trasladar la estructura actual a un modelo de datos implementable. En este modelo nos centraremos
Modelo Relacional de Datos Introducción Este es el modelo seguido por la familia actual de sistemas de gestión de bases de datos. Este modelo fue propuesto por E. F. Codd en 1970, imponiéndose sobre los modelos anteriores (red y jerárquicos) durante la década de los 80. El motivo de su éxito reside por un lado en su  sencillez  (el usuario percibe la base de datos como un conjunto de “tablas”: datos organizados en filas y columnas) y por otro lado el  carácter declarativo de su lenguaje de manipulación  (el usuario, al formular una consulta, expresa lo que desea obtener, y no como obtenerlo).
Modelo Relacional de Datos Introducción ,[object Object],[object Object],[object Object]
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],[object Object]
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],[object Object],[object Object]
Modelo Relacional de Datos Especificación Algebraica Tupla Ejemplo: Dado los dominios dom_dni: entero dom_nom: tira (20) dom_dir: tira (15) dom_edad: entero Sea el siguiente esquema de tupla: Persona = { (dni, dom_dni), (nombre, dom_nom), (dirección, dom_dir), (edad, dom_edad) }
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],[object Object]
Modelo Relacional de Datos Especificación Algebraica Relación Un tipo relación se define como un conjunto de pares de la forma: { (A1,D1), (A2,D2), ……. , (An,Dn) }. Una relación de esquema { (A1,D1), (A2,D2), …… , (An,Dn) } es un conjunto de  Tuplas  de dicho esquema. Es importante destacar que el esquema de una relación coincide con el esquema de sus tuplas. Se denomina  “grado”  de una relación al número de atributos de su esquema y  “cardinalidad”  de una relación al número de tuplas que la forma. La nomenclatura que se utilizara para una relación es: R ( A1:D1, A2:D2, ………. , An:Dn )
Modelo Relacional de Datos Especificación Algebraica Relación Ejemplo: Una relación de nombre PERSONA del esquema PERSONA se definiría: PERSONA (dni: dom_dni, nombre: dom_nom, dirección: dom_dir, edad: dom_edad)  Su valor en un instante podría ser este conjunto de tuplas: PERSONA: { { (dni, 12345678), (nombre,’Pepa’), (dirección, ‘Colon’), (edad, 37) } , { (dni, 20450120), (nombre,’Juan’), (dirección, ‘Blanco’), (edad, 39) } }  TUPLA
Modelo Relacional de Datos Especificación Algebraica Relación Se habla de la relación PERSONA definida del tipo (o esquema) { (dni: dom_dni, nombre: dom_nom, dirección: dom_dir, edad: dom_edad) } ; esta relación  (objeto persistente)  estará inicialmente vacía, y podrá tomar como valor cualquier relación (conjunto de tuplas) de dicho esquema. El conjunto de definiciones de relación que representan un sistema de información se denomina  esquema relacional , y los valores (o extensiones) de las relaciones del esquema en un instante determinado constituyen la base de datos.
Modelo Relacional de Datos Especificación Algebraica Relación La representación como un conjunto de tuplas, a menudo resulta tediosa y poco clara; una forma mas cómoda y sencilla  de representar gráficamente una relación es mediante una  tabla  en la cada fila representa una tupla y cada columna esta etiquetada con un nombre de atributo. PERSONA Atributos TUPLAS 34 Blanco  Juan 20450120 39 Colon Pepa 12345678 edad dirección nombre dni
Modelo Relacional de Datos Especificación Algebraica Relación Concepto Relacional v/s Tabular Número de Filas Cardinalidad Fila Tupla Número de Columnas Grado Columna Atributo Tabla Relación Concepto Tabular Concepto Relacional
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],[object Object],28 Cuenca Juan 20450120 37 Colon Sergio 12345678 edad dirección nombre dni
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],37 Colon Sergio 12345678 edad dirección nombre dni
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],Juan 20450120 Sergio 12345678 nombre dni
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],28 Cuenca Juan 20450120 50 Cuba Carolina 11222333 37 Colon Sergio 12345678 edad dirección nombre dni
Modelo Relacional de Datos Especificación Algebraica ,[object Object],[object Object],[object Object],28 Cuenca Juan 20450120 50 Cuba Carolina 11222333 edad dirección nombre dni
Modelo Relacional de Datos Especificación Algebraica Relación Las operaciones no son excluyentes, es decir puede existir una cierta combinación entre ellas para lograr algunos resultados. Ej.: Persona Donde edad > 30 [nombre, edad] 37 Sergio edad nombre
Modelo Relacional de Datos Esquema Relacional – Representación de la Realidad Sea el siguiente esquema relacional Río ( rcod: dom_rcod, nombre: dom_nom) Provincia (pcod: dom_pcod, nombre: dom_nom) Pasa_por (pcod: dom_pcod, rcod: dom_rcod) La base de datos correspondiente a este esquema permite gestionar información geográfica. Para cada objeto de la realidad del cuál se quiere tener información se define una relación (Río, Provincia) y sus atributos o cualidades de los cuales se desea tener información. Para  representar las asociaciones (relaciones) entre objetos, se utilizan referencias explicitas mediante atributos que identifican a los objetos referidos  (por ejemplo: cada tupla de la relación Pasa_por denota que un río, definido por el atributo rcod, pasa por una provincia, referida por el atributo pcod).
Modelo Relacional de Datos Restricciones de Integridad La definición de relación como un conjunto de tuplas de un mismo esquema, permite la existencia de relaciones que no representan estados válidos de la parcela del mundo real que se está representando. Ejemplo: Considere Empleado (dni : dom_dni, nombre: dom_nom, dirección: dom_dir, nº_emp: dom_nº, dep: dom_dep,) Departamento ( cod_dep: dom_dep, descripción: dom_des)   Donde el atributo nº_emp de la relación Empleado es el número de ese empleado en la empresa, y el atributo dep de la relación Empleado indica a qué departamento está asignado, en caso de estarlo.
Modelo Relacional de Datos Restricciones de Integridad Empleado Departamento ,[object Object],[object Object],[object Object],[object Object],[object Object],Para evitar estos problemas y aumentar la capacidad expresiva del Modelo Relacional éste se extiende incorporando el concepto de restricción de integridad. En este Modelo se contemplan 4 tipos de restricciones:  Restricción de valor no nulo, Restricción de unicidad, Restricción de clave primaria, Restricción de Integridad referencial.  ? ? ?  45.255.369 1 D8 Cuenca Ana 12.345.678 5 D2 Colon Pepa 12.345.678 4 D2 ? María 35.784.843 3 D2 Blasco José 12.904.569 2 D1 Cuenca Juan 20.450.120 1 Dep dirección nombre dni Nº_emp Contabilidad D3 Compras D2 Ventas D1 descripción Cod_dep
Modelo Relacional de Datos Restricciones de Integridad Restricción de Valor no Nulo La definición de una restricción de valor no nulo  sobre un conjunto de atributos K de la relación R expresa la siguiente propiedad:  “No debe haber en R una Tupla que tenga el valor nulo en algún atributo de K”. Ejemplo: Según el enunciado anterior deberían definirse con restricción de valor no nulo: dni, nº_emp y nombre de la Relación Empleado, y cod_dep y descripción de la Relación Departamento. Cabe destacar que la definición de esta propiedad para un atributo es una decisión del  diseñador.
Modelo Relacional de Datos Restricciones de Integridad Restricción de Unicidad La definición de una restricción de unicidad sobre un conjunto de atributos K de la relación R expresa la siguiente propiedad:  “ No debe haber en R dos tuplas que tengan el mismo valor en todos los atributos del conjunto K”. Ejemplo: Con el significado obvio para ambos esquemas de relación, los atributos que deberían definirse con restricción de unicidad son: dni y nº_emp de la relación Empleado, cod_dep de la relación Departamento.
Modelo Relacional de Datos Restricciones de Integridad ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modelo Relacional de Datos Restricciones de Integridad Concepto clave primaria. Integridad de clave primaria. Ejemplo: En la relación Empleado hay dos posibles claves primarias, los conjuntos {dni} y {nº_emp}, ya que ambos cumplen las condiciones exigidas. En este caso, parece más aconsejable elegir como clave primaria {nº_emp}, ya que, en el contexto de una empresa, es razonable que este atributo sea el identificador interno para sus trabajadores. En la relación Departamento, la clave primaria sólo puede ser el conjunto de atributos {cod_dep}.
Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Las claves ajenas son el mecanismo que proporciona el Modelo Relacional para expresar asociaciones entre los objetos representados por las relaciones del esquema de la base de datos . La forma de hacerlo consiste en incluir en el esquema de una relación R atributos identificadores de otra relación S; a este conjunto de atributos se les conoce como  claves ajenas de la relación R que hace referencia a la relación S. Para que la clave ajena cumpla su función de referencia se debe asegurar de que los valores que toman sus atributos en las tuplas de R aparecen en alguna tupla de S.
Modelo Relacional de Datos Restricciones de Integridad ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Cuando se define una clave ajena en una relación, se debe especificar el tipo de integridad referencial que se exige, excepto en caso de que la clave ajena conste sólo de un atributo o cuando todos ellos sufran restricciones de valor no nulo, ya que en estos casos los tipos de integridad coinciden. Ejemplo:  El atributo dep de la relación Empleado debe definirse como clave ajena a la relación Departamento, de forma que nunca podrá haber un empleado asignado a un departamento que no aparezca en la relación Departamento.  En este caso como la clave ajena consta de un único atributo y la referencia se hace a través de la clave primaria de la relación referida, no se necesita definir la integridad.
Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Ejemplo: Sea el siguiente esquema relacional referente a una agencia de viajes especializada en organizar visitas culturales a distintas ciudades del mundo. La relación Viaje contiene la programación actual de viajes; la relación Oferta_guía contiene información sobre la disponibilidad de guías para las distintas ciudades; la relación Guía contiene los datos personales de los guías con los que trabaja la agencia; la relación Ciudad contiene información sobre las ciudades.  Viaje(código: dom_código, destino: dom_destino, guía: dom_agente, fecha: dom_fecha) Clave Primaria: {código} Clave Ajena: {destino, guía}    Oferta_guía f (destino) = ciudad f (guía) = guía
Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Ejemplo: Oferta_guía (ciudad: dom_ciudad, guía: dom_agente) Clave Primaria: {ciudad, guía} Clave Ajena: {guía}    Guía f (guía) = dni Clave Ajena: {ciudad}    Ciudad f (ciudad) = nombre Guía (dni: dom_agente, nombre: dom_nombre) Clave Primaria: {dni} Ciudad (nombre: dom_ciudad, país: dom_país) Clave Primaria: {nombre}
Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Ejemplo: La clave ajena Viaje puede ser parcialmente nula, por lo tanto es importante indicar el tipo de integridad referencial que se exige. Para entender mejor la implicancia de la elección de integridad considere la siguiente extensión de la base de datos. Viaje Guía Oferta_Guía Ciudad ? Qbvfb V5 ? Valencia V4 ? ? V3 2 Cáceres V2 1 Valencia V1 Guía destino código Carmen 2 Pepe 1 Nombre Dni 2 Valencia 1 Cáceres 1 Valencia guía ciudad E Cáceres E Valencia país nombre
Modelo Relacional de Datos Restricciones de Integridad ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modelo Relacional de Datos Restricciones de Integridad ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bibliografía ,[object Object],[object Object],[object Object]

More Related Content

What's hot

Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salida
Jorge Garcia
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
K Manuel TN
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003
Joseluis Cruz Ramirez
 
Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punteros
pedreror1
 

What's hot (20)

Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Definiciones base de datos
Definiciones base de datosDefiniciones base de datos
Definiciones base de datos
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salida
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Odbc
OdbcOdbc
Odbc
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Round robin
Round robinRound robin
Round robin
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Análisis y diseño de sistemas sesion 03 - modelado de dominio
Análisis y diseño de sistemas   sesion 03 - modelado de dominioAnálisis y diseño de sistemas   sesion 03 - modelado de dominio
Análisis y diseño de sistemas sesion 03 - modelado de dominio
 
2. Modelo ER - Relacional
2. Modelo ER - Relacional2. Modelo ER - Relacional
2. Modelo ER - Relacional
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003
 
Conceptos generales de Bases de Datos
Conceptos generales de Bases de DatosConceptos generales de Bases de Datos
Conceptos generales de Bases de Datos
 
Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punteros
 
Metodologías para el Diseño de Sistemas
Metodologías para el Diseño de SistemasMetodologías para el Diseño de Sistemas
Metodologías para el Diseño de Sistemas
 
Estructuras en C
Estructuras en CEstructuras en C
Estructuras en C
 
Modelos de red
Modelos de redModelos de red
Modelos de red
 
ARCHIVOS Y REGISTROS
ARCHIVOS Y REGISTROSARCHIVOS Y REGISTROS
ARCHIVOS Y REGISTROS
 

Viewers also liked

Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
Sergio Sanchez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Sergio Sanchez
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Sergio Sanchez
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Sergio Sanchez
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
Sergio Sanchez
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Sergio Sanchez
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
Sergio Sanchez
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
Sergio Sanchez
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
Sergio Sanchez
 
Introducción a las bases de datos (unidad 1)
Introducción a las bases de datos (unidad 1)Introducción a las bases de datos (unidad 1)
Introducción a las bases de datos (unidad 1)
Orlando Verdugo
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
guest82ea27
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
Sergio Sanchez
 

Viewers also liked (20)

Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Tuplas
TuplasTuplas
Tuplas
 
Introducción a las bases de datos (unidad 1)
Introducción a las bases de datos (unidad 1)Introducción a las bases de datos (unidad 1)
Introducción a las bases de datos (unidad 1)
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióN
 
Scrum orgánico - AOL V
Scrum orgánico - AOL VScrum orgánico - AOL V
Scrum orgánico - AOL V
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
 
Manual 02
Manual 02Manual 02
Manual 02
 
Manual01
Manual01Manual01
Manual01
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 

Similar to Unidad 4 Modelo De Datos Para La ImplementacióN

El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
Luis Jherry
 
Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
Julio Pari
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
Luis Jherry
 

Similar to Unidad 4 Modelo De Datos Para La ImplementacióN (20)

El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8
 
Tema2 bases dedatosrelacional
Tema2 bases dedatosrelacionalTema2 bases dedatosrelacional
Tema2 bases dedatosrelacional
 
cc302modulo3
cc302modulo3cc302modulo3
cc302modulo3
 
MODELOS RELACIONAL.pdf
MODELOS RELACIONAL.pdfMODELOS RELACIONAL.pdf
MODELOS RELACIONAL.pdf
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
2.3.1. el modelorelacional
2.3.1. el modelorelacional2.3.1. el modelorelacional
2.3.1. el modelorelacional
 
Bd capitulo ii
Bd capitulo iiBd capitulo ii
Bd capitulo ii
 
Calculo relacional1
Calculo relacional1Calculo relacional1
Calculo relacional1
 
Diseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptxDiseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptx
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
BASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdfBASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdf
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Bases de Datos Relacionales
Bases de Datos RelacionalesBases de Datos Relacionales
Bases de Datos Relacionales
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Calculo relacional diapositivas
Calculo relacional diapositivasCalculo relacional diapositivas
Calculo relacional diapositivas
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
 

More from Sergio Sanchez (13)

Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del SistemaUnidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
 
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo Conceptual
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Melado de Proceso de Negocios con UML
Melado de Proceso de Negocios con UMLMelado de Proceso de Negocios con UML
Melado de Proceso de Negocios con UML
 

Recently uploaded

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Recently uploaded (15)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Unidad 4 Modelo De Datos Para La ImplementacióN

  • 1. Bases de Datos Unidad IV Modelo de Datos para la Implementación Modelo Relacional de Datos Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
  • 2. Proceso de Diseño de Base de Datos Una vez que hemos llevado a cabo el proceso de análisis de datos y obtenido el esquema conceptual o lógico de nuestra BD, es necesario implantarla en un sistema a través de un proceso de DISEÑO, que nos permitirá trasladar la estructura actual a un modelo de datos implementable. En este modelo nos centraremos
  • 3. Modelo Relacional de Datos Introducción Este es el modelo seguido por la familia actual de sistemas de gestión de bases de datos. Este modelo fue propuesto por E. F. Codd en 1970, imponiéndose sobre los modelos anteriores (red y jerárquicos) durante la década de los 80. El motivo de su éxito reside por un lado en su sencillez (el usuario percibe la base de datos como un conjunto de “tablas”: datos organizados en filas y columnas) y por otro lado el carácter declarativo de su lenguaje de manipulación (el usuario, al formular una consulta, expresa lo que desea obtener, y no como obtenerlo).
  • 4.
  • 5.
  • 6.
  • 7. Modelo Relacional de Datos Especificación Algebraica Tupla Ejemplo: Dado los dominios dom_dni: entero dom_nom: tira (20) dom_dir: tira (15) dom_edad: entero Sea el siguiente esquema de tupla: Persona = { (dni, dom_dni), (nombre, dom_nom), (dirección, dom_dir), (edad, dom_edad) }
  • 8.
  • 9.
  • 10. Modelo Relacional de Datos Especificación Algebraica Relación Un tipo relación se define como un conjunto de pares de la forma: { (A1,D1), (A2,D2), ……. , (An,Dn) }. Una relación de esquema { (A1,D1), (A2,D2), …… , (An,Dn) } es un conjunto de Tuplas de dicho esquema. Es importante destacar que el esquema de una relación coincide con el esquema de sus tuplas. Se denomina “grado” de una relación al número de atributos de su esquema y “cardinalidad” de una relación al número de tuplas que la forma. La nomenclatura que se utilizara para una relación es: R ( A1:D1, A2:D2, ………. , An:Dn )
  • 11. Modelo Relacional de Datos Especificación Algebraica Relación Ejemplo: Una relación de nombre PERSONA del esquema PERSONA se definiría: PERSONA (dni: dom_dni, nombre: dom_nom, dirección: dom_dir, edad: dom_edad) Su valor en un instante podría ser este conjunto de tuplas: PERSONA: { { (dni, 12345678), (nombre,’Pepa’), (dirección, ‘Colon’), (edad, 37) } , { (dni, 20450120), (nombre,’Juan’), (dirección, ‘Blanco’), (edad, 39) } } TUPLA
  • 12. Modelo Relacional de Datos Especificación Algebraica Relación Se habla de la relación PERSONA definida del tipo (o esquema) { (dni: dom_dni, nombre: dom_nom, dirección: dom_dir, edad: dom_edad) } ; esta relación (objeto persistente) estará inicialmente vacía, y podrá tomar como valor cualquier relación (conjunto de tuplas) de dicho esquema. El conjunto de definiciones de relación que representan un sistema de información se denomina esquema relacional , y los valores (o extensiones) de las relaciones del esquema en un instante determinado constituyen la base de datos.
  • 13. Modelo Relacional de Datos Especificación Algebraica Relación La representación como un conjunto de tuplas, a menudo resulta tediosa y poco clara; una forma mas cómoda y sencilla de representar gráficamente una relación es mediante una tabla en la cada fila representa una tupla y cada columna esta etiquetada con un nombre de atributo. PERSONA Atributos TUPLAS 34 Blanco Juan 20450120 39 Colon Pepa 12345678 edad dirección nombre dni
  • 14. Modelo Relacional de Datos Especificación Algebraica Relación Concepto Relacional v/s Tabular Número de Filas Cardinalidad Fila Tupla Número de Columnas Grado Columna Atributo Tabla Relación Concepto Tabular Concepto Relacional
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Modelo Relacional de Datos Especificación Algebraica Relación Las operaciones no son excluyentes, es decir puede existir una cierta combinación entre ellas para lograr algunos resultados. Ej.: Persona Donde edad > 30 [nombre, edad] 37 Sergio edad nombre
  • 21. Modelo Relacional de Datos Esquema Relacional – Representación de la Realidad Sea el siguiente esquema relacional Río ( rcod: dom_rcod, nombre: dom_nom) Provincia (pcod: dom_pcod, nombre: dom_nom) Pasa_por (pcod: dom_pcod, rcod: dom_rcod) La base de datos correspondiente a este esquema permite gestionar información geográfica. Para cada objeto de la realidad del cuál se quiere tener información se define una relación (Río, Provincia) y sus atributos o cualidades de los cuales se desea tener información. Para representar las asociaciones (relaciones) entre objetos, se utilizan referencias explicitas mediante atributos que identifican a los objetos referidos (por ejemplo: cada tupla de la relación Pasa_por denota que un río, definido por el atributo rcod, pasa por una provincia, referida por el atributo pcod).
  • 22. Modelo Relacional de Datos Restricciones de Integridad La definición de relación como un conjunto de tuplas de un mismo esquema, permite la existencia de relaciones que no representan estados válidos de la parcela del mundo real que se está representando. Ejemplo: Considere Empleado (dni : dom_dni, nombre: dom_nom, dirección: dom_dir, nº_emp: dom_nº, dep: dom_dep,) Departamento ( cod_dep: dom_dep, descripción: dom_des) Donde el atributo nº_emp de la relación Empleado es el número de ese empleado en la empresa, y el atributo dep de la relación Empleado indica a qué departamento está asignado, en caso de estarlo.
  • 23.
  • 24. Modelo Relacional de Datos Restricciones de Integridad Restricción de Valor no Nulo La definición de una restricción de valor no nulo sobre un conjunto de atributos K de la relación R expresa la siguiente propiedad: “No debe haber en R una Tupla que tenga el valor nulo en algún atributo de K”. Ejemplo: Según el enunciado anterior deberían definirse con restricción de valor no nulo: dni, nº_emp y nombre de la Relación Empleado, y cod_dep y descripción de la Relación Departamento. Cabe destacar que la definición de esta propiedad para un atributo es una decisión del diseñador.
  • 25. Modelo Relacional de Datos Restricciones de Integridad Restricción de Unicidad La definición de una restricción de unicidad sobre un conjunto de atributos K de la relación R expresa la siguiente propiedad: “ No debe haber en R dos tuplas que tengan el mismo valor en todos los atributos del conjunto K”. Ejemplo: Con el significado obvio para ambos esquemas de relación, los atributos que deberían definirse con restricción de unicidad son: dni y nº_emp de la relación Empleado, cod_dep de la relación Departamento.
  • 26.
  • 27. Modelo Relacional de Datos Restricciones de Integridad Concepto clave primaria. Integridad de clave primaria. Ejemplo: En la relación Empleado hay dos posibles claves primarias, los conjuntos {dni} y {nº_emp}, ya que ambos cumplen las condiciones exigidas. En este caso, parece más aconsejable elegir como clave primaria {nº_emp}, ya que, en el contexto de una empresa, es razonable que este atributo sea el identificador interno para sus trabajadores. En la relación Departamento, la clave primaria sólo puede ser el conjunto de atributos {cod_dep}.
  • 28. Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Las claves ajenas son el mecanismo que proporciona el Modelo Relacional para expresar asociaciones entre los objetos representados por las relaciones del esquema de la base de datos . La forma de hacerlo consiste en incluir en el esquema de una relación R atributos identificadores de otra relación S; a este conjunto de atributos se les conoce como claves ajenas de la relación R que hace referencia a la relación S. Para que la clave ajena cumpla su función de referencia se debe asegurar de que los valores que toman sus atributos en las tuplas de R aparecen en alguna tupla de S.
  • 29.
  • 30. Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Cuando se define una clave ajena en una relación, se debe especificar el tipo de integridad referencial que se exige, excepto en caso de que la clave ajena conste sólo de un atributo o cuando todos ellos sufran restricciones de valor no nulo, ya que en estos casos los tipos de integridad coinciden. Ejemplo: El atributo dep de la relación Empleado debe definirse como clave ajena a la relación Departamento, de forma que nunca podrá haber un empleado asignado a un departamento que no aparezca en la relación Departamento. En este caso como la clave ajena consta de un único atributo y la referencia se hace a través de la clave primaria de la relación referida, no se necesita definir la integridad.
  • 31. Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Ejemplo: Sea el siguiente esquema relacional referente a una agencia de viajes especializada en organizar visitas culturales a distintas ciudades del mundo. La relación Viaje contiene la programación actual de viajes; la relación Oferta_guía contiene información sobre la disponibilidad de guías para las distintas ciudades; la relación Guía contiene los datos personales de los guías con los que trabaja la agencia; la relación Ciudad contiene información sobre las ciudades. Viaje(código: dom_código, destino: dom_destino, guía: dom_agente, fecha: dom_fecha) Clave Primaria: {código} Clave Ajena: {destino, guía}  Oferta_guía f (destino) = ciudad f (guía) = guía
  • 32. Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Ejemplo: Oferta_guía (ciudad: dom_ciudad, guía: dom_agente) Clave Primaria: {ciudad, guía} Clave Ajena: {guía}  Guía f (guía) = dni Clave Ajena: {ciudad}  Ciudad f (ciudad) = nombre Guía (dni: dom_agente, nombre: dom_nombre) Clave Primaria: {dni} Ciudad (nombre: dom_ciudad, país: dom_país) Clave Primaria: {nombre}
  • 33. Modelo Relacional de Datos Restricciones de Integridad Concepto de clave ajena. Integridad Referencial Ejemplo: La clave ajena Viaje puede ser parcialmente nula, por lo tanto es importante indicar el tipo de integridad referencial que se exige. Para entender mejor la implicancia de la elección de integridad considere la siguiente extensión de la base de datos. Viaje Guía Oferta_Guía Ciudad ? Qbvfb V5 ? Valencia V4 ? ? V3 2 Cáceres V2 1 Valencia V1 Guía destino código Carmen 2 Pepe 1 Nombre Dni 2 Valencia 1 Cáceres 1 Valencia guía ciudad E Cáceres E Valencia país nombre
  • 34.
  • 35.
  • 36.