410 likes | 606 Views
FACULTAD DE INGENIERIA. Escuela Profesional de Computación y Sistemas. BASE DE DATOS I. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/. CLASE N° 02. FACULTAD DE INGENIERIA. Escuela Profesional de Computación y Sistemas. Modelamiento de Datos Instancias y Esquemas
E N D
FACULTAD DE INGENIERIA Escuela Profesional de Computación y Sistemas BASE DE DATOS I Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
FACULTAD DE INGENIERIA Escuela Profesional de Computación y Sistemas • Modelamiento de Datos • Instancias y Esquemas • Lenguaje de Base de Datos • Estructura del sistema Global • Arquitectura de Aplicaciones Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
MODELAMIENTO DE DATOS Los modelos de datos se dividen en tres grupos: Modelos lógicos basados en objetos. Modelos lógicos basados en registros. Modelos físicos de datos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
MODELAMIENTO DE DATOS Modelos lógicos basados en objetos (MLBO) Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo, representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuración bastante flexible y permiten especificar restricciones de datos explícitamente. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 01
MODELAMIENTO DE DATOS • Modelos lógicos basados en objetos (MLBO) • Existen diferentes modelos de este tipo: • MODELO ENTIDAD – RELACION • MODELO ORIENTADO A OBJETOS Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 01
MODELAMIENTO DE DATOS Modelos lógicos basados en Registros Se utilizan para describir datos en los niveles conceptual y físico. Estos modelos utilizan registros e instancias para representar la realidad, así como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lógica global de la base de datos y para proporcionar una descripción a nivel más alto de la implementación. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
MODELAMIENTO DE DATOS • Modelos Físico de Datos • Se usan para describir a los datos en el nivel más bajo, aunque existen muy pocos modelos de este tipo, básicamente capturan aspectos de la implementación de los sistemas de base de datos. • Existen dos clasificaciones de este tipo que son: • Modelo unificador • Memoria de elementos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL Un sistema de base de datos se encuentra dividida en módulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos debe partir de esa base y controlar además el manejo correcto de los datos. Así el diseño de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL • Los componentes funcionales de un sistema de base de datos, son: • Gestor de almacenamiento • Procesador de consultas. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL GESTOR DE ALMACENAMIENTO Es un módulo de programa que proporciona la interfaz entre los datos de bajo nivel de La base de datos y los programas de aplicación y consultas emitidas al sistema. Traduce las diferentes instrucciones LMD a órdenes de un sistema de archivos de bajo nivel, haciéndose responsable del almacenamiento, recuperación y actualización de los datos de la base de datos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL • GESTOR DE ALMACENAMIENTO • Los componentes del gestor de almacenamiento son: • Gestor de Autorización e integridad: • Comprueba que se satisfagan las restricciones de integridad y la autorización de los usuarios para acceder a los datos. • Gestor de Transacciones: • Asegura que la base de datos quede en un estado correcto a pesar de los fallos del sistema y que las ejecuciones de transacciones concurrentes ocurran sin conflictos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL • GESTOR DE ALMACENAMIENTO • Los componentes del gestor de almacenamiento son: • Gestor de Archivos: • Gestiona la reserva de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información almacenada en disco. • Gestor de Memoria Intermedia: • Responsable de traer los datos del disco de almacenamiento a memoria principal y decidir que datos tratar en memoria caché. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL • GESTOR DE ALMACENAMIENTO • El gestor de almacenamiento implementa varias estructuras de datos como parte de la implementación física del sistema: • Archivo de datos: • almacena la base de datos en sí. • Diccionario de datos: • Almacena metadatos acerca de la estructura de la base de datos, en particular el esquema de la base de datos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 01
ESTRUCTURA DEL SISTEMA GLOBAL • GESTOR DE ALMACENAMIENTO • Índices: • Proporcionan acceso rápido a elementos de datos que tienen valores específicos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 01
ESTRUCTURA DEL SISTEMA GLOBAL • PROCESADOR DE CONSULTAS. • Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Además convierte la solicitud del usuario más eficiente. Los componentes del procesador de consultas incluyen: • Intérprete del LDD. Interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos • Compilador del LMD . Traduce las instrucciones del LMD en un lenguaje de consultas a un plan de evaluación que consiste en instrucciones de bajo nivel que entiende el motor de evaluación de consultas. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL • PROCESADOR DE CONSULTAS. • Motor de evaluación de consultas. • Ejecuta las instrucciones de bajo nivel • generadas por el compilador del LMD. • Una forma gráfica de representar los componentes antes mencionados y la relación que existe entre ellos sería la siguiente. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ESTRUCTURA DEL SISTEMA GLOBAL Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 01
LENGUAJE DE BASE DE DATOS Un sistema de base de datos proporciona un lenguaje de definición de datos para especificar el esquema de la base de datos y un Lenguaje de Manipulación de datos para expresar las consultas y modificaciones de la base de datos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
LENGUAJE DE BASE DE DATOS LENGUAJE DE DEFINICION DE DATOS (DDL) Data DefinitionLanguage El resultado de la compilación de sentencias de DDL es un conjunto de tablas que se almacenan en un archivo especial que llamado diccionario de datos o directorio. Un directorio de datos es un archivo que contiene metadatos, es decir, datos sobre datos. Este archivo se consulta antes de leer o modificar los datos reales en el sistema de BD. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
LENGUAJE DE BASE DE DATOS LENGUAJE DE DEFINICION DE DATOS (DDL) Data DefinitionLanguage La estructura de almacenamiento y los métodos de acceso se especifican por medio de un conjunto de definiciones en un tipo especial de DDL llamado lenguaje de almacenamiento y definición de datos. El resultado de la compilación de estas definiciones es un conjunto de instrucciones que especifican los detalles de implementación de los esquemas que normalmente se esconden a los usuarios. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
LENGUAJE DE BASE DE DATOS LENGUAJE DE DEFINICION DE DATOS (DDL) Data DefinitionLanguage El esquema de una tabla es un ejemplo de metadatos. Un sistema de base de datos consulta el diccionariode datos antes de leer o modificar los datos reales: Ejemplo: CREATE ALTER DROP Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
LENGUAJE DE BASE DE DATOS LENGUAJE DE MANIPULACION DE DATOS (DDL) Data ManipulationLanguage Por manipulación de datos entendemos la recuperación y modificación de la información almacenada y la inserción y supresión de información. A nivel físico, debemos definir algoritmos que permitan acceso eficiente a los datos. En los niveles de abstracción más altos, se pone énfasis en la facilidad de uso. El objetivo es proporcionar una interacción eficiente entre las personas y el sistema. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
LENGUAJE DE BASE DE DATOS LENGUAJE DE MANIPULACION DE DATOS (DDL) Data ManipulationLanguage Es un lenguaje que capacita a los usuarios a acceder o manipular los datos. Existen básicamente dos tipos: Procedimentales: requieren que el usuario especifique qué datos se necesitan y cómo conseguirlos. No procedimentales: el usuario debe especificar qué datos se necesitan, pero no cómo obtenerlos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
LENGUAJE DE BASE DE DATOS LENGUAJE DE MANIPULACION DE DATOS (DDL) Los DML no procedimentales normalmente son más sencillos de aprender y usar, sin embargo pueden generar código que no sea tan eficiente como el producido por los lenguajes procedimentales. Esta dificultad puede remediarse a través de varias técnicas de optimización. Una consulta es una sentencia que solicita la recuperación de información. El trozo de un DML que implica recuperación de información se llama lenguaje de consultas. Aunque es incorrecto, suelen utilizarse los términos lenguaje de consultas y lenguaje de manipulación de datos como sinónimos. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
MODELO ENTIDAD - RELACION El modelo de datos entidad-relación (E-R) se basa en una percepción de un mundo real que consiste en un conjunto de objetos básicos llamados entidades y relaciones entre estos. Se desarrollo para facilitar el diseño de BD permitiendo la especificación de un esquema empresarial, que representa la estructura lógica global de la BD. SE DENOMINA MODELADO, AL PROCESO DE TRASLADAR UN PROBLEMA DEL MUNDO REAL A UN COMPUTADOR, USANDO BASE DE DATOS Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION Este modelo representa a la realidad a través de un esquema grafico empleando la terminología de ENTIDADES que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado. Y se distinguen de otros por su características particulares denominados ATRIBUTOS, el enlace que rige la unión de entidades esta representada por RELACION del modelo. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION ENTIDAD: Es una cosa u objeto en el mundo real que se distingue de los demás objetos. Ejemplos: Persona, Proceso, Factura, Guía de Despacho, Cliente, Producto, Libro, Autor, Editorial. LIBRO AUTOR EDITORIAL Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION ATRIBUTOS: En ocasiones llamada PROPIEDADES, representa las características que posee cada miembro de un conjunto de entidades. Los atributos poseen la siguiente estructura: Nombre: Especificación física del objeto Tipo: Valor que se utiliza para escribir características relacionadas al dato (cadena, booleano, fecha, etc.) Dominio: Conjunto de valores permitidosque va a usar un atributo. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION ATRIBUTOS: Los atributos se representan mediante elipses y en su interior el nombre del atributo NOMBRE Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION ATRIBUTOS: Nombre Dirección Código Teléfono PACIENTE Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION RELACION: Una relación es una asociación entre entidades, Se caracteriza por determinadas restricciones que determinan las entidades que pueden o no participar en dicha relación. COMPRA Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION CARNALIDAD: Es el numero de ocurrencias en una entidad asociada a una ocurrencia de otra entidad o la misma entidad a través de una relacion COMPRA Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION TIPOS DE RELACIONES Relaciones "uno a uno" Relaciones de "uno a varios" Relaciones de "varios con varios" Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION Relaciones "uno a uno" Estas relaciones entre bases de datos se dan cuando cada campo clave aparece sólo una vez en cada una de las tablas. Tomando un ejemplo del mundo real, una clara relación de "uno a uno" podría ser, el nombre de cualquier persona y su número de teléfono. Si partimos del supuesto en que cada persona tiene un solo número de teléfono, se podría hablar de una relación "uno a uno". Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION TIENE UN CLIENTE TELEFONO Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION Relaciones de "uno a varios" El ejemplo del caso anterior (cada persona, un teléfono), si bien es correcto teóricamente, es muy improbable desde el punto de vista de la realidad. Con la gran expansión de los teléfonos, por lo general, cada persona tiene un número de teléfono fijo, y además del teléfono móvil. Debemos tener en cuenta que de el de su casa también tendrá un número de teléfono de empresa, y que quizá también sus móviles estén divididos en ocio y trabajo. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION CONTIENE FACTURA PRODUCTOS Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION Relaciones de "varios con varios" Éste será el tipo de relación que encontraremos más a menudo. Volviendo al tema de los teléfonos, hemos encontrado la manera de relacionar cada una de las personas con sus diversos teléfonos: el de su casa, el de su empresa, el móvil. Pero no será extraño tener en nuestra base de datos diversas personas que trabajen en la misma empresa, por lo que el número de su trabajo será el mismo, o miembros de una misma familia, por lo que compartirán el mismo teléfono de su hogar. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION Relaciones de "varios con varios" ¿Cómo tratar este tipo de relaciones? Si nos limitamos a repetir dicho número de tablas, estaremos creando problemas de redundancia de datos, que a largo plazo lastrarán la rapidez y eficacia de nuestras tablas. Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02
ELEMENTOS DEL MODELO ENTIDAD - RELACION TIENEN CLIENTES CUENTAS Ing. Eddye Arturo Sánchez Castillo www.ceneinnova.com/eddyesanchez/ CLASE N° 02