2009/2010 Tema 1 - Introducción a la asignatura 1
Tema 1: Introducción
Definición
Objetivo de los SGBD (o por que los SGBD son importantes)
Principales implementaciones – Relacional
– Orientada a objetos SQL
Resumen: Principales ventajas derivadas del uso de un SGBD
Resumen: Principales inconvenientes derivadas del uso de un SGBD
Definición de Sistemas Gestores de Bases de Datos
Colección de datos interrelacionados y estructurados y
Un conjunto de programas para acceder/organizar estos datos
En definitiva:
Proporciona un entorno en el que manejar de forma eficiente grandes volúmenes de datos.
Aplicaciones típicas:
– Bancos: gestión de cuentas, prestamos,… – Líneas áreas: reservas, horarios,… – Universidades: matrículas, expedientes – Ventas: clientes, productos, inventarios,…
2
2009/2010 Tema 1 - Introducción a la asignatura 3
Objetivo de las BB.DD.
Originalmente las aplicaciones relacionadas con el manejo de datos se construían sobre un conjunto de ficheros.
Problemas originados por esta aproximación: – Redundancia e Inconsistencia en los datos – Acceso a los datos ineficiente:
• Formatos variados e información duplicada en diferentes ficheros
• Hay que escribir un programa nuevo para cada nueva funcionalidad que se desee añadir
– Los datos no están aislados (hay que modificar todos los programas si se varía la estructura de los datos)
– Problemas de Integridad
• Las restricciones tienen que ser reforzadas en cada programa y no por la base de datos (edad >0)
• Es difícil añadir nuevas restricciones o variar las que se establecieron inicialmente
2009/2010 Tema 1 - Introducción a la asignatura 4
Objetivo de las BB.DD.
Atomicidad de las modificaciones dificil de asegurar – La base puede quedarse en un estado inconsistente
• por ejemplo: transferencia de dinero de una cuenta a otra
Acceso silmutaneo por varios usuarios
– Se debe permitir el acceso simultaneo para ganar velocidad de proceso
– Pero, ¿óomo asegurar que dos actualizaciones no son conflictivas?
• por ejemplo dos personas sacando dinero de la misma cuenta simultaneamente
Seguridad
– ¿Cómo restringir el acceso parcialmente a los datos? El proceso de abstraccion de los datos es dificil (más
2009/2010 Tema 1 - Introducción a la asignatura 5
Niveles de Abstracción
Nivel Físico: Como se almacenan los datos (p.e. conjunto de tablas)
Nivel Lógico: Describe que tipo de datos se almacenan en la base y como se relacionan entre ellos (Diagramas E-R).
Nivel de vista: Esconde parte de la base y sólo muestra un subconjunto o ventana. Bien sea para rebajar la complejidad o por seguridad
4
2009/2010 Tema 1 - Introducción a la asignatura 8
Modelo Entidad-Relación
Ejemplo de un esquema entidad relación (más en la siguiente diapositiva)
client nombre domicilio id ciudad numero saldo cuenta cliente Cliente-cuenta
2009/2010 Tema 1 - Introducción a la asignatura 9
Modelo Entidad Relación
El mundo (o un subconjunto de este) se describe usando:
– Entidades (objetos, cosas)
• por ejemplo clientes, cuentas
– Relaciones entre entidades
• p.e La cuenta A-101 pertenece al cliente Pedro Pérez
• La relación (conjunto de relaciones) cliente-cuenta. Relaciona clientes con cuentas
Este modelo es MUY popular en el diseño de bases de datos
– Es muy sencillo convertir este diseño lógico al modelo relacional el cual es “entendido” casí directamente por las bases de datos relacionales
2009/2010 Tema 1 - Introducción a la asignatura 10
Modelo Relacional
En el modelo relacional el mundo se representa mediante un conjunto de tablas:
nombre id domicilio ciudad Johnson Smith Johnson Jones Smith 192-83-7465 019-28-3746 192-83-7465 321-12-3123 019-28-3746 Alma North Alma Main North Palo Alto Rye Palo Alto Harrison Rye Atributo
Una base relacional:
id nombre domicilio ciudad
numero saldo id numero
tabla cliente
tabla cuenta
6
2009/2010 Tema 1 - Introducción a la asignatura 12
Lenguaje de Definición de Datos (DDL)
Lenguaje para definir el esquema de la base de datos – p.e.
create table cuenta (
numero char(10),
saldo integer) ;
Toda modificación de los datos debe estar de acuerdo con el esquema
2009/2010 Tema 1 - Introducción a la asignatura 13 Lenguaje de Manipulación de Datos (DML) Lenguaje que permite acceder al contenido de la base y
manipular los datos almacenados.
– DML se conoce tambien como lenguaje de consultas SQL, Structured Query Language, (con diversas
2009/2010 Tema 1 - Introducción a la asignatura 14
SQL
SQL: lenguaje no-procedural
– p.e. clientes cuyo identificador (id) es 192-83-7465 select nombre
from cliente
where id= „192-83-7465‟
– p.e. saldo de las cuentas pertenecientes al cliente con identificador 192-83-7465
select saldo
from cliente-cuenta, cuenta
where cliente-cuenta.id= „192-83-7465‟ and
cliente-cuenta.numbero = cuenta.numero
Las aplicaciones normalmente acceden a las bases de datos:
– mediante SQL embebido
– API (e.g. ODBC/JDBC) que permiten enviar al a base instrucciones SQL
Resumen: Principales ventajas
Almacenamiento centralizado de datos vs conjunto ficheros
Abstracción de datos
– Independencia entre programa y datos Supresion de información redundante Privilegios: restricción de acceso Acceso simultaneo
Refuerzo de restriciones de integridad Backup
8
2009/2010 Tema 1 - Introducción a la asignatura 16 Resumen: Otras Ventajas
Refuerza Standards
Reduce el tiempo de desarollo Incrementa la flexibilidad
Posibilidad de tener información siembre actualizada
2009/2010 Tema 1 - Introducción a la asignatura 17
Desventajas de las BB.DD.
Su instalación y mantenimiento requiere: – Personal especializado
– Tiempo
– Conocimientos técnicos
En entornos con altas demandas computacionales el “coste computacional” introducido por la base de datos puede ser significativo.