Sunteți pe pagina 1din 28

1.1.- Conceptos bsicos y definiciones de bases de datos 1.2.- Funcionalidad de una base de datos 1.3.

- Historia de la administracin de datos 1.4.- Arquitectura de un SABD 1.5.- Ventajas y desventajas de un SABD 1.6.- Breve historia de las bases de datos

Bases de Datos I

Alejandro Botello Castillo

Dato (ANSI). - Es una representacin de hechos, conceptos o instrucciones en una forma normalizada conveniente para la comunicacin, interpretacin o procesamiento por humanos por medios automticos. - Cualquier representacin de caracteres o cantidades analgicas para las cuales el significado es o puede ser asignado. Generalmente, se ejecutan acciones sobre datos o tems de datos para proporcionar alguna informacin acerca de una entidad. - Hechos conocidos que pueden ser almacenados y que tienen un significado implcito.

Bases de Datos I Alejandro Botello Castillo

Base de datos.- Coleccin de datos relacionados. Una base de datos tiene la siguientes propiedades implcitas: Representa algn aspecto del mundo real (miniuniverso) Es una coleccin lgicamente coherente de datos con significado inherente Est diseada, construida y poblada con datos para un fin especfico.

Bases de Datos I

Alejandro Botello Castillo

Un Sistema Administrador de Bases de Datos (SABD) es una coleccin de programas de software que habilita a los usuarios a crear y mantener una base de datos. Es un sistema de software de uso general que facilita el proceso de definir, construir y manipular bases de datos para varias aplicaciones. Un Sistema de base de datos es el software que manipula a una base de datos.
Bases de Datos I Alejandro Botello Castillo

Usuarios/Programadores

Sistema de Base de Datos

Programas de aplicacin/consulta Software del SABD Software para procesar consultas/programas Software para acceder datos almacenados

Definicin de datos almacenados (metadatos)


Bases de Datos I

Bases de datos almacenadas


Alejandro Botello Castillo

Definido por la American National Standards Institute / Standards Planning And Requirments Committee. El modelo que se aplica a una base de datos contempla varios niveles de esquemas: 1.- El nivel interno, que describe las estructuras de almacenamiento fsico empleadas por la base de datos, contiene un esquema interno. 2.- El nivel conceptual, en el que se define la base de datos global para todos los usuarios del sistema, usando un esquema conceptual. 3.- El nivel externo, en el que cada usuario define su vista de la estructura de la base de datos, ocultando el resto a los dems, usando esquemas externos (vistas de usuario).

Bases de Datos I

Alejandro Botello Castillo

Vista externa 1

Vista externa n

Usuarios finales

Nivel externo
Esquema conceptual

Nivel conceptual

Esquema interno

Nivel interno Bases de datos almacenadas


Bases de Datos I Alejandro Botello Castillo

Los datos no eran almacenados en discos El programador define las estructuras lgicas y las estructuras fsicas de los datos (estructuras de almacenamiento, mtodos de acceso, modos de I/O, etc.) Un conjunto de datos por programa. Alta redundancia de datos.

Bases de Datos I

Alejandro Botello Castillo

No hay persistencia.

La memoria de acceso aleatorio (RAM) es cara y limitada Baja productividad del programador
Todos los datos no caban en la memoria disponible

Todos los datos son transitorios y desparecen cuando el programa termina

El programador tenia que hacer un gran trabajo tedioso

Bases de Datos I

Alejandro Botello Castillo

Los datos eran almacenados en archivos con interfaces entre programas y archivos Se desarrollaron varios mtodos de acceso (ej. secuencial, indexado, aleatorio) Un archivo corresponda a uno o varios programas

Bases de Datos I

Alejandro Botello Castillo

Mapeo entre los archivos lgicos y los archivos fsicos


Archivos lgicos: un archivo visto por usuarios y programas.
Los datos pueden ser vistos como una coleccin de bytes o como una coleccin de registros (coleccin de bytes con una estructura particular) Los programas manipulan los archivos lgicos
Los datos son usualmente vistos como una coleccin de bytes localizados en una direccin fsica en el dispositivo El sistema operativo manipula los archivos fsicos.

