Upload
vandieu
View
217
Download
0
Embed Size (px)
Citation preview
BASES DE DATOSBASES DE DATOSIntroducciónIntroducción
PorPorIng. Elizabeth León GuzmánIng. Elizabeth León Guzmán
Profesora Profesora Ingeniería de SistemasIngeniería de Sistemas
Grupo de Investigación MIDASGrupo de Investigación MIDAS
Introducción a Bases de Datos
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ónDatoDato¿Qué es un dato?
Introducción a Bases de Datos
IntroducciónDatoDato¿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ónInformación¿Qué es información?
Introducción a Bases de Datos
InformaciónInformación¿Qué es información?
- Un dato no constituye información.- Procesamiento de los datos nos
proporciona información (relación entre los datos)
Introducción
Edad Nombre
Introducción a Bases de Datos
Introducción ¿Qué es una base de datos?
Introducción a Bases de Datos
Bases de DatosDefinició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
metadatos
Datos
BD
Introducción a Bases de Datos
Bases de DatosOperaciones sobre los datos
Procesamiento Almacenamiento Recuperación Actualización Intercambio
Organizaciones realizan operaciones sobre sus datosdatos 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)
Neolítico: cortes y muescas en palos de madera o nudos en cuerdas
Tabillas de arcilla: pictogramas, símbolos que describían venta de tierras y transacciones de pan, cerveza, ovejas, ganado y prendas de vestir
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 MinimundoEjemplo: Sistema académicoEntes 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
Clientes, productos y compras Bancos
Clientes, cuentas, prestamos y transacciones bancarias Hospitales
Historias clínicas, citas, doctores, enfermeras y enfermedades Educación (colegios, universidades)
Estudiantes, matriculas, cursos y profesores Bibliotecas
Libros, autores, editoriales, prestamos Finanzas
Acciones, bonos, ventas y compras Transporte
Reservas, horarios, inventario . . .
Introducción a Bases de Datos
Base de datos
Internet
Front EndAplicaciones
Back EndBases de datos
Almacenamiento
Introducción a Bases de Datos
ArquitecturaCliente-servidor
Servidor: gestiona la base de datos
Cliente: permite enviar comandos al servidor
Servidor
Cliente 1
Cliente 2
Cliente n
.
.
.
Introducción a Bases de Datos
Sistema de Base de Datos
Usuarios Programasde
Aplicación
DatoDatossSistema
AdministradorAdministrador de bases de datosDBMS (Database Management System) Metadato
s
Sist. Operativo
Proporcionar forma de almacenar y recuperar la
información de manera practica y eficiente
Introducción a Bases de Datos
metadatos
Datos DBMSDBMSVista
Usuario Admon
Usuario Final
BD
Petición de datosUsuario Admon
Petición de datos
Petición de datos
Usuario Simple o Experto
Usuario Programadoro 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.
Final: Los que usan los datos
Introducción a Bases de Datos
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
Sistemas administradores de datos relacionales Sistemas administradores de datos orientados a objetos Sistemas administradores de datos jerárquicos Sistemas administradores de datos en red
Según número de usuarios Monousuario Multiusuario
Según número de sitios Centralizado Distribuido
•1960•IBM, UNIVAC,
HoneyWell•Computadores
mainframe•Legacy systems (datos históricos)
Introducción a Bases de Datos
Sistemas Administradores de Bases de Datos (DBMS) Tipos de DBMS Según modelo de datos
Sistemas administradores de datos relacionales Sistemas administradores de datos orientados a objetos Sistemas administradores de datos jerárquicos Sistemas administradores de datos en red
Según número de usuarios Monousuario Multiusuario
Según número de sitios Centralizado Distribuido
•Viable en 1980•Preferido desde
entonces
Introducción a Bases de Datos
Sistemas Administradores de Bases de Datos (DBMS) Tipos de DBMS Según modelo de datos
Sistemas administradores de datos relacionales Sistemas administradores de datos orientados a objetos Sistemas administradores de datos jerárquicos Sistemas administradores de datos en red
Según número de usuarios Monousuario Multiusuario
Según número de sitios Centralizado Distribuido
•Util para ciertas aplicaciones
Introducción a Bases de Datos
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.
XMLXML: 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 Entre un archivo Entre archivos
Alternativas 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) Modelo de red
1960s: Primer DBMS exitosamente comercial desarrollado por IBM (IMS)
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
ENO ENOMBRE EPROFESION
E1 J. Diaz Ing. EléctricoE2 M. Nuñez Analista SistemasE3 A. Arias Ing. MecánicoE4 J. Martínez ProgradorE5 B. Casas Analista SistemasE6 L. Rondón Ing. EléctricoE7 R. Pardo Ing. MecánicoE8 J. Angarita Analista Sistemas
EMPLEADO
ENO PNO RESP
E1 P1 Administrador 12
DUR
E2 P1 Analista 24E2 P2 Analista 6E3 P3 Consultor 10E3 P4 Ingeniero 48E4 P2 Programador 18E5 P2 Administrador 24E6 P4 Administrador 48E7 P3 Ingeniero 36
E8 P3 Administrador 40
TRABAJA
E7 P5 Ingeniero 23PROYECTO
PRESUPUESTOPNO PNOMBRE
P1 Instrumentacion 150000
P3 CAD/CAM 250000P2 Desarrollo de BD 135000
P4 Mantenimiento 310000P5 CAD/CAM 500000
Introducción a Bases de Datos
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
CoherenciaIndependencia 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