Sistema
de base de datos:
Conjunto de datos almacenados
sin redundancias en es un soporte de acceso directo. Los datos están
interrelacionados y estructurados de acuerdo a un modelo que sea capaz de
recoger el máximo contenido semántico; su finalidad es servir a una o más
aplicaciones de la mejor forma posible. Los datos se almacenan de modo que
resulten independientes de los programas que los usan; se emplean métodos para
incluir nuevos datos y para modificar o extraer los datos almacenados.
Sistema
manejador de base de datos (SMBD):
Los sistemas manejadores de
base de datos (SGBD), en inglés: DataBase Management System (DBMS), son un tipo
de software muy específico, dedicado a servir de interfaz entre la base de
datos, el usuario y las aplicaciones que la utilizan. El propósito general de
los sistemas manejadores de base de datos es el de manejar de manera clara,
sencilla y ordenada un conjunto de datos que posteriormente se convertirán en
información relevante para una organización.
Es la porción más importante
del software de un sistema de base de datos. Un DBMS es una colección de
numerosas rutinas de software interrelacionadas, cada una de las cuales es
responsable de alguna tarea específica.
Funciones
Principales:
Ø Establecer y
mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente.
Ø Manejar los
datos de acuerdo a las peticiones de los usuarios.
Ø Registrar el
uso de las bases de datos.
Ø Interacción
con el manejador de archivos. Esto a través de las sentencias en DML al comando
del sistema de archivos. Así el Manejador de base de datos es el responsable
del verdadero almacenamiento de los datos. Respaldo y recuperación.
Características:
Ø Abstracción de la información. Los SGBD
ahorran a los usuarios detalles acerca del almacenamiento físico de los datos.
Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se
hace transparente al usuario.
Ø Redundancia mínima. Un buen diseño de una base de
datos logrará evitar la aparición de información repetida o redundante
Ø Consistencia. En aquellos casos en los que
no se ha logrado esta redundancia nula, será necesario vigilar que aquella
información que aparece repetida se actualice de forma coherente, es decir, que
todos los datos repetidos se actualicen de forma simultánea.
Ø Seguridad. La información almacenada en
una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar
que esta información se encuentra segurizada frente a usuarios
malintencionados, que intenten leer información privilegiada; frente a ataques
que deseen manipular o destruir la información; o simplemente ante las torpezas
de algún usuario autorizado pero despistado.
Ø Integridad.
Se trata de adoptar las medidas necesarias para garantizar la validez de los
datos almacenados. Es decir, se trata de proteger los datos ante fallos de
hardware, datos introducidos por usuarios descuidados, o cualquier otra
circunstancia capaz de corromper la información almacenada.
Ø Respaldo
y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar
copias de respaldo de la información almacenada en ellos, y de restaurar a
partir de estas copias los datos que se hayan podido perder.
Ø Control de la concurrencia. En la mayoría
de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas
las personas que acceden a una base de datos, bien para recuperar información,
bien para almacenarla. Y es también frecuente que dichos accesos se realicen de
forma simultánea.
Evolución de los sistemas manejadores de base de
datos:
Inicialmente,
en los años 40s, los Sistemas de
Archivos generados a través de lenguajes de programación no propietarios como
Cobol y Fortran (vigentes en la actualidad), permiten almacenar los datos a
través de archivos planos con funciones básicas de lectura y escritura sobre
ellos. En 1964, se conciben los primeros
Gestores de Base de Datos (DBMS: Database Management System), por medio de los
cuales se pretende dar un viraje a los Sistemas de Archivos, los cuales se limitan a la estructuración del
almacenamiento físico de los datos. Con
los DBMS se crea el concepto de Administración de los datos, por medio de
actividades integradas que permiten verlos físicamente en un solo
almacenamiento pero lógicamente se manipulan a través de esquemas compuesto por
estructuras donde se establecen vínculos de integridad, métodos de acceso y
organización física sobre los datos, permitiendo así obtener valores agregados
de utilización tales como: manejo de usuarios, seguridad, atomicidad e
independencia física y lógica de los datos, entre otros.
El primer
gestor de bases de datos (DBMS) comercial, IDS:
Integrated Data Store , se crea bajo el concepto del Modelo de Datos de
Red (Bachgman, 1965); luego se desarrolla el IMS: Information Management System
, sobre el concepto del Modelo de Datos Jerárquico. Estos DBMSs eran accesados normalmente por
lenguajes de programación como Cobol usando interfases de bajo nivel haciendo
que las tareas de creación de aplicaciones y mantenimiento de los datos fuesen controlables, pero aún complejas.
A medida que
evolucionaban los DBMS, los lenguajes de programación también lo hacían. En 1967 surge el primer lenguaje de
programación orientado a objetos, Simula, el cual fue propuesto para simulación de actividades. En este los procedimientos podían ser
asociados a un tipo para representar el comportamiento de una instancia,
introduciendo así el concepto de Clase.
Simula, soporta paralelismo permitiendo muchas entidades interactivas en
una simulación. Además comparte objetos
acoplando datos y procedimientos.
Comenzando los
años 80’s ya se siente la necesidad de que los DBMS actuales manipulen objetos
complejos y estructuras como las usadas en sistemas CAD y CASE, entre
otras. A partir de esto se da inicio a
dos grandes tendencias: los ORDBMS (Object Relational Database Management
System) los cuales se proyectan como una extensión de los RDBMS hacia el
paradigma OO, y los OODBMS (Object Oriented Database Management System)
estarían disponibles para almacenar y manipular las clases, los objetos, la
asociación entre ellos y sus métodos.
Así, finalizando los años 80s se crean los OODBMSs por medio de
productores como O2, ObjectDesign y Objectivity, entre otros. Pero realmente se puede decir que estos no se
hicieron tan comerciales como los existentes RDBMS ya que el concepto de
Orientación a Objetos se seguía manejando muy a nivel del lenguaje de
programación, sin que se trabajaran estructuras de almacenamiento Orientadas a
Objetos dependientes de estos . Así, en
1991 surge la ODMG (Object Database Management Group) el cual estandariza los
OODBMSs a partir del ODMG-93 y luego en 1992 el comité ANSI X3H2 inicia un
trabajo en SQL3, del cual surgen los DBMS objeto relacional ORDBMS. Este trabajo fue programado para finalizarse
en 1995, pero aún se sigue trabajando en este con un tiempo límite de
terminación, en el año 1999.
Sistema de base de datos relacionales:
Una Base de
Datos Relacional, es una base de datos que cumple con el modelo relacional, el
cual es el modelo más utilizado en la actualidad para implementar bases de
datos ya planificadas. Permiten establecer interconexiones (relaciones) entre
los datos (que están guardados en tablas), y a través de dichas conexiones
relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo
Relacional". Tras ser postuladas sus bases en 1970 por Edgar Frank Codd,
de los laboratorios IBM en San José (California), no tardó en consolidarse como
un nuevo paradigma en los modelos de base de datos
Una base de
datos relacional es un repositorio compartido de datos. Para hacer disponibles
los datos de una base de datos relacional a los usuarios hay que considerar
varios aspectos. Uno es la forma en que los usuarios solicitan los datos
Arquitecturas
cliente-servidor:
La
arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre
los proveedores de recursos o servicios, llamados servidores, y los
demandantes, llamados clientes. Un cliente realiza peticiones a otro programa,
el servidor, quien le da respuesta. Esta idea también se puede aplicar a
programas que se ejecutan sobre una sola computadora, aunque es más ventajosa
en un sistema operativo multiusuario distribuido a través de una red de
computadoras.
En esta
arquitectura la capacidad de proceso está repartida entre los clientes y los
servidores, aunque son más importantes las ventajas de tipo organizativo
debidas a la centralización de la gestión de la información y la separación de
responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación
entre cliente y servidor es una separación de tipo lógico, donde el servidor no
se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo
programa. Los tipos específicos de servidores incluyen los servidores web, los
servidores de archivo, los servidores del correo, etc. Mientras que sus
propósitos varían de unos servicios a otros, la arquitectura básica seguirá
siendo la misma.
Una
disposición muy común son los sistemas multicapa en los que el servidor se
descompone en diferentes programas que pueden ser ejecutados por diferentes
computadoras aumentando así el grado de distribución del sistema.
Arquitecturas multi-capas:
La
arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red:
clientes y servidores. Consecuentemente, estas arquitecturas genéricas se
refieren a veces como arquitecturas de dos niveles o dos capas.
Algunas redes disponen de tres tipos de nodos:
Ø Clientes que
interactúan con los usuarios finales.
Ø Servidores de
aplicación que procesan los datos para los clientes.
Ø Servidores de
la base de datos que almacenan los datos para los servidores de aplicación.
Esta configuración se llama una arquitectura de
tres-capas.
Ventajas de las arquitecturas n-capas:
La ventaja
fundamental de una arquitectura n-capas comparado con una arquitectura de dos
niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el
proceso, eso ocurre para mejorar el balance la carga en los diversos
servidores; es más escalable.
Ø Desventajas de
las arquitecturas de la n-capas:
Ø Pone más carga
en la red, debido a una mayor cantidad de tráfico de la red.
Ø Es mucho más
difícil programar y probar el software que en arquitectura de dos niveles
porque tienen que comunicarse más dispositivos para terminar la transacción de
un usuario.
Componentes
de una (DBMS):
DBMS: Database Management System
Colección de datos interrelacionados y un conjunto de
programas para acceder a esos datos. Los componentes de una DBMS son:
Ø Data definition language (DDL):
Define elementos de los datos en la base de datos
Ø Data manipulation language (DML):
Manipula datos para aplicaciones
Ø Data dictionary:
Definiciones de todas las variables en la base
Funcionalidades de
DBMS:
Las funciones
principales de un DBMS son:
Ø Crear y organizar la Base de
datos.
Ø Establecer y mantener las
trayectorias de acceso a la base de datos de tal forma que los datos puedan ser
accesados rápidamente.
Ø Manejar los datos de acuerdo a
las peticiones de los usuarios.
Ø Registrar el uso de las bases de
datos.
Ø Interacción con el manejador de
archivos. Esto a través de las sentencias en DML al comando de el sistema de
archivos. Así el Manejador de base de datos es el responsable del verdadero
almacenamiento de los datos.
Ø Respaldo y recuperación. Consiste
en contar con mecanismos implantados que permitan la recuperación fácilmente de
los datos en caso de ocurrir fallas en el sistema de base de datos.
Ø Control de concurrencia. Consiste
en controlar la interacción entre los usuarios concurrentes para no afectar la
inconsistencia de los datos.
Ø Seguridad e integridad. Consiste
en contar con mecanismos que permitan el control de la consistencia de los datos
evitando que estos se vean perjudicados por cambios no autorizados o previstos.
Comandos de
lenguaje de definición de datos:
Lenguaje de
definición de datos (DDL: Data Definition Language): Sencillo lenguaje artificial
para definir y describir los objetos de la base de datos, su estructura,
relaciones y restricciones. En la práctica puede consistir en un subconjunto de
instrucciones de otro lenguaje informático.
Comando
|
Descripción
|
CREATE
|
Utilizado para crear nuevas tablas,
stored procedures e índices
|
DROP
|
Empleado para eliminar tablas, stored
procedures e índices
|
ALTER
|
Utilizado para modificar las tablas
agregando campos o cambiando la definición de los campos
|
Consulta
Ver la informacion que desea ver un usuario por medio
de comandos dentro de la base de datos
Las consultas de selección se utilizan para indicar al
motor de datos que devuelva información de las bases de datos, esta información
es devuelta en forma de conjunto de registros que se pueden almacenar en un
objeto recordset. Este conjunto de registros es modificable.
Procesamiento de
consultas:
EL procesamiento de
consultas hace referencia a la serie de actividades implicadas en la extracción
de datos de una base de datos. Estas actividades incluyen la traducción de
consultas expresadas en lenguajes de bases de datos de alto nivel en
expresiones implementadas en el nivel físico del sistema, así como
transformaciones de optimización de consultas y la evaluación real de las
mismas. Los pasos básicos a tomar en cuenta son:
Ø Análisis y traducción.
Ø Optimización.
Ø Evaluación.
PROCESADOR DE
CONSULTA:
Interacciona con el usuario mediante sentencias específicas en un Lenguaje de
Consulta . Éstos son poderosos y bastante flexibles como para proporcionar
soluciones múltiples a un problema, uno de los más estandares es el SQL (
Lenguaje de Consulta Secuencial) .
Procesamiento de
transacciones
Una transacción es parte de las sentencias de control
y consiste en una secuencia de instrucciones de consulta y actualizaciones. La
norma SQL especifica que una transacción comienza implícitamente cuando se
ejecuta una instrucción SQL. Una de las siguientes instrucciones SQL debe
finalizar la transacción:
Ø Commit work compromete la
transacción actual; es decir, hace que los cambios realizados por la
transacción sean permanentes en la base de datos.
Ø Rollback work causa el retroceso
de la transacción actual; es decir, deshace todas las actualizaciones
realizadas por las instrucciones SQL de la transacción; así, el estado de la
base de datos se restaura al que existía previo a la ejecución de la
transacción.
Manejo de almacenamiento:
La mayoría de las bases de datos se almacenan en las
llamadas memorias secundarias, especialmente discos duros, aunque, en
principio, pueden emplearse también discos ópticos, memorias flash, etc. Las
razones por las cuales las bases de datos se almacenan en memorias secundarias
son:
Ø En general, las bases de datos
son demasiado grandes para entrar en la memoria primaria.
Ø La memoria secundaria suele ser
más barata que la memoria primaria (aunque esta última tiene mayor velocidad).
Ø La memoria secundaria es más útil
para el almacenamiento de datos permanente, puesto que la memoria primaria es
volátil. - See more
Administración de base de datos:
El administrador de bases de datos (DBA1 ) es el
profesional que administra las tecnologías de la información y la comunicación,
siendo responsable de los aspectos técnicos, tecnológicos, científicos,
inteligencia de negocios y legales de bases de datos.
Funciones:
ü Implementar, dar soporte y
gestionar bases de datos corporativas
ü Crear y configurar bases de datos
relacionales
ü Ser responsables de la integridad
de los datos y la disponibilidad
ü Diseñar, desplegar y monitorizar
servidores de bases de datos
ü Diseñar la distribución de los
datos y las soluciones de almacenamiento
ü Garantizar la seguridad de las
bases de datos, incluyendo backups y recuperación de desastres
ü Planificar e implementar el
aprovisionamiento de los datos y aplicaciones
ü Diseñar planes de contingencia
ü Diseñar y crear las bases de
datos corporativas de soluciones avanzadas
ü Analizar y reportar datos
corporativos que ayuden a la toma de decisiones en la inteligencia de negocios
ü Producir diagramas de entidades
relacionales y diagramas de flujos de datos, normalización esquemática,
localización lógica y física de bases de datos y parámetros de tablas
Muy buena explicación
ResponderBorrarExcelente
ResponderBorrarMuchas gracias me salvaron la patria
ResponderBorrar