Sunteți pe pagina 1din 21

Sistemas Administrativos de Base de Datos

Estos sistemas permiten ver físicamente los datos 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.

Evolución

El primer gestor de bases de datos (DBMS: Database Management System) comercial, IDS: Integrated
Data Store , se crea bajo el concepto del Modelo de Datos de Red; 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.

Luego se genera una nueva noción, donde las bases de datos deben almacenar por medio de una
estructura tabular llamada relación o tabla , compuesta por filas y columnas, accesando dichas
relaciones a través de un lenguaje de alto nivel no procedural .

De esta forma en los años 80s surgen varios productores de DBMS Relacionales (RDBMS) como Oracle,
Informix, Ingres y DB2, además de otros lenguajes orientados a objetos como el C++, Java, Eiffel, y
Smalltalk adoptando y mejorando el concepto de clase pero su desarrollo se hace independiente de los
DBMSs.

Esquema de un DBMS
Lenguajes del DBMS

En la estructura básica de un Sistema Manejador de Base de Datos se usan dos lenguajes que permiten
trabajar sobre la base de datos. Estos lenguajes estandar son:

 DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este el DBMS
identifica las descripciones de los elementos de los esquemas y almacena la descripción del
esquema en el catálogo del DBMS.

Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos
Almacenada)

 SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es utilizado por


el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.

 VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el DBMS
para especificar las vistas del usuario y sus correspondiencias con el esquema conceptual.

En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.

 DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la


manipulación de las operaciones de Inserción, Eliminación y Modificación.
o Tipos de DML's:
 De alto Nivel o No por procedimientos: SQL.
 De bajo Nivel o por procedimientos.

Usuarios de un Sistema Manejador de Base de Datos

 Personal del DBA ( Administrador de la Base de Datos )


 Usuarios Exporádicos
 Programadores de Aplicaciones
 Usuarios paramétricos

Transacciones

Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que
se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica.
Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos, haciendo que estas
transacciones no puedan finalizar en un estado intermedio. Cuando por alguna causa el sistema debe
cancelar la transacción, empieza a deshacer las órdenes ejecutadas hasta dejar la base de datos en su
estado inicial (llamado punto de integridad), como si la orden de la transacción nunca se hubiese
realizado.

Modelo Relacional (MR)

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de
predicados y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar
problemas reales y administrar datos dinámicamente. No tardó en consolidarse como un nuevo
paradigma en los modelos de base de datos.
Modelo de Red

El modelo de red se diferencia del modelo relacional en que los datos se representan mediante conjuntos
de registros, y las relaciones entre ellos mediante punteros.
Una base de datos en red consiste en un conjunto de registros conectados entre si mediante punteros.
Los registros son en muchos aspectos parecidos a las entidades del modelo entidad-relación. Cada
registro es un conjunto de campos, cada uno de los cuales sólo contiene un valor de datos. Los punteros
son asociaciones entre exactamente dos registros. Por tanto, los punteros pueden considerarse una
forma restringida de relación en el sentido del modelo entidad-relacion.

Base de Datos Jerárquica


Es un tipo de Sistema Gestor de Bases de Datos que, como su nombre indica, almacenan la información
en una estructura jerárquica que enlaza los registros en forma de estructura de árbol (similar a un árbol
visto al revés), en donde un nodo padre de información puede tener varios nodos hijo.
Esta relación jerárquica no es estrictamente obligatoria, de manera que pueden establecerse relaciones
entre nodos hermanos. En este caso la estructura en forma de árbol se convierte en una estructura en
forma de grafo dirigido.
A diferencia del modelo relacional, el modelo jerárquico no diferencia una vista lógica de una vista física
de la base de datos. De manera que las relaciones entre datos se establecen siempre a nivel físico, es
decir, mediante referencia a direcciones físicas del medio de almacenamiento.

Modelos Lógicos Basados en Objetos


Se usan para describir datos en el nivel conceptual y el externo. Se caracterizan porque proporcionan
capacidad de estructuración bastante flexible y permiten especificar restricciones de datos. Los modelos
más conocidos son el modelo entidad-relación y el orientado a objetos.
Actualmente, el más utilizado es el modelo entidad-relación, aunque el modelo orientado a objetos
incluye muchos conceptos del anterior, y poco a poco está ganando mercado. La mayoría de las BBDD
relacionales añaden extensiones para poder ser relacionales-orientadas a objetos.

Modelos Lógicos Basados en Registros


Se utilizan para describir los datos en los modelos conceptual y físico. A diferencia de los modelos
lógicos basados en objetos, se usan para especificar la estructura lógica global de la BD y para
proporcionar una descripción a nivel más alto de la implementación.
Los modelos basados en registros se llaman así porque la BD está estructurada en registros de formato
fijo de varios tipos. Cada tipo de registro define un número fijo de campos, o atributos, y cada campo
normalmente es de longitud fija. La estructura más rica de estas BBDD a menudo lleva a registros de
longitud variable en el nivel físico.
Sistema Gestor de Base de Datos SGBD
Un Sistema Gestor de base de datos (SGBD) es un conjunto de programas que permiten crear y
mantener una Base de datos, asegurando su integridad, confidencialidad y seguridad. Por tanto debe
permitir:
- Definir una base de datos: especificar tipos, estructuras y restricciones de datos..
- Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD
- Manipular la base de datos: realizar consultas, actualizarla, generar informes.

Algunas de las características deseables en un Sistema Gestor de base de datos SGBD son:
- Control de la redundancia: La redundancia de datos tiene varios efectos negativos (duplicar el
trabajo al actualizar, deperdicia espacio en disco, puede provocar inconsistencia de datos)
aunque a veces es deseable por cuestiones de rendimiento.
- Restricción de los accesos no autorizados: cada usuario ha de tener unos permisos de acceso
y autorización.
- Cumplimiento de las restricciones de integridad: el SGBD ha de ofrecer recursos para definir y
garantizar el cumplimiento de las restricciones de integridad.

Algebra Relacional

Es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las
relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a
diferencia del Cálculo relacional que es de tipo declarativo.
Archivo

Un archivo es un elemento de información conformado por un conjunto de registros. Estos registros a su


vez están compuestos por una serie de caracteres o bytes.
Actualmente las organizaciones están utilizando bases de datos para generar resultados o para
compartir dicha información con otros sistemas. Sin embargo, los principales componentes de las bases
de datos son los archivos.

Clasificación De Los Archivos De Datos

Los archivos de datos se pueden clasificar dependiendo las funciones que ejecutan en un sistema de
información.

