Download Bases de Datos Introducción
Document related concepts
Transcript
BASES DE DATOS Introducción Por Ing. Elizabeth León Guzmán Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS Contenido Datos, información, bases de datos Historia de los datos DBMS Arquitectura de un Sistema de Bases de Datos Introducción a Bases de Datos Introducción Dato ¿Qué es un dato? Introducción a Bases de Datos Introducción Dato ¿Qué es un dato? Hecho individual acerca de algo de interés para alguien: númerico, alfanúmerico, etc. Introducción a Bases de Datos Introducción Información ¿Qué es información? Introducción a Bases de Datos Introducción Información ¿Qué es información? - Un dato no constituye información. - Procesamiento de los datos nos proporciona información (relación entre los datos) Edad Introducción a Bases de Datos Nombre Introducción ¿Qué es una base de datos? Introducción a Bases de Datos Bases de Datos Definición Una colección de datos relacionados, y una descripción de estos datos, diseñados para cumplir con las necesidades de información de una organización. (Connolly & Begg) Introducción a Bases de Datos Bases de Datos Datos metadatos BD Introducción a Bases de Datos Bases de Datos Operaciones sobre los datos Procesamiento Almacenamiento Recuperación Actualización Intercambio Organizaciones realizan operaciones sobre sus datos provenientes de su actividad Introducción a Bases de Datos Métodos primitivos para almacenamiento y manejo de datos Interés en datos por lo menos en los últimos 12.000 años [1] Introducción a Bases de Datos Historia de los datos Año 3000 A.C: Fichas de arcilla antiguas para llevar el registro de las mercancías en tránsito (certificaban el contenido del embarque) Tabillas de arcilla: pictogramas, símbolos que describían venta de tierras y transacciones de pan, cerveza, ovejas, ganado y prendas de vestir Neolítico: cortes y muescas en palos de madera o nudos en cuerdas Introducción a Bases de Datos Historia de los datos Surgimiento de ciudades: Trueque Uso de moneda para comerciar bienes y servicios Promovió la actividad de llevar un registro: recuento de los datos para saber cuanto ha producido una persona y cuanto de esa producción puede destinarse al trueque o a la venta Introducción a Bases de Datos Historia de los datos Con el tiempo, diferentes clases de datos fueron registrados: Calendario, datos de censos, inspecciones, sondeos, registros de propiedad de la tierra, registros de matrimonios, registros de contribuciones a la iglesia y árboles genealógicos, etc Seguimiento a inventarios, embarques, pagos de salarios, etc. Introducción a Bases de Datos Historia de los datos Interés comercial: sociedades temporales (entre mercaderes, capitanes de barcos, etc) -> llevar registros más complejos -> contabilidad por partida doble Introducción a Bases de Datos Historia de los datos La contabilidad por partida doble se origino en centros comerciales de Italia (siglo XIV) Mercader de Génova (año 1340) Obra: Summa de Arithmetica, Geometrica 1494 Uso de primera máquina impresora Introducción a Bases de Datos Dispositivos de cálculo Siglo XVII ->interés en dispositivos que pudieran procesar datos “automáticamente” Blaise Pascal produce una máquina sumadora (1640) que fue la precursora del odómetro automotriz mecánico de ahora Tarjetas perforadoras: Joseph Marie Jacquard (1805) inventó dispositivo que automáticamente reproducía diseños durante el proceso de entramado de textiles. Guardaba patrones de diseño en tipo grafico, en forma de agujero en tarjetas perforadas-> idea brillante para futuros dispositivos de almacenamiento Introducción a Bases de Datos Historia de los datos Problemas en almacenamiento y recuperación de datos Censo de 1880 en Estados Unidos se demoro 7 años de trabajo manual Finales siglo XIX se dio inicio a la era del procesamiento de la información La solución fue dada por Hollerith: almacenamiento en tarjetas perforadas e invento maquinaria para manipularlas (electromecánica) Introducción a Bases de Datos Historia de los datos El censo en 1890 se completó en un mes y la tabulación de los datos duro 2 años. En 1896 Hollerith fundó Tabulating Machine Company para producir y comercializar sus dispositivos, con el tiempo esta compañía llego a ser IBM. Inicios siglo 20, James Powers desarrolló dispositivos para alimentar tarjetas en el equipo e imprimir resultados de manera automática Introducción a Bases de Datos Historia de los datos En 1911 fundó la Powers Tabulating Machine Company, que llego a ser Unisys corporation. En la decada de 1950 fueron introducidos los primeros computadores electrónicos. Medios nuevos para almacenar datos: Cinta de papel perforada Cinta magnética Disco magnético Tambores magnéticos Unidades de disco Discos compactos DVD Introducción a Bases de Datos Tipos de Datos Cuantificables ( numéricos ) Cualitativos ( categóricos: nominales, ordinales ) Ejemplos Introducción a Bases de Datos Abstraer un Minimundo Ejemplo: Sistema académico Entes y sus propiedades (datos) Estudiante. (nombre, código, teléfono, semestre, carrera) Profesor.(nombre, profesión, investigación) Curso. (nombre, horario, salón) Introducción a Bases de Datos Aplicaciones Ventas Bancos Libros, autores, editoriales, prestamos Finanzas Estudiantes, matriculas, cursos y profesores Bibliotecas Historias clínicas, citas, doctores, enfermeras y enfermedades Educación (colegios, universidades) Clientes, cuentas, prestamos y transacciones bancarias Hospitales Clientes, productos y compras Acciones, bonos, ventas y compras Transporte Reservas, horarios, inventario . . . Introducción a Bases de Datos Base de datos Internet Front End Aplicaciones Back End Bases de datos Almacenamiento Introducción a Bases de Datos Arquitectura Cliente-servidor Servidor: gestiona la base de datos Cliente: permite enviar comandos al servidor Cliente 1 Cliente 2 . . . Cliente n Introducción a Bases de Datos Servidor Sistema de Base de Datos Usuarios Programas de Aplicación Sistema Administrador de bases de datos DBMS (Database Management System) Dato s Metadato s Sist. Operativo Proporcionar forma de almacenar y recuperar la información de manera practica y eficiente Introducción a Bases de Datos Usuario Admon Petición de datos Datos Vista DBMS DBMS Petición de datos metadatos Usuario Final Usuario Simple o Experto BD Petición de datos Usuario Programador o Desarrollador Introducción a Bases de Datos Usuarios de Bases de datos Diseñador: Establece el esquema de la BD Programador: Construye la BD (implementación) Desarrollador de aplicaciones: implementa las aplicaciones (Ej: web), “interfaces” entre los usuarios finales y la bd. Administrador: Carga los datos, genera los accesos a los usuarios finales (permisos), etc. Introducción a Bases de Datos Los que usan los datos Final: Usuario Diseñador Diseña el modelo lógico de la BD Organización de los datos Usos típicos de los datos Como se almacenan los datos Introducción a Bases de Datos Usuario Programador Implementa aplicaciones que se comunican con la BD: Web Interfaces a otras aplicaciones Introducción a Bases de Datos Usuario Administrador Planificación de la base de datos Desarrollo de estándares (ej.: nombres), políticas y procedimientos Diseño lógico de la base de datos Acceso y control (usuarios y passwords) Mantenimiento Respaldo Introducción a Bases de Datos Usuario Final Simple: usuario que usa la BD Experto: usa y tiene privilegios en la BD Introducción a Bases de Datos DBMS (Data Base Manager System) Sistema de Administración de bases de Datos “Conjunto de programas que maneja la estructura de la BD y controla el acceso a los datos guardados en ella” Introducción a Bases de Datos DBMS Crea y organiza Establece y mantiene rutas de acceso Maneja los datos según las necesidades de los usuarios Mantiene integridad y seguridad de los datos Control de usuarios que acceden Introducción a Bases de Datos DBMS Gran cantidad de personas quieren acceder a la información: Empleados, clientes, etc. DBMS deben proveer: Eficiencia: datos masivos (terabytes) Seguridad de los datos: datos consistentes(hardware, poder, etc.) Privacidad de los datos Recuperación de los datos. Persistencia: datos deben mantenersen, (Respaldo de los datos) Introducción a Bases de Datos DBMS Gran cantidad de personas quieren acceder a la información: Empleados, clientes, etc. DBMS deben proveer: Eficiencia: datos masivos (terabytes) Seguridad de los datos: datos consistentes(hardware, poder, etc.) Privacidad de los datos Recuperación de los datos. Persistencia: datos deben mantenersen, (Respaldo de los datos) Introducción a Bases de Datos Eficiencia Grandes cantidades de usuarios y generación de datos Multiusuario: manejo de la concurrencia. Que para los usuarios sea transparente que otros usuarios acceden a la base de datos simultaneamente. Miles de consultas por segundos Introducción a Bases de Datos Seguridad de los datos Proteger los datos de destrucciones maliciosas o cambios en los datos (robo, destrucción, intentos de falsificación) Ejemplo: alguien que quiera incrementar el saldo de su cuenta bancaria Datos deben ser consistentes a pesar de lo que pueda ocurrir Introducción a Bases de Datos Privacidad de los datos Los empleados que consultan los datos de las compañías se les asigna acceso solo a los datos que ellos requieren para su trabajo. Ejemplo: los vendedores no deberían tener acceso a los datos de salario de los empleados de la compañía Introducción a Bases de Datos Respaldo y recuperación de los datos Capacidad de recuperar los datos si estos son perdidos o dañados, ya sean por: fallas de hardware desastre natural Introducción a Bases de Datos Mantenimiento de la exactitud de datos Datos almacenados varias veces Cuando una nueva aplicación aparece los datos son nuevamente almacenados Redundancia de datos Introducción a Bases de Datos Datos como Recurso Corporativo Los datos son un recurso difíciles de manejar Cantidades inmensas de datos Es necesario utilizar software que permita ayudar a manejar los datos Es necesario hardware cada vez mas rápido a medida que el volumen de datos crece. Especialistas en administración de datos son necesarios. Introducción a Bases de Datos Datos como Recurso Corporativo Database Management Systems DBMS (Sistema Gestor de Bases de Datos) Administradores de bases de datos Hardware mas rápido Facilidades para almacenar grandes volumenes de datos. Introducción a Bases de Datos Tipos de DBMSs Según el modelo de Datos Relacional – Modelo de datos basado en tablas Red – Modelo de datos basado en grafos con registros como nodos y relaciones entre registros como enlaces. Jerarquico – Modelo de datos basado en arboles Orientado a Objetos – Modelo de datos basado en el paradigma de la programacion orientada a objetos. Distribuido – Compuesto de varios DBMSs independientes como nodos de un ared de comunicaciones. Introducción a Bases de Datos Sistemas Administradores de Bases de Datos (DBMS) Tipos de DBMS Según modelo de datos administradores administradores administradores administradores de de de de Según número de usuarios Sistemas Sistemas Sistemas Sistemas Monousuario Multiusuario Según número de sitios Centralizado Distribuido Introducción a Bases de Datos datos datos datos datos relacionales orientados a objetos jerárquicos en red •1960 •IBM, UNIVAC, HoneyWell •Computadores mainframe •Legacy systems (datos históricos) Sistemas Administradores de Bases de Datos (DBMS) Tipos de DBMS Según modelo de datos administradores administradores administradores administradores de de de de Según número de usuarios Sistemas Sistemas Sistemas Sistemas Monousuario Multiusuario Según número de sitios Centralizado Distribuido Introducción a Bases de Datos datos datos datos datos relacionales orientados a objetos jerárquicos en red •Viable en 1980 •Preferido desde entonces Sistemas Administradores de Bases de Datos (DBMS) Tipos de DBMS Según modelo de datos administradores administradores administradores administradores de de de de Según número de usuarios Sistemas Sistemas Sistemas Sistemas Monousuario Multiusuario Según número de sitios Centralizado Distribuido Introducción a Bases de Datos datos datos datos datos relacionales orientados a objetos jerárquicos en red •Util para ciertas aplicaciones Aspectos de BD Ambiente centrado en los datos: recurso corporativo importante. Compartir los datos con personas que los requieran dentro y fuera de la organización Integración de datos y almacenarlos en forma no redundante Ambiente que maneje aspectos como: seguridad, respaldo, recuperación y control de concurrencia de datos Introducción a Bases de Datos Tipos de BD En número de usuarios BD de escritorio: soporta solo un usuario al tiempo BD multiples: múltiples usuarios al mismo tiempo BD de grupo de trabajo: menos de 50 usuarios BD empresarial: mas de 50 usuarios (cientos) En ubicación de los datos BD centralizada: todos los datos en un mismo lugar (el mismo servidor) BD distribuida: datos distribuidos en varios servidores Introducción a Bases de Datos Tipos de BD Modo de uso y “tiempo de captar la información” Base de datos operacional o transaccional: soporta operaciones diarias de una compañía. (transacciones de de venta, pagos servicios,etc.). Registradas con precisión y de inmediato. Bodega de Datos: Guarda datos empleados para generar información que soporte toma de decisiones. Introducción a Bases de Datos Tipos BD Estructuración de los datos Datos No estructurados: datos en formato en el cual fueron recolectados. El formato no permite el procesamiento de la información Documentos texto, contenidos de “e-mails”, memorandos Introducción a Bases de Datos Datos estructurados: los datos son procesados para que la información tenga un formato. Estudiante: nombre, codigo, edad, genero, semestre Datos semiestructurados: datos que han sido procesados en alguna medida Digitalizacion de facturas en imágenes Email: el remitente y el destino estan formateados, el asunto y el contenido NO. Introducción a Bases de Datos Tipos BD Bases de datos XML: soporta el almacenamiento y admon de datos XML semiestructurados. XML: XML EXtensible Markup Language), Lenguaje de marcado extensible. Lenguaje especial que representa y manipula elementos de datos en formato textual. Introducción a Bases de Datos Modelo de Datos Formalismo que define cual es la estructura de los datos Alternativas Entre un archivo Entre archivos Jerarquica Red Relacional Orientada a Objetos La estructura es llamada schema (esquema) Un esquema tiene muchas instancias Introducción a Bases de Datos Breve Historia de las Bases de datos 1960s: Inicios de 1960s: Charles Bachmann desarrollo el primer DBMS (IDS) 1960s: Primer DBMS exitosamente comercial desarrollado por IBM (IMS) Modelo de red Modelo Jerárquico donde la relación de los datos era en forma de árbol 1960s: Conference On DAta Systems Languages (CODASYL) modelo definido. Modelo de red mas estandarizado. Introducción a Bases de Datos Breve Historia de las Bases de datos 1970s: 1970: Ted Codd definió el modelo relacional en el Laboratorio San Jose de IBM Comienzan dos proyectos INGRES en la University of California, Berkeley Llega a ser comercial INGRES, seguido por POSTGRES que fue incorporado en Informix System R en IBM San Jose Laboratory Llego a ser DB2 1976: Peter Chen definió el modelo entidad relación (ER) Introducción a Bases de Datos Breve Historia de las Bases de datos 1980s Tecnología de bases de datos relacionales es madura El SQL es estandarizado por la ISO (finales de 1980s) Introducción a Bases de Datos Breve Historia de las Bases de datos 1990s Continua la expansión de la tecnología relacional y mejora su rendimiento. Distribución es realidad Nuevos modelos de datos: orientado a objetos, deductivo Tarde 1990s: el modelo OO es incorporado al relacional DBMSs → Object-Relational DBMSs Nuevas áreas de aplicación: Data warehousing y OLAP, Web e Internet, interés en texto y multimedia. Introducción a Bases de Datos Ejemplo de instancias en modelo relacional TRABAJA EMPLEADO ENO E1 E2 E3 E4 E5 E6 E7 E8 ENOMBRE J. Diaz M. Nuñez A. Arias J. Martínez B. Casas L. Rondón R. Pardo J. Angarita EPROFESION Ing. Eléctrico Analista Sistemas Ing. Mecánico Progrador Analista Sistemas Ing. Eléctrico Ing. Mecánico Analista Sistemas PROYECTO PNO P1 P2 P3 P4 P5 PNOMBRE Instrumentacion Desarrollo de BD CAD/CAM Mantenimiento CAD/CAM Introducción a Bases de Datos PRESUPUESTO 150000 135000 250000 310000 500000 ENO PNO E1 E2 E2 E3 E3 E4 E5 E6 E7 E7 E8 P1 P1 P2 P3 P4 P2 P2 P4 P3 P5 P3 RESP Administrador Analista Analista Consultor Ingeniero Programador Administrador Administrador Ingeniero Ingeniero Administrador DUR 12 24 6 10 48 18 24 48 36 23 40 Lenguaje DDL - Lenguaje de Definición de Datos: Permite definir los componentes del esquema. Lo usa el administrador. DML – Lenguaje de Manipulación de Datos: Permite administrar las operaciones a realizar sobre los datos: consultar y/o modificar. Introducción a Bases de Datos SQL - Structured Query Language Lenguaje propio de los DBMS para interactuar con las bases de datos: Crear Definir Consultar Modificar Actualizar Introducción a Bases de Datos Lenguaje de Consulta SQL es un lenguaje de programación para bases de datos Algebra relacional es el lenguaje base para queries que extraen datos Embedded SQL es un lenguaje que combina programas SQL con otros lenguajes 4GL son programas de aplicación que extienden SQL ODBC/JDBC/Dynamic SQL son protocolos estandars para acceder a sistemas de bases de datos desde maquinas remotas Introducción a Bases de Datos Arquitectura General de un DBMS Nivel Externo Nivel Lógico o conceptual Nivel Físico o interno Introducción a Bases de Datos Nivel interno Estructura física de almacenamiento Todos los detalles de cómo el DBMS utiliza el disco duro, la memoria, etc. El sistema debe ser rápido en responder y eficiente en el uso de espacio Introducción a Bases de Datos Nivel conceptual Estructura lógica de almacenamiento Diseño conceptual de la base de datos: Tablas, columnas, etc. El diseño debe reflejar conceptualmente el problema a modelar Introducción a Bases de Datos Nivel externo Vistas sobre las tablas Requiere sólo acceso parcial a los datos Cada vista debe reflejar adecuadamente la parte de los datos que interesa a cada uno Introducción a Bases de Datos Esquema de la base de datos Descripción de la estructura de la base de datos Esquema Interno Esquema Conceptual Esquema Externo Introducción a Bases de Datos Esquema interno Descripción de la organización física de los datos: estructuras de datos en disco y rutas de acceso. Introducción a Bases de Datos Esquema Conceptual Descripción de la estructura lógica de la base de datos completa (ej.: a través de diagramas entidad-relación). Se omiten los detalles del almacenamiento físico. Introducción a Bases de Datos Esquema externo Descripción de la estructura lógica de una parte de la base de datos que es de interés a un grupo particular. Introducción a Bases de Datos Tarea de la BD Coherencia Independencia entre los datos Independencia Física y Lógica de los datos Introducción a Bases de Datos Independencia Física El esquema conceptual no es afectado por cambios al esquema físico de datos. Si el DBMS modifica su organización interna de archivos, no pasa nada con el esquema conceptual (sucede cuando hay un cambio de versión, o al migrar a otro DBMS) Introducción a Bases de Datos Independencia Lógica Algunos elementos del esquema externo no son afectados por cambios al esquema conceptual Agregar más columnas no afecta las vistas Modificar columnas sólo afecta las vistas que incluyen esas columnas Introducción a Bases de Datos Referencias [1] Guillenson. Administración de Bases de Datos. LIMUSA WILEY [2] Coronel, Morris, Rob. Bases de Datos: Diseño, Implementación y Adminnistración. CENGAGE Learning Introducción a Bases de Datos