Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

enfoque de programación, Apuntes de Programación C

enfoque de diferentes tipos de promocionan

Tipo: Apuntes

2020/2021

Subido el 07/04/2021

maryu-lugo
maryu-lugo 🇻🇪

1 documento

1 / 30

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
República Bolivariana de Venezuela.
Ministerio del Poder Popular para la Educación Superior.
Universidad Politécnica Territorial “José Antonio Anzoátegui”.
El Tigre Edo. Anzoátegui.
Introducción a las
Bases de Datos.
Profesora: Integrantes:
Lcda. Zulismar Gallardo Marialba Cordova C.I. 28.724.622
Sandy Marrone C.I. 27.878.236
Eladio Betancourt C.I. 28.631.526
Alejandro Cervi C.I 28.095.500
Sabrina Freites C.I. 26.975.677
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Vista previa parcial del texto

¡Descarga enfoque de programación y más Apuntes en PDF de Programación C solo en Docsity!

República Bolivariana de Venezuela.

Ministerio del Poder Popular para la Educación Superior.

Universidad Politécnica Territorial “José Antonio Anzoátegui”.

El Tigre – Edo. Anzoátegui.

Introducción a las

Bases de Datos.

Profesora: Integrantes:

Lcda. Zulismar Gallardo Marialba Cordova C.I. 28.724.

Sandy Marrone C.I. 27.878.

Eladio Betancourt C.I. 28.631.

Alejandro Cervi C.I 28.095.

Sabrina Freites C.I. 26.975.

Índice

Introducción.

Las bases de datos y los sistemas de bases de datos son un componente esencial de la vida cotidiana en la sociedad moderna. Actualmente, la mayoría de nosotros nos enfrentamos a diversas actividades que implican cierta interacción con una base de datos. Por ejemplo, ir al banco a depositar o retirar fondos, realizar una reserva en un hotel o una compañía aérea, acceder al catálogo computarizado de una biblioteca para buscar un libro, o comprar algo online (un juguete o un computador, por ejemplo), son actividades que implican que alguien o algún programa de computador acceda a una base de datos. Incluso la compra de productos en un supermercado, en muchos casos, provoca la actualización automática de la base de datos que mantiene el stock de la tienda.

Estas interacciones son ejemplos de lo que podemos llamar aplicaciones de bases de datos tradicionales, en las que la mayor parte de la información que hay almacenada y a la que se accede es textual o numérica. En los últimos años, los avances en la tecnología han conducido a excitantes aplicaciones y sistemas de bases de datos nuevos.

Las bases de datos y la tecnología de bases de datos tienen mucha culpa del uso creciente de los computadores. Es justo decir que las bases de datos juegan un papel fundamental en la mayoría de las áreas en las que se utilizan computadores, como en el ámbito empresarial, en el comercio electrónico, ingeniería, medicina, justicia, educación y bibliotecas.

1) Las Bases de Datos.

Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente.

La definición anterior de base de datos es muy genérica; por ejemplo, podemos pensar que la colección de palabras que compone un libro es una colección de datos relacionados y que, por tanto, constituye una base de datos. No obstante, el uso común del término base de datos es normalmente más restringido.

Desde el punto de vista informático, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.

Una base de datos tiene las siguientes propiedades implícitas:

  • Una base de datos representa algún aspecto del mundo real , lo que en ocasiones se denomina mini-mundo o universo de discurso (UoD, Universe of discourse). Los cambios introducidos en el mini-mundo se reflejan en la base de datos.
  • Una base de datos es una colección de datos lógicamente coherente con algún tipo de significado inherente. No es correcto denominar base de datos a un surtido aleatorio de datos.
  • Una base de datos se diseña, construye y rellena con datos para un propósito específico. Dispone de un grupo pretendido de usuarios y algunas aplicaciones preconcebidas en las que esos usuarios están interesados.

En otras palabras, una base de datos tiene algún origen del que se derivan los datos, algún grado de interacción con eventos del mundo real y un público que está activamente interesado en su contenido.

1.1) Origen de las Bases de Datos.

El ser humano siempre ha tenido la necesitad de guardar información es por ello que los orígenes de tener bases de datos provienen de la antigüedad en donde ya se tenía en existencia grandes bibliotecas y toda clase de registros entre ellos los que se llevaban de las cosechas.

La primera vez que se escuchó el término de bases de datos fue en 1963 en un simposio (reunión de especialistas en una materia que tiene como fin tratar y discutir algo en concreto a su especialidad) en California, refiriéndose a ella como un conjunto de “información” relacionada que se encuentra agrupara o estructurada (es importante resaltar que información =! datos, los datos por sí solo no tienen significado hasta que se les da un contexto).

