Download Surgen 60

Document related concepts

Base de datos wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Sistema de gestión de bases de datos relacionales wikipedia , lookup

Modelo relacional wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Transcript
Tema 1
Introducción a las bases de datos
BASES
TEMA 1: INTRODUCCIÓN A LAS BASES DE
DATOS
1. Sistemas orientados a ficheros:
DESVENTAJAS
 Desperdicio de espacio de almacenamiento al existir duplicado de datos (debido a la
redundancia de datos).
 Inconsistencia de los datos (datos iguales hacen referencia a distintas cosas).
 Tratamiento ineficaz de los datos (no se puede modificar, actualizar todos los datos al
mismo tiempo)
 Dificultad del tratamiento de los ficheros en su conjunto debido a la incompatibilidad de
los lenguajes de programación.
 Solo se pueden realizar las consultas que se han tenido en cuanta a la hora de escribir
los programas de aplicación, las consultas son limitadas por el nº de programas de
aplicación creados (nº consultas = nº programas aplicación).
 Descentralización de los datos (por no estar todos integrados en la misma colección).
 Las actualizaciones y modificaciones de los ficheros no son compartidas por toda la
organización lo cual lleva a grandes confusiones.
Se produce una inconsistencia cuando copias de datos de registros lógicos no coinciden.
Debido a estas desventajas y algunas otras.
A los sistemas de ficheros se accede mediante unos sistemas de programación escritos
especialmente para ellos.
Como los lenguajes de programación pueden ser distintos e incompatibles hacen que los
ficheros sean difíciles de procesar de manera conjunta.
2. Sistemas orientados a datos:
¿Qué es una base de datos? Es una colección de datos interrelacionados entre sí, sobre un
soporte informático no volátil y que sirven todos a la misma organización, es decir que los datos
se encuentran integrados en una única colección de datos pero con un mínimo de
redundancias.
¿Qué son los datos? Los datos procesados dan lugar a la información / la información son los
datos procesados.
VENTAJAS (debido a la integración de los datos)
 Control de redundancias de datos.
 Consistencia de datos (eliminando la redundancia de los datos se consigue que las
actualizaciones se realicen una sola vez y estén disponibles para todos los usuarios al
mismo tiempo)
-1-
Tema 1
Introducción a las bases de datos
BASES
 Obtención de más información sobre la misma cantidad de datos al estar todos
integrados en la misma colección.
 Compartición de los datos porque la base de datos pertenece a la empresa y puede ser
compartida por todos los usuarios que estén autorizados.
 Mantenimiento de estándares (los estándares pueden establecerse sobre el formato de
datos, procedimientos de actualización, reglas de acceso a los datos…Facilitan el
intercambio de datos y de la documentación de la base de datos).
3. ¿Qué es un sistema gestor de base de datos?
Es una aplicación que permite a los usuarios crear, definir y mantener las bases de datos.
A través de un lenguaje de definición de datos podré definir la estructura de la base de datos,
los tipos de datos y las restricciones sobre los datos.
A través de un lenguaje de manipulación de datos podré insertar, actualizar, consultar, eliminar
datos y otras muchas operaciones que nos permite realizar este software.
Todo esto se realiza mediante un lenguaje NO procedural, con este lenguaje el usuario sólo
especifica que datos quieren obtenerse sin especificar como obtenerlos.
Nosotros emplearemos el lenguaje SQL (Structure Query Language/Lenguaje de consultas
estructurado) que es un lenguaje no procedural estandarizado que utilizan los sistemas
gestores de bases de datos relacionales.
Objetivos de un sistema gestor de datos:
 Integridad de los datos: se refiere a una serie de medidas y reglas necesarias para
mantener la validez de los datos. El sistema gestor de la base de datos se encarga de
mantener estas restricciones.
 Seguridad: la seguridad de la base de datos es la protección de ésta frente a usuarios
no autorizados. Las autorizaciones pueden ser de varios tipos (modificar la base,
consultarla…) Estas autorizaciones se administran mediante contraseñas.
 Tiempo de respuesta: se asegura un tiempo de respuesta pequeño en el tratamiento
de los datos.
 Control de la concurrencia de datos: si dos o más usuarios quieren acceder a un
mismo dato de forma concurrente el primero que acceda a dicho dato bloqueará el
acceso a éste al resto de los usuarios para asegurar que si actualiza ese dato el resto
de usuarios podrá acceder al dato ya actualizado.
 Respaldo y recuperación de los datos: un sistema gestor de bases de datos
proporciona las herramientas necesarias para la conservación de copias de seguridad
de cada fichero como prevención ante posibles caídas del sistema. Al proceso de copia
de los datos se le llama "back-up". Al proceso contrario, obtener los datos de las copias
se le llama "recuperación".
 Redundancias mínimas: permiten la NO repetición de datos.
 Consistencia de los datos: si existen dos datos repetidos en distintos ficheros el
sistema gestor de la base de datos garantiza la actualización de los datos en ambos
ficheros.
 Abstracción de la información: el sistema gestor de la base de datos proporciona
una visión abstracta de cómo se almacenan la información en la base de datos.
 Independencia de los datos: los datos son independientes de los programas de