- Archivo maestro (Contiene datos que se podrian llamar permanentes como son nominas, clientes,
personal, etc).
- Archivo de transacciones (Es el que se puede añadir un nuevo registro y puede remover un registro
existente en el archivo maestro).
- Archivo reporte (Contiene datos que pueden ser formateados para el usuario y pueden mandarse
directamente sin ser modificados a una impresora.).
- Archivo de trabajo (Son archivos temporales que para el usuario son transparentes y una vez que
terminan su funcion, estos son eliminados.).
- Archivo programa (Programa es conocido tambien como archivo fuente y contiene instrucciones para
que los datos puedan ser procesados y estan escritos en lenguaje de alto nivel).
- Archivo de respaldo o protección (Son archivos que estan en reserva y se utilizan en el caso de que
algun archivo maestro sea dañado por cualquier razon).
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

Diseño de Bases de Datos


Son muchas las consideraciones a tomar en cuenta al momento de hacer el diseño de la base de datos,
quizá las más fuertes sean:
 La velocidad de acceso,
 El tamaño de la información,
 El tipo de la información,
 Facilidad de acceso a la información,
 Facilidad para extraer la información requerida,
 El comportamiento del manejador de bases de datos con cada tipo de información.
No obstante que pueden desarrollarse sistemas de procesamiento de archivo e incluso manejadores de
bases de datos basándose en la experiencia del equipo de desarrollo de software logrando resultados
altamente aceptables, siempre es recomendable la utilización de determinados estándares de diseño
que garantizan el nivel de eficiencia mas alto en lo que se refiere a almacenamiento y recuperación de la
información.

Objetos de la Base de Datos

Tablas: Unidad donde crearemos el conjunto de datos de nuestra base de datos. Estos datos estarán
ordenados en columnas verticales. Aquí definiremos los campos y sus características. Más adelante
veremos qué es un campo.
Consultas: Aquí definiremos las preguntas que formularemos a la base de datos con el fin de extraer y
presentar la información resultante de diferentes formas.
Formulario: Elemento en forma de ficha que permite la gestión de los datos de una forma más cómoda y
visiblemente más atractiva.
Informe: Permite preparar los registros de la base de datos de forma personalizada para imprimirlos.
Macro: Conjunto de instrucciones que se pueden almacenar para automatizar tareas repetitivas.

Introducción

Una base de datos es un sistema para archivar información en computadora cuyo propósito general es
mantener información y hacer que esté disponible cuando se solicite.
Las bases de datos son un área de la computación que ha recibido mucha atención debido a sus
múltiples aplicaciones: bibliotecas, automatización de oficinas, ingeniería de software, diccionarios
automatizados y en general cualquier programa orientado a mantener y recuperar información textual. Su
recuperación, actualización y manejo es relativamente simple con el uso de cualquier manejador de
bases de datos.
Multitarea

La ejecución de más de un programa a la vez en una computadora. Los sistemas operativos multitarea
(Windows, OS/2, Unix y otros) permiten que múltiples operaciones se ejecuten simultáneamente. Sus
mayores beneficios se obtienen cuando se realizan tareas largas y complejas (como consultar una base
de datos). La cantidad de programas que pueden ejecutarse depende de la memoria disponible, de la
velocidad de la CPU y de la eficiencia del sistema operativo.

Multiusuario

Un SO multiusuario permite a mas de un solo usuario accesar una computadora. Claro que, para llevarse
esto a cabo, el SO también debe ser capaz de efectuar multitareas. Unix es el Sistema Operativo
Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado para correr en una
minicomputadora, era multiusuario y multitarea desde su concepción. Actualmente se producen
versiones de Unix para PC tales como The Santa Cruz Corporation Microport, Esix, IBM,y Sunsoft. Apple
también produce una versión de Unix para la Machintosh llamada: A/UX.Unix , Unix proporciona tres
maneras de permitir a múltiples personas utilizar la misma PC al mismo tiempo.
1.Mediante Módems
2.Mediante conexión de terminales a través de puertos seriales
3.Mediante Redes

Multiproceso

Las computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema operativo
multiproceso coordina las operaciones de la computadoras multiprocesadoras. Ya que cada CPU en una
computadora de multiproceso puede estar ejecutando una instrucción, el otro procesador queda liberado
para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de
multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que
tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros Sistemas Operativos
Multiproceso realizaban lo que se conoce como: Multiproceso asimétrico: Una CPU principal retiene el
control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia
el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un
cuello de botella. Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU
controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los SO tienen
que ser rediseñados o diseñados desde el principio para trabajar en u n ambiente multiproceso. Las
extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles y las extensiones
simétricas se están haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico

La integridad referencial

es un sistema de reglas que utilizan la mayoría de las bases de datos relacionales para asegurarse que
los registros de tablas relacionadas son válidos y que no se borren o cambien datos relacionados de
forma accidental produciendo errores de integridad. La integridad referencial hace que el sistema gestor
de la base de datos se asegure de que no hayan en las claves foráneas valores que no estén en la tabla
principal.
Redundancia

En bases de datos o en ficheros, la redundancia hace referencia al almacenamiento de los mismos datos
varias veces en diferentes lugares. La redundancia de datos puede provocar problemas como:

* Incremento del trabajo: como un mismo dato está almacenado en dos o más lugares, esto hace que
cuando se graben o actualicen los datos, deban hacerse en todos los lugares a la vez.

* Desperdicio de espacio de almacenamiento: ya que los mismos datos están almacenados en varios
lugares distintos, ocupando así más bytes del medio de almacenamiento. Este problema es más
evidente en grandes bases de datos.

Inconsistencia de datos

esto sucede cuando los datos redundantes no son iguales entre sí. Esto puede suceder, por ejemplo,
cuando se actualiza el dato en un lugar, pero el dato duplicado en otro lugar no es actualizado.

Si una base de datos está bien diseñada, no debería haber redundancia de datos (exceptuando la
redundancia de datos controlada, que se emplea para mejorar el rendimiento en las consultas a las
bases de datos).

Tupla

A menudo se le llama también registro o fila, físicamente es cada una de las líneas de la relación.
Equivale al concepto de entidad del modelo E-R, y define un objeto real, ya sea abstracto, concretos o
imaginario.

Contiene la información relativa a una única entidad.

De esta definición se deduce que no pueden existir dos tuplas iguales en la misma relación.

Las tablas se componen de dos estructuras:

Registro y Campo.

Campo:

Es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros
campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un
número de teléfono, un nombre, etc.

