Está en la página 1de 43

BASES DE DATOS

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)
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


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
… Antes

Dpto. Personal Dpto. Contabilidad


Dpto. Ventas

Clientes Ventas Cuentas


Empleados

Inventario

Personal … Ahora BASE DE DATOS


Empleados
Ventas Clientes
SGBD
Ventas
Inventario
Contabilidad Cuentas
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

Bases de datos I 5
Sistema de Gestión de Bases de Datos
• Propiedades fundamentales
 Independencia de los datos
 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 »

• Los SGBD deben cumplir con las propiedades ACID para las transacciones:
Atomicity (Atomicidad: las transacciones son atómicas)
Consistency (Consistencia: una transacción transforma un
estado consistente de la BD en otro)
Isolation (Aislamiento: las transacciones están aisladas entre si)
Durability (Durabilidad: después que una transacción ha sido
confirmada ella persiste)
Algunas definiciones

• Esquema de una Base de 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: 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)
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?
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 José Martínez


Elena Sánchez

18 de Julio 1880 Sarandí 100


Kli@adinet.com.uy
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 CLAVES FORÁNEAS


Código de Cliente es la clave primaria Son claves foráneas en Facturas Código
de Cliente. A cada cliente se le asocia un de Cliente y Código de Producto.
código y a cada código le corresponde un Clientes se relaciona con Facturas a
cliente. Asimismo, Número de Factura y través del Código de Cliente que figura
Código de Producto son claves primarias en ambas tablas y con Productos
de Facturas y Productos respectivamente. 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ódigode Producto Facturas debe cumplir que exista en
Productos y que sea clave primaria
Retomando la Definición de Base de Datos (1), 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
La longitud indica la cantidad máxima
Nombre Alfabético 20 de caracteres que puede asumir el
..... ...... ....... dato.

Ejemplo de Restricción de Dominio:


Num >0 y <9999
Funciones y componentes principales de un
SGBD Peticiones Peticiones
DML planeadas DML No planeadas

Esquemas Procesador
Procesador Lenguaje
externos
DML Consulta

Peticiones
Procesador compiladas
DDL
DDL: lenguaje de definición de datos
Optimizador DML: lenguaje de manipulación de datos

Esquemas y
transformaciones Peticiones
optimizadas

Manejador de transacciones

Manejador de almacenamiento

Base de datos
Datos Fuente: “Introducción a los
y sistemas de bases de
datos” C.J. Date
Bases de datos I
Metadatos
Universidad Nacional de Colombia 15
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
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.
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
Ventajas de un SGBD
1. Reutilización de datos y programas
2. Control de redundancia
3. Estandarización ¿En qué sentido?
4. Consistencia (No hay redundancia)
5. Es posible equilibrar las cargas de los
requerimientos (establecer prioridades)
Ventajas de un SGBD
6. Integridad (Se cumplen las reglas
establecidas  ¿Por quién?)
7. Seguridad
8. Rapidez de desarrollo
9. Mantenimiento y reingeniería: cambios en la
estructura de datos sin cambiar los
programas que los usan (hasta cierto punto)
Desventajas de un SGBD
1. Tamaño
2. Susceptibilidad a fallas (Discutible)
3. Complejidad en la recuperación a fallas
(Discutible)
4. Puede llegar a trabajar en forma “lenta”
debido a la cantidad de verificaciones que
debe hacer
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
Nivel de Visión
Cada visión puede proporcionar diferentes
representaciones de los mismos datos
Visión Vendedor Visión Contador
Fechas con formato:
Fechas con formato:
(dd-mm-yy) BD
(yyyy-dd-mm)
Nivel de Visión
Algunas visiones de usuario pueden incluir:
• Datos Agrupados: Totales por Dpto.
• Datos Derivados:
Sueldo total = básico + comisión
• Datos Calculados:
Edad de una persona (inferida a partir de su
fecha de Nacimiento)
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
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.
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
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…


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
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
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: Sistemas de 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
Cargos y Funciones vinculados a un SGBD

Administrador de bases de datos


