Upload
independent
View
1
Download
0
Embed Size (px)
Citation preview
Bases de datos
Modulo I. Introducción a los sistemas de BD. 1
1
Introducción a los sistemas de bases de datos
IntroducciIntroduccióón a los sistemas n a los sistemas de bases de datosde bases de datos
Bases de Datos
Universidad de ExtremaduraEscuela PolitécnicaDepartamento de InformáticaÁrea de Lenguajes y Sistemas Informáticos
Módulo IMódulo I
Miryam Salas Sánchez
BD
2
Programa de BDPrograma de BD
IV. Sistemas de bases de datos
III. Diseño de BD relacionales
II. Diseño conceptual de BD
I. Introducción a los sistemas de bases de datos
Módulos generales
Presentación
Módulo I
Bases de datos
Modulo I. Introducción a los sistemas de BD. 2
BD
3
MMóódulo I. Objetivosdulo I. Objetivos
Proporcionar una visión global de la naturaleza y las ventajas de los sistemas de bases de datos, incidiendo especialmente en la independencia lógica y física de datos
Presentar las funciones de los SGBD, su estructura y funcionamiento y la arquitectura de tres niveles
Identificar los distintos tipos de usuarios según su forma de interactuar con el sistema
Introducir las herramientas conceptuales para el modelado de datos y presentar una clasificación de los modelos de datos más utilizados
Conocer las distintas fases de modelado en el diseño de bases de datos y su situación en el ciclo de vida de una aplicación
BD
4
MMóódulo I. Temariodulo I. Temario
IV
IIIII
I
Módulo
El futuro de las bases de datos10El entorno de los sistemas de BD9Construcción de aplicaciones con BD8Diseño lógico de BD relacionales7Lenguajes relacionales6El modelo relacional5El modelo entidad/relación4Modelos de datos3Sistemas gestores de BD2Conceptos fundamentales de BD1PresentaciónTemario teóricoNº
Módulo I
Bases de datos
Modulo I. Introducción a los sistemas de BD. 3
BD
5
MMóódulo I. Bibliografdulo I. Bibliografííaa
BÁSICA:
“Fundamentos de Sistemas de Bases de Datos”. Elmasri, R. y Navathe, S. B. Addison-Wesley, 2002 (Tercera Edición).
“Fundamentos y modelos de bases de datos”. De Miguel, A. y Piattini, M. Ed. Ra-Ma, 1999.
COMPLEMENTARIA:
“Introducción a los sistemas de bases de datos”. C. J. Date. Addison-Wesley Iberoamericana. 1998.
“Fundamentos de Bases de Datos”. A. Silberschatz, H. F. Korthy S. Sudarshan. Mc Graw-Hill, 1998 (Cuarta Edición).
Módulo I
6
Conceptos fundamentales de bases de datos
Conceptos fundamentales Conceptos fundamentales de bases de datosde bases de datos
Miryam Salas Sánchez
Universidad de ExtremaduraEscuela PolitécnicaDepartamento de InformáticaÁrea de Lenguajes y Sistemas Informáticos
Módulo I. Tema 1Módulo I. Tema 1
Bases de datos
Modulo I. Introducción a los sistemas de BD. 4
BD
7
Tema 1. Conceptos fundamentales de BDTema 1. Conceptos fundamentales de BD
1. Introducción. De los ficheros tradicionales a las bases de datos
2. Bases de datos, sistemas de bases de datos, sistema gestor de bases de datos
3. Ventajas e inconvenientes de los sistemas de bases de datos
4. Independencia lógica y física de datos
Módulo I. Tema 1
BD
8
IntroducciIntroduccióónn
• Las bases de datos son imprescindibles hoy en día
• Cada día interactuamos sin saberlo con sistemas de bases de datos– Matriculación
– Consultas en biblioteca
– Operaciones bancarias
– Reservas de tren, hotel, avión
– Compras por internet ...
Módulo I. Tema 1
Bases de datos
Modulo I. Introducción a los sistemas de BD. 5
BD
9
IntroducciIntroduccióónn
Módulo I. Tema 1
DE LOS FICHEROS TRADICIONALES A LAS BD
Datos integrados como constantes en
los programas
Aparición de ficheros como colección de datos homogénea
Sistemas de gestión de ficheros
integrados en los SO
Ficheros asociados a los programas
Diferenciación entre estructura lógica y física
Todavía gran dependencia entre datos y programas y de ambos con respecto a la máquina
En las aplicaciones existe una gran cantidad de ficheros con información duplicada, redundante y no integrada
BD
10
IntroducciIntroduccióónn
Módulo I. Tema 1
PROFESOR ALUMNOSDESPACHOS PROFESOR
CENTROSCENTROS NOMINASNOMINAS
CATEGORIAS
SECRETARIASECRETARIA
PROFESOR
PROFESORDESPACHOS CATEGORIAS ALUMNOS
CENTROSCENTROS NOMINASNOMINAS SECRETARIASECRETARIA
Sistema centralizado
Necesidad de compartición de datos y control centralizado de los datos
Bases de datos
Modulo I. Introducción a los sistemas de BD. 6
BD
11
IntroducciIntroduccióónn
• Necesidad de diferenciación entre la representación de los datos orientada hacia el problema (estructura lógica) y la representación de los datos orientada hacia la máquina (estructura física)
• Necesidad de las organizaciones de tener datos fiables y correctos y de disponer de una representación de los mismos
• Nuevos requerimientos de concurrencia, seguridad, fiabilidad, mayor rendimiento, etc
SISTEMAS GESTORES DE BASES DE DATOS
Modelos de datosAños 60-70
Módulo I. Tema 1
BD
12
1. Introducción. De los ficheros tradicionales a las bases de datos
2. Bases de datos, sistemas de bases de datos,sistema gestor de bases de datos
3. Ventajas e inconvenientes de los sistemas de bases de datos
4. Independencia lógica y física de datos
Tema 1. Conceptos fundamentales de BDTema 1. Conceptos fundamentales de BD
Módulo I. Tema 1
Bases de datos
Modulo I. Introducción a los sistemas de BD. 7
BD
13
BD, SGBD y SBDBD, SGBD y SBD
• ¿Qué es una base de datos (BD)?
Colección de datos relacionadosRepresentan aspectos de parte del mundo real (minimundo o universo de discurso)
Cada dato almacenado tiene un significado concreto
La información almacenada sirve para un propósito específico
Módulo I. Tema 1
BD
14
BD, SGBD y SBDBD, SGBD y SBD
• ¿Qué es un sistema gestor de bases de datos (SGBD)?
Software que permite a los usuarios crear, mantener y acceder a una base de datos.
Software que proporciona el interfaz entre los datos almacenados en la base de datos y las operaciones realizadas por los usuarios y los programas de aplicación.
Módulo I. Tema 1
Bases de datos
Modulo I. Introducción a los sistemas de BD. 8
BD
15
BD, SGBD y SBDBD, SGBD y SBD
• ¿Qué es un sistema de bases de datos(SBD)?
La base de datos + el software que gestiona los datos
La base de datos junto con los detalles que permiten interpretar los datos almacenados
• Objetivo de un SBDProporcionar a la organización medios para la gestión y el control centralizado de los datos
Módulo I. Tema 1
BD
16
BD, SGBD y SBDBD, SGBD y SBD
Queries/Programas de aplicación
Software para procesarQueries/Programas de aplicación
Software para acceso a los datos almacenados
Definición de la DatosBase de datos Almacenados
(Catálogo)
S.G.B.D.
SISTEMA DEBASE DE DATOS
Usuarios /Programadores
Módulo I. Tema 1
Bases de datos
Modulo I. Introducción a los sistemas de BD. 9
BD
17
Ventajas de los sistemas de BDVentajas de los sistemas de BD
• Su naturaleza autodescriptiva (diccionario)
• Independencia entre programas y datos
• Soporte de múltiples vistas de usuario
• Control de redundancias y eliminación de inconsistencias
• Compartición de datos y procesamiento de transacciones multiusuario
• Se garantiza la seguridad de los datos
• Se garantiza la integridad de los datosMódulo I. Tema 1
BD
18
Otras ventajasOtras ventajas
• Potencial para imponer normas o estándares
• Menor tiempo de creación de aplicaciones
• Flexibilidad
• Disponibilidad de información actualizada
• Optimización de recursos
Módulo I. Tema 1
Bases de datos
Modulo I. Introducción a los sistemas de BD. 10
BD
19
Inconvenientes de los SBDInconvenientes de los SBD
Hablando de grandes sistemas de BD:– Instalación costosa (hw y sw)– Necesidad de personal especializado– Implantación larga y difícil– Falta de rentabilidad a corto plazo– Consumo de recursos para realizar funciones
Módulo I. Tema 1
En algunos casos puede no ser rentable usar un SGBD
BD
20
Inconvenientes de los SBDInconvenientes de los SBD
Módulo I. Tema 1
A pesar de las ventajas, ¿cuándo puede no interesar el uso de un SGBD?– Si la BD y las aplicaciones que la usarán son
simples, bien definidas y no se espera que cambien
– Si tenemos unos requerimientos en coste y en tiempo de respuesta que no se satisfacen con un SGBD, en parte por los recursos que consume
– Si no se necesita acceso concurrente a los datos
Bases de datos
Modulo I. Introducción a los sistemas de BD. 11
BD
21
Independencia de datosIndependencia de datos
Los cambios en los procesos no obligan a modificar el diseño de la base de datos
Los cambios en la base de datos (lógicos o físicos) no obligan a alterar los programas– Independencia física: puede modificarse la forma de
almacenamiento y acceso a los datos sin que afecte a las aplicaciones que los usan
– Independencia Lógica: puede modificarse la estructura de los datos sin que ello afecte a las aplicaciones que los usan
Módulo I. Tema 1
Separación entre programas de aplicación y datos almacenados
BD
22
Independencia de datosIndependencia de datos
¿Cómo se consigue la independencia?
ABSTRACIÓN DE DATOSHay que realizar en sucesivas fases el camino que va desde la percepción que la organización y los usuarios tienen de los datos que hay que almacenar, hasta el almacenamiento puramente físico de los mismos
Módulo I. Tema 1
En los SI tradicionales se usan dos niveles distintos para representar los datos: lógico (vista del usuario) y físico
Los sistemas de bases de datos proponen un nuevo nivel intermedio de abstracción: el conceptual ( o lógico global)
Bases de datos
Modulo I. Introducción a los sistemas de BD. 12
BD
23
AbstracciAbstraccióón de datosn de datos
Módulo I. Tema 1
NIVEL EXTERNO
NIVEL CONCEPTUAL
ESQUEMA INTERNO
ESQUEMA CONCEPTUAL
VISTAEXTERNA
VISTAEXTERNA
...
NIVEL INTERNO
Usuarios finales
BD almacenada
Estructura lógica de usuario
Estructuralógica global
Estructura física
24
Sistemas gestores de bases de datos
Sistemas gestores de Sistemas gestores de bases de datosbases de datos
Miryam Salas Sánchez
Universidad de ExtremaduraEscuela PolitécnicaDepartamento de InformáticaÁrea de Lenguajes y Sistemas Informáticos
Módulo I. Tema 2Módulo I. Tema 2
Bases de datos
Modulo I. Introducción a los sistemas de BD. 13
BD
25
Tema 2. Sistemas gestores de BDTema 2. Sistemas gestores de BD
1. Introducción
2. Facilidades ofrecidas por un SGBD
3. Tipos de usuarios de un SGBD
4. Estructura general y funcionamiento de un SGBD
5. La arquitectura de tres niveles
Módulo I. Tema 2
BD
26
IntroducciIntroduccióónn
Módulo I. Tema 2
• Definición: especificación de los tipos de datos, estructuras y restricciones para los datos que se van a almacenar en la BD
• Construcción: el proceso de almacenar los datos concretos sobre algún medio de almacenamiento controlado por el SGBD
• Manipulación: incluye funciones tales como consultar la base de datos, actualizarla y generar informes a partir de los datos
SGBD: sistema software de propósito general que facilita los procesos de definición, construcción y manipulación de los datos de la BD garantizando su seguridad
Bases de datos
Modulo I. Introducción a los sistemas de BD. 14
BD
27
Facilidades ofrecidas por un SGBDFacilidades ofrecidas por un SGBD
Módulo I. Tema 2
• Proporciona el interfaz entre los datos almacenados y los programas de aplicación o las consultas hechas al sistema, facilitando– Lenguaje de definición de datos (LDD)– Lenguaje de manipulación de datos (LMD)
• Realiza el control de la seguridad e integridad
• Fiabilidad ante fallos hw y sw y proporciona medios para llevar a cabo copias de seguridad y recuperación
• Garantiza la consistencia de los datos compartidos por múltiples usuarios mediante el control de concurrencia
• Almacenamiento seguro y eficiente de los datos interactuando con el gestor de ficheros del SO
BD
28
Tipos de usuarios de un SGBDTipos de usuarios de un SGBD• Usuarios informáticos
– Administradores
– Diseñadores– Analistas y programadores
• Usuarios finales– Simples (usuarios de aplicaciones)– Ocasionales– Avanzados o especializados
• Otros (Constructores de SGBD, constructores de herramientas, operadores...)
Módulo I. Tema 2
Se ocupa de la gestión y control centralizado del SBD, incluyendo datos y programas y en especial de la confidencialidad, disponibilidad e integridad de los datos
Bases de datos
Modulo I. Introducción a los sistemas de BD. 15
BD
29
Estructura y funcionamiento de un SGBDEstructura y funcionamiento de un SGBD
SENTENCIAS DDL
COMANDOS PRIVILEGIADOS
CONSULTASINTERACTIVAS
PROGRAMAS APLICACIÓN
Precompilador
Sentencias LMD
CompiladorLMD
Compilador Consultas CÓDIGO
TRANSACCIONES COMPILADO Compilador
DDL
Compilador del lenguaje
Procesador de BD en tiempo de ejecución
Catálogo/
Diccionario
BASE DE DATOS ALMACENADA
Subsistemas de control de concurrencia, respaldo y
recuperación Gestor de datos
almacenados
Administrador Diseñador Usuario final
especializado
ProgramadoresAplicaciones
Usuario final simple
Ejecución
Ejecución
Ejecución
Módulo I. Tema 2
BD
30
Estructura y funcionamiento de un SGBDEstructura y funcionamiento de un SGBD
Módulo I. Tema 2
- Carga
- Copia de seguridad
- Reorganizaciones de ficheros
- Creación de esquemas
- Control de rendimiento
- Ficheros de datos e índices
- Catálogo o diccionario
- Ficheros de control
- Ficheros de log (diario)
UTILIDADES DE AYUDA AL ABDESTRUCTURAS DE DATOS NECESARIAS
• Otras herramientas relacionadas con SGBD– Herramientas CASE de diseño de BD
– Entornos de desarrollo de aplicaciones
– Programa de control de comunicaciones
Bases de datos
Modulo I. Introducción a los sistemas de BD. 16
BD
31
La arquitectura de tres nivelesLa arquitectura de tres niveles
• También arquitectura de tres esquemas o arquitectura ANSI/SPARC
• Objetivo: separar las aplicaciones del usuario y la base de datos física
• Niveles incluidos– Externo (incluye varios esquemas* externos)
– Conceptual (con un esquema* conceptual asociado)
– Interno (con un esquema* interno asociado)
* Los esquemas no son más que descripciones de los datosMódulo I. Tema 2
BD
32
La arquitectura de tres nivelesLa arquitectura de tres niveles
NIVEL EXTERNO
NIVEL CONCEPTUAL
ESQUEMA INTERNO
ESQUEMA CONCEPTUAL
VISTAEXTERNA
VISTAEXTERNA
...
NIVEL INTERNO
Usuarios finales
BD almacenada
correspondenciaexterno/conceptual
correspondenciaconceptual/interno
Módulo I. Tema 2
Bases de datos
Modulo I. Introducción a los sistemas de BD. 17
BD
33
• El esquema interno describe la estructura física de almacenamiento de la BD (detalles de almacenamiento y caminos de acceso)
• El esquema conceptual describe qué datos deben almacenarse, las relaciones entre ellos y sus restricciones. Es independiente de la máquina y de la visión de cada usuario particular
• El esquema externo describe cada visión particular que tiene un usuario de la BD. Habrátantos esquemas externos como visiones diferentes haya.
La arquitectura de tres nivelesLa arquitectura de tres niveles
Módulo I. Tema 2
BD
34
NIVEL EXTERNO
NIVEL CONCEPTUAL
ESQUEMA INTERNO
ESQUEMA CONCEPTUAL
VISTAEXTERNA
VISTAEXTERNA
...
NIVEL INTERNO
Usuarios finales
BD almacenada
La arquitectura de tres nivelesLa arquitectura de tres niveles
INDEPENDENCIA FÍSICA
INDEPENDENCIALÓGICA
Módulo I. Tema 2
Bases de datos
Modulo I. Introducción a los sistemas de BD. 18
BD
35
Objetivo de la arquitectura de tres niveles
Conseguir que el esquema conceptual sea una descripción estable de los datos de la organización e independiente de las vistas y de la forma de almacenamiento de los datos.
La arquitectura de tres nivelesLa arquitectura de tres niveles
Módulo I. Tema 2
BD
36
La arquitectura de tres nivelesLa arquitectura de tres niveles
PROFESOR
Cargo Salario DespachoDepartamentoNombreNSSDNI
PROFESOR
SalarioNombreNSSDNI
PROFESOR
Cargo DespachoDepartamentoNombreDNI
Visión NÓMINAS Visión CENTRO
Nivel conceptual
Nivel interno
-Especificación de cada tipo de dato en el almacenamiento físico-Métodos de acceso: índice hashing sobre DNI, índice hashing sobre NSS, índice arbóreo sobre Nombre- Especificación sobre la asignación de espacio de almacenamiento
Nivel externo
Módulo I. Tema 2
Bases de datos
Modulo I. Introducción a los sistemas de BD. 19
37
Modelos de datosModelos de datosModelos de datos
Miryam Salas Sánchez
Universidad de ExtremaduraEscuela PolitécnicaDepartamento de InformáticaÁrea de Lenguajes y Sistemas Informáticos
Módulo I. Tema 3Módulo I. Tema 3
BD
38
Tema 3. Modelos de datosTema 3. Modelos de datos
1. Introducción
2. Definición de modelo de datos
3. Clasificación de los modelos de datos
4. Los modelos de datos en el diseño de bases de datos
Módulo I. Tema 3
Bases de datos
Modulo I. Introducción a los sistemas de BD. 20
BD
39
IntroducciIntroduccióónn
• Hay que distinguir entre– la descripción de la base de datos
– la base de datos propiamente dicha
Módulo I. Tema 3
MinimundoMinimundo ESQUEMAABSTRACCIÓN
MODELO DE DATOS
Instrumento que se aplica a los datos del mundo real para obtener el esquema
BD
40
DefiniciDefinicióón de modelo de datosn de modelo de datos
Conjunto de herramientas conceptuales útiles para describir los datos, las relaciones entre ellos, la semántica asociada a los datos y las operaciones que pueden hacerse sobre ellos
Módulo I. Tema 3
ObjetosAsociaciones entre objetosPropiedades o características de los objetosDominios sobre los que se definen las propiedades
Restricciones semánticas
Operaciones básicas
ESTÁTICA
DINÁMICA
Bases de datos
Modulo I. Introducción a los sistemas de BD. 21
BD
41
DefiniciDefinicióón de modelo de datosn de modelo de datos
PROFESOR
Cargo Salario DespachoDepartamentoNombreNSSDNI
DESPACHO
Capacidad max.PabellónNº
Objetos: DESPACHO, PROFESOR
Asociación: Un profesor tiene asignado un despachoPropiedades del objeto DESPACHO: nº, pabellón y capacidad máx.
Dominio de la propiedad capacidad máx.: numérico entre 1 y 4
Ejemplos de operaciones:- añadir un nuevo profesor, borrar un profesor, actualizar su salario, consultar a qué departamento pertenece- añadir las propiedades fecha de nacimiento y estado civil al objeto PROFESOR
EJEMPLO
Módulo I. Tema 3
BD
42
DefiniciDefinicióón de modelo de datosn de modelo de datos
Restricciones semánticas o de integridadciertas reglas que deben cumplir los elementos que queremos representar del mundo realSEMÁNTICASignificado de los datos, todo lo que conocemos sobre ellos
INTEGRIDADCorrección de los datos y su consistencia respecto al mundo real del cual proceden
Ejemplos de restricciones semánticas: - un NSS no se puede repetir para dos DNI distintos- el despacho que tiene asignado un profesor debe existir en DESPACHO- un despacho de capacidad máxima n no puede estar asignado a más de n profesores a la vez
Módulo I. Tema 3
Bases de datos
Modulo I. Introducción a los sistemas de BD. 22
BD
43
ClasificaciClasificacióón de los modelos de datosn de los modelos de datos
• De alto nivel o lógicosSe usan para la construcción de los esquemas externos y conceptual
Conceptuales o de diseño
Convencionales o de representación
• De bajo nivel o físicosSe usan para la construcción del esquema interno o físico
Módulo I. Tema 3
BD
44
ClasificaciClasificacióón de los modelos de datosn de los modelos de datos
- Implementados en SGBD comerciales- Dependen del SGBD- Más próximos al ordenador- Más enfocados a la implementación- Interfaz informático/sistema- Nivel de mediación entre el nivel externo e interno
-No suelen estar implementados en SGBD- Independientes del SGBD- Mayor nivel de abstracción- Mayor capacidad semántica- Interfaz usuario/informático- Más enfocados al diseño de alto nivel (modelado conceptuaL)
CONVENCIONALES o DE REPRESENTACIÓN
CONCEPTUALES o DE DISEÑO
¡¡Ambos tipos se usan para el diseño del esquema conceptual pero en dos aproximaciones diferentes!!
Módulo I. Tema 3
Bases de datos
Modulo I. Introducción a los sistemas de BD. 23
BD
45
MD conceptuales o de diseMD conceptuales o de diseññoo• No nos aportan información sobre qué tipos de
estructuras se utilizarán para almacenar los datos, qué tipos de operaciones pueden realizarse sobre los mismos, etc.
• Estos modelos no pueden implementarse directamente en los sistemas comerciales conocidos, deben transformarse previamente en un modelo de representación.
• Ejemplo
modelo E/R
Otros: modelo binario, modelo semántico de datos, modelo infológico
DESPACHO PROFESORasignado a
1:NNºpabellóncapacidad
DNINSS
nombre departamento...
Módulo I. Tema 3
BD
46
MD convencionales o de representaciMD convencionales o de representacióónn
• Pueden implementarse en sistemas comerciales ya que aportan las estructuras necesarias para almacenar los datos y proporcionan tipos de operaciones y forma de llevarlas a cabo
• Diferentes modelos llevan asociados diferentes lenguajes para la definición de las estructuras de datos y la manipulación de los mismos
• Ejemplo : Modelo Relacional
PROFESOR
Cargo Salario DespachoDepartamentoNombreNSSDNI
DESPACHO
Capacidad max.PabellónNº
Otros:modelo jerárquico,modelo en red
Módulo I. Tema 3
Bases de datos
Modulo I. Introducción a los sistemas de BD. 24
BD
47
- Relacional: Oracle, DB2, Ingres, Informix, PostgreSQL para grandes sistemas y ACCESS, DBASE IV, etc para sistemas pequeños
- Orientado a objetos: ObjectStore, O2- Jerárquico: IMS, MARK IV y SYSTEM 2000- En red: DMS 1100, IDS II, DBMS 10, TOTAL
MD convencionales o de representaciMD convencionales o de representacióónn
SGBD comerciales según el modelo:
Los modelos orientados a objeto se consideran modelos de datos de representación pero mucho más próximos a los modelos conceptuales o de diseño
La mayoría de los SGBD actuales son relacionales extendidos (es decir, incluyen funcionalidades de orientación a objetos)
BD
48
Los MD en el diseLos MD en el diseñño de BDo de BDMinimundo
REQUERIMIENTOS
Funcionales Datos
ANÁLISIS FUNCIONAL DISEÑO CONCEPTUAL
DISEÑO LÓGICO
DISEÑO DE PROGRAMAS DE APLICACIÓN
DISEÑO FÍSICO
IMPLEMENTACIÓNPROGRAMAS
Dependiente del S.G.B.D
Independiente del S.G.B.D
Programas de aplicación
Esquema conceptual modelo E/R
Especificación de procesos
Esquema conceptual (lógico) adaptado al S.G.B.D.
Esquema interno
Módulo I. Tema 3