Registro
Es una pequeña unidad de almacenamiento destinada a contener cierto tipo de datos. Puede estar en la
propia memoria central o en unidades de memoria de acceso rápido.

ENTIDAD

1. En bases de datos, una entidad es la representación de un objeto o concepto del mundo real que
se describe en una base de datos.
Una entidad se describe en la estructura de la base de datos empleando un modelo de datos.
Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado, Artículo, etc.
Cada entidad está constituida por uno o más atributos. Por ejemplo, la entidad "Alumno" podría tener
los atributos: nombre, apellido, año de nacimiento, etc.
Atributo

cada una de las características que posee una entidad, y que agrupadas permiten distingirla de otras
entidades del mismo conjunto.

Al igual que en el modelo E-R, cada atributo tiene asignado un nombre y un dominio. El conjunto de
todos los atributos es lo que define a una entidad completa, y es lo que compone una tupla.

Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos
recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja
de cálculo.

VENTAJAS DE LAS BASES DE DATOS FRENTE A LOS FICHEROS CLÁSICOS

Las bases de datos, surgidas como respuesta al nuevo planteamiento de los sistemas orientados
hacia los datos, para mejorar la calidad de las prestaciones de los sistemas informáticos y
aumentar su rendimiento, presentan una multitud de ventajas frente a los sistemas clásicos de
ficheros, debido, sobre todo, a que se basan en una estructura de datos integrada y centralizada,
eliminando así los problemas de redundancia y control de los datos. Las ventajas de los sistemas
de bases de datos son, entre otras, las siguientes:

A) Independencia de los datos respecto a los tratamientos y viceversa: La mutua independencia de


datos y tratamientos lleva a que un cambio de los programas no implican tener que cambiar el
diseño lógico y/o físico de la base de datos. Por otra parte, la inclusión de nuevas informaciones,
desaparición de otras, cambios en la estructura física o en los caminos de acceso, etc., no deben
obligar a alterar los programas.

B) Coherencia de los resultados: Debido a que la información de la base de datos se recoge y


almacena una sola vez. En todos los programas se utilizan los mismos datos, por lo que los
resultados de todos ellos son coherentes y perfectamente comparables.

C) Mejor disponibilidad de los datos para el conjunto, de los usuarios: Cuando se aplica la
metodología de bases de datos, cada usuario ya no es propietario de los datos, puesto que éstos
se comparten entre el conjunto de aplicaciones, existiendo una mejor disponibilidad de los datos
para todos los que tienen necesidad de ellos, siempre que estén autorizados para su acceso.

D) Mayor eficiencia en la recogida, validación entrada de los datos al sistema: Al no existir apenas
redundancias, los datos se recogen y validan una sola vez, aumentando así el rendimiento de todo
el proceso previo al almacenamiento.

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.

Tipos de usuarios.

 Usuarios ingenuos o accidentales. Interactuan con una base de datos sin saberlo. Normalmente
acceden a la base con una aplicación de ventanas y menús con un conjunto de opciones reducidos
(Usuario de un cajero automático). Es esta aplicación la que usa la base de datos.
 Usuarios en línea. Tienen acceso a la base de datos a través del lenguaje de consulta (LC o
“Query Languaje”) e incluso en algunas ocasiones pueden acceder a la base de datos con en
lenguaje de manipulación de datos (LMD).
 Programadores de aplicaciones. Han de conocer algún lenguaje de programación de alto nivel
denominado “lenguaje anfitrión” tal como el Pascual o el C++ así como el lenguaje de manipulación
de datos (LMD) y el lenguaje de definición de datos (LDD). Entonces ha de crear un programa de
control en el lenguaje anfitrión insertándole instrucciones del LMD o el LDD. Generalmente las bases
de datos ya incluyen compiladores de varios lenguajes preparados para admitir las instrucciones de
los LDD y los LMD.
INCONVENIENTES DE LAS BASES DE DATOS

Las bases de datos no sólo presentan ventajas, sino que también tienen posibles inconvenientes,
que es necesario valorar antes de tomar una decisión relativa a un cambio en la orientación del SI.
Entre estos inconvenientes es preciso destacar: A) Instalación costosa: La implantación de un
sistema de bases de datos puede llevar consigo un coste elevado, tanto en equipo físico (nuevas
instalaciones o ampliaciones), como en el lógico (sistemas operativos, programas, compiladores,
etc. necesarios para su uso).

B) Personal especializado: Los conocimientos, que resultan imprescindibles para una utilización
correcta y eficaz y sobre todo para la administración de las bases de datos, implican una necesidad
de personal especializado que resulta difícil de encontrar, y de formar. El problema de la
contratación y formación de este tipo de personal es clave a la hora de crear un sistema de base de
datos.

C) Implantación larga y difícil: La implantación de una base de datos puede convertirse en una
tarea larga y laboriosa. Las dificultades que van apareciendo a lo largo de su desarrollo llevan en
general a que se superen ampliamente los plazos inicialmente previstos.Ing. María Isabel Trejo
Miranda

D) Falta de rentabilidad a corto plazo: La implantación de un sistema de bases de datos, tanto por
su coste en personal y en equipos como por el tiempo que tarda en estar operativo, no resulta
rentable a corto plazo. Puede calcularse que para un sistema de dimensiones medias la
rentabilidad sólo puede empezar a apreciarse después de bastantes meses de la iniciación de los
trabajos; en instalaciones grandes o muy grandes el plazo puede llegar a ser de años.

E) Ausencia real de normas: Un problema muy importante que se pone de manifiesto en el


momento de la creación de una base de datos, es la ausencia real de una estandarización que
facilite a los usuarios el manejo de los sistemas de bases de datos. Empieza, sin embargo, a
observarse ya una preocupación por este tema y van apareciendo algunos estándares, sobre todo
en el campo de las bases de datos relacionales como el SQL.Ing. María Isabel Trejo Miranda
Esquema de un DBMS: Es la estructura por la que está formada la base de datos, se especifica por
medio de un conjunto de definiciones que se expresa mediante un lenguaje especial llamado lenguaje de
definición de datos. (DDL)

Lenguajes del DBMS: En la estructura básica de un Sistema Manejador de Base de Datos se


enuncian dos lenguajes que permiten trabajar sobre la base de datos. Estos lenguajes estándar son:

SDL (Store Definition language): (Lenguaje de definición de almacenamiento) Este


