Está en la página 1de 7

BASE DE DATOS

Collao, J. (2017). Apunte docente, Facultad de Ingeniería y Tecnología.


Semana 2: Arquitectura de los sistemas de bases de datos.

2.1 Introducción.

Históricamente, los datos se han registrado en medios físicos para su permanencia en el


tiempo en madera, piedra, papel y, últimamente, en medios magnéticos. Sin embargo, esos
datos no significan nada si no tienen una interpretación que dé un significado útil para
alguien. En el lenguaje natural el dato con el significado van unidos, por ejemplo: “el
producto cuesta $1000”; en este ejemplo “$1000” es el dato y “el producto cuesta” es la
interpretación.
En los sistemas informáticos el dato está separado de la interpretación. Los datos se
encuentran físicamente en algún medio de almacenamiento y la interpretación es la
representación de esos datos en un modelo.
En el mundo real, las organizaciones son entidades complejas que tienen muchas
interacciones internas y externas. Si existe la capacidad de explicar una organización,
podríamos decir que tenemos la capacidad de construir un modelo de ella y si lo podemos
representar de alguna forma legible, esa representación es el esquema del modelo.
Una base de datos es una representación del comportamiento de una organización desde
el punto de vista de los datos; entonces, podríamos decir que es un esquema de la
organización a la que representa y los datos son instancias de esos esquemas.
2.2. Los tres niveles de la arquitectura.
El Instituto de Estándares Nacional Americano (conocido por su sigla en inglés ANSI:
American National Standard Institute) junto con el Comité de Planificación de Estándares y
Requerimientos (por su sigla en inglés SPARC: Standard Planning And
RequirimentsCommittee) definieron una arquitectura de tres niveles para las bases de datos
que, en general, son las siguientes:

 Nivel Externo: vista de los datos por parte de los usuarios.


 Nivel Conceptual: el esquema de datos que representa al modelo.
 Nivel Interno: los datos almacenados en algún medio físico.

Externo

Interno Conceptual
Usuario 1

Almacenamiento Modelo Usuario 2

Usuario N

Figura: Los tres niveles de la Arquitectura ANSI/SPARC.

2.2.1. El nivel externo.


Es representado por cómo los usuarios ven los datos. Los usuarios pueden ser:

 Programador de aplicaciones: que usan lenguajes de programación para comunicar


sus aplicaciones con la base de datos, la interpretan y le dan el formato que
necesiten y luego, la presentan en sus aplicaciones a través de la interfaz de usuario.
 Usuario final: dependiendo de su nivel de responsabilidad, el usuario final puede
acceder a los datos por medio de las aplicaciones, a través de una interfaz de usuario
que, usualmente, son pantallas, formularios, gráficos, etc., dependiendo de cómo el
programador de aplicaciones haya formateado la información. O bien, por medio de
algún lenguaje específico que permita manipular los datos de la base de datos.

Tanto el usuario final como el programador de aplicaciones podrían usar un lenguaje


específico de consultas para acceder a los datos de la base de datos:
 Sub Lenguaje de Datos (SLD): que permite agregar características de un lenguaje de
programación sobre los datos de la base de datos. En general, el SLD puede ser:
o Independiente del lenguaje de programación de las aplicaciones, esto es,
que el programador utilizará el lenguaje de programación para el
comportamiento de la aplicación y el SLD para el comportamiento de los
datos.
o Dependiente del lenguaje de programación, de tal manera que se encuentre
integrado y los programadores no tengan la necesidad de utilizar dos tipos
de lenguaje. Esto suele ser más común en los lenguajes orientados a objetos.
 Sub Lenguaje de Definición de Datos (LDD): Lenguaje que permite la creación de
objetos de base de datos.
 Sub Lenguaje de Manipulación de datos (LMD): permite la transferencia de datos
desde y hacia la base de datos.
Cada usuario de la base de datos tiene una vista solo de una parte de la base de datos total,
esto es porque su centro de interés es únicamente en una parte del negocio, por ejemplo:
el jefe de ventas solo ve los datos que le competen o interesan, como los datos de
vendedores, productos, precios y ventas. Lo que para él es un todo, en realidad es una
parte. Como a nivel externo hay muchos usuarios y cada uno visualiza solo una porción de
los datos, la suma de todas esas porciones conforma la base de datos global.
Ejemplo de representación a nivel externo:
Persona{ String Nombre; String Apellidos; int edad; String RUN}

2.2.2. El nivel conceptual.


A diferencia del nivel externo, que muestra los datos con el formato que los programadores
le dan, según las reglas del negocio, a nivel conceptual se visualizan los datos tal como son.
Reflejan las definiciones de cómo es la estructura de los datos, las restricciones de seguridad
e integridad de los datos. Algunos autores indican que el nivel conceptual representa a toda
la organización y a cómo utilizan los datos, sin embargo, es muy complejo asegurar que
conceptualmente podemos representar todo lo que ocurre en la organización.
Ejemplo de representación a nivel conceptual:
PERSONA (Nombre VARCHAR NULO, Apellidos VARCHAR NULO, Edad Integer NULO, RUT
VARCHAR NO NULO CLAVE PRIMARIA)

2.2.3. El nivel interno.


El nivel interno es una representación de los datos internamente almacenados
independientemente de cómo se encuentren almacenados en archivos.
El nivel interno define, además, los índices que se aplican sobre los registros, la forma y
secuencia en la que estos se encuentran.
Este nivel no es físico, no pretende visualizar cómo el sistema operativo registra los archivos,
la administración del nivel interno es responsabilidad del Sistema de Administración de
Base de Datos (DBMS).
Ejemplos de la representación de los datos a nivel Interno:
PERSONA NOMBRE LARGO=30, APELLIDOS LARGO=60, EDAD TIPO=ENTERO, RUT
LARGO=12, INDICE (RUT), CLAVE_PRIMARIA(RUT).

