Está en la página 1de 32

Unidad I: Conceptos

Introductorios
Edgar Taya Acosta
 Según Michael V.Mannino, una base de
datos es una colección de datos persistentes
que pueden compartirse e interrelacionarse:
Esta visón es muy general y enfatiza en la
persistencia de los datos (es decir mantener
los datos almacenados de manera estable),
además es importante en este concepto la
idea de interrelación porque veremos luego
que es una de las principales características
del modelo relacional de bases de datos.
 Un sistema gestor de bases de datos (SGBD)
consiste en una colección de datos
interrelacionados y un conjunto de programas para
acceder a dichos datos. La colección de datos,
normalmente denominada base de datos, contiene
información relevante para una empresa. El objetivo
principal de un SGBD es proporcionar una forma de
almacenar y recuperar la información de una base
de datos de manera que sea tanto práctica como
eficiente
APLICACIONES DE LOS SISTEMAS DE
BASES DE DATOS

 Banca
 Líneas aéreas
 Universidades
 Telecomunicaciones.
 Finanzas.
 Ventas.
 Producción.
 Recursos humanos.
SISTEMAS DE BASES DE DATOS FRENTE A
SISTEMAS DE ARCHIVOS

 Un programa para efectuar cargos o abonos en una


cuenta.
 Un programa para añadir una cuenta nueva.
 Un programa para calcular el saldo de una cuenta.
 Un programa para generar las operaciones
mensuales.
 Estos programas de aplicación se han escrito por
programadores de sistemas en respuesta a las
necesidades de la organización bancaria.
Inconvenientes
 Redundancia e inconsistencia de datos. Debido a que los archivos y programas de aplicación son
creados por diferentes programadores en un largo período de tiempo, los diversos archivos tienen
probablemente diferentes formatos y los programas pueden estar escritos en diferentes lenguajes. Más
aún, la misma información puede estar duplicada en diferentes lugares (archivos). Por ejemplo, la
dirección y número de teléfono de un cliente particular puede aparecer en un archivo que contenga
registros de cuentas de ahorros y en un archivo que contenga registros de una cuenta corriente. Esta
redundancia conduce a un almacenamiento y coste de acceso más altos. Además, puede conducir a
inconsistencia de datos; es decir, las diversas copias de los mismos datos pueden no coincidir. Por
ejemplo, un cambio en la dirección del cliente puede estar reflejado en los registros de las cuentas de
ahorro pero no estarlo en el resto del sistema.
 Dificultad en el acceso a los datos. Supóngase que uno de los empleados del banco necesita
averiguar los nombres de todos los clientes que viven en el distrito postal 28733 de la ciudad. El
empleado pide al departamento de procesamiento de datos que genere dicha lista. Debido a que esta
petición no fue prevista cuando el sistema original fue diseñado, no hay un programa de aplicación a
mano para satisfacerla. Hay, sin embargo, un programa de aplicación que genera la lista de todos los
clientes. El empleado del banco tiene ahora dos opciones: bien obtener la lista de todos los clientes y
obtener la información que necesita manualmente, o bien pedir al departamento de procesamiento de
datos que haga que un programador de sistemas escriba el programa de aplicación necesario. Ambas
alternativas son obviamente insatisfactorias. Supóngase que se escribe tal programa y que, varios días
más tarde, el mismo empleado necesita arreglar esa lista para incluir sólo aquellos clientes que tienen
una cuenta con saldo de 10.000 € o más. Como se puede esperar, un programa para generar tal lista no
existe. De nuevo, el empleado tiene que elegir entre dos opciones, ninguna de las cuales es satisfactoria.
La cuestión aquí es que el entorno de procesamiento de archivos convencional no permite que los datos
necesarios sean obtenidos de una forma práctica y eficiente. Se deben desarrollar sistemas de
recuperación de datos más interesantes para un uso general.
 Aislamiento de datos. Debido a que los datos están dispersos en varios archivos, y los
archivos pueden estar en diferentes formatos, es difícil escribir nuevos programas de
aplicación para recuperar los datos apropiados.
 Problemas de integridad. Los valores de los datos almacenados en la base de datos