lenguaje permite especificar características físicas de la base de datos (volúmenes y
archivos donde van a ser almacenados los datos, etc.). Es utilizado por el DBMS para
especificar el esquema interno que corresponde a la Base de Datos Almacenada, otras
palabras específica el esquema
VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el
DBMS para especificar las vistas del usuario y sus correspondencias con el esquema
conceptual.

Cardinalidad: La cardinalidad expresa cuántas del conjunto de entidades de un extremo de la


relación están relacionadas con cuántas entidades del conjunto del otro extremo. Pueden ser ``uno a
uno'', ``uno a varios'' o ``varios a varios''. Hay varias maneras de mostrar las cardinalidades en el
diagrama. Una de ellas es poner etiquetas en las líneas que unen las relaciones con las entidades. La
etiqueta consiste de un mínimo y un máximo, cada uno de los cuales contiene un cero, un uno o una
letra n (``varios''). Si la cardinalidad es exactamente uno, se pone sólo el uno. En el caso de una relación
varios a varios, lo usual es poner una m en un extremo y una n en el otro.

Registro: un conjunto lógicamente conectado de uno o más campos que describe una persona,
lugar o cosa. Por ejemplo, los campos que constituyen un registro de un cliente llamado J.D. Rudd,
podría constar del nombre, domicilio, número telefónico, fecha de nacimiento, límite de crédito y saldo
por pagar. En otras palabras es el conjunto de información referida a una misma persona u objeto, es
decir una colección de campos de iguales o de diferentes tipos. Un registro vendría a ser así como una
ficha.

Funciones de una base de datos


 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
del sistema de archivos.
 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.

Arquitectura de una base de datos:


 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.
 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.
 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. En cierto modo es la parte del
modelo conceptual a la que tienen acceso.

Niveles de la arquitectura de bases de datos.

Base de datos distribuidos: Una Base de Datos Distribuida (BDD) es un conjunto de múltiples
bases de datos lógicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios
interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento
autónomo lo cual indica que puede realizar operaciones locales o distribuidas. La BDD se está utilizando
cada vez más en la misma medida en que se usan la arquitectura cliente/servidor y groupware. La BDD
se crea en dos modalidades: Fragmentar la BD y Hacer una réplica de la BD.

Diferencia entre un dbms y una base de datos: La base de datos es una colección de archivos
interrelacionados almacenados en conjunto sin redundancia y la dbms es un conjunto de numerosas
rutinas de software interrelacionadas cada una de ellas es responsable de una determinada tarea.

Componentes de un sistema de base de datos.

Gestor de archivos: Gestiona la asignación de espacio en la memoria del disco y de


las estructuras de datos usadas para representar información.
Manejador de base de datos: Sirve de interfaz entre los datos y los programas de
aplicación.
Procesador de consultas: Traduce las proposiciones en lenguajes de consulta a
instrucciones de bajo nivel. Además convierte la solicitud del usuario en una forma
más eficiente.
Compilador de DDL: Convierte las proposiciones DDL en un conjunto de tablas que
contienen metadatos, estas se almacenan en el diccionario de datos.
Archivo de datos: En él se encuentran almacenados físicamente los datos de una
organización.
Diccionario de datos: Contiene la información referente a la estructura de la base de
datos.
Indices: Permiten un rápido acceso a registros que contienen valores específicos.

Una forma gráfica de representar los componentes antes mencionados y la relación que existe
entre ellos sería la siguiente.

Inconvenientes de los SGBD


 Los SGBD son conjuntos de programas muy complejos y muy extensos.
 Los SGBD son caros.
 Suele ser necesario adquirir equipamiento adicional para su puesta en marcha.
 Si se pasa de un sistema de ficheros a un sistema de bases de datos, el coste de la conversión
es elevado.
 Algunas prestaciones pueden disminuir.
 Son más vulnerables a los fallos

Evolución historia de los sistemas de bases de datos


Década de 1950 y principios de la década de 1960. Se desarrollaron las cintas magnéticas
para el almacenamiento de datos. Las tareas de procesamiento de datos tales como las
nóminas fueron automatizadas, con los datos almacenados en cintas. El procesamiento de
datos consistía en leer datos de una o más cintas y escribir datos en una nueva cinta. Los datos
también se podían introducir desde paquetes de tarjetas perforadas e impresos en impresoras
Las cintas (y los paquetes de tarjetas perforadas) sólo se podían leer secuencialmente, y los
tamaños de datos eran mucho mayores que la memoria principal; así, los programas de
procesamiento de datos tenían que procesar los datos según un determinado orden, leyendo y
mezclando datos de cintas y paquetes de tarjetas perforadas.
Finales de la década de 1960 y la década de 1970. El amplio uso de los discos fijos a finales
de la década de 1960 cambió en gran medida el escenario del procesamiento de datos, ya que
los discos fijos permitieron el acceso directo a los datos. La ubicación de los datos en disco no
era importante, ya que a cualquier posición del disco se podía acceder en sólo decenas de
milisegundo. Los datos se liberaron de la tiranía de la secuencialidad. Con los discos pudieron
desarrollarse las bases de datos de red y jerárquicas, que permitieron que las estructuras de
datos tales como listas y árboles pudieran almacenarse en disco. Los programadores pudieron
construir y manipular estas estructuras de datos. Un artículo histórico de Codd [1970] definió el
modelo relacional y formas no procedimentales de consultar los datos en el modelo relacional, y
nacieron las bases de datos relacionales
Década de 1980. Aunque académicamente interesante, el modelo relacional no se usó
inicialmente en la práctica debido a sus inconvenientes por el rendimiento; las bases de datos
relacionales no pudieron competir con el rendimiento de las bases de datos de red y jerárquicas
existentes. Esta situación cambió con System R, un proyecto innovador en IBM Research que
desarrolló técnicas para la construcción de un sistema de bases de datos relacionales eficiente.
El prototipo de System R completamente funcional condujo al primer producto de bases de
datos relacionales de IBM: SQL/DS. Los primeros sistemas de bases de datos relacionales,
como DB2 de IBM, Oracle, Ingres y Rdb de DEC, jugaron un importante papel en el desarrollo
de técnicas para el procesamiento eficiente de consultas declarativas. En los principios de la
década de 1980 las bases de datos relacionales llegaron a competir con los sistemas de bases
de datos jerárquicas y de red incluso en el área de rendimiento. Las bases de datos relacionales
fueron tan sencillas de usar que finalmente reemplazaron a las bases de datos jerárquicas y de
red; los programadores que usaban estas bases de datos estaban forzados a tratar muchos
detalles de implementación de bajo nivel y tenían que codificar sus consultas de forma
procedimental. Aún más importante, debían tener presente el rendimiento durante el diseño de
sus programas, lo que implicaba un gran esfuerzo. En cambio, en una base de datos relacional,
casi todas estas tareas de bajo nivel se realizan automáticamente por la base de datos,
liberando al programador en el nivel lógico. Desde su escalada en el dominio en la década de
1980, el modelo relacional ha conseguido el reinado supremo entre todos los modelos de datos.
Principios de la década de 1990. El lenguaje SQL se diseñó fundamentalmente para las
aplicaciones de ayuda a la toma de decisiones, que son intensivas en consultas, mientras que el
objetivo principal de las bases de datos en la década de 1980 fue las aplicaciones de
procesamiento de transacciones, que son intensivas en actualizaciones. La ayuda a la toma de
decisiones y las consultas reemergieron como una importante área de aplicación para las bases
de datos. Las herramientas para analizar grandes cantidades de datos experimentaron un gran
crecimiento de uso. Muchos vendedores de bases de datos introdujeron productos de bases de
datos paralelas en este periodo, así como también comenzaron ofrecer bases de datos
relacionales orientadas a objeto.
Finales de la década de 1990. El principal acontecimiento fue el crecimiento explosivo de
World Wide Web. Las bases de datos se implantaron mucho más extensivamente que nunca
antes. Los sistemas de bases de datos tienen ahora soporte para tasas de transacciones muy
altas, así como muy alta fiabilidad y disponibilidad 24×7 (disponibilidad24 horas al día y 7 días a
la semana, que significa que no hay tiempos de inactividad debidos a actividades de
mantenimiento planificadas). Los sistemas de bases de datos también tuvieron Interfaces Web a
los datos.
En resumen la evolución histórica de los SGBD tiene:
 Primera generación: sistema jerárquico y sistema de red.
 Requieren complejos programas de aplicación.
 La independencia de datos es mínima.
 No tienen un fundamento teórico.
 Segunda generación: modelo relacional.
 · Lenguaje de consultas estructurado: SQL.
 Desarrollo de SGBD relacionales comerciales.
 Limitada capacidad para modelar datos.
 Tercera generación: modelo orientado a objetos y modelo relacional extendido.