aplicación.
-2-
Tema 1
Introducción a las bases de datos
BASES
DESVENTAJAS de los sistemas gestores de bases de datos:
 Coste
 Tamaño que ocupa en el disco
 Complejidad
4. Modelos de datos:
Es un instrumento para ofrecer abstracción de la información a los usuarios de las bases de
datos.
La abstracción de la información le hace transparente al usuario las forma en que están
organizados los datos y como se almacenan éstos.
Formalmente definimos el modelo de datos como un conjunto de reglas y de conceptos que
sirven para describir los datos, las relaciones entre los datos y las restricciones que deben
cumplirse sobre los datos. Contienen también un conjunto de operaciones para la realización
de consultas y actualización de los datos.
Generalmente los modelos de datos se clasifican en:
Esta clasificación se lleva acabo dependiendo de los conceptos que se utilizan para describir la
base de datos.
 Modelos conceptuales: se utilizan para su representación entidades, atributos e
interrelaciones. Son independientes del SGBD, además son los modelos más cercanos
al usuario. Nunca se carga en el ordenador.
 Modelos lógicos: representan los datos valiéndose de estructuras de registros, por lo
que también se suelen llamar "modelos orientados a los registros". Son los modelos
implementados por el SGBD. Los conceptos de los modelos lógicos como por ejemplo
relaciones, registros, campos, etc. son conceptos que el usuario final puede entender y
maneja habitualmente. Pero los modelos lógicos ocultan detalles de cómo se
almacenan los datos.
 Modelos físicos: proporcionan conceptos que describen los detalles de como se
almacenan los datos en el ordenador.
Conceptos:
 Esquema de una base de datos: es la representación de una base de datos mediante
un modelo de datos. Sea cual sea el modelo de datos utilizado.
 Estado de una base de datos: son los datos que una base de datos contiene en un
determinado momento. Por ejemplo si una base de datos no contiene ningún dato
dicha base de datos estará en un estado vació. El estado de una base de datos cambia
constantemente.
Clasificación de los SGBD:
Generalmente los SGBD se clasifican atendiendo al modelo lógico en el que se basan
 Atendiendo a los modelos lógicos: existen 3 tipos de modelo lógicos empleados con
mayor frecuencia en los SGBD comerciales.
– Modelo jerárquico: fue el primer modelo de datos que apareció hacia
los años 50. Se basa en almacenar los datos en una serie de registros
en forma de árbol. Para crear enlace entre los distintos registros se
utilizan relaciones padre/hijo, no se permiten relaciones entre hijos
porque se estructura en forma de árbol (n – m, reflexivas... Solo se
-3-
Tema 1
Introducción a las bases de datos
BASES
permiten relaciones 1 - n). Cada registro proporciona los datos
relacionados con él mismo. Este modelo proporcionaba un alto
rendimiento frente a las inserciones, modificaciones y borrado de
registros.
– Modelo en red: se llama así porque representa los datos en forma una
red de registros. Ya permite relaciones entre hijos. Tiene algunas
desventajas; no posee lenguaje de consultas de alto nivel (había que
indicarle al SGBD como obtener los datos), no proporciona
independencia físico/lógica, tampoco abstracción de la información y
es un modelo de compleja manipulación al tener que conocer las
direcciones físicas de los datos.
– Modelo relacional: es un modelo que se basa en el concepto de
relación que se representa gráficamente con una tabla. La base de
datos es percibida por el usuario mediante un conjunto de tablas
cargadas con datos y las relaciones entre los datos se manifiestan en
forma de asociación. Las relaciones tienen un nombre único y un
conjunto de columnas.
 Atendiendo al nº de usuarios: existen 2 tipos.
– SGBS monousuarios: atienden a un solo usuario se instala
normalmente en los pcs.
– SGBD multiusuario: atienden a varios usuarios simultáneamente.
 Atendiendo a la distribución de la base de datos: hay varios tipos de arquitecturas.
– Cliente/servidor: Se trata de un sistema centralizado. Los SGBD
centralizados pueden atender a varios usuarios pero el SGBD y la
base de datos se almacenan por completo en una sola máquina
servidor.
En el lado servidor, el motor de la base de datos es el responsable de
la admón. de los recursos, de la admón. de la seguridad, de la admón.
de los datos, de las consultas y sobre todo de la integridad de los
datos. Este SGBD está diseñado para aceptar consultas en SQL desde
una aplicación frontal generalmente en forma de llamadas que
devuelven un conjunto de resultados al cliente.
En el lado cliente se instalarán unas aplicaciones para acceder a los
recursos de la base de datos. Para comunicar la base de datos con el
SGBD lo haremos mediante el lenguaje SQL. Los clientes realizan
generalmente funciones como; captura y validación de los datos de
entrada, generación de consultas e informes, gestión de periféricos. El
cliente no conoce la lógica del servidor solamente conoce una interfaz
para su acceso al servidor. El cliente no depende de la ubicación física
del servidor ni del S.O servidor. Los cambios en el servidor implican
pocos o ningún cambio en el cliente.
-4-