Data">
Nothing Special   »   [go: up one dir, main page]

BAE - UT1 - Introducción A Las Bases de Datos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 29

BASES DE DATOS

CFGS DESARROLLO DE APLICACIONES WEB

UNIDAD 1…

INTRODUCCIÓN A LAS BASES DE DATOS


BASES DE DATOS

1. INTRODUCCIÓN
Actualmente, en los diversos ámbitos sociales, laborales y culturales, se manejan grandes
cantidades de datos de ahí que haya sido necesario establecer y disponer de unos medios
físicos (hardware) y lógicos (software) que permitan el acceso y la manipulación de la
información de una manera rápida, sencilla y fiable.

Pero echemos la vista atrás unas décadas y veamos la evolución que se ha llevado a cabo.
Si nos remontamos aproximadamente 50 años atrás (sobre finales de los años sesenta), la
información se almacenaba en un conjunto de archivos, los cuáles no tenían ninguna
relación entre sí. Mediante esa organización, los datos que se incluían en un fichero, se
podían repetir en otro fichero, lo cual provocaba una alta existencia o posibilidad de
existencia de que la información se repitiera (duplicara, triplicara…)
A eso se le denomina Información redundante o redundancia.

Supongamos una farmacia o botica de aquella época.


Había un fichero de medicamentos que se utilizaba tanto para la venta como para los
inventarios. Pero en la farmacia trabajaban, a parte del farmacéutico, dos tipos de personas:
vendedores y administrativos. Y para que ambos tipos de personas pudiesen desarrollar su
labor, el fichero se duplicaba.

Imaginemos que en un momento dado abriesen ambos trabajadores la ficha de un mismo


medicamento. Un vendedor porque está atendiendo a un cliente y un administrativo
realizando gestiones del inventario respecto a ese medicamento.

Vamos a suponer más e indicar que de dicho medicamente solo quedaba 1 existencia, y en
ese instante el vendedor dispensa esa única unidad que queda al cliente, por lo que el
fichero del vendedor se modifica, poniendo que dicho medicamento tendrá como número
de existencias el cero.

¿Pero qué está viendo el administrativo en su fichero? Contemplará que todavía queda una
unidad de dicho medicamento, lo cual ya no es cierto. A este tipo de problemas se le conoce
con el nombre de inconsistencia de la información. Y viene originada por la duplicidad
de ficheros sin ningún control sobre ellos en un momento dado.
En definitivo, por una redundancia de información, la cual es uno de los principales factores
que originan inconsistencias.

2
BASES DE DATOS

Otro detalle vital era el hecho de poder modificar la estructura de un registro que guardaba
información en un fichero. Es decir, si se quería cambiar las características de la información
a almacenar, añadir algún campo nuevo o eliminar alguno, implicaba que las aplicaciones
que utilizaban dichos archivos tenían que modificarse. Esto conllevaba evidentemente
gastos adicionales de recursos como el tiempo y el dinero.

Volvamos nuevamente a la farmacia. Tenemos un fichero de clientes de la época en el que


cada persona tenía un DNI que estaba formado solo por números y, con los años, entró la
composición del DNI formada por números y letra. Si utilizáramos el mismo fichero, no
podríamos almacenar la información pues el fichero no estaría preparado para la almacenar
la información con su nueva disposición.

Originaría que habría que cambiar la estructura del archivo para que almacenara los
números más la letra. Pero, ¿la aplicación que usa esa información entendería el nuevo
cambio del DNI con la letra? Tampoco lo entendería y habría que modificar la o las
aplicaciones que usaran ese fichero.

Eso llevaba a que existía una dependencia entre los archivos que almacenaban la
información y las aplicaciones que utilizaban dichos archivos. Había dependencia física y
lógica de datos.

Pero a finales de los años sesenta surgieron las bases de datos. Con ellas se
solucionaron todos los inconvenientes mencionados sobre dependencia de datos. Cualquier
modificación en la estructura de la información a almacenar o en la ubicación de los ficheros
no implicaba el hecho de tener que modificar las aplicaciones que usaban dichos datos.
Se consiguió la independencia física y lógica de los datos.

Denominamos independencia física de los datos al hecho de realizar cambios en la


estructura física de los datos (ubicación, repartir la información en varios lugares o ficheros,
etc…) sin que haya que modificar las aplicaciones que manejan dichos datos.

Hablamos de independencia lógica de los datos al hecho de poder realizar cambios en la


estructura de la información que se almacena (añadir campos, borrar, modificar
características de tipos de almacenaje, …) sin que haya que cambiar las aplicaciones que
tratan con dicha información.

3
BASES DE DATOS

Retomemos el anterior fichero de medicamentos de la farmacia. Una posible estructura sería


la siguiente (A este conjunto de información lo llamaremos provisionalmente registro):
Código Nombre Existencias

El código está formado por 12 números y el Nombre por 60 caracteres alfanuméricos. Las
existencias serán 3 dígitos numéricos. La aplicación que utiliza este fichero lee un registro
los 12 primeros caracteres que serán números. Entenderá que ellos son el código. Y el
siguiente carácter que lea entenderá que es el primero de los caracteres que compone el
nombre.

Pero, si cambio la estructura y ahora digo que el código es de 14 caracteres numérico, ¿qué
ocurre? Que cuando lea el decimotercer carácter, la aplicación creerá que estamos en el
campo nombre pero realmente quedan 2 caracteres del campo código.

Este problema es al que nos referimos anteriormente como dependencia lógica de los datos.
¿Y si el fichero lo cambiamos de unidad de almacenamiento? Tenemos la dependencia física.
Estos dos conceptos se resuelven mediante las bases de datos.

EJERCICIO

