Quasi - Sistemas Gestores de Bases de Datos

15

Click here to load reader

Transcript of Quasi - Sistemas Gestores de Bases de Datos

Page 1: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

1

Tutorial creado por Silvia y Quasi / Javier Fernández Rivera http://ircorion.net | [email protected]

SISTEMAS GESTORES DE BASES DE DATOS

Dentro de un sistema de información, la información se puede agrupar y

almacenar en ficheros a medida que crecen las necesidades de información en la

empresa se van creando nuevos programas, para acceder a nuevos datos e integrar esa

información con los datos existentes.

Además los diferentes departamentos de una empresa pueden compartir los

mismos datos o utilizar datos diferentes y cada departamento va a tener sus propios

programas.

En un momento determinado en el tiempo tenemos que crear programas que

integren los distintos departamentos y mantengan la información actualizada. Esto

implica una tarea dificultosa ya que los datos contenidos en los ficheros tienen un

formato determinado y no todos los programas están realizados en el mismo lenguaje de

programación, lo cual puede provocar un aislamiento de los datos. Esto implica que

muchas veces se producen repeticiones de información en diferentes ficheros que

provocaron redundancias. La redundancia puede provocar problemas de integridad y

consistencia.

1. PROBLEMAS EN LA GESTIÓN CON FICHEROS DE DATOS

Los principales problemas de los sistemas de gestores de ficheros los podemos

agrupar en dos tipos:

A) PROBLEMAS RESPECTO A LOS ARCHIVOS

• Necesidad de controlar la integr idad semántica

• Control de autorizaciones, que consiste en evitar accesos indebidos a los datos

por lo que a cada usuario se le da un nombre de usuario y una clave. Pero como

hay muchos ficheros hay que controlar todos los ficheros por lo que habría que

dar en sitios diferentes distintas contraseñas. A la hora de quitar los permisos

hay que quitarlos en todos los sitios.

Page 2: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

2

• No hay control de concurrencia( acceden muchas persona a los mismos datos) en

el acceso a ficheros. Si acceden desde varios programas no podemos controlar la

concurrencia.

B)PROBLEMAS CON RESPECTO A LOS DATOS

• Redundancia: repetición de datos en el mismo sitio.

• Inconsistencia: hay datos redundantes pero no dicen lo mismo.

• Aislamiento: cuando hay datos almacenados a los que es difícil acceder.

2. CONCEPTO DE BASES DE DATOS

La aparición de la expresión de bases de datos se produce en los años 60 y en el año

1963 tuvo lugar en Santa Monica un simposium en cuyo título se encontraba la

expresión Data Base. En este congreso se propuso una definición de base de datos que

no fue admitida universalmente. En el año 1967 el grupo Codasyl decide cambia de

nombre y pasar a llamarse Data Base Task Group. Existen múltiples definiciones de

bases de datos. Todas las definiciones de bases de datos coinciden en que una base de

datos es un conjunto, colección o deposito de datos almacenados en un conjunto de

información no volátil.

2.1CARACTERÍSTICAS DE LAS BASES DE DATOS

a) Los datos están interrelacionados y estructurados de acuerdo con un modelo

capaz de recoger el máximo contenido semántico.

b)La redundancia de los datos debe ser controlada de forma que no existan

duplicaciones perjudiciales ni innecesarias y que las redundancias físicas (referidas al

almacenamiento; modifica automáticamente el sistema) convenientes muchas veces, en

caso de existir sean tratadas automáticamente por el mismo sistema y que puedan existir

inconsistencias. Esto se suele expresar de forma que no puede existir redundancia lógica

aunque si se admite cierta redundancia física. A todo esto se le llama redundancia

controlada por el sistema.

c)Independencia tanto física(datos almacenados en dos sitios diferentes) como

lógica de los datos.

d) la definición o descripción del conjunto de datos contenidos en la base de

datos, esto es lo que se suele llamar estructura o esquema de una base de datos debe ser

única y estar integrada con los mismos datos.

Page 3: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

3

Después de haber enunciado estas características podemos definir una base de datos

