Está en la página 1de 54

Base de Datos

UNIDAD 1: El mundo de las bases de


datos y los sistemas manejadores de
base de datos.
Clase 2: SMBD - DBMS.

Ing. Ricardo Tillero


SMBD - DBMS - SGBD
• SMBD – Sistema Manejador de Base de Datos.

• DBMS – Data Base Manager System.

• SGBD - Sistema de Gestión de Bases de Datos.


SMBD
• Un sistema manejador de bases de datos (SMBD) o
DataBase Management System (DBMS) es una
colección de software muy específico, cuya función
es servir de interfaz entre la base de datos, el
usuario y las distintas aplicaciones utilizadas.

• Los Sistemas Manejadores de Bases de Datos, son


aplicaciones que permiten a los usuarios definir,
crear y mantener la base de datos y proporcionan un
acceso controlado a la misma.
Objetivo del SMBD
• El objetivo del SMBD es precisamente el de manejar
un conjunto de datos para convertirlos en
información relevante para la organización, ya sea a
nivel operativo o estratégico. Lo hace mediante una
serie de rutinas de software para permitir su uso de
una manera segura, sencilla y ordenada.

• Su uso permite realizar un mejor control a los


administradores de sistemas y, por otro lado,
también obtener mejores resultados a la hora de
realizar consultas que ayuden a la gestión
empresarial mediante la generación de la tan
perseguida ventaja competitiva.
Objetivos del SMBD
Objetivos del SMBD
Características y Funcionalidad
del SMBD
• Un sistema SMBD es sinónimo de independencia, una
redundancia mínima, consistencia de la información (control de
la concurrencia), abstración de la información sobre su
almacenamiento físico, así como un acceso seguro y la
adopción de las medidas necesarias para garantizar la
integridad de los datos.

• Estas particularidades son algunos de los rasgos definitorios de


un SMBD, cuyos procesos esenciales son la manipulación y
construcción de la bases de datos, así como la definición de los
mismos. Son características que, a su vez, facilitan el
cumplimiento de una serie de funciones relacionadas con
muchos de los aspectos apuntados, entre otros la definición de
los datos, su fácil manipulación, una rápida gestión, poder
representar relaciones complejas entre datos y otros aspectos
relacionados con la seguridad y validez de los datos.
Características del SMBD
• Los usuarios pueden acceder a la información usando
herramientas específicas de consulta y de generación de
informes, o bien mediante aplicaciones al efecto.
• Proporcionan métodos para mantener la integridad de los datos,
para administrar el acceso de usuarios a los datos y para
recuperar la información si el sistema se corrompe.
• Permiten presentar la información de la base de datos en
variados formatos.
• La mayoría incluyen un generador de informes.
• También pueden incluir un módulo gráfico que permita
presentar la información con gráficos y tablas.
• Generalmente se accede a los datos mediante lenguajes de
consulta, lenguajes de alto nivel que simplifican la tarea de
construir las aplicaciones.
Características del SMBD
• También simplifican las consultas y la presentación de la
información.
• Permiten controlar el acceso a los datos, asegurar su
integridad, gestionar el acceso concurrente a ellos, recuperar
los datos tras un fallo del sistema y hacer copias de seguridad.
• Las bases de datos y los sistemas para su gestión son
esenciales para cualquier área de negocio, y deben ser
gestionados con esmero.
Funcionalidades del SMBD
• Definir la Base de Datos mediante el Lenguaje de Definición de
Datos.

• Permitir la inserción, eliminación, actualización, consulta de los


datos mediante el Lenguaje de Manejo de Datos.

• Separar la descripción y manipulación de la data, permitiendo


un mayor entendimiento de los objetos, además de flexibilidad
de consulta y actualización de los datos.

• Gestionar la estructura física de los datos y su almacenamiento.

• Proporcionar mecanismos de vistas de datos.


Funcionalidades del SMBD
• Proporcionar acceso controlado a la base de datos:
 Seguridad
 Integridad
 Control de Recurrencia (Acceso Compartido)
 Control de Recuperación
 Diccionario de datos o Catálogo

• Eliminar la redundancia de datos, establecer una mínima


duplicidad en los datos y minimizar el espacio en disco utilizado.

• Proveer interfaces procedimentales y no procedimentales,


permitiendo la manipulación por usuarios interactivos y
programadores.
Funcionalidades del SMBD
• Independizar la estructura de la organización lógica de los datos
(Independencia física).

• Independizar la descripción lógica de la Base de datos y las


descripciones particulares de los diferentes puntos de vistas de
los usuarios.

• Permitir una fácil administración de los datos.