1. Dibuja cuál sería la estructura de un fichero si fuésemos a almacenar la siguiente


información relacionada con una ferretería:
□ 4 dígitos numéricos para el código del producto.
□ 50 caracteres alfanuméricos del nombre del producto.
□ 3 dígitos numéricos de la cantidad que hay del producto.
□ 8 dígitos numéricos que servirán para guardar el precio.

2. ¿Qué ocurriría si, con el tiempo, se va incrementando la oferta de productos y,


porque hay más de 9999 productos, hace falta pasar el código de estos de 4 a 8 dígitos
numéricos? Dibuja la nueva estructura.

4
BASES DE DATOS

Resumiendo:
▪ Problemáticas con el manejo de información -> REDUNDANCIA E
INCONSISTENCIA.
▪ Antes de los sesenta -> Utilización de ficheros y los problemas originados eran
la DEPENDENCIA FÍSICA y LÓGICA DE DATOS.
▪ A finales de los sesenta -> BASES DE DATOS y se obtiene INDEPENDENCIA
LÓGICA Y FÍSICA DE DATOS.
▪ Las BASES DE DATOS -> No resuelven la REDUNDANCIA y estas pueden
provocar INCONSISTENCIA.

2. FICHEROS
En un ordenador se almacenan muchos tipos de informaciones, las cuales son de distintos
tipos y características, pudiéndose almacenar en dentro de los distintos tipos de dispositivos
de almacenamiento existentes para un ordenador, como discos duros, CD’s, DVD’s,
Memorias USB, etc…

Los ficheros o archivos son los instrumentos utilizados para organizar la información dentro
de estos dispositivos. ¿Y qué es un fichero o archivo?
Un fichero o archivo es una estructura de información creada por los sistemas operativos
utilizados para poder almacenar los datos que conforman la información.
Estos archivos tienen un nombre y una extensión que determina el formato de la
información que va a contener el archivo o fichero.

2.1 Ficheros
El formato y el tipo de un fichero determinan la forma en qué se va a interpretar la
información que contienen, pues lo único que se va a almacenar realmente es un
conjunto de 0’s y 1’s. El modo en cómo se interprete dicho conjunto de datos
determinará la información final a obtener.

Vamos a tratar de aclarar un poco cómo se trata un fichero.


Un fichero binario con extensión JPG almacena un conjunto de datos que representan la
información y color sobre cada pixel que compone la imagen que mostrará ese fichero al
ser tratado. Dicha imagen tendrá unos colores concretos y unas dimensiones,
información a su vez que también se encontrará en el fichero.

5
BASES DE DATOS

Esta información se ordena de una determinada manera de tal forma que, al leerla, la
aplicación que lee esta información, si es la aplicación correcta, interpretará
adecuadamente que se trata de una imagen JPG y mostrará esa imagen.
Por el contrario, si no se almacena correctamente en el orden establecido o la aplicación
que se utiliza no es la adecuada para su tratamiento, el resultado será un error o que la
imagen es ilegible o incomprensible.

Los ficheros o archivos tradicionalmente se han clasificado según 3 aspectos o criterios:


o Según su contenido. Texto o binario.
o Según su organización. Secuencial, directo o indexado.
o Según su utilidad. Maestros, históricos, detalles…

Según su contenido, los ficheros pueden ser binarios o de texto. Según cómo sea la
información que contienen los ficheros será su clasificación. Si la información se
corresponde con datos binarios tendremos un archivo binario. En caso de almacenar
caracteres de tipo texto tendremos que es de texto.

Mediante su organización, los ficheros vienen dirigidos por la forma o manera en cómo
se accede a su información y cómo se manipulan sus datos.
➢ Si los datos se encuentran almacenados en un orden racional en el que un dato se
encuentra detrás de otro, diremos que tenemos un fichero de acceso
secuencial. Tendremos en este caso el gran hándicap que para llegar al último
dato habremos de haber pasado por todos los datos que se encuentren
almacenados.
➢ Si, por el contrario, podemos acceder a un dato en concreto sin tener que pasar
por los demás datos, nos encontraremos ante un fichero de acceso u
organización directo. Para manejar este tipo de ficheros se necesita un
elemento en los datos que sea exclusivo, que no redunde o que no se repita.
➢ Y concluimos con los ficheros indexados, los cuales que simulan un libro con
un índice en su inicio. Mediante ese índice se podrá acceder a un punto concreto
del fichero y, desde ese punto, empezará a recorrer su contenido de manera
secuencial, es decir, un dato detrás de otro. Este tipo de ficheros es una
combinación de los dos anteriores.

Dada la utilidad del fichero, su finalidad, podremos obtener una clasificación, que hoy
en día es la menos usada, de hecho, está casi extinguida, aunque mediante su
nomenclatura sabemos qué tipo de información y cómo se maneja.

6
BASES DE DATOS

Como ejemplos de este tipo tenemos ficheros para configuración, ficheros para copias
de seguridad, ficheros maestros, ficheros de detalles o ficheros históricos.

Unos de los más usados eran los ficheros maestros, ficheros detalles y ficheros
históricos. ¿Quién no ha oído hablar de un fichero en donde se almacenan los accesos a
una determinada web? Estamos ante un fichero histórico.
Y un fichero para almacenar los datos personales de los alumnos, o datos concretos de
productos, o datos sobre películas de manera general, etc. Tendríamos un fichero
maestro.
Y datos de esos alumnos, más detallados, como información sobre estudios, asignaturas,
titulaciones, etc…, es un fichero de detalles.

EJERCICIO

1. Entra e investiga en la web https://fileinfo.com, la cual es de gran utilidad a la hora


de obtener y mostrar información sobre la extensión de cualquier tipo de archivo.
Busca tipos de archivos en 4 categorías existentes, a tu gusto, y dentro de estas,
selecciona 4 extensiones y enuncia en qué aplicaciones se utilizan.

