Vous êtes sur la page 1sur 40

UA

Unidad 1: Introduccin

BBDD01, Sesin 1: Introduccin a las bases de datos.


Rosala Pea Jess Escobar Daniel Rodrguez Garca Ivn Gonzlez Diego Dept. Ciencias de la Computacin Universidad de Alcal
1

UA

Unidad 1: Introduccin
Grupo de teora obligatorio apuntarse Grupo prcticas apuntarse

Evaluacin 3 PEC semanas 5,10,14 3 PECL No suspender mas de dos de las 6

INDICE
UA

Introduccin Niveles de abstraccin Instancias y esquemas Modelos de datos Lenguajes de un SGBD Estructura de un SGBD Usuarios de un BD Sistemas informticos Proceso de diseo en BBDD

Referencias: Silberschatz 4 Ed. pp 1-16 Semana 1


3

Introduccin
UA

BD: Coleccin de datos interrelacionados con el objetivo de integrar y compartir SGBD: Conjunto de programas que acceden a los datos SGBD + BD contienen informacin sobre una parcela de la realidad SGBD proporciona un entorno conveniente y eficiente para usar Aplicaciones Bases de Datos:
Banca. Transacciones Lneas Areas: reserva de billetes Universidades: registros, calificaciones Ventas: productos, clientes, proveedores, etc. Fabricacin: inventario, produccin, etc. Recursos Humanos: salarios, registros empleados, etc.
4

Bases de Datos toca todos aspectos de nuestras vidas.

Introduccin
UA

1950-1980? Datos sobre ficheros Caractersticas:


Redundancia e Inconsistencias de los datos: Mltiple formatos y duplicidad de informacin Dificultad para acceder a los datos: escribir un nuevo programa para una nueva tarea Aislamiento de Datos: mltiple formatos y ficheros Problemas de integridad (contenidas en el programa) : Restricciones de integridad (balance de una cuenta > 0) Difcil aadir restricciones o cambiarlas Atomicidad de las modificaciones: fallos pueden producir inconsistencias Concurrencia de mltiples usuarios: necesario para incrementar rendimiento y controlar el acceso Problemas de seguridad

Solucin Utilizacin de Sistemas de Bases de Datos


5

Niveles de abstraccin
UA

Arquitectura de tres niveles: Abstraccin de datos

Mapa global/externo Mapa global/fsico

independencia
6

Niveles de abstraccin
UA

Nivel Fsico describe cmo se almacena un registro (ejemplo: cliente). Depende del SGBD Nivel Lgico describe los datos almacenados en la base de datos y las relaciones entre ellos. Esquema global de BD

Nivel Vistas o externo ocultan detalles de tipo de datos. Programas de aplicacin se escriben a este nivel
Cada usuario o grupos de usuarios tiene su propia vista Pueden ocultar informacin (ejemplo salario) para determinados usuarios

Niveles de abstraccin
UA

Los niveles proporcionan independencia de datos: No cambia el esquema sino el mapa entre dos niveles. Ejemplos prcticos: 1. Se desea migrar una BD (con un diseo en tres niveles: Diccionario de Datos, conceptual E/R, lgico relacional, fsico Oracle) de Oracle a SQL Server. No cambia: modelo conceptual, modelo lgico Cambia: modelo fsico, regenerndolo para cumplir las reglas y peculiaridades del nuevo SGBD. 2. Una nueva aplicacin requiere un nuevo campo Una tabla en el modelo global tiene un atributo mas. Se crea un esquema externo nuevo para esa aplicacin, conteniendo ese nuevo campo El resto de aplicaciones no se ven afectadas ya que 8 sus esquemas externos no han cambiado.

Niveles de abstraccin
UA

Independencia de datos: Lgica: es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicacin (solo el mapa) Fsica: es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual Las aplicaciones dependen del esquema externo cambian no

La interfaz (o mapa) entre niveles esta definida para que cambios en una parte, no influyan en otras Ojo: La independencia es slo de arriba abajo (si hay que
incluir un campo en el nivel externo, afecta al global y al fsico)
9

Base de datos, esquema e instancia


UA

Conceptos equivalentes a variable, tipo y valor en lenguajes de programacin BD contenedor de informacin, al igual que una variable
Lo deseable es la (una) BD de la empresa, pero un economista que realiza la nmina de distintas empresas tendra una BD para cada una de ellas

