Objetivos de los sistemas de bases de datos Vistas de...

30
Bases de datos 1 Objetivos de los sistemas de bases de datos Vistas de datos Modelos de datos Lenguajes de definición de datos (DDL) Lenguajes de manipulación de datos (DML) Gestión de transacciones Gestión de almacenamiento Administrador de bases de datos Usuarios de bases de datos Estructura general del sistema

Transcript of Objetivos de los sistemas de bases de datos Vistas de...

Page 1: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 1

  Objetivos de los sistemas de bases de datos"  Vistas de datos"  Modelos de datos "  Lenguajes de definición de datos (DDL) "  Lenguajes de manipulación de datos (DML)"  Gestión de transacciones"  Gestión de almacenamiento"  Administrador de bases de datos"  Usuarios de bases de datos"  Estructura general del sistema"

Page 2: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 2

Es una colección de datos operativos almacenados y utilizados por los

programadores de aplicaciones y por usuarios finales de muy diversa índole!

Idea básica al implementar una BD:"

Aprovechar los mismos datos para tantas aplicaciones como sea posible."

Page 3: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 3

  Conjunto de datos relacionados"  Conjunto de programas para acceder a los datos "  Un SGBD contiene información sobre una realidad concreta"  Un SGBD proporciona un entorno que es conveniente y eficiente en

su uso"  Aplicaciones de bases de datos:"

 Bancos: todas las transacciones"  Líneas aéreas: reservas, planificaciones" Universidades: matrícula, titulaciones" Ventas: clientes, productos, compras" Fabricación: producción, inventario, suministros" Recursos humanos: registros de usuarios, salarios"

  Las bases de datos “tocan” todos los aspectos de nuestras vidas"

Page 4: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 4

Las primeras aplicaciones de bases de datos se construían sobre los sistemas de ficheros"

  Problemas de usar sistemas de ficheros para almacenar datos:" Redundancia de datos e inconsistencias"

 Varios formatos de fichero, información duplicada en diferentes ficheros"

 Dificultad en acceder a los datos " Necesidad de escribir un nuevo programa para cada nueva

tarea" Aislamiento de datos — multiples ficheros y formatos" Problemas de integridad"

 Las restricciones de integridad (p.e. balance > 0) son parte del código del programa"

 Dificultad en añadir nuevas restricciones o cambiar las existentes"

Page 5: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 5

  Problemas de usar sistemas de ficheros (cont.) "  Atomicidad de actualizaciones"

 Los fallos pueden dejar la base de datos en un estado inconsistente debido a actualizaciones parciales"

 P.e. transferir fondos de una cuenta a otra debería o bien realizarse completamente o bien no realizarse"

  Acceso concurrente por varios usuarios" Los accesos concurrentes son necesarios para aumentar las

prestaciones" Los accesos concurrentes incontrolados pueden llevar a

inconsistencias"–  P.e. dos personas leyendo un balance y modificándolo a la vez"

  Problemas de seguridad"  Los sistemas de bases de datos dan soluciones a todos estos problemas"

Page 6: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 6

  Es decir, un SGBD tiene por objetivos: "  Acceso concurrente"  Independencia física y lógica"  Redundancia controlada de los datos"  Alta relacionabilidad de los datos"  Integridad de los datos"  Consistencia de los datos"  Seguridad de los datos"  Actualización fácil y coherente"  Alto rendimiento"  Reducción de la dificultad de programación"

Page 7: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 7

  El nivel físico describe cómo se almacena un registro (p.e., cliente)."  El nivel lógico: describe los datos almacenados en la base de datos

y las relaciones entre los datos."" "type cliente = record

" " "nombre : string;" " "calle : string;" " "ciudad : integer;" "end;"

  EL nivel de vista: los programas de aplicación ocultan detalles de los tipos de datos. Las vistas también pueden ocultar información (p.e. salario) por motivos de seguridad. "

Page 8: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 8

nivel de vista