Evolución de los SMBD
• Actividad de estudio independiente.
Arquitectura de los SMBD
Organismos de estandarización:
• ANSI (American National Standards
Institute) es un organismo científico de
Estados Unidos que ha definido
diversos estándares en el campo de las
bases de datos.
• X3 es la parte de ANSI encargada de
los estándares en el mundo de la
electrónica.
• SPARC, System Planning and
Repairments Committee, comité de
planificación de sistemas y reparaciones
es una subsección de X3 encargada de
los estándares en Sistemas
Informáticos en especial del campo de
las bases de datos. Su logro
fundamental ha sido definir un modelo
de referencia para las bases de datos
(que se estudiará posteriormente).
Arquitectura ANSI/SPARC
• La arquitectura o modelo ANSI-SPARC, donde ANSI-SPARC
significa American National Standards Institute/Standards
Planning And Requirements Committee, es un estándar de
diseño abstracto para un sistema de gestión de bases de
datos (DBMS), propuesto por primera vez en 1975.​

• También es conocida como ANSI-X3-SPARC pero por


simplicidad se le denomina ANSI-SPARC o ANSI/SPARC.

• La mayoría de los DBMS comerciales modernos se basan


en este sistema. El modelo ANSI/SPARC, sin embargo,
nunca se convirtió en un estándar formal.
Arquitectura ANSI/SPARC
El objetivo de la arquitectura de tres niveles es
separar la vista de los usuarios:
• Permite vistas de usuario independientes y personalizadas: Cada
usuario debe ser capaz de acceder a los datos, pero tiene una
vista personalizada diferente de los datos. Estos deben ser
independientes: los cambios en una vista no deben afectar a las
demás.
• Oculta los detalles físicos de almacenamiento a los usuarios: Los
usuarios no deberían tener que lidiar con los detalles de
almacenamiento de la base de datos.
• El administrador de la base de datos debe ser capaz de cambiar
las estructuras de almacenamiento de esta sin afectar la vista de
los usuarios.
• La estructura interna de la base de datos no debería verse
afectada por cambios en los aspectos físicos del almacenamiento.
Por ejemplo, un cambio a un nuevo disco.
Niveles del Modelo ANSI/SPARC
El modelo ANSI/X3/SPARC se divide en tres niveles,
conocidos como interno, conceptual y externo,
respectivamente:

• El nivel externo: es el nivel de mayor abstracción. A este


nivel corresponden las diferentes vistas parciales que tienen de
la base de datos los diferentes usuarios.
• El nivel conceptual: es el nivel medio de abstracción. Se
trata de la representación de los datos realizada por la
organización, que recoge las vistas parciales de los
requerimientos de los diferentes usuarios y las aplicaciones
posibles. Se configura como visión organizativa total, e incluye
la definición de datos y las relaciones entre ellos.
• El nivel interno: es el nivel más bajo de abstracción, y
define cómo se almacenan los datos en el soporte físico, así
como los métodos de acceso.
Niveles del Modelo ANSI/SPARC
Esquemas de Base de Datos
• Esquema externo: describe las diferentes vistas externas de
los datos; puede haber muchos esquemas externos para una
base de datos dada.

• Esquema conceptual: describe todos los datos y las


relaciones entre ellos, junto con las restricciones de integridad.
Solo hay un esquema conceptual por cada base de datos.

• Esquema interno: es el nivel más bajo que contiene los


registros almacenados, los métodos de representación, los
campos de datos e índices. Solo hay un esquema interno por
cada base de datos.

• La descripción general de una base de datos se llama esquema


de base de datos.
Esquemas del Modelo NSI/SPARC
Arquitecturas de SMBD
1. SMBD monolítico.
2. SMBD Cliente/Servidor.
3. SMBD multicapas.

La arquitectura 3 se basa en la arquitectura