2.2 Ficheros de texto


A los ficheros de texto también se les conoce con el nombre de ficheros planos o
ficheros ASCII (American Standard Code for Information Interchange).
Es un estándar que asigna a cada carácter un valor numérico. De esta forma se pueden
representar los documentos que son directamente legibles por los seres humanos.

La asignación de los valores numéricos a los caracteres viene dada por una tabla de
asignación. Con un byte se representa un carácter, por lo que habrá 28 caracteres, es
decir, 256 numerados del 0 al 255.

Los ficheros de texto, aunque no necesitan un formato para ser interpretados, suelen
llevar una extensión que identifique qué tipo de texto son, habiendo los siguientes tipos:
○ Ficheros de configuración: Ficheros cuyo contenido es texto que guardan
configuraciones pertenecientes al sistema operativo o una aplicación en concreto:
.ini, .inf, .conf

7
BASES DE DATOS

o Ficheros de código fuente: Su contenido es texto para ser interpretado por


lenguajes de programación y generar aplicaciones informáticas: .c, .java, .sql
o Fichero de páginas web: Ficheros de texto con hipertexto que interpreta unas
aplicaciones denominadas navegadores: .html, .php, .css
o Formatos enriquecidos: Son ficheros de texto cuyo contenido son textos que
contienen códigos de control para ofrecer una visión más elegante del texto: .rtf,
.ps, .tex

2.3 Ficheros binarios


Los ficheros binarios son todos aquellos que no se catalogan como ficheros de texto y
requieren de un determinado formato para ser interpretado.

Algunos formatos son:


o De imagen: jpg, gif, bmp, pcx, tiff, …
o De vídeo: mpg, mov, avi, …
o Comprimidos o empaquetados: zip, gz, tar, rar, …
o Ejecutables o compilados: exe, com, cgi, …
o Procesadores de texto: doc, odt, …

Generalmente, los ficheros que componen una base de datos son de tipo binario pues la
información que se maneja se encuentra almacenada mediante una estructura
determinada, lógica y organizada para que las aplicaciones puedan acceder de manera
universal.

Las siguientes bases de datos guardan la información en…


o El software de gestión de Oracle guarda la información en múltiples tipos de
ficheros, llamados datafiles, tempfiles, logfiles, etc…
o Un tipo de tablas del gestor MySQL guarda la información en 3 ficheros de datos
binario con extensión frm, myd y myi.
o El Access guarda toda la información de la base de datos en un único archivo con
extensión mdb.

8
BASES DE DATOS

3. BASES DE DATOS
Veamos varias definiciones para este concepto.
En la primera de ellas definimos una base de datos como un conjunto de datos
interrelacionados y almacenados sin redundancias perjudiciales o innecesarias, las cuáles se
caracterizan por:
o Servir a una o varias aplicaciones de la mejor manera posible.
o Existir independencia entre los datos y los programas que los manejan.

La segunda definición viene a decir que una base de datos es una colección de información
perteneciente a un mismo contexto, que está almacenada de forma organizada en ficheros.

La información almacenada en una base de datos puede ser utilizada a la vez por diferentes
aplicaciones y usuarios y las bases de datos han de permitir métodos para consultar, añadir,
modificar y eliminar datos.

Toda base de datos guarda información de dos tipos:


o Datos del usuario. Son los datos de las aplicaciones de usuario.
o Datos del sistema. Son los datos que la base de datos necesita para gestionarse a sí
misma.

Una base de datos está organizada mediante ficheros o tablas que almacenan información
concerniente a algún objeto o suceso. Estos ficheros o tablas se relacionan formando
relaciones entre ellas.

3.1. Varios conceptos


Empezamos aclarando algunos conceptos necesarios para afrontar el aprendizaje que
hay por delante. Tratando, a modo de resumen, de aclarar algunos de los componentes
que se pueden encontrar en una base de datos, y que se verán en próximos capítulos, se
definen los siguientes conceptos:
o Dato: El dato es un trozo de información concreto sobre algún concepto o
suceso. Los datos pertenecen a un tipo.
o Tipo de Dato: El tipo de dato indica la naturaleza del campo.
Por ejemplo, datos numéricos, datos alfanuméricos, datos caracteres, etc…
o Campo: Un campo es un identificador para toda una familia de datos.
Cada campo pertenece a un tipo de datos. Por ejemplo, nombre de alumnos, edad
de los profesores, …

9
BASES DE DATOS

o Registro: Es una recolección de datos referentes a un mismo concepto o


suceso.
Estará formado por un conjunto de campos.
o Campo clave: Es un campo especial pues tiene la característica de
identificar de forma única o exclusiva a cada registro.
o Tabla: Es un conjunto de registros bajo un mismo nombre que va a
representar al conjunto de todos esos registros.
o Consulta: Es una instrucción para hacer peticiones a una base de datos.
Puede ser una búsqueda simple de un registro específico o una solicitud
para seleccionar todos los registros que cumplan unos determinados
criterios.
o Índice: Es una estructura que almacena el o los campos claves de una tabla,
organizándolos para que sea más fácil para encontrar un valor deseado
dentro de una tabla o simplemente ordenar los registros de esa tabla.
o Vista: Es una transformación que se hace a una o más tablas con el objetivo
de obtener una nueva tabla formada por registros que cumplan unos
determinados criterios que se desean.
o Informe: Es un listado ordenado de los campos y registros seleccionados en
un formato fácil de leer.
o Scripts o Guiones: Son un conjunto de instrucciones que, ejecutadas de
forma ordenada, realizan operaciones avanzadas de mantenimiento de los
datos almacenados en la base de datos.
o Procedimientos: Son un tipo especial de script que está almacenado en la
base de datos y que forma parte de su esquema con la finalidad de realizar
determinadas acciones sobre la base de datos.
Este script tendrá un nombre y podrá ser ejecutado varias veces de través de su
llamamiento mediante su nombre.

