26
Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Fernando Cano Espinosa Universidad de Oviedo. Departamento de Informática Produced with L A T E X seminar style & PSTricks 1

Capítulo 1: Introducción a los Sistemas de Gestión de ...di002.edv.uniovi.es/~fcano/bdatos/materiales/transpa/bd_tema1.pdf · Capítulo 1: Introducción a los Sistemas de Gestión

Embed Size (px)

Citation preview

Capítulo 1: Introducción a losSistemas de Gestión de Bases de Datos

(SGBD)

Fernando Cano EspinosaUniversidad de Oviedo. Departamento de Informática

[email protected]

Produced with LATEX seminar style & PSTricks 1

CONTENIDO

1. Definición y Objetivos de un SGBD

2. Visión de los datos

3. Modelos de datos

4. Lenguajes de definición y de manipulación de datos

5. Funcionalidades de un SGBD

6. Usuarios de bases de datos

CONTENIDO 2

DEFINICIÓN Y OBJETIVOS DE LOS SGBD

Definición de los SGBD

1. Una BD es una colección de datos interrelacionadossobre un determinado sistema (ventas, un almacen, unabiblioteca, una línea aérea, una contabilidad, etc.)

2. Un SGBD es una colección de programas y estructurasde datos que nos permiten la manipulación o gestión deuna BD.

3. Un SGBD nos debe proporcionar un entorno que nospermita hacer todo lo que necesitamos con nuestrosdatos y además de forma eficiente (rápida y cómoda).

4. Hoy tenemos bases de datos hasta en la sopa.com

DEFINICIÓN Y OBJETIVOS DE LOS SGBD 3

DEFINICIÓN Y OBJETIVOS DE LOS SGBD

Definición de los SGBD

1. Una BD es una colección de datos interrelacionadossobre un determinado sistema (ventas, un almacen, unabiblioteca, una línea aérea, una contabilidad, etc.)

2. Un SGBD es una colección de programas y estructurasde datos que nos permiten la manipulación o gestión deuna BD.

3. Un SGBD nos debe proporcionar un entorno que nospermita hacer todo lo que necesitamos con nuestrosdatos y además de forma eficiente (rápida y cómoda).

4. Hoy tenemos bases de datos hasta en la sopa.com

DEFINICIÓN Y OBJETIVOS DE LOS SGBD 4

Objetivos de los SGBD

Al principio los sistemas de manipulación de datos sebasaban en sistemas de ficheros (binarios o de texto). Porejemplo un fichero para los clientes, otro para los productos,otro para los pedidos, etc. Estos sistemas presentan seriosinconvenientes:

• La duplicación de la información en ficheros diferentes(ej. la información de un empleado aparece en elfichero que manejan los de nominas y en el de los derecursos humanos) que genera Redundancia y posiblesinconsistencias

• Los programas que utilizan los ficheros se encuentran condiferentes formatos y se necesita generar nuevo códigoante modificaciones en la forma de almacenamiento

DEFINICIÓN Y OBJETIVOS DE LOS SGBD 5

• Aparecen problemas en accesos concurretes a losficheros que normalmente se delegan al sistemaoperativos y a cada uno de los programas.

• Las restricciones de los datos (edad 18 años) se debencodificar en todos los programas y añadir o modificar lasrestricciones supone recodificaciones.

• Ante el problema de accesos de distintos usuarios, losprogramas deben implementar sistemas para mantenerla seguridad y confidencialidad de los datos.

• Otro problema es la atomicidad. Se deben establecermecanismos para que ciertos procedimientos seejecuten de forma completa o no se realice ninguna desus acciones. Por ejemplo la transferencia de dinero deuna cuenta a otra. Para ello hay que tener en cuentaque se pueden producir fallos de muy diversa naturaleza.

DEFINICIÓN Y OBJETIVOS DE LOS SGBD 6

Los sistemas de bases de datos ofrecen soluciones paratodos los problemas anteriores.

DEFINICIÓN Y OBJETIVOS DE LOS SGBD 7

VISIÓN DE LOS DATOS

Niveles de Abstracción