- 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. Los sistemas de bases de datos también tuvieron interfaces Web a los datos.

1.3) Características de una Base de Datos.

Entre las principales características de los sistemas de base de datos podemos mencionar:

- Integridad : La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas. - Seguridad : La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros. - Concurrencia : En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo. - Recuperación : Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos.

1.4) Usos de las Bases de Datos.

Las bases de datos son ampliamente usadas, muchas veces tenemos acercamientos con ellas en nuestra vida cotidiana sin darnos cuenta.

Las siguientes son algunas de sus aplicaciones más representativas:

- Banca. Para información de los clientes, cuentas y préstamos, y transacciones bancarias. - Líneas aéreas. Para reservas e información de planificación. Las líneas aéreas fueron de los primeros en usar las bases de datos de forma distribuida geográficamente (los terminales situados en todo el mundo accedían al sistema de bases de datos centralizado a través de las líneas telefónicas y otras redes de datos). - Universidades. Para información de los estudiantes, matrículas de las asignaturas y cursos. - Transacciones de tarjetas de crédito. Para compras con tarjeta de crédito y generación mensual de extractos. - Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generación mensual de facturas, manteniendo el saldo de las tarjetas telefónicas de prepago y para almacenar información sobre las redes de comunicaciones. - Finanzas. Para almacenar información sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos. - Ventas. Para información de clientes, productos y compras. - Recursos humanos. Para información sobre los empleados, salarios, impuestos y beneficios, y para la generación de las nóminas.

Como esta lista ilustra, las bases de datos forman una parte esencial de casi todas las empresas actuales.

1.5) Tipos de Bases de Datos.

Existen muchas empresas con diferentes giros y dependiendo del giro será el tipo de procesamiento que se le dará a la información, esto determinara el tipo de base de datos a utilizar.

Existen diferentes tipos de bases de datos, pero las más comunes son las OLTP y OLAP.

1.5.1) Las bases de datos tipo OLTP (On Line Transaction Processing): Son llamadas también bases de datos dinámicas, lo que significa que la información se modifica en tiempo real, es decir, se insertan, se eliminan, se modifican y se consultan datos en línea durante la operación del sistema. Un ejemplo es el sistema de un supermercado donde se van registrando cada uno de los artículos que el cliente está comprando y a su vez el sistema va actualizando el inventario.

1.5.2) Las bases de datos tipo OLAP (On Line Analytical Processing): También son llamadas bases de datos estáticas lo que significa que la información en tiempo real no es afectada, es decir, no se insertan, no se eliminan y tampoco se modifican datos; solo se realizan consultas sobre los datos ya existentes para el análisis y toma de decisiones.

Además, puede conducir a inconsistencia de datos; es decir, las diversas copias de los mismos datos pueden no coincidir.

- 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. - 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, es difícil cambiar los programas para hacer que se cumplan. - 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.

Estas dificultades, entre otras, han motivado el desarrollo de los sistemas de bases de datos.

1.7) Bases de Datos Relacionales.

Una base de datos relacional es una recopilación de elementos de datos con relaciones predefinidas entre ellos. Estos elementos se organizan como un conjunto de tablas con columnas y filas. Las tablas se utilizan para guardar información sobre los objetos que se van a representar en la base de datos. Cada columna de una tabla guarda un determinado tipo de datos y un campo almacena el valor real de un atributo. Las filas de la tabla representan una recopilación de valores relacionados de un objeto o entidad. Cada fila de una tabla podría marcarse con un identificador único denominado clave principal, mientras que filas de varias tablas pueden relacionarse con claves extranjeras. Se puede obtener acceso a estos datos de muchas formas distintas sin reorganizar las propias tablas de la base de datos.

La idea básica de las bases de datos relacionales es la existencia de entidades (filas en una tabla) caracterizadas por atributos (columnas en la tabla). Cada tabla almacena entidades del mismo tipo y entre entidades de distinto tipo se establecen relaciones. Las tablas comparten algún campo entre ellas, estos campos compartidos van a servir para establecer relaciones entre las tablas.

Desde que se comenzó a usar el modelo de bases de datos relacionales, en 1970, ha ido sufriendo una serie de transformaciones hasta convertirse, hoy en día, en el modelo más utilizado para administrar bases de datos.

Los atributos pueden ser de unos pocos tipos simples:

**- Números enteros.

  • Números reales.
  • Cadena de caracteres de longitud variable.**