3.2. Estructura de una base de datos


Una base de datos almacena los datos a través de un esquema. El esquema es la
definición de la estructura donde se almacenan los datos, contiene todo lo necesario para
organizar la información mediante tablas, registros(filas) y campos(columnas).

También contiene otros objetos necesarios para el tratamiento de los datos


(procedimientos, vistas, índices, etc.)

10
BASES DE DATOS

Al esquema también se le suele llamar metainformación, es decir, información sobre


la información o metadatos.

Los gestores modernos de bases de datos, como Oracle y MySQL entre otros, almacenan
el esquema de la base de datos en tablas de la propia base de datos, haciendo el esquema
totalmente accesible.

Consulta de un esquema de una base de datos en MySQL

3.3. Usos de las bases de datos


Las bases de datos son ubicuas o lo que es lo mismo, pueden estar en cualquier tipo de
sistema informático.
Se exponen a continuación se exponen solo algunos ejemplos de sus usos más
frecuentes:
o Bases de datos Administrativas: Cualquier empresa necesita registrar y relacionar
sus clientes, pedidos, facturas, productos, etc…
o Bases de datos Contables: También es necesario gestionar los pagos, balances de
pérdidas y ganancias, patrimonio, declaraciones de hacienda...
o Bases de datos para motores de búsquedas: Por ejemplo Google o Altavista,
tienen una base de datos gigantesca donde almacenan información sobre todos
los documentos de Internet. Posteriormente millones de usuarios buscan en la
base de datos de estos motores.
o Científicas: Recolección de datos climáticos y medioambientales, químicos,
genómicos, geológicos...
o Configuraciones: Almacenan datos de configuración de un sistema informático
como, por ejemplo, el registro de Windows.
o Bibliotecas: Almacenan información bibliográfica, por ejemplo, la famosa tienda
virtual Amazon o la biblioteca de un instituto.
o Censos: Guardan información demográfica de pueblos, ciudades y paises.

11
BASES DE DATOS

o Virus: Los antivirus guardan información sobre todos los potenciales softwares
maliciosos.
o Otros muchos usos: Militares, videojuegos, deportes, etc.

3.4.Historia, evolución y tipos de bases de datos


La clasificación de las bases de datos está ligada a su evolución histórica. A través de los
años han ido cambiando la forma de representar y extraer la información.

En la década de 1950 se inventan las cintas magnéticas que solo podían ser leídas
secuencial y ordenadamente.
Estas cintas almacenaban ficheros con registros que se procesaban secuencialmente
junto con ficheros de movimientos para generar nuevos ficheros actualizados.
Este sistema se conoce como aplicaciones basadas en sistemas de ficheros. Son la
generación 0 de las bases de datos.

En la década de 1960 se generaliza el uso de discos magnéticos cuya característica


principal es que se podía acceder de forma directa a cualquier parte de los ficheros sin
tener que acceder a todos los datos anteriores.
Con esta tecnología aparecen las bases de datos jerárquicas y en red.
La información se estructura en listas enlazadas y árboles de información y la filosofía de
las bases de datos se basa en el concepto de elemento principal o padre y elementos
secundarios o hijos.
Las bases de datos jerárquicas evolucionan hasta el punto de conseguir finalmente
admitir varios elementos padres para un elemento hijo.

En 1970, IBM publica un artículo donde se define las características del modelo
relacional basado en la lógica de predicados y la teoría de conjuntos.
Nacen así las bases de datos relacionales y con él la famosa base de datos denominada
Oracle.
Dicho modelo se estandariza y se extiende hasta el día de hoy.
El modelo relacional de Codd ha sido y es el más utilizado hasta el momento.

En 1980, nuevamente IBM, lanza su motor de bases de datos DB2.


Años después, IBM creará SQL (Structured Query Language), un potente lenguaje de
consultas para manipular la información de las bases de datos.

12
BASES DE DATOS

A mediados de 1990, IBM lanza una nueva versión de DB2 que es capaz de dividir una
base de datos enorme colocándola en varios servidores comunicados por líneas de gran
velocidad, creándose de esta forma las bases de datos paralelas.
Se le llamó DB2 Parallel Edition, que ha evolucionado hasta la DB2 Data Partition
Feature, único SGBD (Sistema Gestor de Bases de Datos) de este tipo en sistemas
distribuidos.

A finales de 1990 IBM y Oracle incorporan a sus bases de datos la capacidad de


manipular objetos creando de esta manera las bases de datos orientadas a objetos.
Estas bases de datos se basan en la existencia de objetos persistentes que se almacenan
para su procesamiento mediante programas orientados a objetos.
Se pasa de la filosofía de almacenar tablas, vistas, etc… a almacenar colecciones de
objetos que, aparte de información, tienen comportamientos.

La aparición e irrupción posterior de Internet ha hecho crear nuevos requerimientos


para las bases de datos.
La cantidad de información ha alcanzado niveles desconocidos.
De esta forma, nacen las bases de datos distribuidas, que consiste en multiplicar el
número de ordenadores que controlan una misma base de datos, llamándose a cada
ordenador nodo, los cuáles se intercambian información y actualizaciones a través de la
red.

También, a lo largo de la corta historia de la informática, han surgido otros tipos de