Una arquitectura para un sistema de bases de datos "

vista 1 vista 2 vista n

nivel lógico

nivel físico

Page 9: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 9

Bancos, líneas aéreas, …"

Modelos de información,"conjuntos de entidades,"

atributos, ref. cruzadas, …"

Árboles equilibrados,"ficheros secuenciales, indexados,"cadenas, hash, listas invertidas, …"

Bits, bytes, registros,"códigos ASCII, EBCDIC, …"

El mundo real!

Las bases de datos!

Las estructuras de datos!

El almacenamiento físico!

Page 10: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 10

  Similar a tipos de datos y variables en lenguajes de programación"  Esquema – la estructura lógica de la base de datos"

  P.e., la base de datos consiste en información sobre un conjunto de clientes y cuentas y la relación entre ellos)"

  Análogo al tipo de datos de una variable en un programa"  Esquema físico: el diseño de la base de datos a nivel físico"  Esquema lógico: el diseño de la base de datos a nivel lógico"

  Instancia – el contenido actual de la base de datos en un instante concreto"  Análogo al valor de una variable"

  Independencia física de los datos – la habilidad para modificar el esquema físico sin cambiar el esquema lógico"  Las aplicaciones dependen del esquema lógico"  En general, los interfaces entre los diferentes niveles y componentes

debería estar bien definidos para que los cambios en algunas partes no afecten de forma importante a otras."

Page 11: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 11

  Una colección de herramientas para describir" datos "  relaciones entre datos" semántica de los datos"  restricciones de los datos"

  Modelo relacional"  Otros modelos: "

 Modelo orientado a objetos" Modelos de datos semiestructurados" Modelos antiguos: modelo de red y modelo jerárquico"

  Modelo Entidad-Asociación o Entidad-Relación (para diseño)"

Page 12: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 12

  Ejemplo de datos tabulares en el modelo relacional"

nombre-cliente!Id-Cliente" calle-cliente! ciudad-cliente! numero-cuenta!

Pérez"

Gómez"

López"

Gómez"

González"

192-83-7465"

019-28-3746"

192-83-7465"

321-12-3123"

019-28-3746"

Principe"

Real"

Real"

Sol"

Norte"

Vigo"

Santiago"

Vigo"

Madrid"

Lugo"

A-101"

A-215"

A-201"

A-217"

A-201"

Atributos"

Page 13: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 13

Id-cliente! nombre-cliente! calle-cliente! ciudad-cliente!

192-83-7465"019-28-3746"677-89-9011"182-73-6091"321-12-3123"336-66-9999"019-28-3746"

Sánchez" Rodríguez" Gómez" Fernández" Veiga" López" Rodríguez"

Alma" Norte" Príncipe" Alcalá" Príncipe" Diagonal" Norte"

Santiago" Vigo" Madrid" Madrid" Madrid" Barcelona" Vigo"

(a) Tabla clientes"

numero-cuenta! saldo!

A-101"A-215"A-102"A-305"A-201"A-217"A-222"

500"700"400"350"900"750"700"

(b) Tabla cuentas"

Id-cliente! numero-cuenta!

192-83-7465"192-83-7465"019-28-3746"677-89-9011"182-73-6091"321-12-3123"336-66-9999"019-28-3746"

A-101"A-201"A-215"A-102"A-305"A-217"A-222"A-201"

(c) Tabla depositante"

Page 14: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 14

  Proceso para diseñar la estructura general de la base de datos" Diseño Lógico: Decisión del esquema lógico de la base de

datos. Es decir, encontrar una conjunto “adecuado” de esquemas de relación" Decisiones de negocio: ¿qué atributos debería

almacenar en la base de datos?"  Decisiones informáticas: ¿qué esquemas de relación

utilizar y cómo distribuir entre ellos los atributos?" Diseño físico: Escribir el programa."

Page 15: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

 Análisis de requisitos" Diseño conceptual" Diseño lógico" Normalización" Diseño físico"