deben satisfacer ciertos tipos de restricciones de consistencia. Por ejemplo, el saldo de
una cuenta bancaria no puede nunca ser más bajo de una cantidad predeterminada (por
ejemplo 25 €). Los desarrolladores hacen cumplir esas restricciones en el sistema
añadiendo el código apropiado en los diversos programas de aplicación. Sin embargo,
cuando se añaden nuevas restricciones, esdifícil cambiar los programas para hacer que
se cumplan. El problema es complicado cuando las restricciones implican diferentes
elementos de datos de diferentes archivos.
 Problemas de atomicidad. Un sistema de un computador, como cualquier otro
dispositivo mecánico o eléctrico, está sujeto a fallo. En muchas aplicaciones es crucial
asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran
al estado de consistencia que existía antes del fallo. Consideremos un programa para
transferir 50 € desde la cuenta Aa la B. Si ocurre un fallo del sistema durante la ejecución
del programa, es posible que los 50 € fueron eliminados de la cuenta Apero no abonados
a la cuenta B, resultando un estado de la base de datos inconsistente. Claramente, es
esencial para la consistencia de la base de datos que ambos, el abono y el cargo tengan
lugar, o que ninguno tenga lugar. Es decir, la transferencia de fondos debe ser atómica:
ésta debe ocurrir en ellos por completo o no ocurrir en absoluto. Es difícil asegurar esta
propiedad en un sistema de procesamiento de archivos convencional.
 Anomalías en el acceso concurrente. Conforme se ha ido mejorando el conjunto de
ejecución de los sistemas y ha sido posible una respuesta en tiempo más rápida, muchos
sistemas han ido permitiendo a múltiples usuarios actualizar los datos simultáneamente.
En tales sistemas un entorno de interacción de actualizaciones concurrentes puede dar
lugar a datos inconsistentes. Considérese una cuenta bancaria A, que contiene 500 €. Si
dos clientes retiran fondos (por ejemplo 50 € y 100 € respectivamente) de la cuenta A en
aproximadamente el mismo tiempo, el resultado de las ejecuciones concurrentes puede
dejar la cuenta en un estado incorrecto (o inconsistente). Supongamos que los programas
se ejecutan para cada retirada y escriben el resultado después. Si los dos programas
funcionan concurrentemente, pueden leer ambos el valor 500 €, y escribir después 450 €
y 400 €, respectivamente. Dependiendo de cuál escriba el último valor, la cuenta puede
contener bien 450 €o bien 400 €, en lugar del valor correcto, 350 €. Para protegerse
contra esta posibilidad, el sistema debe mantener alguna forma de supervisión. Sin
embargo, ya que se puede acceder a los datos desde muchos programas de aplicación
diferentes que no han sido previamente coordinados, la supervisión es difícil de
proporcionar.
 Problemas de seguridad. No todos los usuarios de un sistema de bases de datos
deberían poder acceder a todos los datos. Por ejemplo, en un sistema bancario, el
personal de nóminas necesita ver sólo esa parte de la base de datos que tiene
información acerca de varios empleados del banco. No necesitan acceder a la información
acerca de las cuentas de clientes. Como los programas de aplicación se añaden al
sistema de una forma ad hoc, es difícil garantizar tales restricciones de seguridad.
VISIÓN DE LOS DATOS
 Abstracción de datos
 Nivel físico: El nivel más bajo de abstracción describe cómo se almacenan realmente
los datos. En el nivel físico se describen en detalle las estructuras de datos complejas
de bajo nivel.
 Nivel lógico: El siguiente nivel más alto de abstracción describe qué datos se
almacenan en la base de datos y qué relaciones existen entre esos datos. La base de
datos completa se describe así en términos de un número pequeño de estructuras
relativamente simples. Aunque la implementación de estructuras simples en el nivel
lógico puede involucrar estructuras complejas del nivel físico, los usuarios del nivel
lógico no necesitan preocuparse de esta complejidad. Los administradores de bases
de datos, que deben decidir la información que se mantiene en la base de datos, usan
el nivel lógico de abstracción.
 Nivel de vistas: El nivel más alto de abstracción describe sólo parte de la base de