bases de datos que se enumeran a continuación:
o Bases de datos espaciales o geográficas: Son bases de datos que almacenan mapas
y símbolos que representan superficies geográficas. Google Earth es una
aplicación que lanza consultas a bases de datos de este tipo.
o Bases de datos documentales: Permiten la indexación de texto para poder realizar
búsquedas complejas en textos de gran longitud.
o Bases de datos deductivas: Es un sistema de bases de datos que almacena hechos
y que permite, a través de procedimientos de inferencia, extraer nuevos hechos.
Se basan en la lógica, por ello también se suelen llamar bases de datos lógicas.

13
BASES DE DATOS

Resumen de los tipos de bases de datos

3.5. Objetivos de organización de una base de datos


Una base de datos, independientemente del modo en que se encuentre organizada, debe
cumplir con los siguientes objetivos:
o Versatilidad para representar la información: Los usuarios que acceden a la base
de datos usarán la información de diferentes maneras.
Algunos solicitarán múltiples registros hasta los que necesitarán un dato a través
de una simple consulta.
o Desempeño: Las bases de datos han de responder rápida y adecuadamente a las
peticiones de datos que se realicen, dado el gran número de usuarios que acceden
y la gran cantidad de información que pueden almacenar.
o Redundancia mínima: En los sistemas tradicionales el número de redundancias
era elevado lo que provocaban inconsistencias y grandes costos de
almacenamiento al tener la misma información almacenada varias veces.
Uno de los objetivos de las bases de datos es eliminar dichas repeticiones de
información.
o Capacidad de acceso: Ya que los usuarios de la base de datos están
constantemente accediendo a ella y solicitando información de distintas formas,
la base de datos debe estar preparada para permitir el acceso a todos los usuarios
capacitados.
o Integridad: Dada que la información puede ser utilizada por muchos usuarios y de
diferentes formas, la base de datos ha de asegurar que la información en todo
momento sea la adecuada y la que tiene que almacenar.
Se ha de asegurar que se cumple las restricciones que estén definidas y que
cualquier fallo en el sistema no destruya la información.

14
BASES DE DATOS

o Seguridad y Privacidad: En cuanto a la Seguridad, la información almacenada es


vital, de gran importancia para su propietario.
Esto explica la necesidad de disponer de procedimientos para proteger los datos
ante eventuales fallos del sistema, evitando su pérdida y facilitando su
recuperación o previniéndolos de usos indebidos o intencionados de personas no
autorizadas.
Respecto a la Privacidad, los datos son accesibles para unos usuarios, pero no
para aquellos no autorizados.
Debe haber mecanismos para controlar los accesos.
La base de datos ha de cumplir los siguientes requisitos para la Seguridad:
➢ La base de datos ha de estar protegida contra el fuego, robo, etc…
➢ Los usuarios deben identificarse antes de acceder a la base de datos y
solo tendrán acceso a la información a la que se le haya dado permiso.
➢ Los datos han de poder reconstruirse total o parcialmente cuando se
produzca un fallo de sistema hardware o software.
➢ Los accesos indebidos o erróneos por parte de los usuarios serán
controlados.
o Afinación: Con el paso del tiempo, mediante el uso de la base datos se llega a que
la cantidad de datos que pueden haber sido introducidos llegar a ser elevados.
Eso conlleva a que el volumen de la base de datos cada vez sea mayor y eso
implica que la esta tenga que tener una buena organización física para mantener
dicha cantidad de datos.
o Interfaz con el pasado y con el futuro: Con el paso del tiempo, las necesidades en
cuanto a capacidades, formas y características de almacenamiento de las personas
que guardan la información van cambiando.
La base de datos ha de adaptarse y estar preparada para esas nuevas necesidades.

Pero todos esos objetivos van enfocados a conseguir el objetivo prioritario de cualquier
base de datos que no es otro que conseguir la independencia física y lógica entre datos y
aplicaciones.

3.6.Arquitectura de una base de datos


La composición interna de la base de datos es un aspecto que los usuarios de la misma
no tienen por qué ver ni conocer. De hecho, ha de ser lo más abstracta posible. Los
usuarios no tienen necesidad de saber cómo están organizados ni almacenados los
datos.

15
BASES DE DATOS

Al usuario se le debe dar una representación de los datos que sea capaz de interpretar y
manejar. No debe ni necesita tener la información que puede manejar un experto
informático.

Según la visión de los datos que se tenga, podemos hablar de 3 niveles que componen
una base de datos y definen la arquitectura de la misma.

Dichos 3 niveles los describimos a continuación:


o Nivel Interno: Es la representación más cercana al almacenamiento físico de los
datos. Se representa mediante el esquema interno. Permite describir tal y como
están almacenados los datos. Se describen los archivos que contienen la
información, su organización y ubicación, tipos y longitud de los registros,
campos, índices, etc…
➢ Descripción de la ubicación o ruta en el ordenador en que se encuentra
(unidad, directorio, tamaño, fecha de creación, fecha de modificación,
…), Composición de los diferentes archivos existentes (sus campos),
indicación de la composición de los archivos de INDICES que hayan
(sus campos)

o Nivel Conceptual: Es la representación de los datos que intervienen en el


problema. Se representa mediante el esquema conceptual. Este se representa a
partir de los requerimientos de los usuarios, dando una visión global de los datos.
No importa ningún detalle de organización física.
➢ Descripción de los campos que componen las tablas e índices.
Contenido de las tablas o información.

16
BASES DE DATOS

o Nivel Externo: Es el nivel más cercano a los usuarios. Representa la visión


individual de cada usuario o grupo de usuarios.

Los programas de aplicación solo manejan una parte de la información, trabajan con un
nivel externo.

Para una base de datos específica, hay un único esquema interno y conceptual,
pero pueden existir varios esquemas externos, definidos por uno o varios
usuarios.
Niveles de abstracción de una base de datos

17
BASES DE DATOS

