You are on page 1of 8

Unidad I: Introducción a las bases de datos y DBMS.

1. Modelos de datos

Estos son lenguajes utilizados para especificar BDs, un modelo de datos permite
expresar:
 Estructuras (Objetos de los problemas).
 Restricciones (Reglas que deben cumplir los datos).
 Operaciones (Insertar, borrar, consultar datos).

Los modelos de datos según su nivel de abstracción se clasifican en:


 Conceptuales; utilizados en etapa de análisis, representan la realidad
independiente a la implementación de la BD.
 Lógicos; utilizados en etapa de diseño e implementación, implementas por
DBMS’s.
 Físicos; implementación estructuras de datos.

2. Modelos de bases de datos

Además de la clasificación por la función de las bases de datos, éstas también se


pueden clasificar de acuerdo a su modelo de administración de datos.

Un modelo de datos es básicamente una "descripción" de algo conocido como


contenedor de datos (algo en donde se guarda la información), así como de los
métodos para almacenar y recuperar información de esos contenedores. Los
modelos de datos no son cosas físicas: son abstracciones que permiten la
implementación de un sistema eficiente de base de datos; por lo general se refieren
a algoritmos, y conceptos matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas

Éstas son bases de datos que, como su nombre indica, almacenan su información
en una estructura jerárquica. En este modelo los datos se organizan en una forma
similar a un árbol (visto al revés), en donde un nodo padre de información puede
tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no
tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones


que manejan un gran volumen de información y datos muy compartidos
permitiendo crear estructuras estables y de gran rendimiento.

Este modelo presenta las siguientes limitaciones:


 Duplicidad de registros.
 Integridad referencial.
 Desnormalización.
Base de datos de red

Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es


