Quasi - Sistemas Gestores de Bases de Datos
Click here to load reader
Transcript of 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.
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.
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
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.
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
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
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
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
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
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)
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.
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
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.
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
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