Bases de datos 15

Page 16: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 16

  Modelo E-A del mundo real" Entidades (objetos) "

 P.e. clientes, cuentas, sucursales bancarias" Asociaciones entre entidades"

 P.e. La cuenta A-101 pertenece al cliente Pérez" La asociación depositante asocia clientes con cuentas"

  Ampliamente utilizado para diseño de bases de datos" El diseño de bases de datos en el modelo E-A normalmente se

transforma en un diseño en el modelo relacional que se utiliza para almacenamiento y procesamiento"

Page 17: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 17

Ejemplo de esquema en el modelo entidad-asociación"

clientes cuentas depositante

nombre-cliente calle-cliente

id-cliente ciudad-cliente

numero-cuenta saldo

Page 18: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 18

UN SGBD es un software que al menos:"

  Gestiona las BD y al acceso a las mismas."  Proporciona un LDD (Lenguaje de Definición de Datos)"

  Proporciona facilidades para definir esquemas"

  Proporciona un LMD (Lenguaje de Manipulación de Datos)"  Proporciona facilidades para acceder y manipular los datos

organizados en el modelo de datos apropiado"

Page 19: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 19

  Especificación de notación para definir el esquema de las bases de datos"  P.e.

"create table cuenta ( numero-cuenta char(10), balance integer)"

  El compilador de DDL genera un conjunto de tablas almacenadas en un diccionario de datos!

  Los diccionarios de datos contienen metadatos (es decir, datos sobre los datos)"  esquema de la base de datos"  Lenguaje de almacenamiento y definición de datos"

 El lenguaje en el que se especifican las estructuras de almacenamiento y los métodos de acceso usados por la base de datos"

 Normalmente es una extensión del lenguaje de definición de datos"

Page 20: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 20

  Lenguaje para acceder y manipular a los datos organizados por el modelo de datos apropiado" El DML también se conoce como lenguaje de consulta"

  Dos clases de lenguajes" Procedimental – el usuario especifica que datos quiere consultar

y como obtener esos datos" No procedimental – el usuario especifica que datos quiere

consultar sin especificar como obtener esos datos"

  SQL es el lenguaje de consulta más ampliamente usado"

Page 21: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 21

  SQL: lenguaje no procedimental ampliamente utilizado"  P.e. encontrar el nombre del cliente con id-cliente 192-83-7465

" "select cliente.nombre-cliente" "from cliente " "where cliente.id-cliente = ʻ192-83-7465ʼ"

  P.e. encontrar los balances de todas las cuentas pertenecientes al cliente con id-cliente 192-83-7465 " "select cuenta.balance" "from depositante, cuenta " "where depositante.id-cliente = ʻ192-83-7465ʼ and ! ! depositante.numero-cuenta = cuenta.numero-cuenta!

  Los programas de aplicación normalmente acceden a bases de datos mediante"  Extensiones de lenguaje que permiten embeber SQL"  Interfaces de programación de aplicaciones (p.e. ODBC/JDBC) que

permiten enviar consultas SQL a una base de datos!

Page 22: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 22

 El gestor de almacenamiento es un módulo que proporciona el interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicación y consultas enviadas al sistema."

 El gestor de almacenamiento se encarga de:" Interactuar con el gestor de ficheros " Conseguir un almacenamiento, recuperación y

actualización eficientes de los datos"

Page 23: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 23

  Una transacción es un conjunto de operaciones que realizan una única función lógica en una aplicación de bases de datos"

  El componente de gestión de transacciones asegura que la base de datos se mantiene en un estado consistente (correcto) aun cuando se produzcan fallos en el sistema (p.e. fallos de alimentación o del sistema operativo) o fallos de transacción."

  El gestor de control de concurrencia controla la interacción entre transacciones concurrentes, para asegurar la consistencia de la base de datos."