4. SISTEMAS GESTORES DE BASES DE DATOS


Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas que
permiten administrar y gestionar la información de una base de datos. Proporcionan a sus
usuarios las facilidades para realizar las siguientes tareas:
o Definición de los datos.
o Manipulación de los datos.
o Mantenimiento de la integridad de la base de datos.
o Control de la privacidad y seguridad de los datos.

4.1. Funciones de un SGBD


Los SGBD del mercado cumplen con casi todas las funciones que a continuación se
enumeran:
1. Permitir a los usuarios almacenar los datos, acceder a ellos y actualizarlos de
forma sencilla y con un gran rendimiento, ocultando la complejidad y las
características físicas de los dispositivos de almacenamiento.
2. Garantizan la integridad de los datos, respetando las reglas y restricciones que
dicte el programador de la base de datos.
Es decir, no permiten operaciones que dejen cierto conjunto de datos
incompletos o incorrectos.
3. Integran, junto con el sistema operativo, un sistema de seguridad que garantiza el
acceso la información exclusivamente a aquellos usuarios que dispongan de
autorización.
4. Proporcionan un diccionario de metadatos, que contiene el esquema de la base
de datos, es decir, cómo están estructurados los datos en las tablas, registros y
campos, las relaciones entre los datos, usuarios, permisos, etc.
5. Permiten el uso de transacciones, garantizan que todas las operaciones de la
transacción se realicen correctamente, y en caso de alguna incidencia, deshacen
los cambios sin ningún tipo de complicación adicional.
6. Ofrecen, mediante completas herramientas, estadísticas sobre el uso del gestor,
registrando operaciones efectuadas, consultas solicitadas, operaciones fallidas y
cualquier tipo de incidencia.
7. Permite la concurrencia, es decir, varios usuarios trabajando sobre un mismo
conjunto de datos.
Además, proporcionan mecanismos que permiten arbitrar operaciones
conflictivas en el acceso o modificación de un dato al mismo tiempo por parte de
varios usuarios.

18
BASES DE DATOS

8. Independizan los datos de la aplicación o usuario que esté utilizándolos,


haciéndolo más fácil su migración a otras plataformas.
9. Ofrecen conectividad con el exterior. De esta manera, se puede replicar y
distribuir bases de datos.
Además, todos los SGBD incorporan herramientas estándar de conectividad.
El protocolo ODBC está muy extendido como forma de comunicación entre bases
de datos y aplicaciones externas.
10. Incorporan herramientas para la salvaguarda y restauración de la información en
caso de desastre.
Algunos gestores tienen sofisticados mecanismos para poder establecer el estado
de una base de datos en cualquier punto anterior en el tiempo.

4.2. Componentes de un SGBD


Para realizar las funciones que se acaban de describir y algunas más, el SGBD necesita,
además de herramientas software, personal que gestione de manera adecuada la
información almacenada en la base de datos.

Los componentes de un SGBD son 4 y los enunciamos como:


o Gestor de la base de datos.
o Diccionario de datos.
o Administrador de la base de datos.
o Lenguajes.

Gestor de la base de datos.


Es un conjunto de programas transparentes al usuario que se encargan de
garantizar la privacidad, seguridad, integridad de los datos, el acceso concurrente
a ellos, así como de interaccionar con el sistema operativo.
El gestor proporciona una interfaz entre los datos almacenados, los programas
que manejan los datos y los usuarios.
Cualquier operación que se realice es manejada por el gestor.

Diccionario de datos.
Es una base de datos donde se almacena toda la descripción de la base de datos,
información referente a la estructura de los datos, relaciones entre ellos, gestión e
implantación de la base de datos.
Este diccionario debe contener todo lo que cualquier usuario quisiera saber:
▪ Las descripciones externa, conceptual e interna de la base de datos.

19
BASES DE DATOS

▪ Las transformaciones entre los tres niveles.


▪ Las restricciones sobre los datos.
▪ El acceso a los datos.
▪ Las descripciones de las cuentas de usuarios.
▪ Las autorizaciones de cada usuario.
▪ Los esquemas externos de cada programa, sus usuarios y qué
autorizaciones tienen.

Administrador de la base de datos.


El Administrador de la base de datos (DBA) es una persona o grupo de personas
responsables de la seguridad y el control de los datos, los cuales pueden ser
utilizados por cualquiera que tenga autorización por ello.
Las tareas del administrador son:
▪ La definición del esquema lógico de la base de datos mediante el uso
de sentencias de definición de datos.
▪ La definición del esquema físico, es decir, las estructuras de
almacenamiento de los datos y los métodos de acceso.
▪ La definición de los subesquemas o visiones de usuarios de la base de
datos.
▪ La concesión de autorización para el acceso a los datos mediante la
asignación de privilegios a los usuarios.
▪ El mantenimiento de la seguridad de los datos almacenados en la base
de datos a través de la especificación de los procedimientos necesarios.
▪ El mantenimiento del esquema lógico y físico de la base de datos.

Lenguajes.
▪ El SGBD ha de proporcionar lenguajes para definir y manipular los
datos de la base de datos.
▪ Estos lenguajes podrán ser utilizados por administradores y usuarios.
Son los siguientes:
➢ Lenguaje de Definición de Datos (Data Definition Language).
Se utiliza para definir el esquema conceptual y los distintos
subesquemas externos de la base de datos.
Ejemplo.
Instrucciones como CREATE TABLE, ALTER TABLE o
DROP VIEW.

20
BASES DE DATOS