como una colección o deposito de datos integrados, almacenados en un soporte

secundario y con redundancia controlada, los datos han de ser compartidos por

diferentes usuarios y aplicaciones, deben mantenerse independientes de ellos y su

definición única y almacenada junto con los datos se ha de apoyar en un modelo de

datos el cual ha de permitir captar las interrelaciones y restricciones existentes en el

mundo real. Los procedimientos de actualización y recuperación comunes y bien

determinados facilitarán la seguridad del conjunto de datos.

Se define sistema gestor de bases de datos como el conjunto de programas que

permiten la implantación, acceso y mantenimientos de la base de datos.

Al SGBD junto con la base de datos y los usuarios se le llama sistema de base de datos.

Las bases de datos tienen una serie de inconvenientes que vamos a citar:

a)Instalación costosa

b)Coste elevado

c)Se necesita personal especializado

d)Los conocimientos que resultan imprescindibles para una correcta y eficaz

utilización y sobretodo para el diseño y administración de la base de datos implican una

necesidad de personal especializado.

e)implantación larga y difícil.

f)falta de rentabilidad a corto plazo

g)Escasa standarización en el software

h)Desfase entre la teoría y la práctica(+ avanzada la teoría).

3.NIVELES DE ABSTRACCIÓN DE UNA BASE DE DATOS

Existen dos estructuras distintas que son:

a)Lógica: vista del usuario.

b)Física: forma en que se encuentran los datos en el almacenamiento.

En las bases de datos aparece un nuevo nivel que se ha denominado nivel conceptual,

lógico global. Esta estructura está entre las otras dos y pretende una representación

global de los datos que se interponga entre las estructuras lógicas y físicas de la

Page 4: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

4

arquitectura a dos niveles, siendo independiente, tanto del equipo como de cada usuario

en particular. Puedes modificarlo sin conocer la estructura.

Estructura lógica de usuario o esquema externo: es la visión que tiene de la base de

datos cada usuario en particular. Hay una estructura lógica de usuario. Puede ser

huésped o autocontenido.

Estructura lógica global: Tb. llamada esquema conceptual es la visión global de los

datos incluyendo la descripción de todos los datos y las interrelaciones entre ellas, así

como las restricciones de integridad y confidencialidad .Forma en que se organizan los

datos en el almacenamiento físico.

Estructura física: Es el esquema interno. El contenido del esquema interno depende

mucho de cada SGBD, podemos distinguir tres aspectos que deben especificarse en él:

a)Estrategia de almacenamiento: Incluye la asignación de espacios de

almacenamiento para el conjunto de datos. También hay que indicar donde están esos

datos para optimizar tiempos de respuesta y espacio de memoria secundaria

b)Camino de acceso: Especificación de las claves, índices y punteros.

c)Varios: El administrador de la base de datos debe especificar:

1)Dispositivos de memoria: donde se almacenan el tamaño de página,

número de páginas asignadas a cada área de almacenamiento, tamaño de las áreas de

E/S (buffers).

2)Organización física: de cómo se van a almacenar los datos en el disco

para conseguir los mejores tiempos de respuesta, los controles de acceso

4.EL SGBD COMO INTERFACE ENTRE EL USUARIO Y LA BASE DE

DATOS

Habitualmente en una empresa (sistema de información) existen tres niveles de

gestión que son:

a)Operacional: tareas administrativas básicas

b)Nivel táctico: Gestión de la empresa, de que se cumplan los objetivos

generales.

c)Nivel estratégico: Se encarga de la elaboración de planes y la elaboración de

objetivos generales.

Page 5: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

5

Los distintos usuarios de una base de datos podiamos clasificarlos en:

A)Usuarios informáticosèQue tienen a su cargo las tareas de creación y

mantenimiento de la base de datos, así como la realización de los procedimientos y

programas que necesiten los usuarios finales. Entre los usuarios informáticos podemos

distinguir varios tipos:

a)DiseñadoresèTienen la responsabilidad de identificar los datos que han de

estar contenidos en la base de datos de acuerdo con las necesidades que les manifiesten