Estos tipos simples se denominan tipos atómicos y permiten una mayor eficacia en el manejo de la base de datos pero a costa de reducir la flexibilidad a la hora de manejar los elementos complejos del mundo real y dificultar la gestión de datos espaciales, en general suponen un problema para cualquier tipo de datos geométricos.

Las relaciones que se establecen entre los diferentes elementos de dos tablas en una base de datos relacional pueden ser de tres tipos distintos:

- Relaciones uno a uno , aparecen cuando un registro de la tabla A solo puede relacionarse con un registro de la tabla B. Este modelo aparece en relaciones de tipo exclusivo, como por ejemplo Países-Banderas, ya que cada país tiene una única bandera oficial, y cada bandera solo puede pertenecer a un país. - Relaciones uno a muchos , en este caso un registro de la tabla A puede relacionarse con varios de la tabla B. Es el tipo más habitual y utilizado, y existen muchos casos; por ejemplo, domicilios con personas que viven en el mismo, nombre de empresa con sus trabajadores, proveedores con productos que sirven. - Relaciones muchos a muchos , que se da si varios registros de A pueden relacionarse con varios de B y viceversa. Es quizás la menos habitual de manera formal. El ejemplo clásico, es tener dos tablas, una de actores y otra de películas, ya que lo habitual es que cada actor haya trabajado en varias películas, y que estas estén formadas por varios actores.

1.8) SQL, el lenguaje de consultas de las Bases de Datos Relacionales.

El lenguaje de consultas SQL (Lenguaje Estructurado de Consultas) se ha convertido, debido a su eficiencia, en un estandar para las bases de datos relacionales. A pesar de su estandarización se han desarrollado, sobre una base común, diversas versiones ampliadas como las de Oracle o la de Microsoft SQL server. Es un lenguaje declarativo en el que las órdenes especifican cual debe ser el resultado y no la manera de conseguirlo (como ocurre en los lenguajes procedimentales). Al ser declarativo es muy sistemático, sencillo y con una curva de aprendizaje muy agradable. Sin embargo los lenguajes declarativos carecen de la potencia de los procedimentales. El gran éxito de las bases de datos relacionales se debe en parte a la posibilidad de usar este lenguaje. Incluye diversos tipos de capacidades:

  • Comandos para la definición y creación de una base de datos (CREATE TABLE).
  • Comandos para inserción, borrado o modificación de datos (INSERT, DELETE, UPDATE).

ALTER TABLE PERSONA (

ADD segundo_nombre CHAR (15) UNSIGNED ,

);

- DROP: Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER.

Ejemplo 1 (Eliminar tabla persona ):

DROP TABLE persona;

Ejemplo 2 (Eliminar columna segundo_nombre de la tabla persona ):

ALTER TABLE persona (

DROP COLUMN segundo_nombre,

);

- TRUNCATE: Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DELETE , es que si se quiere borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy grande, la desventaja es que TRUNCATE solo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la clausula WHERE. Si bien es un principio, esta sentencia parecería ser DML, es en realidad DDL, ya que internamente, el comando truncate borra la tabla y la vuelve a crear y no ejecuta ninguna transacción.

Ejemplo (Truncar la tabla persona ):

TRUNCATE TABLE persona ;

1.9.2) Lenguaje de Manipulación de Datos (LMD).

Permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Base de Datos. Operaciones básicas del LMD: SELECT , INSERT , DELETE y UPDATE.

- SELECT: Con esta sentencia se especifica el nombre de las columnas que se quieran recuperar de una tabla. Se puede indicar varias columnas o solo una de una tabla, o bien seleccionar todas las columnas de una tabla en conjunción con “ ***** ” ( **SELECT *** ).

Ejemplo 1 (Seleccionar todas las columnas de la tabla persona ):

SELECT * FROM persona;

Ejemplo 2 (Seleccionar columna nombre de la tabla persona ):

SELECT nombre FROM persona ;

- INSERT: Con esta sentencia se puede añadir datos a una tabla.

Ejemplo (Insertar valor en la columna nombre de la tabla persona ):

INSERT INTO persona (“nombre”) VALUES (“sandy”);

- DELETE: Con esta sentencia se borra uno o más registros existentes de una tabla.

Ejemplo 1 (Suprimir todos los registros de la tabla persona ):

DELETE * FROM persona;

Ejemplo 2 (Suprimir nombre ( sandy ) de la tabla persona ):

DELETE FROM persona WHERE nombre=sandy;