Lenguaje de tercera generación de los SGBD


 Estos son más fáciles de aprender y usar que los lenguajes máquina y el lenguaje ensamblador,
pues su similitud con la comunicación y comprensión humana cotidiana es mayor.
 Enunciados, Print, Total sales, Read normal Pay etc.
 Aunque son más fáciles de programar, no son tan eficientes en términos de rapidez operacional
y memoria.
 Son relativamente independientes del hardware de la computadora. Esto significa que el mismo
programa puede utilizarse en varias computadoras diferentes de distintos fabricantes

Lenguaje de tercera generación de los SGBD


 Son lenguajes que se relacionan menos con procedimientos y que son aún más parecidos al
inglés que los lenguajes de tercera generación.
 Algunas características incluyen capacidades de consulta y base de datos, de creación de
códigos y capacidades gráficas. Ejemplos Visual C++, Visual Basic, Power Builder, Delphi, Forte
y muchos otros.
 Lenguajes de consulta son utilizados para hacer preguntas a la computadora con frases
parecidas alas de un idioma, ejemplo el inglés.
 Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar
consultas y manipulaciones a la base de datos

Tendencias futuras de los SGBS

o En el futuro, la mayoría de las organizaciones cambiarán la forma convencional del


manejo de la información a la arquitectura de base de datos y más aún a los
Datawarehouse.
o El uso de base de datos distribuidas se incrementará de manera considerable en la
medida en que la tecnología de comunicación de datos brinde más facilidades
para ello, a la par del desarrollo de las tecnologías de cliente/servidor y del
groupware.
o El uso de base de datos facilitará y apoyará en gran medida a los sistemas de
información para la toma de decisiones.
o La explotación eficaz de la base de datos permitirá lograr ventaja competitiva.
o La base de datos orientada hacia objetos serán utilizadas a un nivel igual o superior
o que las base de datos relacionales de la actualidad.
o Los lenguajes de consulta (SQL) permitirán el uso del lenguaje natural para solicitar
información de la base de datos.

Estructura de base de datos

Base de datos
Jerárquicas
Orientadas a objeto o declarativas

Lenguajes Orientados a Objetos

La programación orientada a objetos, intenta simular el mundo real a través del significado de
objetos que contiene características y funciones. Los lenguajes orientados a objetos se clasifican como
lenguajes de quinta generación. Como su mismo nombre indica, la programación orientada a objetos se
basa en la idea de un objeto, que es una combinación de variables locales y procedimientos llamados
métodos que juntos conforman una entidad de programación. El termino encapsulación se usa para
describir la combinación de estructuras de datos y de métodos que son manipulados por el objeto. La
llamada a un objeto es lo que se denomina pasar un "aviso" a un objeto. En la programación orientada a
objetos, encapsular significa, reunir y controlar el grupo resultante como un todo y no individualmente. En
la programación orientada a objetos la abstracción es un término externo al objeto, que controla la forma
en que es visto por los demás. En la programación orientada a objetos la modularidad se considera de la
siguiente manera: Un programa grande siempre será más complicado que la suma de varios programas
pequeños, con lo que se considera ventajoso dividir un gran sistema en diversos módulos. En la
programación orientada a objetos tenemos la jerarquía, la cual consiste en la clasificación y organización
de las abstracciones según su naturaleza.
Lenguaje Orientado a Objetos basado en base de datos

El modelo de bases de datos orientado a objetos es una adaptación a los sistemas de bases de
datos. Se basa en el concepto de encapsulamiento de datos y código que opera sobre estos en un
objeto. Los objetos estructurados se agrupan en clases. El conjunto de clases esta estructurado en sub y
superclases basado en una extensión del concepto ISA del modelo Entidad - Relación. Puesto que el
valor de un dato en un objeto también es un objeto, es posible representar el contenido del objeto dando
como resultado un objeto compuesto.

Identificación de Objetos, Estructuras y constructores

Identificación de objetos: Un sistema de BDOO provee una identidad única a cada objeto
independiente almacenado en la base de datos. Esta identidad única suele implementarse con
un identificador de objeto único, generado por el sistema, u OID. El valor de un OID no es visible
para el usuario externo, sino que el sistema lo utiliza a nivel interno para identificar cada objeto
de manera única y para crear y manejar las referencias entre objetos.