Estrategia

Táctico

Operacional

S G B D

B. DE DATOS

DISCO

Page 6: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

6

los usuarios, así como determinar las estructuras necesarias para conseguir estas

necesidades(objetivos). Dentro de los diseñadores podemos distinguir dos tipos:

• Diseñadores lógicosèDeben ser capaces de determinar que tipo de datos

deben estar contenidos en la base y conseguir plasmar el punto de vista del

conjunto de usuarios en las estructuras lógicas más adecuados para estos.

Para ello deben mantener constantes entrevistas con los usuarios(incluida la

dirección) a fin de que la base de datos represente lo más fielmente el mundo

real que se trata de recoger.

o Diseñador físicoèSu objetivo es transformar las estructuras lógicas

en físicas que proporcionen la mayor eficiencia de cara a la máquina,

minimizando el tiempo de respuesta y el consumo de recursos.

Muchas veces está tarea es realizada por el administrador.

b)AdministradoresèTienen como misión vigilar y gestionar los datos de forma

que no pierdan ni la integridad , confidencialidad y disponibilidad.

c)Analistas y programadoresèTienen a su cargo el análisis y la programación

de las tareas que no pueden ser llevadas a cabo por los usuarios finales facilitándoles a

estos los programas o herramientas necesarias.

B)Usuarios finalesèPersonas que tienen que tienen que acceder a los datos que

necesitan. Existen diferentes tipos de usuarios que son:

a)HabitualesèSuelen tener formación por parte de los analistas y/o

programadores.

b)EsporádicosèNo necesitan estar continuamente utilizando la base de datos.

Hay que tenerles preparados los programas.

5.CONCEPTOS Y PRINCIPALES FUNCIONES DE UN SGBD

Se puede definir un SGBD como un conjunto coordinado de programas,

procedimientos, lenguajes...etc que suministra a los distintos tipos de usuarios los

medios necesarios para describir y manipular datos almacenados en la base de datos

garantizando su seguridad. Las operaciones típicas que deben realizar un SGBD

podriamos agruparlas en :

A)Las que afectan a toda la base de datos:

• Creación

Page 7: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

7

• Reestructuración

• Consulta a todos los datos

B)Las que afectan a registros concretos:

• Operaciones de actualización(Inserción, borrado y modificación)

• Consulta selectiva

Las funciones esenciales de un SGBD son la función de:

A)Descripción o definiciónèEs la que permite al diseñador especificar los

elementos que integra la Base de datos, su estructura y las relaciones existentes entre

ellos, las reglas de integridad así como las características de tipo físico y las vistas

lógicas de los usuarios. Está función la realiza el lenguaje DDL de definición de datos

propio de cada SGBD. Debe suministrar los medios para poder hacer lo anterior

B)ManipulaciónèUna vez creada la base de datos debemos realizar las

operaciones necesarias para cargar datos dentro de la estructura de datos así como para

recuperar información. La operaciones de manipulación se suelen agrupar en:

• Operaciones de consulta

ü Selectiva : Para localizar los registros que cumplan una determinada

condición.

ü global :Todos los datos de la base

• Operaciones de actualización

ü modificar

ü crear

ü borrar

La función de manipulación permite a los usuarios de la base de datos realizar las

operaciones anteriores siempre respetando las especificaciones y normas de seguridad

dictadas por el administrador. La función de manipulación de datos (DML) que facilita

los instrumentos necesarios para realizar estas tareas, a veces el DML es un lenguaje

huésped que se escribe en un lenguaje anfitrión.

Lenguaje huéspedèAquel que se mete dentro de otro lenguaje. Conjunto de comandos

Page 8: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

8

Lenguaje anfitriónèLenguaje de programación.

Otras veces se trata de un lenguaje de autocontenido que no precisa apoyarse en ningún

otro lenguaje, ya que dispone el mismo del conjunto de instrucciones necesarias para

llevar a cabo tanto la actualización como la recuperación de los datos. Este lenguaje está

orientado a los usuarios no informáticos, suelen usarse de forma interactiva.