- UPDATE: Con esta sentencia se modifica los valores de un conjunto de registros existentes de una tabla.

1.10) Administración de la Base de Datos:

En el caso de una base de datos personal pequeña, un usuario normalmente define, construye y manipula la base de datos, de modo que no se comparten datos. Sin embargo, en empresas grandes, muchas personas están implicadas en el diseño, uso y mantenimiento de una base de datos grande con cientos de usuarios.

1.10.1) Administradores de la Base de Datos:

Hay un tipo de usuario especial: el que realiza tareas de administración y control de la BD. Una empresa o institución que tenga SI construidos en torno a BD necesita que alguien lleve a cabo una serie de funciones centralizadas de gestión y administración, para asegurar que la explotación de la BD es la correcta. Este conjunto de funciones se conoce con el nombre de administración de BD (ABD), y los usuarios que hacen este tipo especial de trabajo se denominan administradores de BD.

- Tareas tipicas de un Administrador de Base de Datos:

  1. Mantenimiento, administración y control de los esquemas. Comunicación de los cambios a los usuarios.

  2. Asegurar la máxima disponibilidad de los datos; por ejemplo, haciendo copias (back-ups), administrando diarios (journals o logs), reconstruyendo la BD, etc.

  3. Resolución de emergencias.

  4. Vigilancia de la integridad y de la calidad de los datos.

  5. Diseño físico, estrategia de caminos de acceso y reestructuraciones.

  6. Control del rendimiento y decisiones relativas a las modificaciones en los esquemas y/o en los parámetros del SGBD y del SO, para mejorarlo.

  7. Normativa y asesoramiento a los programadores y a los usuarios finales sobre la utilización de la BD.

familiarizados con el SGDB a fin de implementar sus aplicaciones y satisfacer sus complejos requisitos.

- Los usuarios finales independientes mantienen bases de datos personales utilizando paquetes de programas confeccionados que proporcionan unas interfaces fáciles de usar y basadas en menús o gráficos. Un ejemplo es el usuario de un paquete de impuestos que almacena sus datos financieros personales de cara a la declaración de la renta.

1.10.2.3) Analistas de sistemas y programadores de aplicaciones (ingenieros de software).

Los analistas de sistemas determinan los requisitos de los usuarios finales, especialmente de los usuarios finales principiantes y paramétricos, así como las especificaciones de desarrollo para las transacciones enlatadas que satisfacen esos requisitos. Los programadores de aplicaciones implementan esas especificaciones como programas; después, verifican, depuran, documentan y mantienen esas transacciones enlatadas. Dichos analistas y programadores (normalmente conocidos como desarrolladores de software o ingenieros de software) deben familiarizarse con todas las posibilidades proporcionadas por el SGDB al objeto de desempeñar sus tareas.

1.11) Arquitectura Cliente/Servidor.

La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.

Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta.

Normalmente el servidor es una máquina bastante potente que actúa de depósito de datos y funciona como un sistema gestor de base de datos (SGBD). Por otro lado los clientes suelen ser estaciones de trabajo que solicitan varios servicios al servidor.

Ambas partes deben estar conectadas entre sí mediante una red.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

Este tipo de arquitectura es la más utilizada en la actualidad, debido a que es la más avanzada y la que mejor ha evolucionado en estos últimos años.

Podemos decir que esta arquitectura necesita tres tipos de software para su correcto funcionamiento:

Software de gestión de datos: Este software se encarga de la manipulación y gestión de los datos almacenados y requeridos por las diferentes aplicaciones. Normalmente este software se aloja en el servidor.

Software de desarrollo: este tipo de software se aloja en los clientes y solo en aquellos que se dedique al desarrollo de aplicaciones.

Software de interacción con los usuarios: También reside en los clientes y es la aplicación gráfica de usuario para la manipulación de datos, siempre claro a nivel usuario (consultas principalmente).

A parte de estos existen más aplicaciones software para el correcto funcionamiento de esta arquitectura pero ya están condicionados por el tipo de sistema operativo instalado, el tipo de red en la que se encuentra, etc.

1.12) Arquitectura Multicapas.

Está basada en tres tipos de capas, que son: Presentación o Interfaces, Reglas de Negocios y Datos.

- La Primera Capa (Presentación o Interfaces) , es la página inicial (Visual – Gráfica) que permite al usuario ver el diseño del programa. - La Segunda Capa (Reglas de Negocios) , es la capa intermedia del programa donde se maneja las transacciones y reglas del negocio, actuando como intermediario entre las interfaces del usuario y la otra capa que es la de los datos. - La Tercera Capa (Datos) , esta es la capa más importante del programa, ya que maneja la información basada en una plataforma potente permitiendo así una consistencia en la información, donde este proceso ayuda el resguardo de la información ante cualquier fallo que pueda tener el Software y el Hardware.