2.3 Transformaciones.
Bajo el supuesto que el nivel interno y el nivel conceptual son solo uno y que el nivel externo
puede tener múltiples ocurrencias - esto debido a que hay diferentes usuarios que se
comunican con la base de datos desde diferentes aplicaciones - , podríamos decir que existe
un tipo de transformación entre el nivel interno y conceptual y varias transformaciones
posibles entre el conceptual y el externo.

2.3.1 Independencia de los datos.


El objetivo principal de mantener los tres niveles separados es que exista independencia de
los datos, es decir, que las aplicaciones no dependan directamente de la definición de los
datos en la base de datos. Esto es, que exista la posibilidad de modificar el esquema interno
sin la necesidad de alterar los otros niveles.

 Independencia lógica de los datos: posibilidad de modificar el nivel conceptual sin


alterar el nivel externo, por ejemplo:
o Aumentar el tamaño de la base de datos, incorporando nuevas entidades o
nuevas relaciones.
o Modificar restricciones.
 Independencia física de los datos: posibilidad de modificar el nivel interno sin alterar
el nivel conceptual y, por ende, el nivel externo; por ejemplo:
o Modificar estructuras de almacenamiento.
o Modificar la seguridad.
o Realizar cambios en el rendimiento.
2.3.2. Transformación interna/conceptual.
El DBMS1 define la correspondencia entre el nivel interno y el conceptual; si se modifica el
nivel interno, es necesario modificar la correspondencia interna – conceptual para que el

1
DBMS: Data Base Management System o Sistema de Administración de Bases de Datos
modelo conceptual permanezca sin variaciones. Esto permite mantener la independencia
física de los datos. El responsable de mantener la correspondencia es el DBA2

2.3.3. Transformación conceptual/externa.


Al igual que la anterior, la transformación conceptual/externa define la correspondencia
entre ambos niveles. Como diferencia, a nivel externo puede haber múltiples formas de
visualizar el nivel conceptual, por ejemplo: cambios de tipo de datos, combinación de datos,
formato diferente, etcétera. El responsable de mantener la correspondencia es el
programador.

2.4. El Administrador de Bases de Datos.


El Administrador de Bases de Datos, también conocido como DBA3, es el responsable del
control de la base de datos a nivel técnico, las tareas que debe cumplir tienen relación con:

 Administración de usuarios: es quien crea los perfiles y asigna permisos de acceso,


tanto para usuarios como para sistemas que se alimentan de la base de datos.
 Establece políticas de respaldo: es quien debe mantener disponibles los datos y
sobrellevar cualquier eventualidad que implique pérdidas. Establece políticas de
respaldo que permitan recuperarse ante fallos de software o hardware.
 Mantiene rendimiento: es el responsable de mantener el rendimiento óptimo de los
datos, ya sea para consulta, o bien, para modificación. Si esto implica modificar el
nivel interno, debe ofrecer el respectivo cambio de transformaciones
interna/conceptual.

2.5. El Sistema de Administración de Base de Datos.


El Sistema de Administración de Base de Datos, también conocido como DBMS4 o SGBD5,
es un software que administra toda la base de datos. Ante cada petición de acceso, ya sea
de un usuario o un sistema, el DBMS la analiza, determina si el solicitante tiene los permisos
necesarios; si es así, ejecuta las operaciones solicitadas y las lleva desde el nivel interno al
conceptual.
Las tareas que debe cumplir el DBMS son:

2
DBA: Data Base Administrator o Administrador de Base de Datos.
3
Lo mismo que la nota anterior.
4
Data Base Management System.
5
Sistema de Gestión de Bases de Datos.
 Definición de datos: debe permitir recibir solicitudes de definiciones de datos desde
el nivel externo y conceptual (creación, modificación, eliminación de objetos) y
representarlas a nivel interno.
 Manipulación de datos: debe permitir solicitudes de lectura, modificación y
eliminación de datos, usualmente esto ocurre a través de un lenguaje de
manipulación de datos. Las solicitudes de manipulación de datos pueden ser:
o Planeadas: cuando se sabe con anterioridad que van a ocurrir, pueden ser
peticiones rutinarias diarias o grandes procesos. Su misión acá es mantener
el rendimiento constante de la base de datos evitando que se produzcan
cuellos de botella.
o No planeadas: aquellas que ocurren sin aviso; en general, son consultas
realizadas por usuarios, si bien es cierto al no ser planeadas el DBMS podría
no estar preparado, el DBA debiera mantener el esquema interno de tal
manera que pueda responder a estas peticiones sin previo aviso.
 Integridad de los datos: el DBMS debe evitar cualquier tipo de violación a las
restricciones de seguridad e integridad definidas por el DBA.
 Concurrencia: el DBMS debe proporcionar algún mecanismo de seguridad de los
datos de tal manera que permita evitar aglomeraciones por muchas solicitudes de
diferentes tipos de diferentes usuarios sobre los datos, por ejemplo: si un usuario
está modificando un dato y otro al mismo tiempo quiere leerlo.
2.6. Arquitectura Cliente – Servidor.
En una arquitectura cliente – servidor, como su nombre lo dice, existen dos partes que lo
componen:

 El servidor: Es el propio DBMS, con todas las funcionalidades descritas en el punto


anterior.
 Los clientes: son múltiples aplicaciones en diferentes plataformas y lenguajes, que
realizan peticiones de datos hacia el servidor por medio de canales de comunicación
remotos.
Sin un DBMS que cumpla con los requisitos mencionados en el punto anterior, la
arquitectura Cliente – Servidor sería prácticamente imposible de realizar.

También podría gustarte