Esquema Estructura lgica de una base de datos (recoge restricciones en el mundo real)
Equivalente al tipo de una variable en un programa Esquema fsico cmo almacenar los datos en el disco Esquema lgico qu datos son relevantes en el universo del discurso

Instancia el contenido de una base de datos en un instante determinado (conjunto de datos concretos que almacena)
Anlogo al valor de una variable Tambin llamada ocurrencia, ejemplar, estado (de la BD) o instantnea El back-up contiene una instancia de una BD El Universo Discurso (UD) evoluciona en el tiempo, y con l la BD, generando instancias distintas Virtualmente el nmero de instancias puede ser infinito. 10 (buena discusin de esto en Piattini2006, pag 100)

Instancias
UA

Cuando se crea una base de datos, slo se est definiendo su esquema, an no tiene datos, por lo que se dice que tiene un estado vaco o es instancia vaca Cuando se cargan los datos iniciales (tablas con datos maestros) Estado inicial o instancia inicial Los estados pueden ser infinitos debido a la evolucin del sistema, pero siempre satisfaciendo las restricciones del UD El SGBD (Sistema Gestor de Base de Datos) se encarga de que slo se almacenen estados instancias vlidos, ajustados a las reglas del esquema proporcionado Si las reglas son errneas Base de Datos contendr estados o instancias imposibles en el mundo real (por fallos en el diseo). Ejemplo: (Sexo: Varn, n embarazos=2)

11

Diccionario de datos
UA

La validacin de las instancias se lleva a cabo mediante el esquema, almacenado en una seccin de la BD llamada Meta-Base de Datos, o Base de Datos del Sistema, o Catlogo del Sistema Acta como catlogo del sistema, permitiendo al SGBD saber qu reglas debe aplicar Metadatos Intensin de la Base de Datos Instancia determinada Extensin del esquema de la Base de Datos.
12

Modelos de datos
UA

Son una coleccin de herramientas conceptuales para describir:


Datos Relaciones entre datos La semntica de los datos Restricciones de los datos

Modelo Entidad-Relacin Modelo Relacional Otros modelos


Modelo orientado a objetos Modelo relacional orientado a objetos Modelos de datos semi-estructurados Modelos viejos: en red y jerrquico
13

Modelos de datos
UA

Modelos lgicos basados en objetos

Modelos lgicos basados en registros

Modelos fsicos

Modelo Entidad - Relacin

Modelo jerrquico

Modelo relacional

Modelo orientado a objetos Otros modelos de datos: Semntico, funcional

Modelo de red

14

Modelo entidad relacin (MER)


UA

Modelo E-R (del mundo real )


Entidades (objetos): clientes, cuentas Atributos (caractersticas): nombre, apellidos, dni Relaciones entre entidades: cuenta A-101 pertenece a Javier Relacin impositor asocia clientes con cuentas

Usado ampliamente para el diseo de bases de datos


Diseo de bases de datos con modelo E-R se convierte usualmente en el modelo relacional que es usado para procesamiento y almacenamiento Sencillo, fcil de entender, usado incluso para hablar con nuestro cliente

El esquema global se representa mediante un diagrama.


15

Modelos de datos
UA

Ejemplo (parcial) de esquema en el modelo entidad relacin.

Pedido
(0,n) Numero Lnea Cantidad

N de Pedido

N:M

Contiene

(1,n)

Artculo

IdArticulo

16

Modelo relacional
UA

Se utilizan tablas para los datos y relaciones Ejemplo de instancia en el modelo relacional Atributo

Ocurrencia

17

Ejemplo de Base de datos relacional


UA

La relacin entre tables se establece por el valor contenido

Saldo del Cliente Santos?=750

18

Modelo de datos
UA

Orientado a Objetos: similar al modelo E-R. Coleccin de Objetos valores almacenados en variables + mtodos que operan sobre ellos. Los que tienen iguales valores y mtodos Se agrupan en clases Se accede a los valores por medio de mtodos Cada objeto tiene identidad nica independiente de los datos dos objetos con valores iguales son diferentes.

19

Modelo de datos
UA

Modelo jerrquico:
Los registros se organizan como colecciones de rboles Establece relaciones de 1 a n
p c p

cli 1

cli 1 c

cli 1

cliente
compra
s

prod1

prod2

prod2

prod3

prod4