afectarán mínimamente). Esta independencia de los cambios también se conoce como encapsulación.

- Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que aseguran la seguridad en las transacciones, la amigabilidad de la interfaz

1.12.2) Desventajas de la Arquitectura Multicapas.

- Pone más carga a la red, debido al tráfico que genera en la red. La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran cantidad de clientes envían peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para éste (a mayor número de clientes, más problemas para el servidor). - El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware específico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el coste. - El cliente no dispone de los recursos que puedan existir en el servidor. - Es mucho más difícil programar y probar el software que en la arquitectura de dos niveles porque tienen que con más dispositivos para terminar la transacción del usuario.

2) Sistema Gestor de Base de Datos (SGDB).

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. Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. La gestión de los datos implica tanto la definición de estructuras para almacenar la información como la provisión de mecanismos para la manipulación de la información. Además, los sistemas de bases de datos deben proporcionar la fiabilidad de la información almacenada, a pesar de las caídas del sistema o los intentos de acceso sin autorización. Si los datos van a ser compartidos entre diversos usuarios, el sistema debe evitar posibles resultados anómalos. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.

Generalmente se accede a los datos mediante lenguajes de consulta, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También simplifican las consultas y la presentación de la información.

Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.

2.1) Evolución de los Sistemas Gestores de Bases de Datos.

Repaso de su evolución desde los años sesenta.

- Los años sesenta y setenta: sistemas centralizados:

Los SGBD de los años sesenta y setenta (IMS de IBM, IDS de Bull, DMS de Univac, etc.) eran sistemas totalmente centralizados, como corresponde a los sistemas operativos de aquellos años, y al hardware para el que estaban hechos: un gran ordenador para toda la empresa y una red de terminales sin inteligencia ni memoria.

Los primeros SGBD (en los años sesenta todavía no se les denominaba así) estaban orientados a facilitar la utilización de grandes conjuntos de datos en los que las interrelaciones eran complejas. El arquetipo de aplicación era el Bill of materials o Parts explosion, típica en las industrias del automóvil, en la construcción de naves espaciales y en campos similares. Estos sistemas trabajaban exclusivamente por lotes (batch).

Al aparecer los terminales de teclado, conectados al ordenador central mediante una línea telefónica, se empiezan a construir grandes aplicaciones on-line transaccionales (OLTP). Los SGBD estaban íntimamente ligados al software de comunicaciones y de gestión de transacciones.

Aunque para escribir los programas de aplicación se utilizaban lenguajes de alto nivel como Cobol o PL/I, se disponía también de instrucciones y de subrutinas especializadas para tratar las BD que requerían que el programador conociese muchos detalles del diseño físico, y que hacían que la programación fuese muy compleja.

Puesto que los programas estaban relacionados con el nivel físico, se debían modificar continuamente cuando se hacían cambios en el diseño y la organización de la BD. La preocupación básica era maximizar el rendimiento: el tiempo de respuesta y las transacciones por segundo.

- Los años ochenta: SGBD relacionales:

La aparición de los SGBD relacionales supone un avance importante para facilitar la programación de aplicaciones con BD y para conseguir que los programas sean independientes de los aspectos físicos de la BD.

Los ordenadores minis, en primer lugar, y después los ordenadores micros, extendieron la informática a prácticamente todas las empresas e instituciones.

Esto exigía que el desarrollo de aplicaciones fuese más sencillo. Los SGBD de los años setenta eran demasiado complejos e inflexibles, y sólo los podía utilizar un personal muy cualificado.

Todos estos factores hacen que se extienda el uso de los SGBD. La estandarización, en el año 1986, del lenguaje SQL produjo una auténtica explosión de los SGBD relacionales.

- Los años noventa: distribución, C/S y 4GL:

Al acabar la década de los ochenta, los SGBD relacionales ya se utilizaban prácticamente en todas las empresas. A pesar de todo, hasta la mitad de los noventa, cuando se ha necesitado un rendimiento elevado se han seguido utilizando los SGBD prerrelacionales.

A finales de los ochenta y principios de los noventa, las empresas se han encontrado con el hecho de que sus departamentos han ido comprando ordenadores departamentales y personales, y han ido haciendo aplicaciones con BD. El resultado ha sido que en el seno de la empresa hay