bd capitulo ii
TRANSCRIPT
![Page 1: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/1.jpg)
ESCUELA SUPERIOR POLITÉCNICA DE
CHIMBORAZOFACULTAD DE INFORMÁTICA Y ELECTRÓNICA
ESCUELAS:INGENIERÍA ELECTRÓNICA EN CONTROL Y REDES INDUSTRIALESINGENIERÍA ELECTRÓNICA EN TELECOMUNICACIONES Y REDES
BASE DE DATOSING. NATALIA LAYEDRA LARREA
![Page 2: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/2.jpg)
CAPÍTULO IIModelo relacional
![Page 3: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/3.jpg)
Modelos de BD
Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores.
Los modelos de datos son abstracciones que permiten la implementación de un sistema eficiente.
![Page 4: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/4.jpg)
Modelos de BD
Un modelo es la representación simple relativa, generalmente gráfica, de estructuras complejas de datos en el mundo real.
Un modelo representa la estructura, características, restricciones y transformación de la información.
![Page 5: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/5.jpg)
Modelos de BD
Los cuatro modelos más utilizados son: Modelo jerárquico Modelo en red Modelo relacional Modelo orientado a objetos
![Page 6: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/6.jpg)
Modelos de BD
Los modelos proporcionan tres herramientas para el manejo de la información: Estructuras de datos (tablas, árboles, etc.). Restricciones o reglas de integridad (dominios,
claves, etc.). Operaciones que permiten trabajar con los
datos (sentencias).
![Page 7: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/7.jpg)
Modelo jerárquico
Se basa en la creación de nodos cuya relación está representada en forma de un árbol, donde un nodo principal o “padre” puede tener varios nodos “hijos”, pero los nodos “hijos” solo tienen un “padre”.
![Page 8: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/8.jpg)
Modelo jerárquico
En este modelo, un registro de datos puede repetirse en varios nodos, ocasionando redundancia de datos, e inconsistencia de la información.
![Page 9: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/9.jpg)
Modelo de red
Es una mejora del modelo jerárquico en el que se corrige el problema de la redundancia.
En este modelo es permitido que los nodos hijos tengan más de un nodo padre.
Permite que las relaciones entre los nodos sean de varios a varios.
Resuelve el problema de la redundancia de datos.
![Page 10: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/10.jpg)
Modelo de red
La desventaja de este modelo es la dificultad en la administración.
![Page 11: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/11.jpg)
Modelo relacional
Es el más utilizado actualmente, se encarga de representar situaciones de la vida real.
Su característica principal es el uso de relaciones entre las entidades que conforman el modelo.
Las entidades están representadas en forma de tablas, donde las filas representan registros (instancias) y las columnas representas los campos que componen el registro.
Es más fácil de entender y utilizar.
![Page 12: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/12.jpg)
Modelo relacional
La información en este modelo es manipulada a través de consultas que son escritas en el lenguajes SQL (Structured Query Language).
estudiante nivelcursa
![Page 13: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/13.jpg)
Modelo orientado a objetos
Es el modelo propuesto más reciente y su objetivo es el de almacenar los datos de una situación real bajo el paradigma de orientación a objetos.
En este ámbito se pueden definir operaciones sobre los datos mediante: Funciones. Interfaces de operaciones. Métodos. Implementaciones de las
operaciones.
![Page 14: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/14.jpg)
Modelo orientado a objetos
Persona
Private:string nombre;string cédula;datetime fecha;
Public:int CalcularEdad(datetime fechaActual)
Public:int CalcularEdad(datetime fechaActual){
…}
ClaseAtributosObjetoEncapsulaciónHerenciaPolimorfismo
![Page 15: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/15.jpg)
Otros modelos
Semánticos y funcionales: descripción lógica del entorno que se va a procesar. Ej. Modelo entidad relación.
Documentales Geográficos Deductivos Distribuidos
![Page 16: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/16.jpg)
Modelo de BD relacional
El proceso de diseño de una base de datos conlleva la ejecución de un conjunto de pasos, en los cuales el nivel de abstracción se va afinando hasta llegar a un diseño acorde al nivel lógico que se requiere programar.
Los SGBD permiten al programador centrarse en el diseño lógico de la base, ya que los detalles del almacenamiento físico ya los tiene resueltos.
![Page 17: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/17.jpg)
Modelo de BD relacional
Los SGBD utilizan diferentes modelos de datos para la representación de la información en el nivel lógico global.
Estos modelos deben permitir aplicar la representación de las relaciones (uno a uno, uno a varios, varios a varios), y un nivel intermedio de abstracción entre la realidad informativa y el nivel lógico de la arquitectura.
Este tipo de modelo se denomina Modelo Conceptual.
![Page 18: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/18.jpg)
Modelo entidad relación
Las entidades se clasifican en distintos conjuntos entidades.
Ejemplo: Empleado, Departamento. Para cada conjunto entidad, existirá un
predicado asociado, que permitirá comparar si una entidad arbitraria pertenece a un conjunto dado. Las entidades pueden pertenecer a más de un conjunto.
Ejemplo: una entidad del grupo “estudiantes” también pertenece al conjunto “personas”.
![Page 19: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/19.jpg)
Modelo entidad relación
Un atributo se define mediante una correspondencia desde un conjunto entidad o conjunto relación hacia un conjunto valor o un producto cartesiano de conjuntos valor. Ejemplo:
![Page 20: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/20.jpg)
Modelo entidad relación
.e
CNT
Riobamba
Tarqui
$25000$20000
Conjunto entidad
Atributos
Conjunto de valores
Nombre
Dirección
IngresoEfectivo
Nombre de empresa
Nombre de ciudad
Nombre de calle
Valor monetario
![Page 21: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/21.jpg)
Modelo entidad relación
Las relaciones también pueden tener atributos.
Ejemplo:
.ei
8
Conjunto entidad
Conjunto relación
Conjunto de valores
Utilización
Laboratorio
Atributos
.ej
r[ei, ej]
Curso
Horas
![Page 22: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/22.jpg)
Representación gráfica del MER
Representación gráfica se denomina Diagrama Entidad-Relación (DER).
Cada entidad se representa con un rectángulo.
Cada relación se representa con un rombo. Cada dominio se representa con un círculo. Entidades, relaciones y dominios son
conectados con líneas. Los atributos llaves (claves) se representan
subrayando el correspondiente conjunto de valores.
![Page 23: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/23.jpg)
Representación gráfica del MER
En una relación, la llave es la combinación de las llaves de todas las entidades asociadas.
En el DER se describe el tipo de correspondencia (uno a uno, uno a varios, varios a varios).
![Page 24: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/24.jpg)
Representación gráfica del MER
![Page 25: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/25.jpg)
Operaciones sobre los objetos básicos del MER
Se pueden aplicar ciertas operaciones sobre los objetos del MER para extender la capacidad de modelamiento de la BD.
Agregación Generalización Agrupamiento
![Page 26: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/26.jpg)
Agregación
Construye una nueva entidad sobre la base de una relación.
Ejemplo: producción en una empresa. La relación ternaria Trabajador-Máquina-Pieza describe la actividad “un obrero en una máquina produce una pieza en una cantidad específica”.
Una relación no puede relacionarse con otra relación o entidad.
Con la agregación se resuelve el conflicto:
![Page 27: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/27.jpg)
Agregación
Trabajador MáquinaTrabajador - Máquina
n m
Equipo
Equipo - Pieza
Pieza
La agregación se define de la siguiente forma:Si T1, T2, …Tn son conjuntos entidad, la operación define un nuevo conjunto entidad T
![Page 28: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/28.jpg)
Generalización / Especialización
Si T1, T2,…Tn son conjuntos entidad (que pueden ser a su vez resultado de una generalización), la generalización define un nuevo conjunto entidad T.
Ejemplo: se pueden distinguir a los trabajadores de una empresa de acuerdo a su ocupación como obreros, dirigentes y administrativos.
![Page 29: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/29.jpg)
Generalización / Especialización
Obrero Administrativo
Dirigente
Trabajador Num_Id
Tipo de trabajo
![Page 30: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/30.jpg)
Generalización / Especialización
Se ha añadido un par de atributos para el conjunto entidad Trabajador: Num_Id y Tipo de trabajo.
Este último atributo permite diferenciar las clases de trabajadores.
En la Especialización se definen roles en el modelo (reglas) que permitan definir cuándo una ocurrencia de la entidad Trabajador pertenece a un componente del conjunto entidad:
![Page 31: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/31.jpg)
Generalización / Especialización
Obrero Administrativo Dirigente
Trabajador
Tipo de trabajo = 1
Tipo de trabajo = 2
Tipo de trabajo = 3
![Page 32: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/32.jpg)
Generalización / Especialización
En esta operación, los atributos y relaciones del conjunto entidad generalizado, son heredados por los conjuntos entidad componentes.
Se pueden definir nuevos atributos y relaciones para cada conjunto entidad especializado:
![Page 33: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/33.jpg)
Generalización / Especialización
Obrero Administrativo
Dirigente
Trabajador Num_Id
Tipo de trabajo
MáquinamTrabajador
- Máquina
n
![Page 34: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/34.jpg)
Agrupamiento
Si T es un conjunto entidad y T1, T2,…Tn son conjuntos valor o conjuntos entidad relacionados con T, entonces el agrupamiento construye un conjunto entidad agrupado Tg, donde cada elemento es un conjunto de ocurrencias de T, tal que, dentro de cada uno de tales conjuntos, todas las entidades tienen los mismos valores y entidades relacionadas desde los conjuntos entidad T1, T2,…Tn asociados.
![Page 35: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/35.jpg)
Agrupamiento
Ejemplo: se toma el par de atributos Salario y Valor Monetario de la entidad Trabajador para agruparlos a partir del conjunto entidad Trabajador.
Cada ocurrencia del Trabajador dentro de un grupo, que representa una ocurrencia de Trabajadores de igual salario, tienen el mismo valor del salario.
![Page 36: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/36.jpg)
Agrupamiento
Trabajadores de igual salario
Salario
Trabajador
![Page 37: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/37.jpg)
Restricciones
Para las operaciones anteriore se pueden plantear las siguientes restricciones: En la Generalización / Especialización, una
entidad puede pertenecer a un nivel dentro de la jerarquía de herencia.
Si una entidad existe en un nivel, tiene que existir en todos sus niveles superiores.
Si una entidad es eliminada en un nivel superior, también debe ser eliminada de todos sus niveles inferiores.
![Page 38: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/38.jpg)
Restricciones
En la Agregación, el conjunto entidad agregada tendrá similar comportamiento que la relación sobre la cual se hizo la agregación.
Entonces, para que el conjunto agregado exista, deben existir todos los conjuntos entidad que toman parte en la relación.
En el Agrupamiento, es necesaria la existencia de todos los componentes del conjunto T1, T2,…Tn, para que exista la entidad agrupada.
![Page 39: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/39.jpg)
Creación de un modelo de BD
Enunciado: En un supermercado, se requiere almacenar
por cada venta realizada, la respectiva factura con todos los datos del cliente. Por cada venta realizada es necesario registrar el número de productos que el cliente compró. Es necesario además guardar la cantidad de unidades disponibles para la venta de cada producto existente en el supermercado.
![Page 40: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/40.jpg)
Creación de un modelo de BD
De acuerdo al enunciado anterior, determinar: Cuáles son las entidades que intervienen en el
contexto descrito. Cuáles son los atributos que necesitan ser
creados dentro de las entidades. Cuáles son las relaciones que existen entre las
entidades descritas. Crear el DER para el contexto descrito.
![Page 41: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/41.jpg)
Creación de un modelo de BD
Entidades: Cliente Factura Producto Venta
![Page 42: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/42.jpg)
Creación de un modelo de BD
Atributos: Cliente: número de cédula o RUC, nombre,
dirección, número de teléfono, ciudad. Factura: número de cédula o RUC, nombre,
dirección, número de teléfono, autorización SRI, fecha, total parcial, total impuestos, total venta.
Producto: nombre, precio, cantidad en stock. Venta: número de productos comprados por el
cliente, valor total de la venta.
![Page 43: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/43.jpg)
Creación de un modelo de BD
![Page 44: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/44.jpg)
Creación de un modelo de BD
Relaciones: Un cliente compra uno o varios productos en
el supermercado. Por la venta realizada por el supermercado, se
genera una factura. La factura es entregada al cliente por la
compra realizada.
![Page 45: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/45.jpg)
Creación de un modelo de BD
Diagrama:
![Page 46: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/46.jpg)
Manejo de un SGBD
El sistema manejador de BD es el entorno en el cual se va a proceder a crear y a administrar una BD.
Dentro de la creación de una BD hay que tomar en cuenta varios aspectos, algunos mencionados hasta aquí: definición del diagrama de la BD (entidades y relaciones), tipos de datos que van a utilizar en las entidades, restricciones y reglas que ayudan a gestionar los datos, requerimientos del contexto que está siendo analizado, etc.
![Page 47: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/47.jpg)
Manejo de un SGBD
El objetivo principal de un SGBD es el de permitir realizar consultas a los datos almacenados y poder programar las vistas del nivel lógico conceptual. Ejemplo en el Supermercado
Se necesita saber cuántas unidades de un producto específico ha comprado un cliente.
Se necesita saber si el cliente ha sobrepasado un monto determinado en su compra que lo hace acreedor a un premio.
El lenguaje para hacer estas consultas es el SQL.
![Page 48: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/48.jpg)
Manejo de un SGBD
Los SGBD deben también cumplir con las siguientes funciones: Permitir el establecimiento de reglas que
eviten la redundancia y la inconsistencia de los datos.
Si el sistema permite datos redundantes, tendrá que ser capaz de realizar la actualización de la información en todos los lugares donde ocurra, para evitar la inconsistencia.
Cuando se detecte una acción que vaya en contra de las reglas establecidas, el sistema deberá devolver un mensaje de error.
![Page 49: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/49.jpg)
Manejo de un SGBD
Permitir el acceso de múltiples usuarios para manejar la información, sin generar inconsistencias.
Para prevenir la pérdida de la información, el SGBD debe permitir generar copias de seguridad (back-up) de la BD. La periodicidad de esta generación dependerá de las políticas de seguridad aplicadas por el administrador de la BD.
En el caso de darse un desastre y de perderse la BD original, el SGBD deberá permitir restaurar una copia realizada con anticipación (back-up) de una manera rápida y consistente.
Además, es conveniente que el sistema permita llevar un log de las acciones realizadas en la BD.
![Page 50: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/50.jpg)
Manejo de un SGBD
Por último, el sistema deberá proveer mecanismos de seguridad, que permitan al administrador programar políticas y reglas acerca de los usuarios admitidos para ver la información almacenada.
Otras funciones que deben cumplir estos sistemas: Adaptarse al desarrollo OO. Adaptación al mundo del internet. Soporte para aplicacioned móviles.
![Page 51: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/51.jpg)
Creación de una BD
![Page 52: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/52.jpg)
Respaldar y restaurar una BD
![Page 53: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/53.jpg)
Referencias
Introducción - Bases de datos. (n.d.). Retrieved March 19, 2013, from http://es.kioskea.net/contents/bdd/bddintro.php3
Camps Paré, R. “Introducción a las bases de datos”. Retrieved from http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-datos/bases-de-datos/P06_M2109_02147.pdf
![Page 54: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/54.jpg)
Referencias
Sosa Flores, M. López Vázquez, M. (2007). Diseño de bases de datos relacionales. Retrieved from http://site.ebrary.com/lib/espochsp/docDetail.action?docID=10189843
Mérida, A. (2012). Modelos de base de datos. Retrieved from http://es.slideshare.net/axelmeridages/modelos-de-base-de-datos-15427655
![Page 55: Bd capitulo ii](https://reader035.vdocuments.mx/reader035/viewer/2022062514/558897a1d8b42a367d8b45cb/html5/thumbnails/55.jpg)
Referencias
Rosa-Rosario, M. G. Modelos de bases de datos. Retrieved from http://agu.inter.edu/mrosa/notas%20badm6030/MODELOS_DE_BASES_DE_DATOS.pdf