ESCUELA NAVAL DE CADETES “ALMIRANTE PADILLA” FACULTAD DE OCEANOGRAFÍA FÍSICA FUNDAMENTOS DE BASES DE DATOS ¿Que es un dato? Un dato es la representación de un hecho que nos interesa. Ejemplo: Nombre, Dirección, Caudal, Latitud, Profundidad, etc. ¿Qué es una base de datos? Colección de datos acerca de objetos localizados en una determinada área de interés en la superficie de la tierra, organizados en una forma tal que puede servir eficientemente a una o varias aplicaciones y gestionada por un software conocido como DataBase Management System (DBMS). Es una colección de archivos interrelacionados y un conjunto de programas que permiten a los usuarios acceder y modificar estos archivos. Una base de datos consiste en un grupo de datos relacionados que pueden ser utilizados por una multitud de usuarios sirviendo a un amplio rango de propósitos. Una base de datos es un componente de un sistema manejador de una base de datos, el cual permite a la organización, almacenar y recuperar datos estructurados. Bases de Datos Geográficas Los datos que maneja una base de datos geográfica Un objeto SIG es cualquier elemento relativo a la superficie de la tierra, y con una localización espacial. Gráficos Alfanuméricos Bases de Datos Geográficas Aplicaciones de una base de datos geográfica? Producción y actualización de la cartografía básica. Administración de servicios públicos. Inventario y avaluó de predios. Estratificación. Atención de emergencias. Prevención de desastres. Redes viales. Oceanografía Hidrografía Logística Bases de Datos Geográficas ¿Qué es un Sistema de Gestión de Bases de Datos (SGBD)? Es un conjunto de programas, procedimientos y lenguajes que proporcionan a los usuarios las herramientas necesarias para operar una base de datos. Los SGBD son los que actúan como “interfaz” entre la BD y los diferentes niveles de gestión (usuarios) que se necesiten para la interacción con la base de datos. Las BD, no se manipula directamente por los usuarios, siempre se debe tener un SGBD. Bases de Datos Geográficas Usuarios de un SGBD. Informáticos (administradores, diseñadores, analistas) Finales (habituales, esporádicos) Bases de Datos Geográficas Componentes de un SGBD. Lenguaje de definición de datos DDL. Lenguaje de manipulación de datos DML. Lenguaje de consulta de datos SQL. Conjunto de programas y procedimientos que permiten describir, manipular y consultar la información de una base de datos a los diferentes tipos de usuario, garantizando seguridad sobre esta información. Bases de Datos Geográficas Propiedades ACID Acrónimo inglés que se refiere a las siguientes propiedades de un SGBD transaccional: Atomicity (Atomicidad): Todas las operaciones de una transacción son ejecutadas o ninguna. Consistency (Consistencia): Solo se ejecutan transacciones que dejen a la base de datos en un estado consistente al final, es decir, que no violen las reglas de integridad (integrity constraints). Isolation (Aislamiento): ninguna operación fuera de la transacción puede ver el estado de los datos en un estado intermedio de esta. Durability (Durabilidad): una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema. Estas propiedades permiten que los datos puedan ser compartidos de forma segura. Bases de Datos Geográficas Ventaja de una Base de Datos. Control de redundancia de datos. Los sistemas de ficheros almacenan copias de los mismos datos en varios ficheros, con BD estas copias se reducen, casi eliminan. Consistencia de datos. Ya que se ha controlado redundancia, sabemos que los datos van a estar solo una vez, y así a la hora de actualizarlos solo lo haremos una vez. Bases de Datos Geográficas Mas información sobre los datos. Como todos los datos están integrados, se conoce mas información sobre ellos mismos. Compartición de datos. Las bases de datos pueden compartir la información con usuarios mas fácilmente por sus programas de aplicación. los Bases de Datos Geográficas Mantenimiento de estándares. Fácil manejo de los estándares internos de la empresa como de los nacionales e internacionales. Integridad de los datos. La integridad se puede manejar gracias a la consistencia y a las restricciones que se tengan con los datos almacenados. Seguridad. normalmente las bases de datos son seguras y esta misma seguridad es la protección de toda la información contenida en esta. Bases de Datos Geográficas Accesibilidad. Los SGBD proporcionan interfaces de consulta para manejo de la información. Productividad. A la hora de programar consultas los SGBD proporcionan muchas funciones para el manejo de los datos. Bases de Datos Geográficas Abstracción de la Información. Los SGBD ahorran detalles a los usuarios acerca del almacenamiento físico de los datos. Independencia. Se pueden hacer cambios sin afectar las aplicaciones. Bases de Datos Geográficas Desventajas de la Bases de Datos Complejidad. Las BD y los SGBD son complejos por su gran funcionalidad. Tamaño. Por sus grandes funcionalidades requieren de buena memoria para un excelente desempeño. Bases de Datos Geográficas Costos. Algunos de los mejores SGBD cuestan demasiado dinero. O el costo de tener un administrador (DBA) es costoso. Personal especializado. Para el manejo administrativo de las bases de datos se requiere personal con conocimientos de esta (DBA). Vulnerable a fallos. Como todo esta centralizado, un fallo afecta casi todo. Bases de Datos Geográficas PostgreSQL MySQL Firebird SQLite Sybase ASE dBase FoxPro Microsoft SQL server Paradox Oracle PervasiveSQL OpenAcces Sybase ASE Informix MODELOS DE DATOS Definición Un Modelo de Datos, es un sistema formal y abstracto que permite describir los datos de acuerdo con reglas y convenios predefinidos. Son las herramientas que utilizamos para poder comunicar y plasmar nuestras percepciones del mundo real. Un MD es una combinación de tres componentes: Estructuras de datos Operadores o reglas > Consultar Reglas de Integridad. Objetivos 1. Formalizar: Definir formalmente las estructuras permitidas y las restricciones a fin de representar los datos de un Sistema de Información. 2. Diseño: El modelo resultante es un elemento básico para el desarrollo de la metodología de diseño de la base de datos. Tipos de Modelos de Datos MODELO ENTIDAD-RELACIÓN Definición Es una técnica de diseño de bases de datos gráfica, la cual se basa en una percepción del mundo real, la cual esta formada por objetos básicos llamados entidades, las relaciones entre estos objetos y los atributos de esos objetos. Una entidad es un objeto concreto o abstracto que presenta interés para el sistema y sobre el que se recoge información la cual va a ser representada en un sistema de base de datos. Atributo: Es una unidad básica e indivisible de información acerca de una entidad o una relación y sirve para identificar y describir a las mismas. Ejemplo Entidad: Municipios, Veredas, Predios, etc.. Ejemplo Atributos: Municipio --> Nombre, área, No. Habitantes. Predio --> Nombre, No. Cédula catastral, área. Dominios Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le conoce como dominio del atributo. Ejemplo: Describir un conjunto de dominios para los atributos Código, Nombre y No de habitantes para la entidad Municipio. Conjunto de Relaciones • Es la asociación que existe entre dos a más entidades. • La cantidad de entidades en una relación determina el grado de la relación . Cardinalidades Relación que expresa el número de entidades a las que otra entidad puede estar asociada a través de un conjunto de relaciones. Especifica los tipos de relaciones que existen entre las entidades en el modelo E-R y establece con esto las validaciones necesarias para conseguir que los datos correspondan con la realidad. Cardinalidades Relación uno a uno Ejemplos: • Un auto es conducido por una persona • Una persona solo posee una cedula • Un país sólo posee una capital Relación uno a muchos Ejemplos: • País puede contener muchas ciudades • Una vereda puede tener muchos predios • Cliente puede poseer muchas cuentas bancarias Relación muchos a uno Ejemplos: • Muchas Ciudades pueden conformar un país • Muchos predios pueden conformar una vereda • Muchos empleados conforman una empresa Relación muchos a muchos Ejemplos: • Empleado - Proyectos • Departamento - ríos. • Estudiante - Materias Diagrama Entidad – Relación Es la representación gráfica de un modelo de base de datos. Entidades Atributos Relaciones Unen atributos – Entidades Entidades - Relaciones LLAVES O CLAVES. Una clave es una referencia que se utiliza para identificar los registros de forma única y está formada por uno o mas atributos (columnas) de los registros. Llave candidata: Atributo o atributos que pueden distinguir de forma unívoca una tupla o registro dentro de una tabla. Puede haber varias claves candidatas para distinguir una misma entidad. Se elegirá como clave candidata aquel atributo que posea un dominio en el que se tenga valores únicos. Si esto no es posible, entonces usaremos como clave candidata la combinación de varios atributos, de manera que esta combinación sí sea única. Llave principal: Es aquella de las claves candidatas que es designada para distinguir de forma unívoca una tupla o registro dentro de una tabla. Llave foránea: Se trata de un atributo que es llave o clave principal en otra tabla. Llaves Primarias (pk) Es importante porque permite acceder a cada uno de los elementos de la Base de Datos por direccionamiento asociativo mediante la combinación de tres factores: El nombre de la Tabla. La columna. El valor de la clave. Ejemplo: para la entidad persona, la pk (primary key) corresponde a la cédula de ciudadanía. Para una Estación, el código. Un conjunto de entidades que no tiene suficientes atributos para formar una clave primaria se denomina conjunto de entidades débiles. MODELO RELACIONAL Definición Una BD que se ajuste a un esquema ER se puede representar por una colección de tablas. Convertir un MER a un modelo de tablas = Diseño relacional. Modelo Relacional se basa en la creación de tablas de dos dimensiones. Las filas son llamadas tuplas o registros. Cada tabla debe tener varias columnas cada una con un nombre único. Leyes básicas de los SBDR La B de D contendrá generalmente muchas Tablas. Una Tabla sólo contiene un número fijo de Campos. El nombre de los Campos que componen una Tabla es distinto. Cada Registro de una Tabla es único. El orden de los Registros y el orden de los Campos de una Tabla no está determinado. • Para cada Campo existe un conjunto de valores posibles (Dominio). • • • • • Reducción de un diagrama ER a Tablas y llaves foráneas Llaves Foráneas: Cuando la llave o identificador conduce a otra tabla. Una tabla puede heredar la llave primaria de otra tabla con la cual posee una relación. Reglas para traducir un MER en un Modelo Relacional Si la cardinalidad es 1:1 existe la posibilidad de unir las dos tablas en una sola. Si la cardinalidad es 1:M se agrega el identificador de la entidad padre como un atributo de la entidad hija. Si la cardinalidad es M:M se crea una tercera tabla que contiene únicamente los identificadores (llaves) de las dos tablas a ser relacionadas. EL LENGUAJE ESTRUCTURADO DE CONSULTAS (SQL) Definición El lenguaje SQL (Structured Query Language) es un lenguaje de base de datos normalizado utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Componentes? comandos, cláusulas, operadores y funciones de agregado Qué permite? crear, actualizar y manipular las bases de datos. Definición Qué tipos de Comandos existen? DDL que permiten crear y definir nuevas tablas, campos, índices y otros objetos de la base de datos. DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos al igual que actualizar datos y eliminar registros. SQL Comandos y Cláusulas Comandos DDL SQL Comandos y Cláusulas Comandos DML SQL Comandos y Cláusulas Cláusulas. SQL Operadores Operadores lógicos SQL Operadores Operadores de Comparación. SQL Funciones de valor agregado Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros. Funciones de Agregación Sintaxis. 1. Creación de tablas. CREATE TABLE nombre_tabla ( Columna tipodato,….,); Ejemplo: CREATE TABLE empleados( Codigo int(10), nombre varchar(30), Telefono varchar(10), salario int(10)); Sintaxis. 2. Eliminar una tabla. DROP TABLE tabla; Ejemplo: DROP TABLE empleado; Sintaxis. 1. Recuperación de datos. SELECT [distinct] {*,columnas} FROM Tabla(s) WHERE Condición. Sintaxis. 2. Inserción de filas. INSERT INTO tabla [Columnas] VALUES [Valor]; Ejemplo: INSERT INTO depto (codigo, nombre) VALUES (100,’Sistemas’); Sintaxis. 3. Modificación de filas. UPDATE tabla SET columna=valor WHERE condición; Ejemplo: UPDATE empleado SET salario=salario*1.10 WHERE departamento=40; Sintaxis. 4. Eliminación de filas. DELETE FROM tabla WHERE condición; Ejemplo: DELETE FROM empleado WHERE departamento=10; SISTEMAS DE BASES DE DATOS GEOGRÁFICA Escuela Naval de Cadetes “Almirante Padilla” - Ing. José Luis Payares - 2008 CREACIÓN DE BASES DE DATOS GEOGRÁFICA Escuela Naval de Cadetes “Almirante Padilla” - Ing. José Luis Payares - 2008 ETAPAS EN EL DISEÑO DE UNA BASE DE DATOS Evaluación de necesidades Diseño Conceptual y Lógico Diseño Físico Plan de Automatización Proyecto Piloto Implementación Ing. José Luis Payares - 2008 EVALUACIÓN DE NECESIDADES Definir el objetivo Decidir el alcance Hacer las preguntas correctas a las personas correctas DATOS Tareas SIG Base de Datos SIG USUARIOS Ing. José Luis Payares - 2008 …EVALUACIÓN DE NECESIDADES • Qué tareas se realizan usando datos espaciales. • Qué tareas se realizan actualmente sin usar datos espaciales, pero tienen un componente espacial. • Qué tareas no se realizan actualmente, pero se desean. • Qué tipos de productos el sistema necesitará producir (mapas, reportes, etc.). • Qué aplicaciones necesitará desarrollar. • Qué datos se necesitan para satisfacer las tareas indicadas. • Los datos se compartirán entre múltiples usuarios • Qué medidas especiales de seguridad son necesarias. Ing. José Luis Payares - 2008 DISEÑO CONCEPTUAL Y LÓGICO Identificar entidades geográficas y atributos Organizar entidades geográficas en capas temáticas Entidades del mundo real Calles Tipos de suelo Parcelas Arboles Clase entidad Líneas Polígonos Polígonos Puntos Atributos Nombre Clase Tipo Permeabilidad Uso Zona Especies Edad Comportamiento Reglas de Conectividad Dominio para clase de suelo Subtipo de Espacio abierto No El diseño conceptual es el nivel más alto que permite determinar cómo trabajará las base de datos. El diseño lógico es un esquema detallado que completa el diseño conceptual en acuerdo con un modelo de datos Ing. José Luis Payares - 2008 específico. DETERMINAR EL FORMATO DE ALMACENAMIENTO Escoja el formato que cumpla con sus necesidades Puede convertir entre formatos si es necesario Piénselo a largo plazo. Shapefile Cobertu ra CAD Raster Base de Datos SIG Geodatabas e Ing. José Luis Payares - 2008 DISEÑO FÍSICO Esquema detallado de los pasos conceptuales y lógicos Clarificar el esquema de la base de datos Estructura Tabular Relaciones Codificaciones Dominios y subtipos Documentación de procedimientos Convenciones para nombres Actualización de metadatos Ing. José Luis Payares - 2008 ESQUEMA DE LA BASE DE DATOS Diseño y estructura de la base de datos. Pensar a futuro ahorra esfuerzos después. El esquema es similar a los planos de un casa. La clave es conocer que se quiere antes de empezar a planear. Ing. José Luis Payares - 2008 PLAN DE AUTOMATIZACIÓN Compra de Datos Conversión y edición de Datos Captura de Datos Agregación de Datos Ing. José Luis Payares - 2008 PROYECTO PILOTO Una prueba enfocada con parte de los datos. Determina si el diseño funciona. Es mejor devolverse en el diseño que ir hacia delante y fallar. La conducción de al menos un estudio piloto permite evaluar el diseño de la base de datos a un costo relativamente bajo antes de una implementación completa. El diseño debe ser probado en funcionalidad, desempeño y flexibilidad. Ing. José Luis Payares - 2008 Ing. José Luis Payares - 2008 DISEÑO DE LA BASE DE DATOS La representación más relevante de los datos geográficos Realidad Proceso de Diseño Diseño de la BD Geodatabase Ing. José Luis Payares - 2008 HERRAMIENTAS PARA EL DISEÑO Algunos procesos básicos son diseñados en la base de datos GIS Nuevas herramientas (OOAD y UML) brindan nuevas alternativas para pensar y transmitir procesos tradicionales Ing. José Luis Payares - 2008 …HERRAMIENTAS PARA EL DISEÑO Análisis y Programación Orientada a Objetos (OOAD) Un proceso se idealiza a través de un problema Se usa partes de OOAD en el modelamiento Modelo Unificado de Lenguaje (UML) Una forma de escribir procesos y resultados Un lenguaje de modelamiento Standard de la industria Algunos procesos han adoptado UML Ing. José Luis Payares - 2008 EL DISEÑO LO REALIZA UN EQUIPO Diseñar requiere de muchas habilidades Destrezas en diseño – manejo del diseño Manejo de personal – en conocimiento y comunicación Administración – detalles a tratar Habilidades en diseño – procesos, herramientas y anotaciones Habilidades GIS – Conocimiento de conceptos y software SIG Programación – escribir las aplicaciones Personalización – diseño de GUI para las aplicaciones Administradores de bases de datos – ArcSDE, Oracle Plataformas – computadores y redes Se necesita un equipo Ing. José Luis Payares - 2008 IMPLEMENTACION DE UNA BD Evaluación inadecuada de necesidades Falta de tiempo y dinero PRINCIPALES FALLAS Cambio del personal Datos imprecisos Ing. José Luis Payares - 2008 ...IMPLEMENTACION DE UNA BD Evaluación deficiente del estado de arte Elección del sistema que lo hace todo PRINCIPALES ERRORES Creación de falsas expectativas Subvaloración de la inversión requerida Ing. José Luis Payares - 2008 ...IMPLEMENTACION DE UNA BD No certeza sobre verdaderas capacidades del sistema Cajas negras durante el diseño PRINCIPALES ERRORES Exceso de burocracia Cajas negras durante la producción No consideración de los costos de mantenimiento de equipos y del sistema Ing. José Luis Payares - 2008 …IMPLEMENTACION DE UNA BD Adquisición de datos DECISIONES CRITICAS Esquema de clasificación de los datos (Modelo conceptual) Centralización o descentralización Acceso a usuarios y confidencialidad Ing. José Luis Payares - 2008 El éxito de un proyecto depende de: Su habilidad y experiencia Sus preguntas bien enfocadas