producto
Esquema Instancia

Asimetra: Qu compr cli1?/Quin compr prod2? Problemas: dnde almaceno un producto aun no comprado?
20

Modelo de datos
UA

Modelo de red
Se establecen grafos dirigidos, o mas bien diversos rboles Establece relaciones de n a m, mediante un nexo (pedido en el ej)
cliente pedido producto
Esquema
s p c p c p

cli 1

cli 1

cli 1

ped1

ped2

ped3

ped4

ped5

Simtrico Cada ped 1 y slo 1 padre de cada tipo

prod1

prod2

prodN

Instancia

21

Lenguajes de un SGBD (LDD)


UA

SGBD programarlo para introducir el esquema de definicin de la BD LDD (Lenguaje de definicin de datos) Se puede dividir en: LDA (Lenguaje de definicin de Almacenamiento): utilizado slo para crear el esquema LDV (Lenguaje de definicin de vistas) Ej:

Genera el esquema de la base de datos Metadatos (datos sobre los datos) Se guarda en el catlogo de la Base de Datos

22

El catlogo de un SGBD relacional


UA

Almacena el esquema de la base de datos Nombre de las relaciones Nombre de atributos Nuevos dominios Restricciones: Dominio de datos Claves candidatas y primarias Claves extranjeras o forneas Valores NULL/NOT NULL Vistas Estructura de almacenamiento ndices y mtodos de acceso Autorizacin: Usuarios/Permisos/Datos En sistemas avanzados tambin almacena: Funciones de usuario Operadores Estadsticas para la gestin del SGBD Disparadores (triggers)

23

El catlogo de un SGBD relacional


UA

Es una BD sobre la BD Ejemplo: relacin de catlogo que describe esquemas de relacin.

24

El catlogo de un SGBD relacional


UA

Ej. acceso de usuario mediante herramienta administrativa:

25

Lenguajes de un SGBD (LMD)


UA

Lenguajes de un SGBD LMD De Alto Nivel o no procedimental: Tpico lenguaje de consulta orientado a conjuntos Qu obtener pero no cmo obtenerlo Son declarativos De Bajo Nivel o procedimental: Trabajan registro a registro Estn integrados en un lenguaje de programacin de propsito general (Lenguaje anfitrin). Los LMD utilizados de forma independiente se les llama lenguajes de consulta SQL (Select Query Language) es el lenguaje de consultas ms utilizado. Es un estndar. Especializados: 4GL

26

Lenguajes de un SGBD (SQL)


UA

SQL: ampliamente usado como lenguaje no-procedimental


Ejemplo: En la BD de la trasparencia 16 Encontrar el nombre del cliente cuyo identificador es 19.283.746 SELECT cliente.nombre_cliente FROM cliente WHERE cliente.id_cliente= 19.238.746 Encontrar el saldo del cliente anterior SELECT cuenta.saldo FROM impositor, cuenta WHERE impositor.id_ cliente= 19 238 746 AND impositor.numero_cuenta=cuenta.numero_cuenta

Los programas de aplicacin acceden a la base de datos por:


Extensiones de un lenguaje de programacin convencional (COBOL, PL1..) que permiten embeber SQL Interfaces de aplicacin (ODBC/JDBC) que permiten enviar consultas SQL a la 27 base de datos

Esquema de funcionamiento de un SGB


UA

Tipos de usuarios

Procesadores de consultas

Gestor de almacena miento

28

Estructura de un SGBD a nivel interno


UA

Gestor de almacenamiento
Interface entre los datos y programas de alto nivel y consultas Responsable del almacenamiento, recuperacin y actualizacin de la base de datos Componentes: Gestor autorizacin e integridad satisface las ligaduras de integridad y la autorizacin de usuarios para acceder Gestor de transacciones asegura que la BD quede en estado consistente (correcto) a pesar de fallos en el sistema y transacciones concurrentes (ACID) Gestor de archivos gestiona la reserva de espacio en disco y las estructuras de archivos empleadas para la representacin de la informacin almacenada Gestor de memoria intermedia trae los datos del disco a la memoria principal y decide qu datos tratar en la memoria cache.
29

Estructura de un SGBD a nivel interno


UA