La mayoría de los SGBD actuales atienden la función de manipulación mediante ambos

tipos de lenguajes huéspedes y autocontenidos.

C)ControlèEstá función proveé la interface que necesitan los diferentes

usuarios para comunicarse con la base de datos y proporciona un conjunto de

procedimientos para el administrador. Está función debe proveer un conjunto de tareas

para facilitar la labor del administrador. En la mayoría de los SGBD existen funciones

de servicio como cambiar la capacidad de los ficheros y principalmente las relacionadas

con la seguridad física(copias de seguridad, rearranque en caso de caída del sistema) y

la seguridad lógica( se refiere a autorizaciones de acceso a la base de datos, que solo

accedan los que tienen permiso.

6.LENGUAJES DE LOS SGBD

Los SGBD han de cumplir diferentes funciones por lo que es necesario

disponer de diferentes tipos de lenguajes, unos orientados hacia la función y otros

dirigidos a los diferentes tipos de usuarios o de aplicaciones.

Si atendemos al tipo de función podemos distinguir entre lenguajes de definición

y lenguajes de manipulación. Si atendemos al tipo de usuario distinguiremos entre

usuarios informáticos y usuarios finales, dentro de estos últimos distinguiremos:

a)Aplicaciones formalizables: muy repetitivos en periodos fijos. El

programador se encarga en general de escribir los correspondientes programas, que

muchas veces se someten a tratamientos de proceso por lotes, con periodicidad

fija(emisión diaria de recibos, obtención mensual de nómina, etc.) o a un tratamiento

interactivo(consultas).

b)Aplicaciones no formalizables: No tienen ningún periodo de repetición. No

resulta rentable escribir un programa y es más conveniente que el usuario final resuelva

la consulta mediante los instrumentos que el SGBD pone a su alcance.

Tipología de los lenguajes de los SGBD

Page 9: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

9

Definición

Por tipo de función

Manipulación

Informáticos

Por tipos de usuarios

y de aplicaciones Aplicaciones formalizables

Finales

Aplicaciones no formalizables

6.1Lenguajes de definición de datos

El administrador ha de disponer de los instrumentos que le permitan describir los

datos con facilidad y precisión, especificando las diferentes estructuras. Esto es lo que

se llama un lenguaje de definición de datos. El SGBD tendrá que facilitar medios para

describir la estructura lógica global(todos los campos de la base de datos, las

interrelaciones entre ellos), para hacer especificaciones relativas a la estructura

interna(como se almacena en disco) y para declarar las estructuras externas que sean

necesarias para el desarrollo de las diferentes aplicaciones que se necesiten. Las vistas

externa son visiones lógicas de lo que hay. Los lenguajes de definición de datos son de

autocontenido.

El lenguajes de definición de la estructura lógica global tiene que ser un lenguaje

autocontenido. No pueden estar aislados las estructuras de los datos.

6.2Lenguajes para la manipulación de datos

Page 10: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

10

Deben disponer de la posibilidad de referirse a determinados conjuntos de datos

que cumplan ciertas condiciones. Los lenguajes de manipulación de datos pueden ser

lenguajes huésped o autocontenido.

Estructura de un programa escrito en lenguaje anfitrión que llama a un lenguaje huésped

Ejemplo de sentencia en SQL autocontenido

7.FACILIDADES PROPORCIONADAS POR LOS SGBD

Hoy en día además de las facilidades suministradas por los lenguajes de

manipulación y definición, los SGBD deben disponer de facilidades de

teleproceso(proceso a distancia). En estos casos o bien los propios sistemas disponen de

esa función de teleproceso o el fabricante debe incluir alguna utilidad para hacerlo

8.INTERACCIÓN DEL USUARIO CON EL SGBD

SENTENCIAS DECLARATIVAS Área gestión E/S con la base de datos SENTENCIA MANIPULACIÓN DE DATOS Sentencias Llamada a base de datos a través DML

SELECT nombre, apellido FROM alumnos Where faltas>10 (no formalizables)

Page 11: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

11

Los usuarios de la base de datos sean diseñadores, administradores, informáticos