Page 24: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 24

  Coordina todas las actividades del sistema de bases de datos; el administrador de bases de datos tiene un buen conocimiento de los recursos y necesidades de información de la organización."

  Las funciones del administrador de bases de datos incluyen:" Definición de esquemas" Definición de métodos de acceso y estructuras de almacenamiento" Modificación de esquemas y organización física" Garantizar derechos de acceso a la base de datos" Especificar restricciones de integridad" Actuar como enlace con los usuarios" Monitorizar las prestaciones y responder a cambios en los requisitos"

Page 25: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 25

  Los usuarios se diferencian por la forma en que esperan interactuar con el sistema"

  Programadores de aplicaciones – interactuan con el sistema a través de llamadas DML"

  Usuarios sofisticados – hacen peticiones en un lenguaje de consulta de bases de datos"

  Usuarios especializados – escriben aplicaciones de bases de datos sofisticadas que no encajan en el marco del procesamiento tradicional de datos"

  Usuarios no técnicos – llaman uno de los programas de aplicación permanentes que se han escrito previamente" P.e. gente accediendo a la base de datos a través del web, cajeros

de banco, personal de oficina"

Page 26: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 26

procesador de consultas

gestión de almacenamiento

gestión de bufferes gestión de ficheros gestión de autorización e integridad

gestión de transacciones

datos

compilador y organizador de DML

evaluador de consultas

consultas DML interprete DDL compilador y enlazador

código objeto de programa de aplicación

índices diccionario de datos

datos estadísticos

gestión de disco

interfaces de aplicación

programas de aplicación

herramientas de consulta

herramientas de administración

usuarios no técnicos (vende- dores, agentes, usuarios web)

usuarios sofisticados (analistas)

programadores de aplicaciones

administradores de bases de datos

usan usan escriben usan

Page 27: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

  La arquitectura de un sistema de bases de datos está muy influenciado por el sistema computacional que lo soporta:"  Centralizado"  Cliente-servidor"  Paralelo "  Distribuido"

Bases de datos 27

Page 28: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

Bases de datos 28

 Arquitectura en dos niveles: P.e. los programas clientes utilizan ODBC/JDBC para comunicarse con la base de datos" Arquitectura en tres niveles: P.e. las aplicaciones basadas en web, o las aplicaciones que utilizan “middleware”"

aplicación

sistema de bd

usuario

red red

a. arquitectura en dos niveles b. arquitectura en tres niveles

sistema de bd

programa servidor

aplicación cliente

usuario

cliente

servidor

Page 29: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

  1950s y principios de los 1960s:"  Procesamiento de datos con almacenamiento en cinta magnética"

 Las cintas sólo permiten acceso secuencial"  Entrada mediante tarjetas perforadas"

  Finales de los 1960s y 1970s:"  Discos durso con acceso directo a datos"  Utilización generalizada de los modelos jerárquico y de red"  Ted Codd define el modelo de datso relacional:"

  IBM comienza a desarrollar el prototipo del sistema R" La Universidad de Berkeley comienza el prototipo de Ingres"

  Procesamiento de transacciones de altas prestaciones (para la época)"

Bases de datos 29

Page 30: Objetivos de los sistemas de bases de datos Vistas de ...gssi.det.uvigo.es/users/mramos/public_html/bd/2010-11/cap1.pdf · Un SGBD contiene información sobre una realidad concreta"

  1980s:"  Los prototipos relacioanles se transforman en sistemas comerciales"

 SQL se convierte en el estándar de la industria"  Sistemas de bases de datos paralelos y distribuidos"  Sistemas de bases de datos orientados a objetos"

  1990s:"  Aplicaciones complejas para el soporte a la toma de decisiones y

minería de datos"  Grandes Data warehouses de varios terabytes"  Apariciópn del comercio Web"

  Principios de 2000s:"  Estándares XML y Xquery"  Administración automatizada de bases de datos"

  Finales de 2000s:"  Sistemas de almacenamiento gigantescos"

 Google BigTable, Yahoo PNuts, Amazon, .."Bases de datos 30