• El nivel físico describe cómo se almacenan realmente losdatos (ej. el nombre del cliente es un varchar de 15, laedad un smallint, etc.).

• El nivel lógico describe qué se almacena en la base dedatos (para un cliente almaceno el nombre, la edad, sucuenta corriente, etc.) y las relaciones existenes entreellos (clientes y pedidos que realizan).

• El nivel de vistas describe qué se ve se desde lasdiferentes visiones que tenemos de la base de datos.Sepuede ocultar información (ej el sueldo) por motivos deconfidencialidad, de eficiencia, etc.

VISIÓN DE LOS DATOS 8

Niveles de Abstracción

• Lo ideal es intentar mantener una independencia entrelos distintos niveles. Es decir que los cambios en un nivelno afecten a los otros (lógicamente muchas veces esimposible).

• Pero se puede conseguir que modificaciones en un nivelbajo (ej: la forma de almacenar el nombre de un clienteo su edad) no afecte a niveles superiores.

• Las aplicaciones que se desarrollan sobre BD dependenfundamentalmente del nivel lógico (de qué es lo que sealmacena).

VISIÓN DE LOS DATOS 9

Instancias y Esquemas

• Los esquemas definen la estructura de los datos que sevan a guardar (similar a la definición de una clase enlenguajes de programación). Por ejemplo, en unesquema se define la estrutura de la tabla de clientes.

• Las instancias son el conjunto de datos que tengoalmacenados en un momento dado. Por ejemplo, elcontenido de la tabla de clientes

VISIÓN DE LOS DATOS 10

MODELOS DE DATOS

• Definición: Colección de herramientas conceptualespara describir los datos con lo que vamos a trabajar.Podremos representar (en algunos casos de formagráfica):

– los propios datos

– las relaciones entre ellos

– la semántica de los datos

– las restricciones de consistencia de los datos

• Dependiendo del nivel de abstracción en el quetrabajemos utilizaremos unos otros modelos.

• Las instancias son el conjunto de datos que tengoalmacenados en un momento dado. Por ejemplo, elcontenido de la tabla de clientes

MODELOS DE DATOS 11

Algunos Modelos de Datos

• Modelo entidad-relación

• Modelo relacional

• Otros modelos:

– Modelo orientado a objetos

– Modelos semiestructurados (XML)

– Modelo de red

– Modelos jerárquico

MODELOS DE DATOS 12

Modelo Entidad-Relación

• Se trata de modelar un problema del mundo real deforma gráfica (Diagrama Entidad-Relación) dentro de unnivel lógico de datos.

• Se identifican las entidades (producto, cliente, pedido,etc.) con los atributos que las definen (nombre, edad,precio, etc.).

• Se establecen las relaciones entre las entidades.

• Una vez realizado el Diagrama se puede traducir deforma casi automática a código ejecutable en un SGDBRelacional.

MODELOS DE DATOS 13

Ejemplo de Pedidos

Cliente: Vanesa Brosa

Fecha: 02/02/2005Empleado: Bibi Ciosa

Producto Cantidad Precio Total

Patatas 5 10 50

Kiwis 4 13 52

Total Pedido 126

Peras 2 12 24

Pedido: 1369

MODELOS DE DATOS 14

Ejemplo de Pedidos

Se pretende crear una una base de datos que refleje lainformación que necesita empresita para organizar suspedidos. El sistema debe contemplar los siguientes datos yrestricciones:

• De los productos se quiere registrar un identificador, sudescripción, su precio y sus existencias.

• Para los clientes se quiere registrar un identificador, elnombre, la calle y la ciudad.

• Para los empleados se quiere registrar un identificador, elnombre, la calle y la ciudad.

• De los pedidos se almacenará el cliente que lo solicita, elempleado que le atiende, la fecha y la cantidad decada producto que incluye.

MODELOS DE DATOS 15

Modelo ER de Pedidos

ATIENDE

SOLICITA

CLIENTE

id_cliente nombre

ciudad

calle

(0, n)

1:N

(1, 1)

PEDIDO

id_pedido N:M