➢ Lenguaje de Manipulación de datos (Data Manipulation


Language).
Mediante este lenguaje podemos manipular los datos de la
base de datos, es decir, insertar, modificar, eliminar y
recuperar datos almacenados.
Ejemplo.
Instrucciones como INSERT, UPDATE o SELECT.
➢ Lenguaje de Control de Datos (Data Control Languague).
Se utiliza para controlar el acceso a la información de la base
de datos definiendo privilegios y tipos de acceso. De esta
tarea se encarga el administrador.
Ejemplo.
Instrucciones como GRANT, REVOKE, COMMIT o
ROLLBACK.

Son lenguajes de gramática sencilla en la que cada SGBD ha puesto sus propias
características en las sintaxis, fundamentalmente en los DML y DDL.

4.3.Tipos de SGBD
Los SGBD se pueden clasificar de muchas formas.
Según qué gestionan, según sean bases de datos relacionales o bases de datos orientadas
a objetos.

Las vamos a dividir en dos grupos según su tamaño:


o Gestores de bases de datos Ofimáticas.
Son aquellas que manipulan bases de datos pequeñas (ofimáticas) orientadas a
almacenar datos domésticos o de pequeñas empresas.
Incluso estas bases de datos permiten construir pequeñas aplicaciones apoyadas
en dichas bases de datos para ayudar al usuario inexperto en el manejo de los
datos.
Como ejemplo podemos poner el Microsoft Access.
o Gestores de bases de datos Corporativas.
Son aquellas que tienen la capacidad de gestionar bases de datos enormes, de
grandes o medianas empresas con una carga de datos y transacciones que
requieren un servidor de grandes dimensiones.
Son capaces de manipular grandes cantidades de información de una forma muy
rápida y eficiente.

21
BASES DE DATOS

Entre los ejemplos a nombrar tenemos el Oracle, DB2 y MySQL.


La principal diferencia entre MySQL y los otros dos es el costo pues el último es
totalmente gratuito y ofrece las características, no a nivel tan potente, pero sí
bastante avanzado y eficaz como los dos primeros.

5. MODELOS DE BASES DE DATOS


Una vez se tenga realizado el modelo conceptual de la base de datos, se debe traducir en un
modelo lógico de datos.
Los más difundidos en el mercado fueron el modelo de datos jerárquico y el modelo en red.
Actualmente, el modelo relacional y muchos otros que están apareciendo, como el modelo
objeto-relacional.
Este último va a ser el objeto de estudio durante el transcurso de todo el curso por lo que no
viene mal dedicarles un par de apuntes a los otros modelos.

5.1 Modelo de datos jerárquico


Se sirve de árboles para la representación lógica de los datos.
Un árbol está compuesto por una jerarquía de elementos llamados nodos.
El nivel más alto de la jerarquía tiene un solo nodo denominado raíz.
Cada nodo representa un tipo de registro, llamado segmento, con sus correspondientes
campos.
Alguna de las consideraciones que debemos tener en cuenta son que solo existen
relaciones del tipo 1:M (Uno a Muchos) representadas por las ramas de un árbol.
Es decir, un padre puede tener varios hijos, pero un hijo solo puede tener un padre.
Debido a la existencia exclusiva de relaciones (1:N) como máximo, este modelo implica
demasiadas complicaciones a la hora de representar relaciones N:M (Muchos a Muchos).

Veamos algunos inconvenientes de este modelo:


o No se permite más de una relación entre dos segmentos.
o No se admiten relaciones del tipo N:M.
o No se permite que un segmento hijo tenga más de un padre.
o El árbol se recorre en un cierto orden.
o Para acceder a cualquier segmento es necesario hacerlo por el segmento raíz.

Ejemplos de bases de datos jerárquicas son el IMS de IBM y el SYSTEM 2000 de Intel.
A continuación, mostramos un ejemplo/ejercicio práctico de este modelo.

22
BASES DE DATOS

Base de datos jerárquica

5.2. Modelo de datos en red


Este modelo utiliza estructura de datos en red, conocidas también como estructuras
plex.
Las entidades se representan como nodos y las relaciones como líneas que unen dichos
nodos.
En una estructura en red cualquier componente puede unirse con cualquier otro.
Es posible describirla en términos de padres e hijos, pero a diferencia del modelo de
datos jerárquico, un hijo puede tener muchos padres por lo que se pueden representar
relaciones N:M (Muchos a Muchos).
El modelo en red más importante es el CODASYL propuesto por Database Task Group,
DBTG.

Los conceptos básicos son:


o Tipo de Registro: Representa un nodo.
o Elemento: Es un campo de datos.
o Agregado de datos: Conjunto de datos con nombre.

23
BASES DE DATOS

Ejemplo.
Fecha = Año+Mes+Dia
o Conjunto: Un conjunto relaciona dos tipos de registro. Uno de ellos se llama
propietario y el otro, miembro.

El modelo permite representar relaciones 1:M (uno a muchos) ó 1 : 1 (uno a uno).


Para representar una relación N:M (muchos a muchos) se necesita un registro de enlace
o link que conecte los dos tipos de registro.

Veamos a continuación un ejemplo de utilización.


Dado el siguiente modelo lógico que representa una relación de tipo 1:N entre
Proveedores y Artículos.

Ejemplo.
PROVEEDOR
Cod_Pro Nombre

ARTÍCULOS
Cod_Art Nombre

A continuación, podemos ver el desarrollo de cómo se representa la información en el


modelo de datos en red.

Representación de la información mediante un modelo de bases de datos en red

El registro propietario en la Figura 1.5., Proveedor con código 10, apunta hacia el primer
registro miembro, Artículo con código 101.
Este al segundo registro miembro, Artículo con código 102, y así sucesivamente hasta el
último registro miembro que apuntará al registro propietario.

24
BASES DE DATOS

Ejemplos de este tipo de bases de datos son el DMS 1100 de UNIVAC o el DBOMP de
IBM.