Cliente/Servidor.
SMBD Monocapa
• Conocido también como Monolítico.
• Es la más sencilla, pero la que tiene menos escalabilidad
(posibilidad de crecer).
• El SMBD se instala en una máquina y los usuarios acceden
directamente a esa máquina y al SMBD.
• Implementada en computadores centrales o sistemas
multiusuarios.
• En estos sistemas no se accede de forma remota a la base de
datos.
SMBD Monocapa
SMBD Cliente/Servidor
• También conocido como Bicapa
• El Servidor es precisamente el propio SMBD y soporta todas
sus funciones básicas: definición de datos, manipulación de
datos, seguridad e integridad de los datos, etcétera. En
particular, proporciona todo el soporte de los niveles externo,
conceptual e interno. Por lo tanto, en este contexto, “Servidor"
es sólo el nombre del SMBD.
• Los Clientes son las diversas aplicaciones que se ejecutan
sobre el SMBD, tanto aplicaciones escritas por el usuario como
aplicaciones integradas (es decir, aplicaciones proporcionadas
por el fabricante del SMBD o por alguna otra compañía).
• El software cliente y el servidor deben utilizar software de
comunicaciones de red para el intercambio de ordenes y datos.
SMBD Cliente/Servidor
SMBD Cliente/Servidor
SMBD Cliente/Servidor
SMBD Cliente/Multi-Servidor
• En este caso los clientes acceden a un conjunto de servidores
que distribuyen la base de datos. El cliente no sabe si los
datos están en uno o más servidores, ya que el resultado es
el mismo independientemente de dónde se almacenan los
datos. Se usa cuando el número de clientes ha crecido mucho
y un solo servidor no podría atender sus peticiones.
• Se puede implementar como servidores independientes o bajo
la modalidad de Clustter.
SMBD Multi-capas
SMBD de tres o más capas:
• Es una estructura de tipo cliente/servidor, pero en la que hay
al menos una capa intermedia entre las dos. Esa capa se suele
encargar de procesar las peticiones y enviarlas al SMBD con el
que se comunica.
• Un ejemplo habitual es que la tercer capa sea un Servidor Web
que evita que el cliente se conecte directamente al SMBD. Ese
Servidor Web se encarga de traducir lo que el cliente realiza a
una forma entendible por la base de datos.
• Esta forma de trabajar permite además que para usar una base
de datos, baste un simple navegador al cliente.
• Puede haber más capas con otros fines. Estas capas siempre
están entre el Cliente y el Servidor.
SMBD Multi-capas
SMBD Multi-capas
SMBD Multi-capas
SMBD Multi-capas
Operaciones sobre un SMBD
• Las operaciones típicas que debe garantizar un
SMDB pueden resumirse en aquellas que afectan a
la totalidad de los datos (o a todos los necesarios de
un determinado tipo) y a las que tienen lugar sobre
registros concretos.
Definición o Descripción de un SMBD

• Debe permitir al diseñador de la Base de Datos


especificar los elementos de datos que la integran,
su estructura y las relaciones que existen entre ellos,
las reglas de integridad semántica, etc., así como las
características de tipo físico y las vistas lógicas de
los usuarios.

• Cada SMBD cuenta con un Lenguaje de Descripción


o definición de Datos (LDD).
Manipulación de un SMBD
• Se utiliza para que los usuarios recuperen o actualicen los
datos dentro de la Base de Datos, esto se lleva a cabo por
medio de un Lenguaje de Manipulación de Datos (LMD) que
facilita los instrumentos necesarios para la realización de estas
tareas.
Control de un SMBD
• Esta función recibe todas las interfaces que
necesitan los diferentes usuarios para comunicarse
con la base y proporcionar un conjunto de
procedimientos para el administrador. (respaldo,
recuperación, seguridad, etc.).
Lenguajes de un SMBD
• En lo que respecta a los lenguajes utilizados en un DBMS, cabe
destacar el Lenguaje de Manipulación de datos o Data
Manipulation Language (DML) para la realización de consultas y
manipulación de datos. Especialmente, se utiliza el SQL
(Structured Query Language), el DML más utilizado para
gestionar datos relacionales, así como el Data Definition
Language (DDL), utilizado para definir estructuras y funciones
en la realización de consultas.

• El Data Control Language (DCL), por último, también es un


lenguaje utilizado en un DBMS por el administrador, en esta
ocasión con el fin de controlar el acceso a los datos de la base
de datos.
Categorías de instrucciones
SQL
DDL (Data Definition Languaje):

• El Lenguaje de Definición de Datos (Data Definition


Language – DDL), sirve para modificar la estructura
de los objetos en una base de datos.
• Instrucciones: CREATE, ALTER, DROP, RENAME,
y TRUNCATE, AUDIT, ANALYZE, RENAME,
PURGE, GRANT, REVOKE
Categorías de instrucciones
SQL
DML (Data Manipulation Languaje):

• El lenguaje de Manipulación de Datos (Data


Manipulation Language – DML) sirve para llevar a
cabo las transacciones en las base de datos,
entiéndase por transacciones los procesos de
inserción, actualización, eliminación, selección.
• Instrucciones: SELECT, INSERT, UPDATE y
DELETE
Categorías de instrucciones
SQL
DCL (Data Control Languaje):

• Un Lenguaje de Control de Datos (DCL por sus siglas en inglés:


Data Control Language) es un lenguaje proporcionado por el
Sistema de Gestión de Base de Datos que incluye una serie de
comandos SQL que permiten al administrador controlar el
acceso a los datos contenidos en la Base de Datos.
• Instrucciones:
 GRANT: Permite dar permisos a uno o varios usuarios o