Archivos fsicos: un archivo como existe actualmente en el dispositivo de almacenamiento

Un conjunto de servicios de interfaz (usualmente llamada interfaz de programacin de aplicaciones - API)


Alejandro Botello Castillo

Bases de Datos I

Los datos no estn estructurados

Altos costos de mantenimiento

archivos planos

La granularidad de comparticin es muy gruesa Dificultades en el desarrollo de nuevas aplicaciones

dependencia de datos; el acceso a datos es difcil hay que asegurar la consistencia de datos y controlar el acceso.

Bases de Datos I

Alejandro Botello Castillo

Esquema integrado

Integridad declarativa y cumplimiento de consistencia

los usuarios tienen una vista uniforme de los datos ven las cosas slo como relaciones (tablas) en el modelo relacional

Vistas individualizadas

24000 Salary 50000 No hay empleados que puedan tener un salario ms alto que su jefe Los usuarios especifican y el sistema obliga Hay restricciones a ciertas relaciones Reorganizacin de relaciones para ciertas clases de usuarios
Bases de Datos I Alejandro Botello Castillo

Acceso declarativos

Lenguaje de consultas - SQL


Encontrar los nombres de todos los ingenieros elctricos SELECT nombre, apellido FROM empleado WHERE titulo = Ing. Elctrico Encuentra los nombres de todos los empleados que han trabajado en un proyecto como administradores por ms de 12 meses SELECT emp.nombre, emp.apellido FROM empleado emp, asignacion asg WHERE resp = administrador AND duracion > 12 AND emp.NoEmp = asg.IdEmp

Ejecucin determinada por el sistema


Procesador y optimizador de consultas
Bases de Datos I

Alejandro Botello Castillo

Transacciones

Ejecutan peticiones de usuario como unidades atmicas Puede contener una consulta o mltiples consultas Proporciona
Transparencia de concurrencia
Mltiples usuarios pueden acceder la base de datos, pero cada uno la base de datos como sus datos personales Control de concurrencia

Transparencia de fallo

Incluso cuando un fallo del sistema ocurra, la consistencia de la base de datos no es violada Bitcora y recuperacin
Bases de Datos I Alejandro Botello Castillo

Propiedades de las transacciones


Atomicidad Consistencia Aislamiento Durabilidad
propiedad de todo o nada Cada transaccin es correcta y no viola la consistencia de la base de datos

transacciones concurrentes no interfieren con las otras


Una vez que la transaccin termina su trabajo (compromete), se garantiza que sus efectos sean reflejados en la base de datos sin importar que pueda ocurrir

Bases de Datos I

Alejandro Botello Castillo

Usuario final

Diseador de la BD

usuario ingenuo o casual accede la base de datos a travs de formas o por aplicaciones cliente (front-ends) alguien ms sofisticado genera consultas ad hoc usando un DML
Lgico.- Identificar las entidades y atributos, as como las relaciones entre los datos y las restricciones que hay que aplicar. Fsico.- Materializa el diseo lgico de la base de datos en un SABD. disea e implementa aplicaciones para acceder a base de datos (algunos pueden ser usados por usuarios finales)

Desarrollador/programador de aplicaciones Administrador de la base de datos

define las aplicaciones y las vistas de usuario monitorea y afina el rendimiento del SABD (define/modifica el esquema interno) carga y reformatea la base de datos es responsable de la seguridad y factibilidad
Alejandro Botello Castillo

Bases de Datos I

Lenguaje de Definicin de Datos (DDL)

Lenguaje de Manipulacin de Datos (DML)

define los esquemas conceptual, externo e interno, as como los mapeos entre ellos las definiciones y la informacin generada es almacenada en el catlogo del sistema permite la administracin de los datos, mediante las operaciones CRUD (Create, Retrieve, Update, Delete) habilita el control de usuarios, roles, privilegios y transaccionalidad del sistema de bases de datos.

