Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIVERSIDAD DE CARTAGENA
INGENIERÍA DE SISTEMAS
BASES DE DATOS I
COVEÑAS
2016
1. APLICACIONES DE LOS SISTEMAS DE BASES DE DATOS
Las bases de datos son ampliamente usadas. Las siguientes son algunas de sus
aplicaciones más representativas:
Como esta lista ilustra, las bases de datos forman una parte esencial de casi todas
las empresas actuales.
A lo largo de las últimas cuatro décadas del siglo veinte, el uso de las bases de
datos creció en todas las empresas. En los primeros días, muy pocas personas
interactuaron directamente con los sistemas de bases de datos, aunque sin darse
cuenta interactuaron con bases de datos indirectamente (con los informes
impresos como extractos de tarjetas de crédito, o mediante agentes como cajeros
de bancos y agentes de reserva de líneas aéreas). Después vinieron los cajeros
automáticos y permitieron a los usuarios interactuar con las bases de datos. Las
interfaces telefónicas con los computadores (sistemas de respuesta vocal
interactiva) también permitieron a los usuarios manejar directamente las bases de
datos. Un llamador podía marcar un número y pulsar teclas del teléfono para
introducir información o para seleccionar opciones alternativas, para determinar
las horas de llegada o salida, por ejemplo, o para matricularse de asignaturas en
una universidad. La revolución de Internet a finales de la década de 1990 aumentó
significativamente el acceso directo del usuario a las bases de datos. Las
organizaciones convirtieron muchas de sus interfaces telefónicas a las bases de
datos en interfaces Web, y pusieron disponibles en línea muchos servicios. Por
ejemplo, cuando se accede a una tienda de libros en línea y se busca un libro o
una colección de música se está accediendo a datos almacenados en una base de
datos. Cuando se solicita un pedido en línea, el pedido se almacena en una base
de datos. Cuando se accede a un banco en un sitio Web y se consulta el estado
de la cuenta y los movimientos, la información se recupera del sistema de bases
de datos del banco. Cuando se accede a un sitio Web, la información personal
puede ser recuperada de una base de datos para seleccionar los anuncios que se
deberían mostrar. Más aún, los datos sobre los accesos Web pueden ser
almacenados en una base de datos.
Así, aunque las interfaces de datos ocultan detalles del acceso a las bases de
datos, y la mayoría de la gente ni siquiera es consciente de que están
interactuando con una base de datos, el acceso a las bases de datos forma una
parte esencial de la vida de casi todas las personas actualmente.
La importancia de los sistemas de bases de datos se puede juzgar de otra forma:
actualmente, los vendedores de sistemas de bases de datos como Oracle están
entre las mayores compañías software en el mundo, y los sistemas de bases de
datos forman una parte importante de la línea de productos de compañías más
diversificadas, como Microsoft e IBM.
Existen datos que pueden repetirse en diferentes lugares o archivos, esto provoca
que, teniendo esa duplicidad de datos, el almacenamiento y el costo (en recursos
del sistema) de acceso sean más altos. Inconsistencia de datos se presentará
porque las copias de los mismos datos en diferentes archivos pueden no coincidir,
pues si en un archivo se hicieron cambios de los datos, en los otros archivos
donde estaban los mismos datos no son modificados automáticamente.
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.
Uno de los principales problemas que debe resolver un sistema gestor de base de
datos es proporcionar a los usuarios una visión abstracta de los datos, de forma
que pueda despreocuparse de los detalles concretos del almacenamiento de la
información.
En este nivel se describen en detalle las estructuras de datos que definen como se
almacenan realmente los datos. Las preocupaciones en este nivel tienen que ver
con tamaño de los registros, uso de la cache, estructuras de los índices, etc.
En este siguiente nivel, lo que se define es que datos se van a almacenar, así
como las relaciones entre los mismos y las restricciones que queremos incluir,
tanto a nivel de valores de los dominios como a condiciones generales que debe
cumplir la base de datos en todo momento. Este nivel permite describir la base de
datos completa en base a un subconjunto de estructuras relativamente simples. La
idea es que los usuarios a nivel lógico (Diseñadores y administradores de bases
de datos) no necesitan preocuparse del nivel físico.
Los datos almacenados en una base de datos se ven modificados a lo largo del
tiempo, normalmente. Se denomina ejemplar de la base de datos a la colección de
información almacenada en la misma en un momento determinado. El diseño
completo de la base de datos se llama esquema de la base de datos. Existen
diferentes esquemas, de acuerdo con los niveles explicados anteriormente. Así, el
esquema físico describe el diseño final en el nivel físico, mientras que el esquema
lógico lo describe en el nivel lógico. Normalmente, es el esquema lógico el más
importante, ya que afecta de manera importante a los programas de aplicación. El
nivel físico, aunque relevante, se puede alterar en la mayoría de los casos sin que
las aplicaciones se vean afectadas.
Los modelos de datos sirven para clasificar los distintos tipos de SGBD.
@ Modelo relacional
@ Modelo relacional-objeto
@ Modelo jerárquico
@ Modelo de red
@ Entidad: Representa un objeto que tiene vida propia en el sistema que se está
modelando, tanto tangible como intangibles. Ejemplo: cliente, producto, estudiante,
vacación.
@ Compuestos: Son los que incluyen otros atributos simples. Ejemplo: dirección
(Se puede dividir en calle, número, ciudad).
@ Multivalorados: Atributo que para una misma entidad puede tomar muchos
valores.
Persona
Nombre Apellido Nacimiento Sexo Estado Civil
Juan Loza 15/06/1971 H Soltero
Isabel Galvez 23/12/1969 M Casada
Micaela Ruiz 02/10/1985 M Soltera
Las tuplas en una relación son un conjunto en el sentido matemático del término,
es decir una colección no ordenada de elementos diferentes. Para distinguir una
tupla de otra, se recurre al concepto de "llave primaria", o sea a un conjunto de
atributos que permiten identificar unívocamente una tupla en una relación.
Naturalmente, en una relación puede haber más combinaciones de atributos que
permitan identificar unívocamente una tupla ("llaves candidatas"), pero entre éstas
se elegirá una sola para utilizar como llave primaria. Los atributos de la llave
primaria no pueden asumir el valor nulo (que significa un valor no determinado), en
tanto que ya no permitirían identificar una tupla concreta en una relación. Esta
propiedad de las relaciones y de sus llaves primarias está bajo el nombre de
integridad de las entidades (entity integrity).
Un lenguaje de definición de datos (Data Definition Language, DDL por sus siglas
en inglés) es un lenguaje proporcionado por el sistema de gestión de base de
datos que permite a los usuarios de la misma llevar a cabo las tareas de definición
de las estructuras que almacenarán los datos así como de los procedimientos o
funciones que permitan consultarlos.
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.
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.
Las tareas sobre las que se pueden conceder o denegar permisos son las
siguientes:
CONNECT
SELECT
INSERT
UPDATE
DELETE
USAGE
Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto
con el sistema de base de datos desde que este se diseña, elabora, termina y se
usa. Los usuarios que accesan una base de datos pueden clasificarse como:
Una de los objetivos de usar una base de datos era el de garantizar la atomicidad
de un conjunto de operaciones (Se utiliza la palabra atómico haciendo referencia
al latín atomus, y éste del griego άτομος, con el significado de indivisible). La
atomicidad es la garantía que nos da el sistema de que, ante la ejecución de una
serie de operaciones, englobadas en lo que llamamos una transacción, o bien se
ejecutan todas las operaciones, o bien no se efectúa ninguna.
La atomicidad nos facilita mantener la consistencia de los datos. Decimos que una
base de datos es consistente si se garantiza que siempre se verifican unas
determinadas condiciones, definidas por nosotros, y que expresaremos en forma
de reglas. Las condiciones deben cumplirse obligatoriamente antes y después de
la transacción (pero pueden incumpliese transitoriamente dentro de la misma).