o usuarios normales deben disponer de un conjunto de medios incluidos en el SGBD

que les permite interactuar con la base.

El diseñador ha de tener la posibilidad de realizar la definición de los datos a nivel

lógico tanto de forma global como de forma externa, así como a nivel físico.

El administrador debe disponer de los instrumentos que le ofrezcan facilidades para la

creación, optimización, copias de seguridad...etc. Estás facilidades se suministran

mediante un conjunto de procedimientos que varían según el SGBD

El, usuario informático que interactúa con la base de datos mediante un lenguaje

huésped no le incumbe ni la descripción física ni lógica. Tampoco se le debería permitir

realizar vistas externas que las debería hacer el administrador, pero en la práctica se le

suelen permitir hacer estás vistas externas para que las incluya en sus programas a

través de los lenguajes huésped. En cuanto al lenguaje de manipulación de datos, los

informáticos suelen disponer de uno o varios lenguajes anfitriones, además de

generadores de informes y otras ayudas de programación. Los administradores también

pueden utilizar lenguajes autocontenidos aunque no es lo habitual, ya que se logra una

mayor eficiencia utilizando lenguajes anfitriones.

Los usuarios no informáticos se han dividido en dos grupos unos cuyas necesidades de

información pueden concretarse y formalizarse de antemano y otros usuarios para los

que no es posible formalizar este proceso. Por otra parte están los no formalizables, en

los que el SGBD suelen disponer de un lenguaje autocontenido que trabaje de modo

interactivo(trabaja directamente con el servidor).

9.INTERACCIÓN ENTRE EL SGBD Y EL SISTEMA OPERATIVO

Desde la perspectiva del sistema de información el SGBD es un programa de

software. El funcionamiento del SGBD está muy relacionado con el sistema operativo

aunque cada sistema gestor de base de datos dependiendo del diseño y de la plataforma

en que trabaje va a tener unas características propias y un modo de funcionamiento

específico por lo que no es posible un análisis pormenorizado de dicho funcionamiento,

ya que este habria que realizarlo para un SGBD en concreto.

Si comparamos la forma en que trabajan los programas de aplicación basados en un

sistema de ficheros o los que tienen una base de datos encontramos multiples

diferencias.

Page 12: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

12

En los basados en sistemas de ficheros suele ocurrir que cada aplicación tiene su propio

fichero y suelen crear ficheros temporales. Esto implica que la aplicación va a tener que

acceder a funciones incluidas en el SO.

En los sistema que utilizan bases de datos las aplicaciones se desarrollan mediante un

SGBD que a su vez suele estar integrado o apoyarse en el SO.

Comparación entre la forma de acceso a un fichero y a una base de datos

SO

10.STANDARIZACIÓN DE LA ARQUITECTURA DE LOS SGBD

A principios de los años 70, se crean una serie de grupos para la standarización de las

bases de datos, dentro de los cuales podemos distinguir el grupo Codasyl y el

ANSI/X3/SPARC.

La standarización de los SGBD permite conseguir que una vez desarrollado un sistema

e instrumentado en un determinado SGBD, el cambio de uno a otro sistema no suponga

ningún nuevo diseño de la base de datos ni transformación de la información.

10.1Actividades de ISO

PROGRAMA DE APLICACIÓN

SGBD

fichero Base De datos

Page 13: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

13

ANSI es una parte de ISO, comité americano que forma parte de ISO. ISO viendo la

evolución de las bases crea un comité de datos del que forma parte todos los organismos

nacionales. Este comité se llama JTC1.

Las funciones principales de este grupo son:

• Lenguajes de base de datos: Se ocupa del NDL(lenguaje para bases de datos en

red) y del SQL para bases de datos relacionales.

• Modelos de referencia : proporciona un marco conceptual para los sistemas de

base de datos, identificando funciones, procesos e interfaces, de está forma se

provee una base común para el desarrollo de stándares en está área , facilitando

su coordinación.

• Acceso remoto a datos(RDA):Estudia el comportamiento de un servidor de base