(0, m) fecha

(0, n)

(1, 1)

PRODUCTO

id_producto descripcion

precio

existencias

cantidad

DETALLES_PEDIDO

1:N

id_empleado

EMPLEADO

calle nombre

ciudad

(0, n)

MODELOS DE DATOS 16

Modelo Relacional

• Vamos a trabajar con tablas (relaciones) compuestaspor una serie de columnas (atributos).

• Repartiremos los datos de nuestro problema real endiferentes tablas. Repitiendo columnas en diferentestablas podremos relacionar toda la información.

• Nos movemos en un nivel de abstracción lógico y casifísico.

• Contaremos con toda una teoría matemática que nospermitirá establecer restricciones entre los datos yanalizar la bondad del diseño (esquema) de nuestrs BD.

• Este modelo tiene una traducción casi directa a códigoejecutable en un SGBDR (normalmente SQL)

MODELOS DE DATOS 17

Ejemplo Modelo Relacional

Pedidos

IdPedido Fecha IdCliente IdEmpleado

100 01/01/2005 1 10

101 01/01/2005 1 12

102 03/01/2005 2 12

Clientes

IdCliente Nombre

1 Pepe

2 Paco

3 María

Empleados

IdEmpleado Nombre

10 Luis

11 Ana

12 Pedro

MODELOS DE DATOS 18

Ejemplo Modelo Relacional

Productos

IdProducto Nombre Precio Existencias

200 Patatitas 10 100

201 Gusanitos 12 1234

202 Scrotitos 21 222

DetallesPedido

IdPedido IdProducto Cantidad

100 200 10

100 201 8

101 200 333

MODELOS DE DATOS 19

LENGUAJES DE DEFINICIÓN Y MANIPULACIÓN DE DATOS

Lenguajes de Definición de datos

• Permiten especificar el esquema de la base de datos.

create table productos (

ID_producto smallint not null primary key,

descripcion varchar (15) not null,

precio decimal (6,2),

existencias int);

• El compilador de LDD genera un diccionario de datosque contiene metadatos (es decir, datos acerca de losdatos)

• También suelen incluir órdenes para definir la estructurade almacenamiento y los métodos de acceso utilizadospor el SGBD.

LENGUAJES DE DEFINICIÓN Y MANIPULACIÓN DE DATOS 20

FUNCIONALIDADES DE UN SGBD

Los SGBDs son como pequeños sistemas operativosorientados a la gestión de datos. Dentro de suscomponentes funcionales podemos resaltar los siguientesgestores.

• Gestor de almacenamiento (gestión de la memoriaintermedia).

• Gestor de usuarios

• Gestor de integridad

• Gestor de transacciones

• Gestor de concurrencia

• Gestor de recuperaciones

Muchos de estos gestores están interrelacionados

FUNCIONALIDADES DE UN SGBD 21

USUARIOS DE SGBD

Los usuarios se diferencian por la forma en que interactúancon el SGBD.

• Administrador de la base de datos: Es el responsableglobal del SGBD y de cada base de datos.

• Programadores de bases de datos: generan código(SQL) propio del SGBD, pueden realizar labores dedefinición y de manejo de datos. Interactúan conintérpretes del SGBD generalmente de SQL.

• Programadores de aplicaciones: generan aplicacionesen un determinado lenguaje e interactúan con el SGBDpor medio de llamadas LMD.

• Usuarios finales: invocan alguno de los programas deaplicación previamente programados.

USUARIOS DE SGBD 22

El Adminstrador del SGBD

• Coordina todas las actividades del SGBD.

• Entre las funciones del ABD se incluyen:

– Definición del esquema

– Estructura de almacenamiento y definición delmétodo de acceso

– Modificación del esquema y de la organización física

– Concesión de autorización para el acceso a los datos

– Especificación de las restricciones de consistencia

– Actuar como enlace con los usuarios

– Supervisión del rendimiento y respuesta a cambios delos requisitos

USUARIOS DE SGBD 23

USUARIOS DE SGBD 24

USUARIOS DE SGBD 25

USUARIOS DE SGBD 26