la modificación del concepto de nodo: se permite que un mismo nodo tenga varios
padres (posibilidad no permitida en el modelo jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución
eficiente al problema de redundancia de datos; pero, aun así, la dificultad que
significa administrar la información en una base de datos de red ha significado que
sea un modelo utilizado en su mayoría por programadores más que por usuarios
finales.

Base de datos relacional

Éste es el modelo más utilizado en la actualidad para modelar problemas reales y


administrar datos dinámicamente. Tras ser postulados sus fundamentos 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. Su idea
fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en
forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la
teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría
de las veces se conceptualiza de una manera más fácil de imaginar. Esto es
pensando en cada relación como si fuese una tabla que está compuesta por
registros (las filas de una tabla), que representarían las tuplas, y campos (las
columnas de una tabla).

En este modelo, el lugar y la forma en que se almacenen los datos no tienen


relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene
la considerable ventaja de que es más fácil de entender y de utilizar para un
usuario esporádico de la base de datos. La información puede ser recuperada o
almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para
administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos relacionales
es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un
estándar implementado por los principales motores o sistemas de gestión de bases
de datos relacionales.

Durante su diseño, una base de datos relacional pasa por un proceso al que se le
conoce como normalización de una base de datos.

Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución en
los lenguajes de programación y sistemas de administración de datos. Aunque
nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su
gestión.

Elementos
Relaciones base y derivadas

En una base de datos relacional, todos los datos se almacenan y se acceden a ellos
por medio de relaciones. Las relaciones que almacenan datos son llamados
"relaciones base" y su implementación es llamada "tabla". Otras relaciones no
almacenan datos, pero que son calculadas al aplicar operaciones relacionales. Estas
relaciones son llamadas "relaciones derivadas" y su implementación es llamada
"vista" o "consulta". Las relaciones derivadas son convenientes ya que expresan
información de varias relaciones actuando como si fuera una sola.

Restricciones

Una restricción es una condición que obliga el cumplimiento de ciertas condiciones


en la base de datos. Algunas no son determinadas por los usuarios, sino que son
inherentemente definidas por el simple hecho de que la base de datos sea
relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar
un campo con valores enteros entre 1 y 10.

Las restricciones proveen un método de implementar reglas en la base de datos.


Las restricciones restringen los datos que pueden ser almacenados en las tablas.
Usualmente se definen usando expresiones que dan como resultado un valor
booleano, indicando si los datos satisfacen la restricción o no.

Las restricciones no son parte formal del modelo relacional, pero son incluidas
porque juegan el rol de organizar mejor los datos. Las restricciones son muy
discutidas junto con los conceptos relacionales.

Dominios

Un dominio describe un conjunto de posibles valores para cierto atributo. Como un


dominio restringe los valores del atributo, puede ser considerado como una
restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos los
valores de este atributo deben de ser elementos del conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha, etc.

Clave única

Cada tabla puede tener uno o más campos cuyos valores identifican de forma única
cada registro de dicha tabla, es decir, no pueden existir dos o más registros
diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos
se llama clave única.

Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas
suele llamársele candidata a clave primaria.

Clave primaria
Una clave primaria es una clave única elegida entre todas las candidatas, para
especificar los datos que serán relacionados con las demás tablas. La forma de
hacer esto es por medio de claves foráneas.

Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave
puede contener valores NULL.

Clave foránea

Una clave foránea es una referencia a una clave en otra tabla. Las claves foráneas
no necesitan ser claves únicas en la tabla donde están y si a donde están
referenciadas.

Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de
empleados, pero obviamente se permite que haya varios empleados en un mismo
departamento, pero existirá solo un departamento.

Clave índice

Las claves índice surgen con la necesidad de tener un acceso más rápido a los
datos. Los índices pueden ser creados con cualquier combinación de campos de una
tabla. Las consultas que filtran registros por medio de estos campos, pueden
encontrar los registros de forma no secuencial usando la clave índice.

Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada


una de ellas es óptima para cierta distribución de datos y tamaño de la relación.

Los índices generalmente no se consideran parte de la base de datos, pues son un


detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo
grupo de programadores que las otras partes de la base de datos.

Procedimientos almacenados

Un procedimiento almacenado es código ejecutable que se asocia y se almacena


con la base de datos. Los procedimientos almacenados usualmente recogen y
personalizan operaciones comunes, como insertar un registro dentro de una tabla,
recopilar información estadística, o encapsular cálculos complejos. Son
frecuentemente usados por un API por seguridad o simplicidad.

Los procedimientos almacenados no son parte del modelo relacional, pero todas las
implementaciones comerciales los incluyen.

Bases de datos multidimensionales

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como
creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de
datos relacionales (una tabla en una base de datos multidimensional podría serlo
también en una base de datos multidimensional), la diferencia está más bien a nivel
conceptual; en las bases de datos multidimensionales los campos o atributos de
una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o
bien representan métricas que se desean estudiar.

Bases de datos orientadas a objetos

Este modelo, bastante reciente, y propio de los modelos informáticos orientados a


objetos, trata de almacenar en la base de datos los objetos completos (estado y
comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:
 Encapsulación - Propiedad que permite ocultar la información al resto de los
objetos, impidiendo así accesos incorrectos o conflictos.
 Herencia - Propiedad a través de la cual los objetos heredan comportamiento
dentro de una jerarquía de clases.
 Polimorfismo - Propiedad de una operación mediante la cual puede ser
aplicada a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones


sobre los datos como parte de la definición de la base de datos. Una operación
(llamada función) se especifica en dos partes. La interfaz (o signatura) de una
operación incluye el nombre de la operación y los tipos de datos de sus argumentos
(o parámetros). La implementación (o método) de la operación se especifica
separadamente y puede modificarse sin afectar la interfaz. Los programas de
aplicación de los usuarios pueden operar sobre los datos invocando a dichas
operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que
se han implementado. Esto podría denominarse independencia entre programas y
operaciones.

3. DBMS.

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.

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 (Codd,1970), compuesta
por filas y columnas, accesando dichas relaciones a través de un lenguaje de alto
nivel no procedural (declarativo). 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 (antes el Oak),
Eiffel, y Smalltalk adoptando y mejorando el concepto de clase pero su desarrollo se
hace independiente de los DBMSs.

Ventajas DBMS

Las principales ventajas que este proporciona están principalmente orientadas


desde la perspectiva del control y manejo de la información de los datos y la(s)
base(s) de datos. A continuación, se mencionan cuales son:
 Control global único de la base de datos.
 Control sobre la redundancia de datos.
 Soporte a diferentes visiones de los datos.
 Mantenimiento de la integridad.
 Seguridad.
 Velocidad.
 Procesamiento de datos mediante transacciones.
 Independencia del trato físico de la información.

Desventajas DBMS

 Es más costoso.
 Mayor necesidad de recursos para acceder a la base de datos.
 Necesita un especialista.

4. Esquema de un DBMS.
5. 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:

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 correspondencias 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.

Tipos de DML's:
 De alto Nivel o No por procedimientos: SQL.
 De bajo Nivel o por procedimientos.

You might also like