datos completa. A pesar del uso de estructuras más simples en el nivel lógico, queda
algo de complejidad, debido a la variedad de información almacenada en una gran
base de datos. Muchos usuarios del sistema de base de datos no necesitan toda esta
información. En su lugar, tales usuarios necesitan acceder sólo a una parte de la
base de datos. Para que su interacción con el sistema se simplifique, se define la
abstracción del nivel de vistas. El sistema puede proporcionar muchas vistas para la
misma base de datos.
Ejemplares y esquemas
 Las bases de datos van cambiando a lo largo
del tiempo conforme la información se inserta
y borra. La colección de información
almacenada en la base de datos en un
momento particular se denomina un ejemplar
de la base de datos.
 El esquema físico describe el diseño físico
en el nivel físico, mientras que el esquema
lógico describe el diseño de la base de
datos en el nivel lógico
MODELOS DE LOS DATOS
 Bajo la estructura de la base de datos se encuentra
el modelo de datos: una colección de herramientas
conceptuales para describir los datos, las
relaciones, la semántica y las restricciones de
consistencia. Para ilustrar el concepto de un modelo
de datos, describimos dos modelos de datos en
este apartado: el modelo entidad relación y el
modelo relacional. Los diferentes modelos de datos
que se han propuesto se clasifican en tres grupos
diferentes: modelos lógicos basados en objetos,
modelos lógicos basados en registros y modelos
físicos.
Modelo entidad-relación
 El modelo de datos entidad-relación (E-R)
está basado en una percepción del mundo
real que consta de una colección de objetos
básicos, llamados entidades, y de relaciones
entre estos objetos. Una entidad es una
«cosa» u «objeto» en el mundo real que es
distinguible de otros objetos. Por ejemplo,
cada persona es una entidad, y las cuentas
bancarias pueden ser consideradas
entidades.
Modelo relacional
 En el modelo relacional se utiliza un grupo de tablas
para representar los datos y las relaciones entre
ellos.
 Cada tabla está compuesta por varias columnas, y
cada columna tiene un nombre único. En la Figura
1.3 se presenta un ejemplo de base de datos
relacional consistente en tres tablas: la primera
muestra los clientes de un banco, la segunda, las
cuentas, y la tercera, las cuentas que pertenecen a
cada cliente.
Otros modelos de datos
 El modelo de datos orientado a objetos es
otro modelo de datos que está recibiendo
una atención creciente. El modelo orientado
a objetos se puede observar como una
extensión del modelo E-R con las nociones
de encapsulación, métodos (funciones) e
identidad de objeto.
 Los modelos de datos semiestructurados permiten
la especificación de datos donde los elementos de
datos individuales del mismo tipo pueden tener
diferentes conjuntos de atributos. Esto es diferente
de los modelos de datos mencionados
anteriormente, en los que cada elemento de datos
de un tipo particular debe tener el mismo conjunto
de atributos. El lenguaje de marcas extensible
(XML, eXtensible Markup Language) se usa
ampliamente para representar datos
semiestructurados
 el modelo de datos de red y el modelo de
datos jerárquico, precedieron al modelo de
datos relacional. Estos modelos estuvieron
ligados fuertemente a la implementación
subyacente y complicaban la tarea del
modelado de datos. Como resultado se usan
muy poco actualmente, excepto en el código
de bases de datos antiguo que aún está en
servicio en algunos lugares.
LENGUAJES DE BASES DE
DATOS
 Un sistema de bases de datos proporciona un
lenguaje de definición de datos para especificar
el esquema de la base de datos y un lenguaje de
manipulación de datos para expresar las
consultas a la base de datos y las modificaciones.
En la práctica, los lenguajes de definición y
manipulación de datos no son dos lenguajes
separados; en su lugar simplemente forman partes
de un único lenguaje de bases de datos, tal como
SQL, ampliamente usado.
Lenguaje de definición de datos
 Un esquema de base de datos se especifica
mediante un conjunto de definiciones expresadas
mediante un lenguaje especial llamado lenguaje de
definición de datos (LDD).
 La ejecución de la instrucción LDD anterior crea la
tabla cuenta. Además, actualiza un conjunto
especial de tablas denominado diccionario de
datos o directorio de datos. Un diccionario de
datos contiene metadatos, es decir, datos acerca
de los datos.
Lenguaje de manipulación de
datos
 La manipulación de datos es:
 La recuperación de información almacenada en la