La principal propiedad que debe tener un OID es la de ser inmutable; es decir, el valor del OID
para un objeto en particular nunca debe cambiar. Esto preserva la identidad del objeto del mundo
real que se está presentando. También es preferible que cada OID se utilice sólo una vez; esto
es aunque un objeto se elimine de la Base de datos, su OID no se deberá asignar a otro objeto.
Estas dos propiedades implican que el OID no debe depender del valor de ningún atributo del
objeto, pues estos valores pueden cambiar. También suele considerarse inapropiado basar el
OID en la dirección física del objeto en el almacenamiento, ya que una reorganización de los
objetos de la base de datos podría cambiar los OID. Sin embargo, algunos sistemas sí usan la
dirección física como OID para aumentar la eficiencia de la obtención de los objetos. Si la
dirección física cambia, puede colocarse un apuntador indirecto en la dirección anterior, dando la
nueva ubicación física del objeto. Un sistema de BDOO debe contar con algún mecanismo para
generar los OID con la propiedad de inmutabilidad.
Estructura: El paradigma orientado a objetos se basa en el encapsulamiento de datos y del
código relacionado con cada objeto en una sola unidad. Conceptualmente, todas las
interacciones entre cada objeto y el resto del sistema se realizan mediante mensajes. Por lo
tanto, la interfaz entre cada objeto y el resto del sistema se define mediante un conjunto de
mensajes permitidos. En general, cada objeto está asociado con: Un conjunto de variables que
contiene los datos del objeto; las variables corresponden con los atributos del modelo E-R.
Un conjunto de mensajes a los que responde; cada mensaje puede o no tener parámetros o
tener uno o varios. Un conjunto de métodos, cada uno de los cuales es el código que
implementa un mensaje; el método devuelve un valor como respuesta al mensaje. Mensaje
en entorno OO no implica uso de mensajes físicos en redes informáticas. Por el contrario, hace
referencia al intercambio de solicitudes entre los objetos, independientemente de los detalles
correctos de su implementación. Se utiliza a veces la expresión invocar un método para detonar
al hecho de enviar un mensaje a un objeto y la ejecución del método correspondiente.
Constructores: En las BDOO, los valores (o estados) de los objetos complejos se pueden
construir a partir de otros objetos mediante ciertos constructores de tipos. Una forma de
representar tales objetos es considerar a cada objeto como tripleta (i, c, v), donde i es un
identificador de objeto único (el OID), c es un constructor (esto es, una indicación de cómo se
construye el valor del objeto) y v es el valor (o estado) del objeto. Puede haber varios
constructores, según el modelo de datos y el sistema OO. Los tres constructores básicos son:
constructores de átomos, constructores de tuplas y constructores de conjuntos.
Otros constructores de uso más común son los de listas y de arreglos. También existe un
dominio D que contiene todos los valores atómicos básicos que están disponibles directamente
en el sistema. Por lo regular estos incluyen los enteros, los números reales, las cadenas de
caracteres, los tipos boléanos, las fechas y cualesquiera otros tipos de datos que el sistema
maneje directamente.
Encapsulamiento de Operaciones, Métodos y Persistencia

Encapsulamiento: cada objeto está aislado del exterior, es un modulo natural y la aplicación entera se
reduce a una agregación de objetos. El aislamiento protege a los datos asociados a un objeto de su
modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e
interacciones.
Métodos: es un código ejecutable asociado a un objeto (o a una clase de objetos), cuya ejecución se
desencadena mediante un ”mensaje”.
Persistencia: En los lenguajes de programación orientados a objetos estos son transitorios,
desaparecen cuando se termina el programa, Si se desea transformar uno de estos lenguajes en un
lenguaje para la programación de bases de datos, el primer paso consiste en proporcionar una manera
de hacer persistentes a los objetos. Se han propuesto varios enfoques.

Objetos Complejos

Los objetos se consideran complejos porque requieren un área de almacenamiento sustancial y


no forman parte de los tipos de datos estándar que suelen ofrecer los SGBD. Puesto que el tamaño de
los objetos es considerable, un SGBD podría obtener una porción del objeto y proporcionarla al
programa de aplicación antes de obtener todo el objeto. El SGBD podría también usar técnicas de
almacenamiento intermedio y caché para obtener por anticipado porciones del objeto, antes de que el
programa de aplicación necesite tener acceso a ellas. En un SGBOO, esto puede lograrse definiendo un
nuevo tipo de datos abstracto para los objetos no interpretados y suministrados los métodos para
seleccionar, comprar y exhibir tales objetos. Como un SGBOO permite a los usuarios crear nuevos tipos,
y como un tipo incluye tanto estructura como operaciones, podemos considerar que un SGBOO tiene un
sistema de tipos extensibles. Podemos crear bibliotecas de nuevos tipos definiendo su estructura y
operaciones, incluso con tipos complejos. Muchos SGBDOO pueden almacenar y obtener objetos no
estructurados extensos en forma de cadenas y caracteres o de bits, que se pueden pasar “tal cual” al
programa de aplicación para que las interprete.

Jerarquía de Clases y Herencia

Jerarquía de clases: Los esquemas de BDOO suelen necesitar un gran número de clases. Sin
embargo, varias clases son parecida entre sí. Para permitir la representación directa de
parecidos entre las clases, hay que ubicarlas en una jerarquía de especializaciones. El concepto
de jerarquía de clases es parecido al de especialización del modelo E-R. Las especializaciones
de las clases son denominas subclases; lo cual especifica atributos y métodos adicionales para
una clase existente. Los objetos creados por medio de unas subclases heredan todos los
atributos y métodos de la clase padre. Algunas de estas características heredadas pueden ellas
mismas haber sido heredadas de clases más altas en la jerarquía.
Herencia: Los esquemas de las bases de datos orientadas a objetos suelen necesitar gran
número de clases. Frecuentemente, sin embargo, varias de las clases son parecidas entre sí.
Son parecidas porque definen iguales atributos y métodos. No son idénticas porque cada clase
define, además, atributos y/o métodos que no comparte con las demás. Sería conveniente definir
una representación de los atributos y métodos comunes en un solo lugar. Esto puede hacerse
creando una nueva clase, que contendrá solo las características comunes, y redefiniendo las
clases originales como especializaciones de la nueva clase.
Relaciones Anidadas El modelo relacional anidado es una extensión del modelo relacional en
La que los dominios pueden ser atómicos o de relación. Por tanto, el valor de las tuplas de los
atributos puede ser una relación, y las relaciones pueden guardarse en otras relaciones. Los
objetos complejos, por tanto, pueden representarse mediante una única tupla de las relaciones
anidadas.
Lenguaje de Programación Persistentes