Lenguaje de Control de Datos (DCL)

Bases de Datos I

Alejandro Botello Castillo

Bases de Datos I

Alejandro Botello Castillo

Cuando un usuario enva una consulta, el mdulo compilador de SQL la descompone y analiza, para posteriormente pasarla al optimizador, quien encuentra el ms eficiente plan de ejecucin para evaluar la consulta. El plan de evaluacin se presenta comnmente como un rbol de operadores relacionales

Bases de Datos I

Alejandro Botello Castillo

La capa de archivos y mtodos de acceso incluye una variedad de software para soportar el concepto de archivo como una coleccin de pginas o de registros. Los mtodos de acceso son los ndices creados para una tablas, comnmente empleando algoritmos de bsqueda como los rboles B+ o Hash.

Bases de Datos I

Alejandro Botello Castillo

Los archivos y mtodos de acceso estn apoyados por el administrador de pginas (buffer), el cual transfiere y desaloja pginas de datos de memoria hacia el disco fsico, segn la demanda. El nivel ms bajo corresponde al administrador de espacio en disco, en donde los datos est almacenados. Se encarga de emplear rutinas de lectura y escritura de sectores fsicos del disco.

Bases de Datos I

Alejandro Botello Castillo

El SABD soporta concurrencia y la recuperacin de fallos por medio de calendarizaciones y de registros en bitcoras de los cambios en la base de datos. El administrador de transacciones se encarga del control de concurrencia, que habilita que los usuarios no interfieran entre s. El administrador de bloqueos lleva un control de los recursos bloqueados por los usuarios y de la liberacin de estos para ser usados posteriormente. El administrador de recuperacin es responsable de restaurar la consistencia de la base de datos posterior a una falla del sistema.
Bases de Datos I Alejandro Botello Castillo

Los datos constituyen una ventaja organizacional el control integrado


Reduccin de redundancia Eliminacin de inconsistencia Comparticin Estndares Seguridad integrada Integridad de datos Mantenimiento simplificado

Productividad del programador independencia de datos

Bases de Datos I

Alejandro Botello Castillo

Complejidad Tamao Costos


Prestaciones Mayor impacto en los fallos

SABD Hardware Actualizaciones Migracin

Bases de Datos I

Alejandro Botello Castillo

1960s:

principios de los 60: Charles Bachmann desarrolla el primer SABD en Honeywell (IDS)

finales de 1960: primer SABD comercial exitoso desarrollado en IBM (IMS)


usa el modelo jerrquico donde las relaciones son representadas como un rbol an es usado actualmente (reservaciones SABRE; Travelocity)

usa el modelo de red, donde las relaciones son representadas como una grfica

finales de 1960: se define el modelo CODASYL (Conference On DAta Systems Languages). Es el modelo de red, pero ms estandarizado
Bases de Datos I Alejandro Botello Castillo

1970s:

1970: Ted Codd define el modelo relacional de datos en el Laboratorio IBM de San Jse (ahora IBM Almaden) Comienzan dos grandes proyectos (que fueron operacionales al final de 1970)
INGRES en la Universidad de California, Berkeley System R en el Laboratorio IBM de San Jse
se convirti en DB2

Se convirti en INGRES (comercial), seguido por POSTGRES, el cul fue incorporado en Informix

1976: Peter Chen define el modelo EntidadRelacin (ER)


Bases de Datos I Alejandro Botello Castillo

1980s

1990s

maduracin de la tecnologa de bases de datos estandarizacin del SQL (mitad-final de 1980) por ISO periodo de real crecimiento contina la expansin de la tecnologa relacional y el mejoramiento del rendimiento la distribucin se convierte en realidad nuevos modelos de datos: orientados a objetos, deductivos finales de 1990: incorporacin de la orientacin a objetos en los SABD relacionales SABD objeto-relacionales nuevas reas de aplicacin: Dataware Housing y OLAP, Web e Internet, inters en texto y multimedia

Bases de Datos I

Alejandro Botello Castillo