Se encarga de autorizar el acceso a la base de datos, de
coordinar y vigilar su empleo, y de adquirir los recursos
necesarios de software y hardware.

Diseñador de bases de datos


Antes de implementar la base de datos identifica los datos
que se almacenarán y elige las estructuras apropiadas para
representar y almacenar dichos datos.

.
Cargos y Funciones vinculados a un SGBD

Usuarios finales
Son los principales destinatarios de la base de datos.
Son quienes tiene acceso a la base de datos para
consultarla, actualizarla y generar informes.
Este es el rol que más frecuentemente desempeña el
Técnico en Administración con relación de las Bases
de Datos.
Cargos y Funciones vinculados a un SGBD

Usuarios finales
Son los principales destinatarios de la base de datos.
Son quienes tiene acceso a la base de datos para
consultarla, actualizarla y generar informes.
Este es el rol que más frecuentemente desempeña el
Técnico en Administración con relación de las Bases
de Datos.
Cargos y funciones vinculados a un SGBD

Analistas de sistemas y programadores

Los analistas y programadores para implementar las


especificaciones del sistema deben conocer a la perfección
todas las capacidades del SGBD. El Técnico en
Administración que integra un equipo de desarrollo
interactúa con los analistas y programadores.

Diseñadores e implementadores del SGBD


Se encargan de diseñar e implementar los módulos e
interfaces del SGBD en forma de paquetes de software.
Cargos y funciones vinculados a un SGBD

Creadores de herramientas
Desarrollan e implementar paquetes para diseñar
bases de datos, vigilar el rendimiento, proporcionar
interfaces de lenguaje natural o de gráficos, elaborar
prototipos, realizar simulaciones y generar datos de
prueba.
 Operadores y personal de mantenimiento
Tienen a su cargo el funcionamiento y mantenimiento
reales del entorno de hardware y software del sistema
de base de datos.
Características deseables en un SGBD

Restricción de los accesos no autorizados


Control de la redundancia
Almacenamiento persistente de objetos y estructuras de
datos de programas
Inferencias en la base de datos mediante reglas de deducción
Suministro de múltiples interfaces con los usuarios
 Representación de vínculos complejos entre los datos
Características deseables en un SGBD

Cumplimiento de las restricciones de integridad


Respaldo y recuperación
Potencial para imponer normas
Menor tiempo de creación de aplicaciones
Flexibilidad

Disponibilidad de información actualizada


Economías de escala
Diseño del sistema de
Información
Es particularmente importante el tema Bases de Datos en la
etapa de diseño del desarrollo de un sistema de información,
debido a que la misma comprende el diseño de:
 Procedimientos precisos de captura de datos
Formularios y pantallas para ingresar datos
 Interfaz con el usuario (mensajes, menús, uso del ratón o
mouse, etc.)
 Base de datos que almacenará aquellos datos requeridos
por quien toma las decisiones en la organización.
 Salidas del sistema impresas y en pantalla (consultas,
listados, etc.)
Lenguaje de Definición de Datos (DDL,
Data Definition Language)

Grupo de sentencias del SQL que soportan la definicón y declaración de los


objetos de la base de datos. Objetos tales como : la misma base de datos
(database), las tablas (table), las vistas (VIEW), los índices (INDEX), los
procedimientos almacenados (PROCEDURE), los disparadores (TRIGGER),
reglas (RULE), Dominios (Domain) y valores por defecto.

CREATE, ALTER y DROP


Lenguaje de Manipulación de Datos
(DML, Data Management Language)

Grupo de sentencias del SQL para manipular los datos que están
almacenados en la base de datos, a nivel de filas (tuplas) y/o columnas
(atributos). Ya sea que se requiera que los datos sean modificados,
eliminados, consultados o que se agregasen nuevas filas a las tablas de las
bases de datos

INSERT, UPDATE, DELETE, SELECT


Lenguaje de Control de Datos (DCL,
Data Control Language)

Grupo de sentencias del SQL para controlar las funciones de administración


que realiza el DBMS, tales como la atomicidad y seguridad.

COMMIT TRANSACTION
ROLLBACK TRANSACTION
GRANT
REVOKE

También podría gustarte