6. ARQUITECTURA CLIENTE-SERVIDOR
La arquitectura Cliente/Servidor ha ido evolucionando en conjunción con los avances
hardware y software que se han ido dando en el mundo de la informática como son la
aparición de las nuevas tecnologías de almacenamiento, la mejora de las comunicaciones
por red y la mejora en las tecnologías de las bases de datos.

En un sistema cliente/servidor podemos distinguir dos partes claras: un servidor y un


conjunto de clientes.

Normalmente, el Servidor es un potente ordenador que actúa como depósito de los datos y
permite llevar a cabo todas las funciones de un SGBD.

Los Clientes son estaciones de trabajo u ordenadores personales que solicitan servicios al
Servidor.

Para comunicarse deben estar comunicados a través de una red.


El software adecuado para una arquitectura Cliente/Servidor posee varios componentes que
se pueden asociar al Cliente o al Servidor.

Son los siguientes:


o Software de gestión de datos: Lleva a cabo la manipulación y gestión de datos
requeridos por las aplicaciones.
o Software de interacción con el usuario y presentación: Implementa las funciones
que se asocian a una interfaz gráfica de usuario (GUI). Suele residir en el Cliente.

25
BASES DE DATOS

o Software de desarrollo. Se usa para desarrollar aplicaciones. Igualmente suele


residir en el Cliente.

Aparte de estos componentes, existen otros que existen tanto en el Cliente como en el
Servidor. Software de Sistemas Operativos en Red, de Aplicaciones de Bases de Datos, de
Comunicaciones, etc… que facilitan la conexión entre Servidor y Cliente.

7. BBDD CENTRALIZAS vs DISTRIBUIDAS


BBDD CENTRALIZADAS BBDD DISTRIBUIDAS
Los sistemas de base de datos Una base de datos distribuida
centralizados son aquellos que se (BDD) es un conjunto de
ejecutan en un único sistema múltiples bases de datos
informático sin interaccionar con lógicamente relacionadas, las
ninguna otra computadora. cuales se encuentran distribuidas
en diferentes espacios lógicos e
interconectados por una red de
comunicaciones.
Un sistema de Bases de Datos
Definición
Distribuida (SBDD) es un
sistema en el cual múltiples
sitios de bases de datos están
ligados por un sistema de
comunicaciones de tal forma que
un usuario, en cualquier sitio,
puede acceder a los datos
exactamente como si estos
fueran accedidos de forma local.

26
BASES DE DATOS

BBDD CENTRALIZADAS BBDD DISTRIBUIDAS


o Se almacena completamente o Autonomía Local. Los sitios
en una ubicación central, es distribuidos deben ser
decir, todos los componentes autónomos, es decir, todas las
del sistema residen en un solo operaciones que se efectúan
ordenador. en un sitio dado se controlan
en la ubicación principal.
o No posee múltiples elementos
de procesamiento ni o No hay dependencia de un
mecanismos de sitio central. No debe de
intercomunicación, como las haber dependencia de un sitio
Bases de Datos Distribuidas. central para obtener un
o Los componentes de la Bases servicio.
de Datos Centralizadas son:
Características
➢ Los datos, el software del o Operación Continua. No debe
SGBD (Sistema de Gestión haber necesidad de apagarse
de Base de Datos) y los a propósito para que se pueda
dispositivos de realizar alguna función cómo,
almacenamiento secundario por ejemplo, añadir un nuevo
asociados. sitio o instalar una versión
mejorada.
o El problema de seguridad es
o Independencia con respecto a
inherentemente fácil en estos
la localización. Los usuarios
sistemas de bases de datos.
no tienen que conocer los
lugares de almacenamiento
utilizados.

27
BASES DE DATOS

BBDD CENTRALIZADAS BBDD DISTRIBUIDAS


o Se evita la redundancia. o Refleja una estructura
➢ Debido a que cada organizacional.
aplicación tiene sus ➢ Los fragmentos de la base
propios archivos o se de datos se ubican en
encuentran en diferentes departamentos con
ubicaciones, puede determinadas relaciones.
originarse redundancia en o Autonomía local.
los datos y desperdicio del ➢ Un departamento puede
espacio de controlar los datos que le
almacenamiento. pertenecen.

o Se evita la inconsistencia. o Disponibilidad.


➢ Si un hecho específico se ➢ Un fallo en una parte del
representa por una sola sistema solo afectará a un
entrada, la no fragmento en lugar de a
concordancia de datos no toda la base de datos.
puede ocurrir.
o Rendimiento.
Ventajas o Pueden hacerse cumplir las ➢ Los datos generalmente
normas establecidas. se ubican en el
➢ Con un control central de departamento con mayor
la base de datos se puede demanda y los sistemas
garantizar que se cumplan trabajan en paralelo, lo
todas las formas aplicables cual permite balancear la
a la representación de los carga en los servidores.
datos.
o Economía.
➢ Es más barato crear una
red de muchos
ordenadores pequeños,
que tener uno, solo, pero
muy poderoso.

28
BASES DE DATOS

o Pueden aplicarse restricciones o Modularidad.


de seguridad. ➢ Se pueden modificar,
El Administrador de Base de agregar o quitar sistemas
Datos (DBA) puede: de la base de datos
➢ Asegurar que el único distribuida sin afectar a
medio de acceder la base los demás.
de datos sea a través de los
canales establecidos.

➢ Definir controles de
autorización para que se
apliquen cada vez que se
intente el acceso a datos
sensibles

o Puede conservarse la
integridad.
➢ Que los datos se
encuentren en una sola
máquina ayuda a evitar la
inconsistencia de los datos.

o El procesamiento de los datos


ofrece un mejor rendimiento y
resulta más confiable que en
los sistemas distribuidos.

29

También podría gustarte