Procesador de consultas
Intrprete del LDD interpreta las instrucciones LDD y las registra en un conjunto de tablas que tienen metadatos Compilador del LMD traduce instrucciones del LMD a instrucciones de bajo nivel que entiende el motor de evaluacin de consultas Precompilador del LMD convierte las instrucciones del LMD en llamadas a procedimientos normales del anfitrin Optimizador de consultas obtiene la consulta ms eficiente equivalente a la original para ser procesada posteriormente Motor de evaluacin de consultas ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD.
30

Herramientas
UA

Carga de Datos de ficheros existentes Herramientas de conversin (importar/exportar) Copia de Seguridad (Back-up) Reorganizacin de ficheros Control del rendimiento para la supervisin de la base de datos Compresin de datos Sistema de comunicaciones.
31

Usuarios de las BD
UA

Segn la manera en que interacten con la BD:


Programadores de aplicaciones interactan con el sistema a travs de llamadas al LMD sobre otro lenguaje (anfitrin) Usuarios sofisticados realizan peticiones usando un lenguaje de consultas Usuarios especializados escriben aplicaciones especializadas Usuarios normales usuarios no sofisticados que interactan con el sistema a travs de aplicaciones permanentes Oficinistas, clientes que acceden a travs de web o puestos de consulta. Ej: reservas areas, banca. Administrador de la Base de Datos (ABD) control central sobre el sistema. Una o varias personas. Definicin del esquema Definicin de la estructura y mtodos de acceso Modificacin del esquema y de la organizacin fsica Concesin de la autorizacin para el acceso a los datos Mantenimiento rutinario: Back-up, espacio en disco, supervisin, etc.
32

Sistemas Informticos (Centralizado)


UA

El sistema de la Base de Datos se ejecuta en un nico sistema informtico, sin interactuar con ningn otro sistema Estos sistemas abarcan a los tpicos equipos monopuesto, y a los sistemas multipuesto, donde la base de datos est centralizada en el sistema principal No suelen ofrecer soluciones excesivamente avanzadas en la gestin de la base de datos.
33

Sistemas Informticos (Centralizado)


UA

34

Sistemas Informticos (Cliente-Servidor)


UA

Muy extendidos en la actualidad La base de datos se sita en un ordenador, el cul realiza toda la gestin y almacenamiento de datos. Es el servidor Los ordenadores (quiz menos potentes) hacen consultas sobre los datos del servidor proporcionando una interface amigable de acceso a datos al usuario, descargando de esta tarea al servidor. Son los clientes Sistema cliente-servidor tpico: Servidores de pginas Web con conexin a base de datos.
35

Sistemas Informticos (Cliente-Servidor)


UA

36

Sistemas Informticos (Paralelos)


UA

Utilizan varias CPU y discos en paralelo para optimizar el rendimiento Rendimiento:


Productividad : n de tareas completadas en un intervalo de tiempo Tiempo de respuesta : tiempo en completar una tarea.

37

Sistemas Informticos (Distribuidos)


UA

La informacin se almacena en varios ordenadores Dichos ordenadores estn conectado entre s por redes de comunicacin.

38

Clasificacin Sistemas de Bases de Datos


UA

Por Modelo de Datos: relacional, objeto-relacional, jerrquico, red Por el n de usuarios: monousuario, multiusuario N de sitios en los que est dividido: centralizado, distribuido Campo de aplicacin:
Propsito general Propsito especfico : reserva de billetes de lneas areas (OLTP)

Coste.

39

UA

Proceso de Diseo de las BBDD


El proceso de diseo de una base de datos, idealmente, es un proceso secuencial e incremental
Captura de requisitos: Diccionario de Datos (Documentos + ME/R Ext) Aproximacin inicial (Anlisis): Modelo Lgico (ME/R Ext MR) Solucin especfica (Diseo): Modelo Fsico (MR especfico del SGBD) Programacin: Implementacin (Estructuras y consultas) (SQL) Carga inicial (a veces conocida como carga de ficheros maestros) (SQL) Pruebas (SQL, Java, otros lenguajes con acceso al SGBD). Partimos de un enunciado en lenguaje natural: poco formal, dado a confusiones y ambigedades, con informacin incompleta Errores en las primeras fases se magnifican en fases siguientes La base de datos es un ente vivo, cambia y se adapta, y por tanto el diseo tambin se debe adaptar: A veces hay que volver atrs a cambiar elementos, pero sin perder los datos ya almacenados.
40

Problemas:

Vous aimerez peut-être aussi