BASES DE DATOS Conceptos Bรกsicos Profesor: Godofredo Poccori Umeres
1
Un poco de historia … Sistemas de archivos: Surgieron a raíz de la necesidad de almacenamiento de la información para su correspondiente reutilización (persistencia) persistencia Desventajas: Redundancia de los datos Los archivos están separados unos de otros (no se pueden “combinar” fácilmente) Alto costo para la propagación de cambios Inconsistencia debido a actualizaciones simultáneas
2
Un poco de historia … Procesamiento de Usuario del Archivo de Clientes
Clientes
Archivo de Clientes
Procesamiento de Préstamos Usuario del Archivo de Préstamos
Archivo de Préstamos
Por cada préstamo se guarda la información del cliente correspondiente: Redundancia 3
Ejemplo Archivos Tradicionales Se cuenta con dos archivos Clientes y Facturas. El primer archivo tiene los datos básicos de los clientes, mientras que en el segundo se almacenan las ventas realizadas. Al emitir cada factura se ingresan nuevamente los datos num, nombre, domicilio. Clientes Num
Nombre
Dirección
Telefono
1225
Juan Garcia
Guaná 1202
4182569
jgarcia@adinet.co m.uy
Desventajas:
-Se
1226
Fernando Martínez
Rincón 876
9157878
Fmar@gmail.com
....
.......
.........
.........
........
Facturas
-Se
presentan redundancias de datos (datos repetidos innecesaramente) -Se
Num
Nombre
Dom.
Producto
Precio
1225
Juan Garcia
Rincón 1224
Azulejos
1250
1226
Fernando Martínes
Pintura
900
.....
.......
.......
......
Rincón 876 ........
duplican esfuerzos
pueden producir contradicciones entre los datos, si por ejemplo se ingresan nombres diferentes para un mismo cliente.
Un poco de historia … ¿Por qué surgieron los sistemas de Bases de Datos? Necesidad de solucionar las debilidades de los sistemas de archivos Capacidades:
Manejo de persistencia Soporte por lo menos de un modelo de datos Soporte de un lenguaje de alto nivel que permita manipular y definir la estructura de la información Control de acceso Evitar inconsistencias al compartir la información 5
… Antes Dpto. Personal
Empleados
Dpto. Ventas Clientes
Ventas
Dpto. Contabilidad Cuentas
Inventario
Personal Ventas
Contabilidad
… Ahora SGBD
BASE DE DATOS Empleados Clientes Ventas Inventario Cuentas
6
CONCEPTOS BÁSICOS
Datos Entidades Claves primarias y foráneas Relaciones Restricciones de integridad referencial Metadatos
7
Datos “Datos son hechos conocidos que pueden registrarse y que tienen un significado implícito”. Ramez Elmasri y Shamkant B. Navathe
Ejemplo: Pueden constituir datos los nombres, números telefónicos y direcciones de personas que conocemos.
3256789 18 de Julio 1880
Elena Sánchez
Kli@adinet.com.uy
José Martínez Sarandí 100
Entidades
Una entidad es todo aquello de lo cual interesa guardar datos, por ejemplo: clientes, facturas, productos, empleados. En el Modelo de Entidad-Relaci贸n que se presenta, se observa que las entidades est谩n formadas por atributos o campos referidos a un mismo tema que interesa almacenar.
CLIENTES cuenta con los atributos: C贸digo de Cliente, Nombre, Apellido, Domicilio, Tel茅fono.
Claves Primarias y Claves Foráneas Cada entidad tiene una clave primaria o campo llave que identifica unívocamente al conjunto de datos. Cuando en una entidad figura la clave primaria de otra entidad, ésta se denomina clave foránea. Las entidades se relacionan entre sí a través de las claves foráneas.
CLAVES PRIMARIAS Código de Cliente es la clave primaria de Cliente. A cada cliente se le asocia un código y a cada código le corresponde un cliente. Asimismo, Número de Factura y Código de Producto son claves primarias de Facturas y Productos respectivamente.
CLAVES FORÁNEAS Son claves foráneas en Facturas Código de Cliente y Código de Producto. Clientes se relaciona con Facturas a través del Código de Cliente que figura en ambas tablas y con Productos mediante el Código de producto.
Restricciones de integridad referencial
RESTRICCIONES DE INTEGRIDAD REFERENCIAL -C贸digo
de Clientes en Facturas debe cumplir que exista en Clientes y que sea clave primaria -C贸digo
de Producto en Facturas debe cumplir que exista en Productos y que sea clave primaria 11
Retomando la Definición de Base de Datos (2), la cual señala que ésta “...es un conjunto de datos relacionados entre sí y que tienen un significado implícito”, se observa en la imagen que los datos de las tablas se relacionan a través de las claves y que éstos tienen el significado implícito que se les atribuye en dicho contexto.
Datos y Metadatos Metadatos son datos acerca de los datos presentes en la base de datos.
Ejemplo metadatos El tipo de datos puede ser Numérico, alfabético, fecha, lógico (Sï /NO).
Dato
Tipo
Longitud
Num
Numérico
4
Nombre
Alfabético
20
.....
......
.......
La longitud indica la cantidad máxima de caracteres que puede asumir el dato.
Ejemplo de Restricción de Dominio: Num >0 y <9999
13
Ciclo de desarrollo de los sistemas de informaciĂłn
En la etapa 4) DiseĂąo se definen los detalles a fin de cumplir con los requerimientos identificados en la etapa 3) AnĂĄlisis.
Fuente: Kendall y Kendall
BASE DE DATOS
Definición (1)
Una base de datos es un conjunto estructurado de datos coherentes Colección disponible de información
16
Definición(1)
Una base de datos es un conjunto estructurado de datos coherentes Colección organizada en subconjuntos, en función de ligas y de relaciones entre las diferentes informaciones (estructura lógica) 17
Definición(1)
Una base de datos es un conjunto estructurado de datos coherentes No hay contradicción entre los datos ligados, no hay pérdida de información, aun sabiendo que hay una utilización compartida de los datos entre varios usuarios
18
Definición(2) “Base de Datos es un conjunto de datos relacionados entre sí y que tienen un significado implícito”. Ramez Elmasri y Shamkant B. Navathe
La definición presentada anteriormente hace referencia a dos elementos para que un conjunto de datos constituya una Base de Datos: 1) Relaciones entre datos, tema que se trata en las próximas transparencias. 2) Significado implícito de los datos que se atribuye dependiendo del contexto en que se utilizan los mismos. Por ejemplo, el dato fecha en una base de datos de ventas puede referirse a la fecha de emisión de las facturas, mientras que si la base de datos es de música quizás corresponda a la fecha en que se grabó un tema musical.
Definición(3) . “Una base de datos tiene una fuente de la cual se derivan los datos, cierto grado de interacción con los acontecimientos del mundo real y un público que está activamente interesado en el contenido de la base de datos”. Ramez Elmasri y Shamkant B. Navathe
SISTEMA DE GESTION DE BASE DE DATOS
Definición
Un Sistema de Gestión de Bases de Datos (SGBD) es un software que permite manipular las bases de datos •Construir •Utilizar •Mantener •Reorganizar 21
Sistema de Gestión de Bases de Datos
Propiedades fundamentales Independencia de los datos (OJO es muy importante) Acceso eficiente a los datos Integridad y seguridad de los datos Administración de los datos Acceso concurrente y recuperación en caso de « crash »
22
Entorno simplificado de un SGBD En el esquema se observa que los usuarios interact煤an con una aplicaci贸n (por ej. un sistema integrado de gesti贸n o un paquete contable) que utiliza un SGBD para procesar las consultas, el cual accede a los metadatos y a la base de datos correspondiente.
Fuente: Ramez Elmasri y Shamkant B. Navathe 23
Algunas definiciones
Esquema de una Base de Datos: Datos Cuando una base de Datos es diseñada interesa definir una estructura para ésta. Esta estructura permanece “estática” durante un gran período de tiempo, aunque puede sufrir modificaciones ocasionales
Instancia: Instancia Es la información que en un determinado instante del tiempo posee la base de datos y que cambia permanentemente (excepto en algunos tipos de bases de BD particulares)
24
Algunas definiciones
Usuario final: El que interactúa con la base de datos, por lo general a través de aplicaciones e interfaces Usuario especialista: El que diseña y programa aplicaciones para usuarios finales. DBA (Database Administrator): El que administra la base de datos. ¿Qué hace?
25
Funciones y componentes principales de un SGBD Peticiones Peticiones Esquemas externos
DML planeadas
DML No planeadas
Procesador DML
Procesador Lenguaje Consulta
Peticiones compiladas
Procesador DDL
Optimizador Esquemas y transformaciones
DDL: lenguaje de definición de datos DML: lenguaje de manipulación de datos
Peticiones optimizadas
Manejador de transacciones Manejador de almacenamiento
Datos y Metadatos
Base de datos
Fuente: “Introducción a los sistemas de bases de datos” C.J. Date 26
Componentes funcionales de un SGBD
Metadatos o Diccionario de Datos (D.D): Contiene el esquema de la B.D, los usuarios, los permisos de acceso, etc. Son datos sobre los datos. Almacena la información que permite la traducción entre los 3 niveles de la Arquitectura ANSI/SPARC* Optimizador de consultas: Define el plan de ejecución de operaciones solicitadas por los usuarios, de tal manera que se lleven a cabo de la manera más eficiente posible Manejador de transacciones: Controla el acceso y la concurrencia de operaciones
27
Componentes funcionales de un SGBD
Manejador de almacenamiento tiene dos componentes: -Manejador de archivos recupera desde disco los bloques que contienen la información solicitada por una transacción. -Manejador de buffer mantiene en memoria principal la información más usada y decide cuando llevar a disco alguno de sus bloques.
28
SGBD - Funciones
Soporta DML: Lenguaje para actualización, almacenamiento y recuperación de datos
Ofrece optimización en la búsqueda de la información Soporta DDL : Lenguaje para definir los datos Metadatos (DD): Catálogo autodescriptivo, información sobre los objetos existentes en el sistema Datos sobre los datos
29
Ventajas de un SGBD 1. 2. 3. 4. 5.
Reutilizaci贸n de datos y programas Control de redundancia Estandarizaci贸n Consistencia (No hay redundancia) Es posible equilibrar las cargas de los requerimientos (establecer prioridades)
30
Ventajas de un SGBD 6.
7. 8. 9.
Integridad (Se cumplen las reglas establecidas ¿Por quién?) Seguridad Rapidez de desarrollo Mantenimiento y reingeniería: cambios en la estructura de datos sin cambiar los programas que los usan (hasta cierto punto)
31
Niveles de abstracci贸n (ANSI/SPARC) Vista usuario n
n esquemas externos
Vista usuario 2
Nivel externo confidencialidad Nivel conceptual integridad-coherencia Nivel interno gesti贸n de acceso
Vista usuario 1
Esquema l贸gico, resultado de un proceso de modelamiento Esquema f铆sico
32
Nivel de Visión
Externo El más cercano a los usuarios finales Percepción de la base de datos por parte de los usuarios finales Tantas visiones como tipos de usuarios Cada visión de usuario final se puede caracterizar como un subesquema
33
Nivel de Visi贸n Cada visi贸n puede proporcionar diferentes representaciones de los mismos datos Visi贸n Vendedor Fechas con formato: (dd-mm-yy)
Visi贸n Contador BD
Fechas con formato: (yyyy-dd-mm)
34
Nivel de Visión Algunas visiones de usuario pueden incluir: Datos Agrupados: Agrupados Totales por Dpto. Datos Derivados: Derivados Sueldo total = básico + comisión Datos Calculados: Calculados Edad de una persona (inferida a partir de su fecha de Nacimiento)
35
Nivel de Visión
Los conceptos de dato derivado y calculado podrían usarse indistintamente para significar, en general, que un dato se genera a partir de otro(s) Pueden haber a su vez datos agregados derivados, datos agregados calculados etc.
36
Nivel Conceptual
Mediador entre los otros 2 niveles Interesante para el usuario especialista Se ocupa de los datos almacenados en la base de datos física y las relaciones entre ellos Descripción semántica de los datos que conforman la base de datos Soporta a cada visión de usuario externa
37
Nivel Conceptual
Es una visión completa de todos los requerimientos y elementos de interés para la organización Debe incluir restricciones sobre los datos La descripción del nivel conceptual no debe tener detalles dependientes del almacenamiento* Tiene asociado un lenguaje de alto nivel
* Sin embargo en algunos SGBD esto no se logra expresar de esta manera…
38
Nivel Físico
Interno Más cercano a la máquina Interesa al Administrador y al usuario Especialista Esquema físico: Descripción y tipos de datos: tamaño y precisión, tipos de índices y de estructuras de almacenamiento concretas que se manejan, de acuerdo con un SGBD particular
39
Nivel Físico
Describe cómo los datos son almacenados en términos de estructuras de datos particulares Se encarga de: - Reservar espacio para datos e índices - Compresión de datos - Técnicas de encriptamiento de datos
40
Independencia de los datos
Es uno de los objetivos de la arquitectura ANSI/SPARC Permite modificar la definición de un nivel sin afectar (en lo posible) el nivel inmediatamente superior Sin independencia de datos se requeriría mucho esfuerzo para cambiar las aplicaciones de tal forma que se adaptasen a la nueva estructura de la base de datos. Hay dos tipos: física y lógica
41
Independencia de los datos
Física: inmunidad que tienen los usuarios y las aplicaciones ante los cambios en la forma de almacenar físicamente los datos.
Conceptual o lógica: inmunidad que poseen los usuarios y las aplicaciones ante los cambios en la estructura lógica de la base de datos
42
Independencia Física
Se presenta entre el nivel conceptual y el nivel físico Un cambio en el esquema físico (usar otras estructuras de almacenamiento) no conduce a cambios en el esquema conceptual Ej. Cambio en la forma de almacenar un índice: B+ por Hashing, ¿con qué propósito se hace un cambio de este tipo? Inmunidad del esquema conceptual ante cambios del esquema físico
43
Independencia Lógica
Se presenta entre el nivel de visión y el nivel conceptual Significa que un cambio en el nivel conceptual no debe conllevar a un cambio en el nivel de visión Es más difícil de lograr. ¿Por qué?
44
Independencia Lógica Algunos de los posibles cambios en el nivel conceptual: Adición de nuevos elementos (atributos, entidades etc.) Eliminación de elementos Puede afectar a los subesquemas externos
45
Tendencias de los SGBD
Sistemas para el soporte para toma de decisiones (Data Warehouse) y/o con capacidades deductivas y bases de datos temporales
Manejar información multimedial: Imágenes, audio, videos
Bases de datos orientadas a objetos y objeto-relacionales
Manejar información georeferenciada: Información Geográficos (SIG)
Manejo de información documental: Motores de búsqueda, sistemas para el manejo de documentos.
Bases de datos nativas para XML
Sistemas
de
46
RESUMEN
La descripción completa de una base de datos se denomina esquema Cada visión de usuario tiene su esquema (subesquema), existe un esquema conceptual y uno interno Existen correspondencias (“mappings”) - Entre cada subesquema externo y el conceptual - Entre el esquema conceptual y el interno Estas correspondencias le permiten al SGBD por ejemplo saber un registro conceptual con qué registro(s) del nivel físico se corresponde
47
RESUMEN
En teoría debería existir un lenguaje de descripción para cada nivel* En la práctica sin embargo en muchos SGBD el esquema conceptual queda fusionado con la especificación del esquema interno.
* No siempre sucede así en los SGBD actuales…
48