datos de forma que se puedan establecer los servicios y protocolos de

comunicaciones para que los usuarios puedan acceder remotamente a los

servidores.

10.2Actividades de Codasyl

El grupo codasyl se dedica a definir lenguajes de manipulación y gestión(DDM

y DML) que han sido aplicados a diversos SGBD. Sin embargo al no ser un grupo con

respaldo oficial, algunos constructores importantes como IBM no han seguido está

normativa.

10.3Actividades del Grupo ANSI/X3/SPARC

Esta Grupo forma parte de ANSI(American National Standards Institute) del grupo

JTC1 . Este grupo se caracteriza por aportar como innovación la arquitectura de tres

niveles :Físico ,lógico, conceptual.

La arquitectura a tres niveles de ANSI/SPARC responde positivamente a las exigencias

de flexibilidad ,independencia y capacidad de evolución La transformación del esquema

conceptual por cambios en el sistema de información de la empresa , siempre que no

sean muy drásticos, será admitida por el SGBD de forma que no haya que realizar

ninguna modificación en el nivel externo. Otra de las ventajas es que al introducir

cambios en el esquema interno(físico) solo afectará a procesos del SGBD sin tener que

realizar ningún cambio en el SGBD.

Page 14: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

14

La organización ANSI/X3/SPARC creo lo que se llama un modelo de referencia(MR)

para la standarización de los SGBD . Se entiende por MR , una estructura conceptual

que facilita el trabajo de standarización, identificando una serie de componentes y

viendo como se interrelacionan..

Para alcanzar los objetivos deseados en el estudio del MR , esto es hacer compatibles

los distintos SGBD, crear un sistema de evaluación y comparación de SGBD, el MR

debe cumplir una serie de requisitos que son:

• Adaptación al desarrollo tecnológico.

• Unificación de los modelos de datos.

• Simplificación de la arquitectura ANSI/SPARC...etc.

El MR está compuesto por las siguientes partes:

• El sistema de control de transformación de datos que es el Kernel(núcleo) del

SGBD.

• Lenguaje de datos(LD), que permite a los usuarios y a los procesadores

especificar sus peticiones para la recuperación y actualización de los datos por el

SGBD.

• Lenguaje de datos interno(LD-i), que permite el uso de los servicios de los

procesadores que soportan el funcionamiento de los SGBD, en especial los del

SO.

Interfaces entre el SGBD y su entorno

Programas para lo Kermel

hacer informes que

podemos ver

11.CONCEPTO DE INDEPENDENCIA FÍSICO/LÓGICA EN RELACIÓN CON

LA ARQUITECTURA

L D STCD

L D i

SO

Page 15: Quasi - Sistemas Gestores de Bases de Datos

BASES DE DATOS

15

La flexibilidad y versatilidad de que ha de estar dotado todo sistema de

información es muy difícil, si no imposible, de alcanzar con la orientación hacia

ficheros propia de los primitivos sistemas de gestión de datos. La flexibilidad y

versatibilidad que debe proponer un SGBD implica que los cambios en las estructuras

de datos tengan una repercusión mínima en los programas de aplicación y viceversa. El

concepto de independencia de los datos implica la separación entre el almacenamiento y

la organización lógica de los datos.

En relación con la independencia es posible considerar tres aspectos:

• Infuencia en la arquitectura del SGBD(niveles de abstracción)

• Características físicas o lógicas que implican el grado de dependencia. Esto es

donde se indica cuales son las características que se pueden modificar en cada

uno de los grados de abstracción sin que esto influya a otros niveles. A más

grado de independencia mejor

• La fase o etapa del proceso en la que se efectua la correspondencia o

transformación(MAPPING) entre los distintos niveles.

El concepto de independencia es visto por ANSI de la siguiente forma:

La independencia de los datos es la capacidad de un SGBD para permitir que las

referencias de los datos almacenadas especialmente en los programas y en sus

descripciones estén aisladas de los cambios y de los diferentes usos en el entorno de los

datos como puede ser la forma como se almacenan los datos, el modo de compartirlos y

como se relacionan