Los lenguajes de las bases de datos trabajan directamente con dato que son persistentes, es decir,
los datos siguen existiendo una vez que el programa que los creo ha concluido. Las relaciones de las
bases de datos y las tuplas de las relaciones son ejemplos de datos persistentes. Por el contrario, los
únicos datos persistentes con los que los lenguajes de programación tradicionales trabajan directamente
son los archivos. La manera tradicional de realizar las interfaces de las bases de datos con los lenguajes
de programación tradicionales consiste en incorporar o embeber el código SQL dentro del lenguaje de
programación.

Interpretación de reglas:

Existen dos alternativas principales para interpretar el significado teórico de las reglas: por la teoría
de demostración y por la teoría de modelos. En los sistemas prácticos, es mecanismo de inferencia que
tiene el sistema, define la interpretación exacta, que pudiera no coincidir con ninguna de las dos
interpretaciones teóricas. El mecanismo de inferencia es un procedimiento computacional y por tanto
provee una interpretación computacional del significado de las reglas. Una interpretación es la llamada
interpretación de reglas por la teoría de demostraciones. En ella se considerarán los hechos y las reglas
como enunciados verdades o axiomas. Los axiomas base no contienen variables. Los hechos son
axiomas base que se dan por ciertos. Las reglas se llaman axiomas deductivos, ya que pueden servir
para deducir hechos nuevos. Con los axiomas deductivos se pueden construir demostraciones que
deriven hechos nuevos a partir de los ya existentes. Los axiomas deductivos, junto con las restricciones
de integridad constituyen lo que en ocasiones se denomina base de datos intencional, y la base de datos
extensional junto con la intencional constituyen lo que suele llamarse Base de Datos Deductivas; aunque
en realidad, quien se encarga de las deducciones es el DBMS, no la base de datos. La interpretación por
la teoría de demostraciones ofrece un enfoque por procedimientos o computacional para calcular una
respuesta a la consulta Datalog. Al proceso de demostrar si un determinado hecho (teorema) se cumple
se le conoce también como demostración de teoremas. El segundo tipo de demostración se llama
interpretación por la teoría de modelos. Aquí, dado un dominio finito o infinito de valores constantes, se le
asigna a un predicado todas las combinaciones posibles de valores como argumentos. Después se debe
determinar si el predicado es verdadero o falso. En general, basta con especificar las combinaciones de
argumentos que hacen que el predicado sea verdadero, y decir que todas las demás combinaciones
hacen que sean falsos. Si esto se hace con todos los predicados, se habla de una interpretación del
conjunto de predicados. A una interpretación se le llama modelo para un conjunto específico de reglas si
esas reglas siempre se cumplen en esa interpretación; es decir, para cualesquiera valores que se
asignen a las variables de las reglas, la cabeza de reglas es verdadera cuando sustituimos los valores de
verdad asignados a los predicados en el cuerpo de las reglas según esa interpretación. De este modo,
siempre que se aplica una sustitución a las variables de las reglas, si todos los predicados del cuerpo de
un arreglo son verdaderos en esa interpretación, el predicado de la cabeza de la regla también debe ser
verdadero. Cabe señalar que una regla se viola si un determinado enlace de constantes en a las
variables hace verdaderos todos los predicados del cuerpo de la regla, pero hace que el predicado de la
cabeza de la regla sea falso.

Sistema LDL
El proyecto Lenguaje Lógico de Dato se inició con dos objetivos primarios:

 Crear un sistema que extendiera el modelo relacional y a la vez aprovechara algunas de las
características positivas de un SGBDR (Sistema de Gestión de Base de Datos Relacionales).
 Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD deductivo y además
permitiera la creación de aplicaciones de propósito general.

Aplicaciones de LDL
Modelado de empresas: este dominio implica modelar la estructura, los procesos y las restricciones
dentro de una empresa. Los datos relacionados con ella pueden resultar en modelo ER extendido que
contiene cientos de entidades y vínculos y miles de atributos. Es posible desarrollar varias aplicaciones
útiles para los diseñadores de nuevas aplicaciones a partir de esta metabase de datos, que contiene
información tipo diccionario a cerca de toda la empresa. Prueba de hipótesis o dragado de datos: este
dominio implica formular una hipótesis, traducirla a un conjunto de reglas LDL y una consulta, y luego
ejecutar la consulta contra los datos para probar la hipótesis. El proceso se repite reformulando las
reglas y la consulta. Esto se ha aplicado al análisis de datos de genoma en el campo de la microbiología.
El dragado de datos consiste en identificar las secuencias de DNA a partir de autorradiografías
digitalizadas de bajo nivel obtenidas de experimentos con bacterias E. Reutilización de software: el
grueso del software para una aplicación se desarrolla en código estándar por procedimientos, y una
pequeña fracción se basa en reglas y se codifica en LDL. Las reglas dan origen a una base de
conocimientos que contienen los siguientes elementos:
Programación en Datalog

Datalog es un lenguaje de consultas, no procedimental, basado en el lenguaje de programación


lógica de Prolog. Como se hace en el cálculo relacional, el usuario describe la información deseada sin
especificar un procedimiento específico de obtención de dicha información. La sintaxis de Datalog se
asemeja a la de Prolog. Sin embargo, el significado de los programas en Datalog se define de una
manera puramente declarativa, a diferencia de la semántica más procedimental de Prolog. Datalog
simplifica la escritura de consultas simples y hace más sencilla la optimización de consultas.

Sintaxis de las reglas de Datalog

Una vez que se han explicado informalmente las reglas y consultas de Datalog, se define
formalmente su sintaxis. Se utilizarán los mismo convenios que en el algebra relacional para denotar
nombres de relaciones, de atributos, constantes (tales como números o cadenas) y de nombres de
variables. Se usan letras mayúsculas y palabras con la primera letra en mayúscula para denotar
nombres de variables, y letras minúsculas para denotar los nombres de las relaciones y atributos.
Algunos ejemplos de constantes son 4, que es un número y «Santos» que es una cadena; X y Nombre
son variables. Un literal positivo tiene la siguiente forma: p (t1, t2, ...tn) donde p es el nombre de una
relación con n atributos y t1, t2, ...tn son constantes o variables. Un literal negativo tiene la siguiente
forma: not p (t1, t2, ...tn) donde la relación p tiene n atributos. El siguiente es un ejemplo de literal: cuenta
(C, «Navacerrada», S) Los literales que contienen operaciones aritméticas se tratan de un modo
especial. Por ejemplo, el literal B > 700, aunque no tiene la sintaxis descrita, puede entenderse
conceptualmente como > (B, 700), que si tiene la sintaxis requerida y donde > es una relación. Pero
¿qué significa esta notación para las operaciones aritméticas como «>»? La relación >
(conceptualmente) contiene tuplas de la forma (x, y) para todos los posibles pares de valores x e y donde
x>y. Así, (2, 1) y (5, -33) son tuplas de la relación >. La relación > es infinita. Otras operaciones
aritméticas (como >, =, + o -) se tratan también conceptualmente como relaciones. Por ejemplo, A = B +
C se puede tratar conceptualmente como + (B, C, A), donde la relación + contiene todas las tuplas (x, y,
z) tales que z = x + y.