roles para realizar tareas determinadas.
 REVOKE: Permite eliminar permisos que previamente se
han concedido con GRANT.
Categorías de instrucciones
SQL
TCL (Transaction Control Languaje):

• Procesamiento de transacciones.
• Instrucciones:

 BEGIN, COMMIT, SAVEPOINT, ROLLBACK


(ABORT), SET TRANSACTION
Categorías de instrucciones
SQL
SCL (Session Control Languaje):

• Modificación de sesión.
• Privilegios o roles de usuario (activación y
desactivación).
• Instrucciones:

 ALTER SESSION, SET ROLE


Consultas SQL
Transacciones SQL
• El Procesamiento de Transacciones tiene como objetivo las
cuestiones referentes a la integridad de la Base de Datos,
recuperación y control de la concurrencia.

• Una transacción es un programa de aplicación, generalmente


de duración breve, que accede y actualiza una parte también
generalmente pequeña de la base de datos pudiendo controlar
múltiples transacciones ejecutando el paralelo sobre una misma
base de datos corriendo en un sistema que puede fallar.

• Los objetivos del Gestor de Transacciones del SMBD son:


evitar que las transacciones interfieran unas con otras al
ejecutar en paralelo, y garantizar que la base de datos no sea
dañada en forma irreparable por caídas, ya sea del sistema en
sí o de alguna de las transacciones.
Transacciones SQL
• Una transacción es una unidad lógica de trabajo en
la cual una serie de operaciones ocurren entre las
sentencias BEGIN TRANSACTION (COMIENZO DE
TRANSACCIÓN) y ENDTRANSACTION (FIN DE
TRANSACCIÓN) de una aplicación. Una transacción
es atómica; es decir, se hace todo el trabajo o no se
hace nada.
• La administración de transacciones implica algunas
características importantes llamadas características
ACID (Atomicity, Consistency, Isolation and
Durability), éste es un mnemotécnico para:
Atomicidad, Consistencia, Aislamiento y Durabilidad.
Transacciones SQL - ACID
Atomicidad:
 Las operaciones asociadas a una transacción
comparten generalmente un objetivo común y son
interdependientes.
 Si se ejecuta solamente un subconjunto de estas
operaciones, el sistema podría comprometer el
objetivo global de la transacción.
 La atomicidad elimina la posibilidad de procesar un
subconjunto de operaciones.
Transacciones SQL - ACID
Consistencia:
 Una transacción es una unidad de integridad porque
preserva la consistencia de datos, transformando un
estado consistente de datos en otro estado
consistente.
 La consistencia requiere que los datos
comprometidos en una transacción se preserven
semánticamente.
 Algunas de las responsabilidades de mantener
consistencia caen sobre el desarrollador de
aplicaciones, que debe asegurarse de que todas las
restricciones de integridad se cumplan en la
aplicación.
Transacciones SQL - ACID
Aislamiento:
 Una transacción es también una unidad aislada.
 La administración de transacciones permite que las
transacciones concurrentes se comporten como si
cada una fuera la única transacción ejecutándose en
el sistema.
 El aislamiento requiere que cada transacción
parezca ser la única transacción que manipula la
base de datos, aunque otras transacciones pueden
estar ejecutándose concurrentemente.
 Una transacción nunca puede ver las etapas
intermedias de otra transacción.
Transacciones SQL - ACID
Durabilidad:
 Una transacción es también una unidad de
recuperación.
 Si una transacción tiene éxito, el sistema garantiza
que persistirán sus actualizaciones, incluso si la
computadora falla inmediatamente después de una
ejecución exitosa.
 Este requisito de la persistencia se llama durabilidad.
Ventajas de los SMBD
• Control sobre la redundancia de datos.
• Consistencia de datos.
• Más información sobre la misma cantidad de datos.
• Compartición de datos.
• Mantenimiento de estándares.
• Mejora en la integridad de datos.
• Mejora en la seguridad.
• Mejora en la accesibilidad a los datos.
• Mejora en la productividad.
• Mejora en el mantenimiento gracias a la independencia de
datos.
• Aumento de la concurrencia.
• Mejora en los servicios de copias de seguridad y de
recuperación ante fallos.
Desventajas de los SMBD
• Complejidad.
• Tamaño.
• Coste económico del SGBD.
• Costo del equipamiento adicional.
• Costo de la conversión.
• Prestaciones.
• Vulnerable a los fallos.
• Soporte para los SMBD Open Source
SMBD
SMBD Open Source

También podría gustarte