Download datos - RedGeomatica
Transcript
Tema 12 (III) MODELOS DE BASES DE DATOS ALFANUMÉRICOS Modelo de datos Alfanuméricos “Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos” Atributos Nominales: nombres de las cosas (Ej. topónimos). Ordinales o numéricos: se representan como valor único (precio de una finca), o como valor total (número de hospitales en un municipio). Densidades: muy usado para los datos demográficos (número de habitantes/área de municipio). Categorías: grupo de elementos similares (carreteras [autopistas, autovías, senderos, ...]). Proporciones: se agrupan los valores por categorías y se dividen por el total (población joven/población total). Razones: expresan la relación entre 2 cantidades (habitantes/número de hospitales). Rangos: usado cuando es difícil o se está representando una combinación de factores (valor escénico del paisaje, riesgos, etc.). Definiciones Iniciales Base de Datos: • Colección de datos, almacenados en soporte no volatil y con redundancia controlada. • Los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de ellos, y su definición (estructura de la base de datos) única y almacenada junto con los datos. • Se ha de apoyar en un modelo de datos, el cual ha de permitir captar las interrelaciones y restricciones existentes en el mundo real. Sistema de Gestión de Bases de Datos (SGBD) • Conjunto de programas que permiten la implantación, acceso y mantenimiento de la BD. Sistema Base de Datos. • SGBD + DATOS + USUARIOS Objetivos del DBMS (I) 1. Independencia Física: • Almacenamiento físico de los datos independiente del diseño lógico de la BD. 2. Independencia Lógica: • Cada aplicación organiza los datos según sus propios esquemas y accede a los datos que le son necesarios. 3. Diseño y utilización orientada a usuario: • Datos y aplicaciones accesibles a los usuarios de la manera más amigable. 4. No Redundancia: • Los datos no están duplicados. Objetivos del DBMS (II) 5. Centralización: • Los datos se gestionan de forma centralizada e independiente de las aplicaciones. 6. Consistencia: • Los datos son consistente: no adolecen de fallos lógicos. 7. Fiabilidad: • Los datos están protegidos frente a fallos fortuitos. 8. Seguridad: • No todos los datos son accesibles a todos los usuarios SGBD o DBMS (Data Base Management System) BIBLIOTECA BIBLIOTECA (LIBROS) BIBLIOTECARIA (GESTIÓN) USUARIO DATOS -BD- SGBD DBMS Ventajas del uso de DBMS Respecto del usuario: • Usuario final: puede acceder a los datos. • Programador: elimina problemas de Diseño lógico y físico. Depuración de errores. Mantenimiento del sistema. Respecto del sistema: • Control centralizado, fiabilidad, consistencia, seguridad, ... • Criterios de uniformización. • Generación de nuevas aplicaciones. • Equilibrio entre requerimientos. Funciones de un DBMS (I) 1. Proporcionar un leguaje de definición de datos (Definition Data Lenguage). Generalmente es el SQL (Structured Query Language). 2. Proporcionar un lenguaje de manipulación de datos (Definition Manipulation Lenguage). Por ejemplo: Visual Basic de Aplicaciones 3. Proporcionar mecanismos para el establecimiento de la seguridad: • • Otorgar diferentes permisos de acceso y manipulación. Protección de accesos no autorizados, mediante criptografía. Funciones de un DBMS (II) Mantener la integridad de la Base de Datos: 4. • • 5. Definir reglas de integridad. Controlar que se cumplan dichas reglas. Gestión de la concurrencia: • • 6. Ayuda a resolver conflictos cuando dos o más usuarios están tratando de acceder a los mismos datos. Si no tiene mecanismos para resolverlo, se bloquea el sistema. Recuperación ante fallos: • • Hardware: cambio de voltaje, corriente, ... Software: debido al sistema operativo, ... Recuperación ante fallos Las pérdidas accidentales se previene mediante el mecanismo de transacción. Una Transacción es una secuencia de operaciones de manipulación sobre la BD. Las transacciones tienen la propiedad de que si se interrumpen antes de completarse, la BD es restaurada a un estado de auto-consistencia, usualmente el estado anterior al inicio de la transacción. La transacciones protegen los datos de fallos de la corriente eléctrica, de la red y de la concurrencia de usuarios. ¿Qué permite el DBMS? 1. Que el usuario no tenga que conocer la estructura interna de la organización de la BD. 2. Evitar la duplicidad innecesaria de los datos. 3. Que nadie sin autorización pueda “apropiarse” o “manipular” un dato. 4. Que no se pierda ningún dato. Acciones sobre la Bases de Datos (I) Sin alteración de la BD. • Realización de búsquedas. • Realización de consultas. Selecciona los datos requeridos Muestra los resultados pedidos BD Búsqueda SGBD Petición de Información USUARIO Acciones sobre la Bases de Datos (II) Con alteración de la BD. • Modificaciones. • Borrados o Bajas. • Incorporaciones. Muestra los resultados pedidos Confirmación BD SGBD Modificación y envio USUARIO Petición de Información Metodología de acciones sobre las Bases de Datos (I) Acción Directa sobre la BD. Borrar Añadir Modificar Metodología de acciones sobre las Bases de Datos (II) Gestión por extracción e inserción en la BD. Extraer elementos Modificar y/o borrar Añadir Insertar elementos Gestión conjunta de las Bases de Datos Alfanuméricas y Gráficas Tipos de Estructuras BD BD en Red. BD Orientadas a Objeto. BD Relaciónales. Conceptos básicos de BD OO (I) Las BD OO parten de una organización jerarquizada de la BD (se crean “familias” de objetos). Las entidades geográficas son consideradas “Objetos”. Objeto: • Colección de elementos y datos estructurados e identificados por una referencia única (i.e. Viviendas). • Los OBJETOS se definen por sus variables geográficas y temáticas, así como por los métodos y operaciones que les afectan. Conceptos básicos de BD OO (II) Propiedad: • Característica o atributo de un objeto (ej. referencia catastral). Clase o familia: • Grupos de objetos con idénticas propiedades (ej. parcelas). Método: • Operación asociada a una clase (ej. cambiar propietario de parcela). Desencadenadores o “Demonios”: • Procedimientos que se ejecutan de manera continua y que inician una acción ante una condición determinada (ej. cambiar código de término municipal). Herencia: • Transmisión de propiedades de una clase (Antecedente) hacia una subclase (descendente) (ej. las parcelas heredan las propiedades del planeamiento). BD Relacionales (I) Organización de los Datos en Tablas Bidimensionales, donde: • Las Filas son los Registros. • Las Columnas son los Atributos. Propietarios A B C D E Comercios A-8 F-7 N-9 J-8 Nº 4567 678 45678 4523 9098 Nº 678 45678 98 321 Edificio Edificio A Edificio A Edificio J DNI 16578913 34567433 23058091 45789455 Viviendas R-78 R-79 W-99 DNI 55789345 34567466 45789471 Conceptos y definiciones Entidad: Atributo: Identificador Unívoco o Clave Primaria: conjunto de objetos que se pueden agrupar por compartir propiedades, relaciones o aspectos de comportamiento. Ej.: proveedor, estudiante, etc. propiedad asociada a una entidad. Ej: la entidad “estudiante” tiene de atributos DNI, nombre, apellido, tlf, ... conjunto de atributos que identifican unívocamente a una entidad dentro de un conjunto de entidades. Ej.: la entidad “estudiante” tiene de clave el DNI. Relación (Asociación): conexión semántica entre dos conjuntos de entidades. Ej: Propietarios con Parcelas. Tipos de Relación • UNO A UNO: cada entidad de la tabla A está en relación con un objeto de la tabla B (Ej: DNI (A) sólo se corresponde a una persona (B)). • UNO A MUCHOS: cada entidad de A puede estar en relación con muchos objetos de B (Ej: un propietario puede tener más de una parcela). • MUCHOS A MUCHOS: cada entidad de A puede estar en relación con muchos objetos de B y viceversa. [Es aconsejable que no se use esta relación. Para ello se puede dividir en dos relaciones uno a muchos] (Ej: Alumnos con asignaturas). Reglas de Integridad de los datos (I) Restricciones de Dominio: especifican que un valor de cada atributo debe ser un valor perteneciente al dominio de ese atributo (ej: el DNI tiene que ser un valor numérico). Restricciones de Clave: todas las filas en una tabla deben de ser únicas, es decir que dos filas no pueden tener la misma combinación de valores para todos sus atributos. Integridad de Entidad: especifica que una clave primaria no puede tener valores nulos. Reglas de Integridad de los datos (II) Integridad Referencial: se especifica entre dos tablas y se usa para mantener la consistencia entre las filas de las dos tablas. La regla de integridad referencial especifica que una fila de una tabla que haga referencia a otra tabla debe referirse a una fila existente en esa tabla. Clave Foránea: un atributo es clave foránea de una tabla si satisface las siguientes condiciones: • Los valores de CF tienen el mismo dominio de los valores de la clave primaria de la otra tabla. • Un valor de CF se presenta como un valor de la clave primaria en otra tabla. Modelo Entidad/Relación Un Modelo es un proceso para crear una representación lógica de la estructura de los datos. El modelo E-R fue introducido por Peter Chen en 1976; consiste en dividir entre: • Entidades (Estudiante, Asignaturas). • Relaciones (entre entidades). Diagrama Entidad/Relación (I) Esquema gráfico que permite describir cualquier información formulada de acuerdo con un modelo E/R. Símbolos LIBROS ESCRIBE Entidad Conexión Atributo Uno a uno Clave Primaria Muchos a muchos Uno a muchos Diagrama Entidad/Relación (II) Ejemplo de Diagrama Matrícula de alumnos en un centro de la Universidad. Hipótesis: • Se considera una sola carrera. • Se considera que un profesor pertenece a un solo Departamento y que debe de pertenecer a alguno. • Se considera que un profesor imparte varias asignaturas y que una asignatura ha de estar impartida por al menos un profesor. • Las asignaturas tiene clases en días, horas y aulas determinadas. • Los alumnos se matriculan de al menos una asignatura y que una asignatura puede tener varios alumnos matriculados. • Todo Departamento debe tener un director que es profesor. Diagrama Entidad/Relación (III) Ejemplo de Diagrama Análisis previo: Entidades A t r i b u t o s Asignatura Alumno Profesor Departamento Aula Cod-Asig Nom-Alum Nom-Prof Nom-Dep Cod-Aul Nom-Asig DNI NRP Cod-Dep Capacidad Créditos Fecha-Naci Area Carácter Dirección Categoría Curso Becario Relaciones Participa Carácter Atributos Matrícula Alum.-Asig. N:M Calificación Imparte Prof.-Asig. N:M Clase Asig.-Aula N:M Pertenece Prof.-Dept. N:1 Dirige Prof.-Dept. 1:1 Día; Hora Diagrama Entidad/Relación (IV) Ejemplo de Diagrama asignatura Cod.-asig Nombre Creditos Carácter curso imparte Dia hora clase matricula pertenece calificacion aula alumnos DNI Nombre Edad Dirección Beca Profesor NRP Nombre Categoria Area dirige Cod-aula capacidad departamento Cod.-dep nombre Diagrama Entidad/Relación (V) Paso del Modelo E/R al Modelo Relacional • Conjuntos de Entidades en Tablas Cada entidad es una fila. Atributos y clave primaria (hay que identificarla) son las columnas. • Relaciones en Tablas Cada Ocurrencia es una fila (relación que se produce). Atributos • Las claves primarias de las entidades que intervienen. • Los atributos de la relación (si los hubiera). Si no hay atributos las relaciones son • Muchos a muchos la unión de las dos claves (con repetición). • Uno a muchos La clave correspondiente a muchos. • Uno a uno La unión de las dos claves (sin repetición). Si hay atributos las relaciones dependen de la semántica de los mismos. Diagrama Entidad/Relación (VI) Paso del Modelo E/R al Modelo Relacional Asignatura (Cod-Asig,Nom-Asig,Créditos,Carácter,Curso) Profesor (NRP,Nom-Prof, Categoría,Area) Alumno (DNI,Nom-Alum,Fecha-Naci,Dirección,Becario) Aula (Cod-aula,Capacidad) Departamento (Cod-Dep,Nom-Dep) Matrícula (DNI,Cod-Asig,Calificación) Clase (Cod-Asig,Cod-Aula,Dia,Hora) Imparte (NRP,Cod-Asig) Pertenece (NRP,Cod-Dept) Dirige (NRP,Cod-Dept) Aplicación de las funciones del álgebra relacional • Operadores Monarios: selección y proyección. • Operadores Binarios: unión, intersección, diferencia, producto cartesiano, p-reunión y división. Operaciones del Algebra Relacional (I) Selección: r= Código S1 S2 S3 S4 S6 S7 S8 S9 S10 Nombre Juan López Jose Sánchez Antonio Pérez Jose López Carmen López Julia Sánchez Juana Pérez Luis Gómez Maria Gálvez Ciudad Granada Jaén Cádiz Sevilla Córdoba Granada Jaén Almería Sevilla Edad 20 15 20 25 30 25 10 35 30 P (r)= P= Edad>=25 Codigo S4 S6 S7 S9 S10 Nombre Jose López Carmen López Julia Sánchez Luis Gómez Maria Gálvez Ciudad Sevilla Córdoba Granada Almería Sevilla Edad 25 30 25 35 30 Selección de Registros Operaciones del Algebra Relacional (II) Proyección: ciudad,status(r)= Ciudad Granada Jaén Cádiz Sevilla Córdoba Granada Jaén Almería Sevilla Status 20 15 20 25 30 25 10 35 30 Ciudades Selección de Campos Ciudad Granada ciudad(r)= Jaén Cádiz Sevilla Córdoba Almería Eliminación de registros repetidos Operaciones del Álgebra Relacional (III) Producto Cartesiano: A a1 a2 a3 a4 B b1 b2 b2 b4 D d1 d2 d3 A a1 a1 a1 = a2 a2 a2 a3 a3 a3 a4 a4 a4 B b1 b1 b1 b2 b2 b2 b3 b3 b3 b4 b4 b4 D d1 d2 d3 d1 d2 d3 d1 d2 d3 d1 d2 d3 Operaciones del Álgebra Relacional (IV) DNI 18457801 12771482 22388236 27550369 28771942 30995018 53428628 55919248 58449012 66161258 79569438 93580136 p-Reunión: DNI Código de Asignaturas 18457801 28771942 55919248 58449012 30995018 79569438 22388236 93580136 27550369 66161258 66161258 58449012 58449012 53428628 53428628 12771482 12902 12901 12900 15903 12903 18620 18620 15905 15652 18632 12901 15652 12902 12900 20321 20321 Nombre Arume Roberto Yapci Oscar Arume Yeray Ylenia Sheila Elena Gema Tinguaro Ayose Código de Asignaturas curso 12900 12901 12902 12903 15903 15905 15652 18650 18620 18632 20321 20323 1 3 3 3 1 1 2 2 1 2 1 2 1º Apellido Cabrera Oubiña Guillen Santana Vega Canino Naranjo Quesada Estévez Medina Bosa Robaina Operaciones del Álgebra Relacional (V) p-Reunión: Operaciones del Álgebra Relacional (VI) A a1 R= a2 a3 a4 Unión: A B a1 b1 b2 S= a2 a5 b2 b4 B b1 b2 b5 Intersección: Diferencia: R-S RS RS A a1 a2 a3 a4 a5 A B a1 b1 a2 b2 B b1 b2 b2 b4 b5 A a3 a4 B b2 b4 S-R A a5 B b5 Álgebra Relacional: División División: R= DNI Código de Asignaturas 18457801 28771942 55919248 58449012 30995018 79569438 22388236 93580136 27550369 66161258 66161258 58449012 58449012 53428628 53428628 12771482 12902 12901 12900 15903 12903 18650 18620 15905 15652 18632 12901 15652 12902 12900 20321 20321 S= Código de Asignaturas curso 12900 12901 12902 12903 15903 15905 15652 18650 18620 18632 20321 20323 1 3 3 3 1 1 2 2 1 2 1 2 DNI R ÷S= DNI,cod_as(matricula) cod_as(curso=1(asignatura)), 55919248 58449012 79569438 22388236 93580136 66161258 53428628 12771482 Operaciones sobre una BD Relacional Recuperación mediante especificación simbólica o nominal. Recuperación mediante condición aritmética y/o lógica. Aritmética • • • • • Mayor que > Menor que < Igual que = Diferente que |= ... Análisis estadísticos. Lógica • • • • • Y (and) O (or) NO (not) NI (nor o xor) ... Consulta a una BD Relacional (I) DNI ¿De qué curso son las “Gema Medina” cursa asignaturas que cursa asignaturas de 3 y 2 “Gema Medina”? DNI Código de Asignaturas 18457801 28771942 55919248 58449012 30995018 79569438 22388236 93580136 27550369 66161258 66161258 58449012 58449012 53428628 53428628 12771482 12902 12901 12900 15903 12903 18620 18620 15905 15652 18632 12901 15652 12902 12900 20321 20321 18457801 12771482 22388236 27550369 28771942 30995018 53428628 55919248 58449012 66161258 79569438 93580136 Nombre Arume Roberto Yapci Oscar Arume Yeray Ylenia Sheila Elena Gema Tinguaro Ayose Código de Asignaturas curso 12900 12901 12902 12903 15903 15905 15652 18650 18620 18632 20321 20323 1 3 3 3 1 1 2 2 1 2 1 2 1º Apellido Cabrera Oubiña Guillen Santana Vega Canino Naranjo Quesada Estévez Medina Bosa Robaina Consulta a una BD Relacional (II) Tabla Barrios Id_Barrios Id_Ciudad Población Nombre 1 1 100000 Escaleritas 2 1 50000 Alcaravaneras 3 2 15000 Albaicín Tabla Equipamientos Id_Equipo. Nombre Propietario 1 Centro Salud Seguridad Social 2 Club Jubilados Ayuntamiento 3 Biblioteca Ministro de Cultura Tabla: Situado en (Equipamiento y Barrios) Id_Barrios Id_Equip Tamaño (m2) Médicos 1 1 300 3 1 3 100 0 2 2 50 1 3 1 100 10 3 2 25 0 3 2 150 0 Tabla: Incluido en (Barrios y Ciudad) Nombre Ciudad Escaleritas Las Palmas G.C. Alcaravaneras Las Palmas G.C. Albaicín Granada Pregunta: ¿En qué ciudades tiene centros el Ministerio de Cultura? Respuesta: Las Palmas de G.C. Ventajas de las BD Relacionales Poseen una estructura de datos de tratamiento rápido y de fácil manejo. Son estructuras muy adecuadas para gestionar datos alfanuméricos numerosos. Poseen un lenguaje de gestión (SQL) de gran claridad y facilidad de uso. Inconvenientes de las BD Relacionales Problemas de incoherencia de datos e integración difíciles de resolver. Es una estructura poco adecuada para gestionar datos gráficos. Ejemplo de BD Relacional Tema 2