Un hecho tiene la siguiente forma (v1,v2,…, vn)E implica que la tupla (v1,v2,…, vn) pertenece a la relación p.
Un conjunto de hechos de una relación se puede escribir utilizando la notación tabular habitual. Un
conjunto de hechos para una relación en un esquema de base de datos equivale a un ejemplar del
esquema de base de datos. Las reglas se construyen a partir de literales, y tiene la forma siguiente
(t1,t2,…, tn) :- L1,L2,…, Ln Donde cada L es una literal (positivo o negativo). El literal P (t 1,t2,…, tn) se
denomina cabeza de la regla y el resto de los literales constituyen el cuerpo de la misma. Un programa
Datalog consiste en un conjunto de reglas, el orden en que se formulan las reglas es indiferente. Una
relación se puede definir utilizando varias reglas.

Bases de datos activas


Podemos definir SGBD activo como aquel que, cuando se producen ciertas condiciones, ejecuta
de forma automática, es decir, sin la intervención del usuario, las acciones especificadas de antemano
en la fase de definición -intensión- de la base de datos, PIATTINI (1995b). Como recordaran los lectores
de Algoritmo en el numero 11 analizaremos el soporte que ofrece el estándar SQL3 para los
disparadores en bases de datos relacionales.
Sin embargo, ni las restricciones y disparadores propuestos para los sistemas relacionales ni, mucho
menos, las condiciones ON de Codasyl pueden considerarse como paradigma de los sistemas activos
porque carecen de algunas características para ello.
De hecho, a mediados de los años ochenta se inició el desarrollo de distintos prototipos de investigación
que permitieron evaluar y profundizar en este tema: Hipac del Xerox Advanced Information Technology,
postgres desarrollado en la universidad de Berkeley, Startburst del Almaden Research Center de IBM en
San José, Ariel en la Wright State University, Ode de los AT&T Bell Labs. etc.
En estos momentos ya existen algunos trabajos que presentan las dimensiones de un SGBD activo.
Véase FRATERNALI Y TANCA (1996) y DIAZ y PATON (1997), e incluso acaba de firmarse un
manifiesto para este tipo de sistemas, ACTNET (1996).
Como quizá es el tipo de SGBD más maduro de los que vamos a analizar y del que ya existen productos
que soportan en parte su funcionalidad, les dedicaremos una mayor extensión.

Bases de Datos Multimedia

En la actualidad se está desarrollando toda una serie de aplicaciones que incorporan el


tratamiento de datos multimedia (televisión interactiva, sistemas de información geográficos,
enciclopedias electrónicas, aplicaciones musicales, etc.). Si las bases de datos no quieren “quedarse
fuera” de este tipo de aplicaciones deben soportar el tratamiento de los datos multimedia de una manera
eficiente.Los SGBD actuales no están concebidos, sin embargo, para manejar grandes cantidades de
datos en dispositivos como CD-ROM o videodiscos. En general, podemos afirmar que el modelo
relacional no es el más adecuado para soportar los datos multimedia, aunque en la actua1idad la mayor
parte los productos ofrezcan la posibilidad de definir BLOBs (Binary Large Objects.) para almacenar
texto, vídeo, sonido, etc. Con este mecanismo no es posible expresar la semántica asociada a los
objetos multimedia ni realizar accesos por determinados componentes de estos.

Bases de Datos Temporales

De manera general, en las bases de datos temporales se suelen distinguir dos aspectos
importantes: la gestión de la historia y la gestión de versiones. En estos últimos años se ha logrado un
consenso en cuanto a la semántica de la historia, pero no a la gestión de versiones, para la que existen
muchas propuestas en el contexto de los sistemas de diseño asistido por ordenador e ingeniería de
software.
En un sentido más estricto, se conocen como bases de datos temporales aquellas que gestionan la
historia, pudiendo contemplar dos dimensiones del “tiempo”: Tiempo válido y Tiempo de transacción.

Base de Datos Espaciales

Una base de datos espacial es una colección de datos referenciados espacialmente, que actúan
como un modelo de la realidad; en el sentido de que ella representa una serie o aproximación de
fenómenos. Esos fenómenos seleccionados son considerados suficientemente importantes para ser
representados en forma digital. La representación digital puede ser para el pasado, presente o futuro.
Las bases de datos espaciales necesitan contar con procedimientos que hagan posible su
mantenimiento en lo que respecta a su documentación así como su administración. La eficiencia estará
sujeta a los diferentes tipos de datos almacenados en diferentes estructuras y los objetos espaciales
estarán organizados por capas de información. La modelación del mundo real por medio de entidades
primitivas de dibujo siguen reglas que constituyen el modelo de datos.
Republica Bolivariana de Venezuela

Ministerio de la Defensa

Universidad Nacional Experimental Politécnica de la Fuerza Armada

Núcleo Puerto Cabello

Docente: Integrantes:

Yelmin Perez D’anselmo Lombardo

Betancourt Jose

Rizo Freddy

Nieves Yorman
Puerto Cabello , Abril de 2011
Bibliografía.

- Sistemas de base de datos. Conceptos fundamentales. ELMASRI / NAVATHE. 2da. Edición.


- Fundamento de base de datos. ABRAHAM SILBERSCHATZ. HENRY F. KORTH. 4ta.Edición.
- Arquitectura de sistemas de base de datos. OSCAR GONZÁLEZ MARTIN.
- Henry F. Korth, Abrahan Silberschatz. Fundamentos de base de datos.
- J.C. Date. Introducción a los sistemas de Base de Datos. Volumen 1. Quinta Edición.
- Jeffrey D. Ullman. Principles of database system.
- James Groff, Paul Weinberg. Aplique SQL.
- Moreno, Francisco. Trucos en SQL.
- Raquel Anaya. Notas del curso de Modelamiento de Datos.

S-ar putea să vă placă și