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 Tema 1 - Introducción a la asignatura 1 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, Recursos Humanos: fichas de empleados, salarios, Tema 1 - Introducción a la asignatura 2 1
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 Tema 1 - Introducción a la asignatura 3 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 en las diapositivas siguientes) Tema 1 - Introducción a la asignatura 4 2
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 Tema 1 - Introducción a la asignatura 5 Niveles de Abstracción Tema 1 - Introducción a la asignatura 6 3
Modelo Entidad-Relación Ejemplo de un esquema entidad relación (más en la siguiente diapositiva) nombre domicilio numero saldo id ciudad cliente Cliente-cuenta cuenta Tema 1 - Introducción a la asignatura 8 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 Tema 1 - Introducción a la asignatura 9 4
Modelo Relacional En el modelo relacional el mundo se representa mediante un conjunto de tablas: Atributo id nombre domicilio ciudad 192-83-7465 Johnson Alma Palo Alto 019-28-3746 Smith North Rye 192-83-7465 Johnson Alma Palo Alto 321-12-3123 Jones Main Harrison 019-28-3746 Smith North Rye Tema 1 - Introducción a la asignatura 10 Una base relacional: id nombre domicilio ciudad tabla cliente numero saldo id numero tabla cuenta tabla cliente-cuenta Tema 1 - Introducción a la asignatura 11 5
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 Tema 1 - Introducción a la asignatura 12 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 extensiones) es el lenguaje de consulta más popular. Tema 1 - Introducción a la asignatura 13 6
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 Tema 1 - Introducción a la asignatura 14 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 Tema 1 - Introducción a la asignatura 15 7
Resumen: Otras Ventajas Refuerza Standards Reduce el tiempo de desarollo Incrementa la flexibilidad Posibilidad de tener información siembre actualizada Tema 1 - Introducción a la asignatura 16 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. Tema 1 - Introducción a la asignatura 17 8