base de datos.
 La inserción de información nueva en la base de
datos.
 El borrado de información de la base de datos.
 La modificación de información almacenada en la
base de datos
 Un lenguaje de manipulación de datos (LMD) es
un lenguaje que permite a los usuarios acceder o
manipular los datos organizados mediante el
modelo de datos apropiado. Hay dos tipos
básicamente:
 LMDs procedimentales. Requieren que el usuario
especifique qué datos se necesitan y cómo obtener
esos datos.
 LMDs declarativos (también conocidos como
LMDs no procedimentales). Requieren que el
usuario especifique qué datos se necesitan sin
especificar cómo obtener esos datos.
 Una consulta es una instrucción de solicitud
para recuperar información. La parte de un
LMD que implica recuperación de
información se llama lenguaje de consultas.
Acceso a la base de datos desde
programas de aplicación
 Proporcionando una interfaz de programas de aplicación
(conjunto de procedimientos) que se pueden usar para enviar
instrucciones LMD y LDD a la base de datos, y recuperar los
resultados. El estándar de conectividad abierta de bases de
datos (ODBC, Open Data Base Connectivity) definido por
Microsoft para el uso con el lenguaje C es un estándar de
interfaz de programas de aplicación usado comúnmente. El
estándar conectividad de Java con bases de datos (JDBC, Java
Data Base Connectivity) proporciona características
correspondientes para el lenguaje Java.
 Extendiendo la sintaxis del lenguaje anfitrión para incorporar
llamadas LMD dentro del programa del lenguaje anfitrión.
Usualmente, un carácter especial precede a las llamadas LMD, y
un preprocesador, denominado el precompiladorLMD,
convierte las instrucciones LMD en llamadas normales a
procedimientos en el lenguaje anfitrión.
USUARIOS Y ADMINISTRADORES DE LA
BASE DE DATOS

 Un objetivo principal de un sistema de bases


de datos es recuperar información y
almacenar nueva información en la base de
datos. Las personas que trabajan con una
base de datos se pueden catalogar como
usuarios de bases de datos o como
administradores de bases de datos.
Usuarios de bases de datos e
interfaces de usuario
 Usuarios normales
 Programadores de aplicaciones
 Los usuarios sofisticados
 Usuarios especializados
Administrador de la base de
datos
 Definición del esquema. El ABD crea el esquema original de la base de datos
escribiendo un conjunto de instrucciones de definición de datos en el LDD.
 Definición de la estructura y del método de acceso.
 Modificación del esquema y de la organización física. Los ABD realizan cambios en el
esquema y en la organización física para reflejar las necesidades cambiantes de la
organización, o para alterar la organización física para mejorar el rendimiento.
 Concesión de autorización para el acceso a los datos. La concesión de diferentes
tipos de autorización permite al administrador de la base de datos determinar a qué partes
de la base de datos puede acceder cada usuario. La información de autorización se
mantiene en una estructura del sistema especial que el sistema de base de datos consulta
cuando se intenta el acceso a los datos en el sistema.
 Mantenimiento rutinario. Algunos ejemplos de actividades rutinarias de mantenimiento
del administrado de la base de datos son:
 Copia de seguridad periódica de la base de datos, bien sobre cinta o sobre servidores
remotos, para prevenir la pérdida de datos en caso de desastres como inundaciones.
 Asegurarse de que haya suficiente espacio libre en disco para las operaciones
normales y aumentar el espacio en disco según sea necesario
 Supervisión de los trabajos que se ejecuten en la base de datos y asegurarse de que
el rendimiento no se degrada por tareas muy costosas iniciadas por algunos usuarios.
GESTIÓN DE
TRANSACCIONES
ESTRUCTURA DE UN SISTEMA
DE BASES DE DATOS
ARQUITECTURAS DE
APLICACIONES
Bibliografía
 Silberschatz Abraham, Korth Henry,
Sudarshan S., Fundamentos de Bases de
Datos, Cuarta Edición, Editorial McGraw
Hill/Latinoamericana. España 2001.

También podría gustarte