Summary

This document provides a summary of data models and the relational model for database design. It includes concepts such as data types, data life cycle, and entity-relationship diagrams (ERD). The document also briefly discusses database management systems (DBMS).

Full Transcript

ATO MF0492_3: UF1845 Acceso a datos en aplicaciones web en el entorno servidor. RESUMEN. Docente: Jesús San Emeterio Martínez ATO CAPITULO 1: El MODELO DE DATOS. 1- INTRODUCCION. El objetivo del modelo de datos es representar un problema de la vida real de forma que pueda ser res...

ATO MF0492_3: UF1845 Acceso a datos en aplicaciones web en el entorno servidor. RESUMEN. Docente: Jesús San Emeterio Martínez ATO CAPITULO 1: El MODELO DE DATOS. 1- INTRODUCCION. El objetivo del modelo de datos es representar un problema de la vida real de forma que pueda ser resuelto por la aplicación que estemos desarrollando. Un dato no contiene información por sí solo. El objetivo será convertir los requisitos de la aplicación en un modelo lógico. 2- CONCEPTO DE DATO. CICLO DE VIDA DE LOS DATOS. El DATO es la unidad mínima con la que trabaja un sistema de información. No se debe confundir con el sistema informático en el que la unidad mínima son ceros y unos. El DATO no contiene información, por eso debe ser procesado. DATOS PROCESAMIENTO INFORMACION Ciclo de vida del dato: - Creación del dato. - Manipulación. - Destrucción. Tipos de datos: - Números enteros. - Caracteres. - Números reales (con decimales). - Booleanos. Docente: Jesús San Emeterio Martínez ATO Registros: Son un conjunto de datos que forman estructura, estas estructuras pueden ser anidadas. Nombre: Manuel Nombre: Manuel Edad: 23 años Edad: 23 años Nacionalidad: Española. Nacionalidad: Español Registro Hijos: Si Nombre hijo: Edad hijo: Nacionalidad: Registros Anidados En los registros datos fijos, como el nombre, y otros que serán dinámicos, como la edad o el estado civil. 3- DEFINICION DEL MODELO CONCEPTUAL. Es la representación gráfica de un problema, son muy importantes de cara al uso de las bases de datos. En este grupo estarán los modelos de Casos de Uso, los Diagramas de clase, los Diagramas de Flujo y los MODELOS DE ENTIDAD/RELACION, que son los que nos interesan para modelar la BBDD. Un modelo de datos es una capa que se superpone al sistema informático para gestionar los datos utilizados. Es una representación de objetos junto a sus propiedades y las relaciones entre ellos. PATRONES: Soluciones a situaciones comunes. MODELOS GENÉRICOS: Proporcionan un modelo de datos que cubre la mayoría de los requisitos de un problema. Docente: Jesús San Emeterio Martínez ATO 4- EL MODELO RELACIONAL. Trata la relación como otro tipo de objeto. Da a la relación el protagonismo dentro de la estructura del sistema. Los modelos podrá ser Notación CHEN y Modelo de Pata de gallo ( Que utilizaremos). DESCRIPCION: El modelo relacional separa el almacenamiento físico y otras características de la lógica de los datos. Los objetivos son los siguientes: Independencia física de los datos. No hay que definir como se guardan Independencia lógica de los datos. Los cambios no afectan al sistema. Encapsulamiento del comportamiento interno. Los datos se presentan mediante tablas y sus relaciones. EL MODELO E/R SIGUE LAS REGLAS DE CODD Docente: Jesús San Emeterio Martínez ATO ELEMENTOS DE DATOS. ATRIBUTOS Cada entidad tiene una serie de atributos, asociados al nombre de la entidad. RELACIONES. TIPOS, SUBTIPOS, CARDINALIDAD Cada entidad podrá relacionarse con ninguna, con otras, consigo misma o mediante una combinación de estas. Los tipos de relaciones entre entidades podrán ser: Relación de uno a muchos (1:N) Cada entidad se relaciona con varias entidades, pero estas solo se relacionan con una. Pej. Los jugadores de un equipo con el equipo. Un subtipo de esta sería la relación de cero a muchos (0:N). Pej. La relación entre “Noticias y comentarios en un blog” en la que puede haber noticias que no tengan comentarios. Relación de uno a uno (1:1) Se utilizan para relacionar conceptos estrechamente ligados. Pej. La relación entre un perfil de RRSS y el correo-e del usuario. Se incluyen las relaciones de cero a uno (0:1). Relación de muchos a muchos (N:M) Cuando múltiples registros de la entidad 1 se relacionan con múltiples registros de la entidad 2. Pej. Un artículo puede estar en muchos pedidos y cada pedido tiene varios artículos. Docente: Jesús San Emeterio Martínez ATO CLAVES Y TIPOS DE CLAVES Cada registro tendrá una clave primaria compuesta por uno o varios atributos. Debe identificar unívocamente al registro y no puede haber dos registros con los mismos valores. Pej. DNI, ID_numérico, Correo-e o código de barras de producto serán claves primarias. Tipos de claves: Superclave: Conjunto de atributos que identifica a una entidad. Puede ser solo un atributo. Clave Candidata: Superclave en la que se eliminan atributos hasta llegar al mínimo que identifica a la entidad. Clave Primaria: Clave primaria que escoge el gestor de la BBDD para manejar más fácilmente la BBDD. Atributo Unico: Es un valor que no puede repetirse. Puede ser considerado como clave candidata, clave primaria y superclave. 5- CONSTRUCCIÓN DEL MODELO LÓGICO DE DATOS. Una vez se ha dibujado el diagrama de entidad relación finaliza el diseño conceptual. Quedan plasmados los requisitos de la aplicación. El objetivo es pasar a la fase de diseño lógico y de ahí al modelo físico. Para especificar una tabla en SQL la sintaxis es la siguiente: Nombre_de_tabla (Clave primaria, campo1, campo2…) Por lo general cada entidad se convierte en una tabla. Docente: Jesús San Emeterio Martínez ATO 6- EL MODELO FÍSICO DE DATOS. Los ficheros de datos son archivos cuyo objetivo es guardar los datos de un modelo de datos en archivos simples, que podrán ser binarios o de texto simple. Es un sistema fácil de utilizar, puesto que el formato es libre. El diseñador decide el formato, pero este sistema plantea limitaciones de manejo. Si dos usuarios lo utilizan a la vez pueden sobrescribirse los datos y perderse. Pero son útiles cuando se maneja mucha información, se comunican dos sistemas diferentes, cuando existen limitaciones de rendimiento o cuando la gestión de los datos es simple. MODOS DE ACCESO A LOS FICHEROS Acceso secuencial: Se lee el fichero desde el principio hasta que se encuentra el dato que estamos buscando. Acceso directo: Permite ir directamente a una posición del fichero. Acceso Indexado: El archivo posee un índice que localiza cada fila. Pej. Un CD de música se indexa por canciones. Acceso por direccionamiento calculado: Mediante cálculos matemáticos se pueden encontrar los datos sin necesidad de leer todo el fichero. ORGANIZACIÓN DE LOS FICHEROS Lo ideal es que cada entidad se aloje en un fichero separado. Crear archivos grandes complica el tratamiento de datos. La manera óptima de organizar los datos es que cada tipo de datos vaya a un archivo separado. Docente: Jesús San Emeterio Martínez ATO 7- TRANSFORMACIÓN DE UN MODELO LOGICO EN UN MODELO FISICO DE DATOS. El modelo lógico de datos es el paso previo al sistema informático (modelo físico). Para pasar de uno a otro se debe: + Determinar el tipo de fichero. + Cada tabla será un archivo separado. + Dentro de cada archivo se pueden incluir o no los nombres de las columnas en la primera fila. + La gestión de la integridad de los datos queda a cargo de la aplicación. 8- HERRAMIENTAS PARA LA REALIZACIÓN DE LOS MODELOS DE DATOS. ** UTILIZAREMOS MYSQL WORKBENCH CUYO FUNCIONAMIENTO SE VERÁ EN LAS PRÁCTICAS. 9- RESUMEN. Cuando se conozcan los requisitos de una aplicación informática se deben seguir una serie de procesos para poder implementar la APP requerida. Los diagramas de E/R pueden realizarse a mano, pero aplicaciones como MySQL Workbench facilitan el trabajo y mejoran las posibilidades de encontrar la mejor solución. Cuanto más afinado esté el diagrama E/R menos problemas de rendimiento presentará la BBDD. Una vez finalicemos el modelo lógico ya lo podemos implementar en cualquier modelo fisico que necesitemos. Docente: Jesús San Emeterio Martínez ATO CAPITULO 2: SISTEMAS DE GESTIÓN DE BBDD (SGBD) 1- INTRODUCCION. Un SGDB es un conjunto de programas que gestionan varias BBDD y proporcionan interfaces para la comunicación con app´s externas. Para que un SGBD sea relacional es indispensable que se cumplan las Reglas de Codd. Lo que consigue el SGBD frente al sistema de ficheros es : Separa el modelo de datos de las app´s que lo utilizan. Eliminan la redundancia de los datos. Son seguros. Es concurrente, cuando hay varios usuarios realizando cambios todos ven lo mismo. Mantienen siempre la integridad de los datos. Encapsula los datos y sabe donde guardar cada Byte. 2- DEFINICION DE UN SGBD. Para que un SGBD pueda llamarse así, debe implementar las siguientes características: Lenguaje de definición de datos (DDL) Lenguaje de manipulación de datos (DML) Gestión de permisos (DCL) Gestión de restricciones de integridad. Gestión de concurrencia. Gestión de copias de seguridad. 3- ESTRUCTURA DE UN SGBD. En general todos los SGBD poseen un sistema que gestiona el almacenamiento físico, otro que comunica las consultas realizadas y un diccionario de datos. Estos tres sistemas juntos permiten al desarrollador/programador explotar de manera eficiente la BBDD. Docente: Jesús San Emeterio Martínez ATO GESTION DEL ALMACENAMIENTO FISICO Los datos se guardan en el soporte físico. Las principales funciones son: - Convierte las consultas en operaciones lógicas. - Controlar la memoria RAM para mejorar el rendimiento. - Asegurar que se cumplen las restricciones de integridad. - Sincronizar las acciones de todos los usuarios. - Controlar las copias de seguridad y recuperación. GESTION DE CONSULTAS.PASOS 1- El usuario envía consulta al servidor. 2- El servidor comprueba la sintaxis. Envía error si no es correcta. 3- Se realizan las comprobaciones generales y que los datos son correctos. 4- Optimizador de consultas. Depende del SGBD. 5- Se ejecuta la consulta. 6- Se devuelven los resultados. Si hay problemas se devuelve error. SELECT Gestor de Gestor de Datos disco almacenamiento duro consultas FROM Docente: Jesús San Emeterio Martínez ATO MOTOR DE REGLAS. Diccionario de datos. El SGBD debe proporcionar un sistema que permita explorar la BBDD. En caso contrario solo la persona que creo la BBDD podría gestionar y encontrar la información. Para eso existe el motor de reglas o diccionario de datos. De este modo cualquier usuario puede saber que puede hacer y que no en la BBDD. Este debe proporcionar la siguiente información: Lista de BBDD del sistema. Para cada BBDD lista de tablas y sus propiedades. Para cada tabla la lista de columnas y sus propiedades. Lista de restricciones de integridad y las relaciones entre tablas. Lista de índices de las tablas. Lista de usuarios y sus permisos. Lista de procedimientos almacenados. Cada SGBD tendrá estadísticas, registros de acceso…etc. 4- GLOSARIO DE TERMINOS DE UN SGBD. Administrador: Persona que supervisa y controla el correcto funcionamiento de un sistema informático. + Backup [Copia de seguridad]: Copia total o parcial de información del disco duro, CDs, bases de datos u otro medio de almacenamiento. Esta copia de respaldo debe ser guardada en algún otro sistema de almacenamiento masivo, como ser discos duros, CDs, DVDs o cintas magnéticas (DDS, Travan, AIT, SLR, DLT y VXA). Los backups se utilizan para tener una o más copias de información considerada importante y así poder recuperarla en el caso de pérdida de la copia original. + Balanceo de carga: Técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores, discos u otros recursos. Cluster: Conjunto de dos o más máquinas que se caracterizan por mantener una serie de servicios compartidos que se comportan como si fuesen un único ordenador y que están constantemente monitorizándose entre sí. + Data Control Language (DCL) [Lenguaje de Control de Datos]: Lenguaje proporcionado por un SGBD que permite el control del acceso a Docente: Jesús San Emeterio Martínez ATO las estructuras de la base de datos y contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros. + Data Definition Language (DDL) [Lenguaje de Definición de Datos]: Lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos. + Database management system (DBMS) [Sistema de Gestión de Base de DatosSGBD]: Agrupación de programas que sirven para definir, construir y manipular una base de datos + Diagrama Entidad-Relacion (E/R o DER): Herramienta de modelado de sistemas, que se concentra en los datos almacenados en el sistema y las relaciones entre éstos. Un diagrama de entidad-relación o DER es un modelo de red que describe la distribución de los datos almacenados en un sistema de forma abstracta. + Diccionario de datos: Listado organizado de todos los datos que pertenecen a un sistema. Su objetivo es aportar precisión sobre los datos que se manejan en un sistema, evitando así malas interpretaciones o ambigüedades. Estos datos son entradas, salidas, componentes de almacenes, flujos, detalles de las relaciones entre almacenes, entre otros. Docente: Jesús San Emeterio Martínez ATO + Distributed Database (BDD) [Base de datos distribuida]: Conjunto de múltiples bases de datos lógicamente relacionadas que se encuentran distribuidas en diferentes espacios lógicos e interconectados por una red de comunicaciones. Tienen la capacidad de realizar procesamiento autónomo, permitiendo realizar así operaciones locales o distribuidas. + High availability (HA) [Alta disponibilidad]: Protocolo de diseño de un sistema y su implementación asociada, asegurando cierto grado absoluto de continuidad operacional durante un período de medición dado. + Network attached storage (NAS) [Almacenamiento en red]: Tecnología de almacenamiento dedicada a compartir la capacidad de almacenamiento de un ordenador (Servidor) con ordenadores personales o servidores clientes a través de una red (normalmente TCP/IP), haciendo uso de un Sistema Operativo optimizado para dar acceso con los protocolos. + Redundant array of independent disks (RAID) [Conjunto redundante de discos independientes]: Sistema de almacenamiento que usa múltiples discos duros entre los que se distribuyen o replican los datos. + Structured Query Language (SQL) [Structured Query Language]: Lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. + Transacción: Conjunto de órdenes que generan o modifican la información almacenada en un sistema de información y que se ejecutan de forma indivisible o atómica. + Transaccional: Propiedad de un SGBD que indica si es capaz de mantener la integridad de los datos, haciendo que las transacciones no puedan finalizar en un estado intermedio. + Transactional System [Sistema de Procesamiento de Transacciones]: Tipo de sistema de información diseñado para recolectar, almacenar, modificar y recuperar todo tipo de información que es generada por las transacciones en una organización. Docente: Jesús San Emeterio Martínez ATO 5- ADMINISTRACION DE UN SGBD. En aplicaciones sencillas el mismo programador gestionará la BBDD pero en aplicaciones más complejas se necesitarán una o varias personas realizando la gestión de la BBDD. BBDD Software Sistema informat. Programador Adm. De Adm. De BBDD (DBA) sistemas El administrador de la BBDD “DBA” será el responsable de que el sistema se comporte de manera eficiente, de que no se pierdan datos y de que todos los usuarios utilicen el sistema como deben. Se considera un puesto de alta responsabilidad. Las actualizaciones, copisas de seguridad, permisos y monitorización son parte de las tareas que debe realizar. Los índices son el sistema que se utiliza para tener los datos localizados. Cuanto mejor esté indexada la BBDD más rápidads serán todas las consultas y más eficiente será el sistema. RESPALDOS Y REPLICACIÓN DE LAS BBDD. COPIAS DE SEGURIDAD. Ambos son copias de seguridad. La diferencia es que los respaldos se realizan en momentos puntuales, como por ejemplo un aumento del tráfico puntual o una crecida repentina del número de usuarios. Mientras que las replicaciones se efectúan cuando están programadas al margen de la situación. Según se programen las copias de seguridad podrán ser: 1- Copias exactas: De la BBDD completa, son las más fáciles de recuperar. Docente: Jesús San Emeterio Martínez ATO 2- Copias incrementales y diferenciales: Solo se copian los cambios que vayan sucediendo. La diferencia es que en las primeras solo se copia la nueva información, los cambios. En las segundas se copia la BBDD completa más los cambios. 3- Copia en espejo continua: Cada cambio se almacena en otro servidor y en caso de fallo se utiliza el servidor espejo hasta que se resuelve el problema. La replicación resuelve los siguientes problemas: Distribución de datos. Balanceo de carga. Copias de seguridad. Alta disponibilidad y recuperación de fallos. Master Slave 1 Se puede crear un sistema de varios masters con sus respectivos slave dependiendo de las necesidades del sistema. 6- GESTION DE TRANSACCIONES EN UN SGDB. El aspecto más importante, por delante del aspecto o la velocidad de acceso es la fiabilidad del sistema. Definición de transacción: Conjunto de operaciones dependientes unas de otras que se ejecutan en una BBDD. Hasta que no finalice todas las operaciones que la componen no guardará nada en la BBDD. Los sistemas de bloqueo a nivel de tabla, fila, etc.. impedirán que los datos puedan sobrescribirse. En caso de transacción fallida el sistema debe ser capaz de volver solo al estado original. Docente: Jesús San Emeterio Martínez ATO 7- CRITERIOS PARA LA SELECCIÓN DE LA BBDD. Los criterios pueden ser varios dependiendo de las condiciones, pero los principales suelen ser: + Precio. + Si son o no de código abierto. + Popularidad. + Estándar de programación (SQL, PHP….) + Multiplataforma o plataforma única. + Soporte técnico. + Escalabilidad. Los SGBD más utilizados son : MySQL Oracle Database MS SQL Server. Como ya hemos dicho los criterios de selección serán muchos, lo importante es que el sistema elegido cumpla con los requisitos de nuestro proyecto ahorrando así tiempo, recursos y dinero. Docente: Jesús San Emeterio Martínez

Use Quizgecko on...
Browser
Browser