BASE DE DATOS

60
202 Au

Transcript of BASE DE DATOS

2022

Autor: SANTAMARÍA ACOSTA,

BASE DE DATOS

DEDICATORIA

Este presente Trabajo Monográfico dedico a mis padres y familiares

porque me brindaron su apoyo tanto moral y económicamente para

seguir estudiando y lograr el objetivo trazado para un futuro mejor

y ser orgullo para ellos y de toda la familia.

Pág. 2

BASE DE DATOS

INDICE DEL CONTENIDO

Pág.

INTRODUCCIÓN………………………………………………….…………………….……..….6

CAPÍTULO I

HISTORIA, CONCEPTO Y GENERALIDADES

1.1 HISTORIA………………………………………………..…………………………………7

1.2 CONCEPTO DE BASE DE DATOS……………………………………………………...8

1.2.1 PRIMER CONCEPTO…………………………………………….……………....8

1.2.2 SEGUNDO CONCEPTO……………………………………………...................8

1.2.3 TERCER CONCEPTO………………………………………………………….9

1.3 ELEMENTOS DE UNA BASE DE DATOS……………………………………………..10

1.4 CARACTERÍSTICAS DE LA BASE DE DATOS…………………………………….…11

1.5 IMPORTANCIA DE UNA BASE DE DATOS…………………………………………...12

CAPÍTULO II

SISTEMA DE GESTIÓN DE BASE DE DATOS

2.1 CONCEPTO……………………………………………………………………………….13

Pág. 3

BASE DE DATOS

2.2 MODELOS DE BASES DE DATOS………………………………………………….…14

2.2.1 BASES DE DATOS JERÁRQUICAS………………………………………...…14

2.2.2 BASE DE DATOS DE RED…………………………………………………...…15

2.2.3 BASES DE DATOS TRANSACCIONALES……………………………………16

2.2.4 BASES DE DATOS RELACIONALES………………………………………......17

2.2.4.1 ELEMENTOS……………………………………………………....18

2.2.5 BASES DE DATOS MULTIDIMENSIONALES……………………………..…..21

2.2.6 BASES DE DATOS ORIENTADAS A OBJETOS……………………………....21

2.2.7 BASES DE DATOS DOCUMENTALES………………………………………....22

2.2.8 BASES DE DATOS DEDUCTIVAS……………………………………………...23

2.3 VENTAJAS Y DESVENTAJAS DE LA SGBD……………………………………….....24

2.3.1 VENTAJAS………………………………………………………………………....24

2.3.2 DESVENTAJAS…………………………………………………………………….28

2.4 FUNCIONES DE UN SGBD……………………………………………………….…..….29

2.4.1 DEFINICIÓN DE DATOS……………………………………………………….…30

2.4.2 MANIPULACIÓN DE DATOS………………………………………………….…30

2.4.3 SEGURIDAD E INTEGRIDAD DE LOS DATOS…………………………….…31

2.4.4 GESTIÓN DE TRANSACCIONES Y ACCESO

CONCURRENTE…………..32

Pág. 4

BASE DE DATOS

CAPÍTULO III

TIPOS DE SGBD, LENGUAJES Y USUARIOS

3.1 TIPOS Y CARACTERÍSTICAS DE SGBD……………………………………………...34

3.1.1 POSTGRESQL………………………………………………………………….…34

3.1.2 FIREBIRD……………………………………………………………………….....37

3.1.3 SQLITE…………………………………………………………………………….38

3.1.4 DB2 EXPRESS-C………………………………………………………………... 39

3.1.5 APACHE DERBY……………………………………………………….………...39

3.1.6 MYSQL……………………………………………………………………..………40

3.2 LENGUAJES Y USUARIOS………………………………………………………...…...41

3.2.1 ADMINISTRADOR DE BASE DE DATOS……………………………………..43

CONCLUSIONES……………………………………………………………………………..….45

REFERNCIAS BIBLIOGRÁFICAS……………………………………………………………...47

Pág. 5

BASE DE DATOS

INTRODUCCIÓN

Este trabajo a de tratar sobre las Bases de Datos. Las bases

son cualquier conjunto de datos organizados para su almacenamiento

en la memoria de un ordenador o computadora, diseñado para

facilitar su mantenimiento y acceso de una forma estándar. Los

datos suelen aparecer en forma de texto, números o gráficos. Desde

su aparición en la década de 1950, se han hecho imprescindibles

para las sociedades industriales.

La Base de Datos tienen varios tipos entre ellos están: Base

de Datos Relacional, Base de Datos Jerárquica, Bases de Datos Red

Pág. 6

BASE DE DATOS

también sus tipos de Datos que pueden ser tanto de Entrada como de

Salida y los tipos de Datos para los campos de una tabla.

En el primer capítulo se detalla un poco de historia, la

variedad de conceptos, características e importancia de una base de

datos en la actualidad.

En el segundo capítulo se explica que es un sistema de

gestión de base de datos, los diferentes tipos de base de datos que

existen, las ventajas y desventajas al hacer uso un gestor de base

de datos en la actualidad así como sus funciones principales.

Finalmente en el tercer capítulo se da conocer los diferentes

tipos de SGBD (Sistema de Gestión de Base de Datos) y detallando

sus características de cada una de ellas como también los lenguajes

que utilizan para que un usuario pueda acceder a la data; y el rol

importante del DBA que cumple en una organización.

EL AUTOR

CAPÍTULO I

HISTORIA, CONCEPTO Y GENERALIDADES

Pág. 7

BASE DE DATOS

1.1 HISTORIA

Tuvieron sus orígenes en 1960 - 1962, cuando se empezaron a

usar las máquinas que codificaban la información en tarjetas

perforadas por medio de agujeros. Las bases de datos se crean con

el objetivo de almacenar grandes cantidades de datos que antes se

almacenaba en libros, lo que era lento, costoso y complejo

(cualquier actualización a realizar, había que hacerla en cada uno

de los libros en los que apareciera dicha información a modificar).

Las primeras bases de datos manejaban ficheros que eran

almacenados en tarjetas o soportes magnéticos. Cuando los

ordenadores evolucionan, aparecen las cintas y los discos, a la vez

que las maquinas son dotadas de mucha más potencia y facilidad de

manipulación, es por tanto en ese momento cuando las bases de datos

comienzan a ser realmente útiles.

En 1970 se convoca una Conferencia de Lenguajes de

Programación y se establece un modelo llamado CODASYL (Modelo para

el tratamiento de bases de datos que fue publicado por E. Cod en

1970. Cod, propuso una forma de organizar las bases de datos

mediante un modelo matemático lógico.

Una vez creado este modelo se crea un modelo estándar de actuación.

Pág. 8

BASE DE DATOS

1.2 CONCEPTOS DE BASE DE DATOS

1.2.1 PRIMER CONCEPTO

Una base de datos es una colección de información organizada

de forma que un programa de ordenador pueda seleccionar rápidamente

los fragmentos de datos que necesite. Una base de datos es un

sistema de archivos electrónico.

Las bases de datos tradicionales se organizan por campos,

registros y archivos. Un campo es una pieza única de información;

un registro es un sistema completo de campos; y un archivo es una

colección de registros. Por ejemplo, una guía de teléfono es

análoga a un archivo. Contiene una lista de registros, cada uno de

los cuales consiste en tres campos: nombre, dirección, y número de

teléfono.

A veces se utiliza DB, de database en inglés, para referirse

a las bases de datos.

1.2.2 SEGUNDO CONCEPTO

Pág. 9

BASE DE DATOS

Una base de datos (cuya abreviatura es BD) es una entidad en

la cual se pueden almacenar datos de manera estructurada, con la

menor redundancia posible. Diferentes programas y diferentes

usuarios deben poder utilizar estos datos. Por lo tanto, el

concepto de base de datos generalmente está relacionado con el

de red ya que se debe poder compartir esta información. De allí el

término base. "Sistema de información" es el término general

utilizado para la estructura global que incluye todos los

mecanismos para compartir datos que se han instalado.

1.2.3 TERCER CONCEPTO

Una base de datos es el conjunto de datos informativos

organizados en un mismo contexto para su uso y vinculación.

Se le llama base de datos a los bancos de información que

contienen datos relativos a diversas temáticas y categorizados de

distinta manera, pero que comparten entre sí algún tipo de vínculo

o relación que busca ordenarlos y clasificarlos en conjunto.

Una base de datos puede ser de diverso tipo, desde un pequeño

fichero casero para ordenar libros y revistas por clasificación

Pág. 10

BASE DE DATOS

alfabética hasta una compleja base que contenga datos de índole

gubernamental en un Estado u organismo internacional.

Recientemente, el término base de datos comenzó a utilizarse casi

exclusivamente en referencia a bases construidas a partir de

software informático, que permiten una más fácil y rápida

organización de los datos. Las bases de datos informáticas pueden

crearse a partir de software o incluso de forma online usando

Internet. En cualquier caso, las funcionalidades disponibles son

prácticamente ilimitadas.

1.3 ELEMENTOS DE UNA BASE DE DATOS

Datos: Es la parte esencial de la información, es decir, la

información que llega a la base de datos.

Pág. 11

BASE DE DATOS

Atributos: Son los diferentes campos que conforman la

estructura de una base de datos.

Campos: Es la unidad más pequeña de datos.

Registro: Es un conjunto de campos o atributos relacionados

entre sí.

Archivo: Es un conjunto de registros relacionados.

Pág. 12

BASE DE DATOS

1.4 CARACTERÍSTICAS DE LA BASE DE DATOS

Entre las principales características de los sistemas de base de

datos podemos mencionar:

Independencia lógica y física de los datos.

Redundancia mínima.

Acceso concurrente por parte de múltiples usuarios.

Integridad de los datos.

Consultas complejas optimizadas.

Seguridad de acceso y auditoría.

Respaldo y recuperación.

Acceso a través de lenguajes de programación estándar.

Pág. 13

BASE DE DATOS

1.5 IMPORTANCIA DE UNA BASE DE DATOS

Las bases de datos facilitan no solo el registro de gran cantidad

de datos son también el acceso a los mismos, lo cual permite

ahorrar tanto espacio físico como tiempo al momento de consultar

información contenida en ellas.

A nivel organizacional, las bases de datos resultan una ventaja

competitiva, siendo así una herramienta primordial al momento de

tomar decisiones ya que permiten:

Mantener comunicación constante con los clientes.

Conocer las tendencias de compra del mercado objetivo.

Personalizar la atención a los usuarios.

Generar estrategias de publicidad.

Utilizar segmentos específicos de clientes para colocar

productos específicos llegando de manera directa al

comprador o usuario.

Comentar las novedades, promociones y noticias relacionadas

con el negocio; y en algunas ocasiones, con el sector al que

se dedica la empresa.

En la actualidad, las bases de datos son el elemento fundamental en

Pág. 14

BASE DE DATOS

las aéreas que utilizan sistemas computarizados, debido a que

permite operar información de manera organizada, segura, confiable

y en grandes cantidades.

CAPÍTULO II

SISTEMA DE GESTIÓN DE BASE DE DATOS

(SGBD)

2.1 CONCEPTO

Los Sistemas de Gestión de Base de Datos (en inglés Data Base

Management System) son un tipo de software muy específico, dedicado

a servir de interfaz entre la base de datos, el usuario y las

aplicaciones que la utilizan. Se compone de un lenguaje de

definición de datos, de un lenguaje de manipulación de datos y de

un lenguaje de consulta.

Pág. 15

BASE DE DATOS

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

Pág. 16

BASE DE DATOS

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:

2.2.1 BASES DE DATOS JERÁRQUICAS

En este modelo los datos se organizan en forma de árbol

invertido (algunos dicen raíz), 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.

Una de las principales limitaciones de este modelo es su

incapacidad de representar eficientemente la redundancia de

datos.

Pág. 17

BASE DE DATOS

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

Pág. 18

BASE DE DATOS

2.2.3 BASES DE DATOS TRANSACCIONALES

Son bases de datos cuyo único fin es el envío y recepción de

datos a grandes velocidades, estas bases son muy poco comunes

y están dirigidas por lo general al entorno de análisis de

calidad, datos de producción e industrial, es importante

entender que su fin único es recolectar y recuperar los datos

a la mayor velocidad posible, por lo tanto la redundancia y

duplicación de información no es un problema como con las

demás bases de datos, por lo general para poderlas aprovechar

al máximo permiten algún tipo de conectividad a bases de datos

relacionales.

Un ejemplo habitual de transacción es el traspaso de una

cantidad de dinero entre cuentas bancarias. Normalmente se

realiza mediante dos operaciones distintas, una en la que se

decrementa el saldo de la cuenta origen y otra en la que

incrementamos el saldo de la cuenta destino. Para garantizar

la atomicidad del sistema (es decir, para que no aparezca o

desaparezca dinero), las dos operaciones deben ser atómicas,

Pág. 19

BASE DE DATOS

es decir, el sistema debe garantizar que, bajo cualquier

circunstancia (incluso una caída del sistema), el resultado

final es que, o bien se han realizado las dos operaciones, o

bien no se ha realizado ninguna.

2.2.4 BASES DE DATOS RELACIONALES

Éste es el modelo utilizado en la actualidad para representar

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

Pág. 20

BASE DE DATOS

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.

2.2.4.1 ELEMENTOS

Relaciones Base y Derivadas

Pág. 21

BASE DE DATOS

En una base de datos relacional, todos los datos se almacenan

y se accede a ellos por medio de relaciones. Las relaciones

que almacenan datos son llamadas "relaciones base" y su

implementación es llamada "tabla". Otras relaciones no

almacenan datos, pero 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 tabla.

Restricciones

Una restricción es una limitació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 limitan 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.

Pág. 22

BASE DE DATOS

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

"cualquier valor de este atributo debe ser elemento del

conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto,

fecha, no procedurales, etc.

Clave primaria

Una clave primaria es una clave única elegida entre todas las

candidatas que define unívocamente a todos los demás atributos

de la tabla, 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.

Clave foránea

Una clave foránea es una referencia a una clave en otra tabla,

determina la relación existente en dos tablas. Las claves

foráneas no necesitan ser claves únicas en la tabla donde

están y sí a donde están referenciadas.

Pág. 23

BASE DE DATOS

Por ejemplo, el código de departamento puede ser una clave

foránea en la tabla de empleados. Se permite que haya varios

empleados en un mismo departamento, pero habrá uno y sólo un

departamento por cada clave distinta de departamento en la

tabla de departamentos.

Clave índice

Las claves índices 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.

Pág. 24

BASE DE DATOS

2.2.5 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 relacional 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 aprender.

2.2.6 BASES DE DATOS ORIENTADAS A OBJETOS

Pág. 25

BASE DE DATOS

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

Pág. 26

BASE DE DATOS

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.

SQL: 2003, es el estándar de SQL92 ampliado, soporta los

conceptos orientados a objetos y mantiene la compatibilidad

con SQL92.

2.2.7 BASES DE DATOS DOCUMENTALES

Permiten la indexación a texto completo, y en líneas generales

realizar búsquedas más potentes. Tesaurus es un sistema de

índices optimizado para este tipo de bases de datos.

Pág. 27

BASE DE DATOS

2.2.8 BASES DE DATOS DEDUCTIVAS

Un sistema de base de datos deductiva, es un sistema de base

de datos pero con la diferencia de que permite hacer

deducciones a través de inferencias. Se basa principalmente en

reglas y hechos que son almacenados en la base de datos. Las

bases de datos deductivas son también llamadas bases de datos

lógicas, a raíz de que se basa en lógica matemática. Este tipo

de base de datos surge debido a las limitaciones de la Base de

Datos Relacional de responder a consultas recursivas y de

deducir relaciones indirectas de los datos almacenados en la

base de datos.

Pág. 28

BASE DE DATOS

2.3 VENTAJAS Y DESVENTAJAS DE LA SGBD

2.3.1 VENTAJAS

Control sobre la redundancia de datos:

Los sistemas de ficheros almacenan varias copias de los mismos

datos en ficheros distintos. Esto hace que se desperdicie

espacio de almacenamiento, además de provocar la falta de

consistencia de datos.

En los sistemas de bases de datos todos estos ficheros están

integrados, por lo que no se almacenan varias copias de los

mismos datos. Sin embargo, en una base de datos no se puede

eliminar la redundancia completamente, ya que en ocasiones es

necesaria para modelar las relaciones entre los datos.

Pág. 29

BASE DE DATOS

Consistencia de datos:

Eliminando o controlando las redundancias de datos se reduce

en gran medida el riesgo de que haya inconsistencias. Si un

dato está almacenado una sola vez, cualquier actualización se

debe realizar sólo una vez, y está disponible para todos los

usuarios inmediatamente. Si un dato está duplicado y el

sistema conoce esta redundancia, el propio sistema puede

encargarse de garantizar que todas las copias se mantienen

consistentes.

Compartir datos:

En los sistemas de ficheros, los ficheros pertenecen a las

personas o a los departamentos que los utilizan. Pero en los

sistemas de bases de datos, la base de datos pertenece a la

empresa y puede ser compartida por todos los usuarios que

estén autorizados.

Pág. 30

BASE DE DATOS

Mantenimiento de estándares:

Gracias a la integración es más fácil respetar los estándares

necesarios, tanto los establecidos a nivel de la empresa como

los nacionales e internacionales. Estos estándares pueden

establecerse sobre el formato de los datos para facilitar su

intercambio, pueden ser estándares de documentación,

procedimientos de actualización y también reglas de acceso.

Mejora en la integridad de datos:

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.

Mejora en la seguridad:

Pág. 31

BASE DE DATOS

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.

Mejora en la accesibilidad a los datos:

Muchos SGBD proporcionan lenguajes de consultas o generadores

de informes que permiten al usuario hacer cualquier tipo de

consulta sobre los datos, sin que sea necesario que un

programador escriba una aplicación que realice tal tarea.

Mejora en la productividad:

El SGBD proporciona muchas de las funciones estándar que el

programador necesita escribir en un sistema de ficheros. A

nivel básico, el SGBD proporciona todas las rutinas de manejo

de ficheros típicas de los programas de aplicación.

El hecho de disponer de estas funciones permite al programador

centrarse mejor en la función específica requerida por los

usuarios, sin tener que preocuparse de los detalles de

implementación de bajo nivel.

Pág. 32

BASE DE DATOS

Mejora en el mantenimiento:

En los sistemas de ficheros, las descripciones de los datos se

encuentran inmersas en los programas de aplicación que los

manejan.

Esto hace que los programas sean dependientes de los datos, de

modo que un cambio en su estructura, o un cambio en el modo en

que se almacena en disco, requiere cambios importantes en los

programas cuyos datos se ven afectados.

Sin embargo, los SGBD separan las descripciones de los datos

de las aplicaciones. Esto es lo que se conoce como

independencia de datos, gracias a la cual se simplifica el

mantenimiento de las aplicaciones que acceden a la base de

datos.

Aumento de la concurrencia:

Pág. 33

BASE DE DATOS

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.

Mejora en los servicios de copias de seguridad:

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.

En este caso, todo el trabajo realizado sobre los datos desde

que se hizo la última copia de seguridad se pierde y se tiene

que volver a realizar. Sin embargo, los SGBD actuales

Pág. 34

BASE DE DATOS

funcionan de modo que se minimiza la cantidad de trabajo

perdido cuando se produce un fallo.

2.3.2 DESVENTAJAS

Complejidad:

Los SGBD son conjuntos de programas que pueden llegar a ser

complejos con una gran funcionalidad. Es preciso comprender

muy bien esta funcionalidad para poder realizar un buen uso de

ellos.

Coste del equipamiento adicional:

Tanto el SGBD, como la propia base de datos, pueden hacer que

sea necesario adquirir más espacio de almacenamiento. Además,

para alcanzar las prestaciones deseadas, es posible que sea

Pág. 35

BASE DE DATOS

necesario adquirir una máquina más grande o una máquina que se

dedique solamente al SGBD. Todo esto hará que la implantación

de un sistema de bases de datos sea más cara.

Vulnerable a los fallos:

El hecho de que todo esté centralizado en el SGBD hace que el

sistema sea más vulnerable ante los fallos que puedan

producirse. Es por ello que deben tenerse copias de seguridad

(Backup).

2.4 FUNCIONES DE UN SGBD

Las principales funciones que debe realizar un S.G.B.D. son:

 

La definición de los datos.

La manipulación de los datos.

Garantizar la seguridad e integridad de los datos.

La gestión de las transacciones y el acceso concurrente.

Pág. 36

BASE DE DATOS

2.4.1 DEFINICIÓN DE DATOS

Mediante el Lenguaje de Definición de datos (L.D.D.) el

S.G.B.D. permite describir y definir los esquemas de la base

de datos. Este lenguaje debe permitir:

 

La creación de objetos conceptuales

La descripción de estructuras físicas

La definición de vistas

Para una base de datos existente, el L.D.D. debe permitir

también:

La modificación de la descripción de objetos conceptuales

El borrado de objetos conceptuales

La modificación y borrado de caminos de acceso

La modificación de las vistas

 

Un L.D.D. está compuesto por un conjunto de comandos que

actúan sobre los objetos conceptuales y sobre los objetos

físicos. El conjunto de las descripciones de objetos de una

base de datos se le conoce con el nombre de diccionario de

datos.

Pág. 37

BASE DE DATOS

2.4.2 MANIPULACIÓN DE DATOS

La función de manipulación de datos se encarga de todas las

operaciones de intercambio de datos entre los usuarios y la

base de datos. Esta función se hace con la ayuda del Lenguaje

de Manipulación de datos (L.M.D.), que está compuesto

por un conjunto de comandos que nos permiten la consulta o

puesta al día (inserción, modificación y borrado) de los datos

de una base de datos.

 

Los L.M.D. funciona de forma diferente, según el modelo de

datos:

En los modelos en red y jerárquicos son, lenguajes

procedimentales (se indica que datos se quieren y como se

van a obtener esos datos), es decir, los programadores deben

indicar el camino a seguir para acceder a los datos

solicitados.

 

En el modelo relacional son lenguajes declarativos o no

procedimentales (se indica que datos se quieren pero no la

forma de obtenerlos), y no es necesario indicar cómo se

tiene que acceder a los datos, es suficiente indicar qué es

lo que se desea obtener.

Pág. 38

BASE DE DATOS

2.4.3 SEGURIDAD E INTEGRIDAD DE LOS DATOS

Se trata de garantizar la coherencia de los datos, comprobando

que sólo los usuarios autorizados puedan efectuar las

operaciones correctas sobre la base de datos. Esto se consigue

mediante:

 

Un control sobre los usuarios que acceden a la base de datos

y los tipos de operaciones que están autorizados a realizar.

Este control se llama gestión de autorizaciones, y permite

crear o borra usuarios y conceder o retirar derechos a

efectuar determinados tipos de operaciones (por ejemplo:

crear objetos, borrar objetos, modificar datos, etc.).

 

La validación de las operaciones realizadas con los datos.

Este control se hace mediante un conjunto de reglas

llamadas restricciones de integridad. Existen varios tipos

de restricciones de integridad, como por ejemplo, las

restricciones de integridad referencial, que imponen que las

modificaciones realizadas sobre algunos datos, obliguen a

realizar modificaciones de otros datos con los que están

enlazados (por ejemplo, si se modifica el código de un

Pág. 39

BASE DE DATOS

artículo, se debería modificar ese código en todos los

pedidos que soliciten el artículo).

 

Una protección de los datos contra los accesos

malintencionados y los fallos. Los accesos malintencionados

se suelen evitar con la asignación de palabras de paso

(password) a los usuarios, la definición de vistas,

protección física de los datos (encriptado de los datos).

Con respecto a los fallos causados por manipulaciones

incorrectas, o accidentes lógicos o físicos, los S.G.B.D.

suelen disponer de utilidades de recuperación de los datos

después de un fallo.

 

La correcta utilización de todas estas operaciones de

seguridad e integridad constituye una tarea esencial del

Administrador de la base de datos (gestión de usuarios y sus

derechos, gestión de vistas y recuperación después de un

fallo).

2.4.4 GESTIÓN DE TRANSACCIONES Y ACCESO CONCURRENTE

El principal objetivo de la implantación de una base de datos

en un sistema de información de una organización, es poner a

disposición de un gran número de usuarios un conjunto

integrado de datos. El S.G.B.D. debe proteger los datos cuando

Pág. 40

BASE DE DATOS

estos sean manipulados simultáneamente por diferentes

usuarios.

 

Una transacción se define como una unidad lógica de

tratamiento (conjunto de órdenes) que aplicada a un estado

coherente de la base de datos la deja, de nuevo, en un estado

coherente, después de hacer las modificaciones. Una

transacción solo se puede ejecutar completamente o ser

anulada.

 

Para controlar la ejecución simultánea de transacciones es

necesario una buena gestión de acceso concurrente que controle

que  la ejecución paralela de transacciones da el mismo

resultado que una ejecución secuencial. Para controlar la

ejecución paralela, la solución clásica consiste en bloquear

momentáneamente los datos utilizados por una transacción hasta

que finalice la actualización y las demás transacciones que

demandan estos datos se ponen en espera hasta que quedan

desbloqueados.

 

Un parámetro importante que afecta al rendimiento es el nivel

de bloqueo de datos, llamado granularidad del bloque. Esta

Pág. 41

BASE DE DATOS

granularidad puede ser lógica (toda la base, una tabla, una

línea) o física (segmento, fichero, página).

 

La consecuencia de esta técnica de bloqueos es el riesgo del

interbloqueo (llamado bloqueo mortal), que sucede cuando dos o

más transacciones se encuentran a la espera de que queden

liberados datos que tiene bloqueados otra transacción que

espera por los datos que están bloqueados por las

transacciones anteriores. El S.G.B.D. debe estar capacitado

para detectar esta situación y desbloquearla.

 

 

Otras funciones que deben realizar los S.G.B.D. son:

Capacidad de auditoria: Para el administrador de la base de datos

es muy importante conocer quien accede a la base de datos y

que operaciones realiza. Un buen S.G.B.D debe poder

proporcionarle esa información.

 

Pág. 42

BASE DE DATOS

Garantizar un tiempo de respuesta idóneo para el diálogo entre los

usuarios y la base de datos en los procesos en línea.

CAPÍTULO III

TIPOS DE SGBD, LENGUAJE Y USUARIOS

3.1 TIPOS Y CARACTERÍSTICAS DE SGBD

3.1.1 POSTGRESQL

PostgreSQL es un sistema de gestión de base de datosrelacional orientada a objetos y libre, publicado bajo lalicencia BSD. Como muchos otros proyectos de código abierto,el desarrollo de PostgreSQL no es manejado por una empresa y/opersona, sino que es dirigido por una comunidad dedesarrolladores que trabajan de formas desinteresadas,altruistas, libres y/o apoyadas por organizacionescomerciales. 

Características:

Alta concurrencia

Pág. 43

BASE DE DATOS

Mediante un sistema denominado MVCC (Acceso concurrente

multiversión, por sus siglas en inglés) PostgreSQL permite que

mientras un proceso escribe en una tabla, otros accedan a la

misma tabla sin necesidad de bloqueos.

Amplia variedad de tipos nativos

PostgreSQL provee nativamente soporte para:  * Números de precisión arbitraria.   * Texto de largo ilimitado.   * Figuras geométricas (con una variedad de funciones asociadas).   * Direcciones IP (IPv4 e IPv6).   * Bloques de direcciones estilo CIDR.   * Direcciones MAC.   * Arrays. 

Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a lainfraestructura GiST de PostgreSQL.

Pág. 44

BASE DE DATOS

Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys). 

Disparadores (triggers): Un disparador o trigger se define

como una acción específica que se realiza de acuerdo a un

evento, cuando éste ocurra dentro de la base de datos. 

Tipos de datos y operaciones geométricas

Soporte para transacciones distribuidas. Permite a PostgreSQL

integrase en un sistema distribuido formado por varios

recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una

cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un

servidor de aplicaciones donde el éxito ("commit") de la

transacción globlal es el resultado del éxito de las

transacciones locales. 

Pág. 45

BASE DE DATOS

3.1.2 FIREBIRD 

Firebird es un sistema de administración de base de datos

relacional (o RDBMS) (Lenguaje consultas: SQL) de código

abierto, basado en la versión 6 de Interbase, cuyo código fue

liberado por Borland en 2000. Su código fue reescrito de C a

C++. El proyecto se desarrolla activamente, el 18 de abril de

2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009

fue liberada la versión 2.5.0 RC1.

Es multiplataforma, y actualmente puede ejecutarse en los

sistemas operativos:

Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.

Ejecutable pequeño, con requerimientos de hardware

bajos. 

 Arquitectura Cliente/Servidor sobre protocolo TCP/IP y

otros (embedded). 

Soporte de transacciones ACID y claves foráneas. 

Es medianamente escalable. 

Pág. 46

BASE DE DATOS

Buena seguridad basada en usuarios/roles. 

Diferentes arquitecturas, entre ellas el Servidor

Embebido (embedded server) que permite ejecutar

aplicaciones monousuario en ordenadores sin instalar el

software Firebird. 

Bases de datos de sólo lectura, para aplicaciones que

corran desde dispositivos sin capacidad de escritura como

cd-roms. 

Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl,

.net, etc. 

Completo lenguaje para la escritura de disparadores y

procedimientos almacenados denominado PSQL. 

Capacidad de almacenar elementos BLOB (Binary Large

OBjects). 

 

3.1.3 SQLITE

SQLite es un sistema de gestión de bases de datos relacional

compatible con ACID, contenida en una relativamente pequeña

(275 kiB) biblioteca en C. SQLite es un proyecto de dominio

público creado por D. Richard Hipp.

Pág. 47

BASE DE DATOS

A diferencia de los sistemas de gestión de bases de datos

cliente-servidor, el motor de SQLite no es un proceso

independiente con el que el programa principal se comunica.

En lugar de eso, la biblioteca SQLite se enlaza con el

programa pasando a ser parte integral del mismo.

Características: 

La biblioteca implementa la mayor parte del estándar SQL-92,

incluyendo transacciones de base de datos atómicas,

consistencia de base de datos, aislamiento, y durabilidad

(ACID), triggers y la mayor parte de las consultas complejas.

SQLite usa un sistema de tipos inusual. En lugar de asignar un

tipo a una columna como en la mayor parte de los sistemas de

bases de datos SQL, los tipos se asignan a los valores

individuales.

Varios procesos o hilos pueden acceder a la misma base de

datos sin problemas.

Varios accesos de lectura pueden ser servidos en paralelo. Un

acceso de escritura sólo puede ser servido si no se está

sirviendo ningún otro acceso concurrentemente.

Pág. 48

BASE DE DATOS

3.1.4 DB2 EXPRESS-C 

DB2 express-C es un motor de base de datos perteneciente a la

empresa IBM, conteniendo parte de las funcionalidades de la

versión de pago DB2 propiedad también de la empresa IBM, este

motor de base de datos es gratuita pero no libre (como

aquellas que tienen licencia GPL) y cuenta con la ventaja de

no tener límite de crecimiento en sus archivos de base de

datos.

3.1.5 APACHE DERBY 

Apache Derby es un sistema gestor de base de datos relacional

escrito en Java que puede ser empotrado en aplicaciones Java y

utilizado para procesos de transacciones online. Tiene un

tamaño de 2 MB de espacio en disco. Inicialmente distribuido

como IBM Cloudscape, Apache Derby es un proyecto open source

licenciado bajo la Apache 2.0 License. Actualmente se

distribuye como Sun Java DB.

Características:

 APIs para JDBC y SQL. Soporta todas las características

de SQL92 y la mayoría de SQL99. 

Pág. 49

BASE DE DATOS

Su código mide alrededor de 2000KB comprimido. 

Soporta cifrado completo, roles y permisos. Además posee

SQL SCHEMAS para separar la información en una única base

de datos y control completo de usuarios. 

Soporta internamente procedures, cifrado y compresión. 

Trae soporte multilenguaje y localizaciones específicas. 

A partir de la versión 10.4 trae un sistema simple de

replicación maestro-esclavo. 

Transacciones y recuperación ante errores ACID.

   

   

3.1.6 MYSQL

MySQL es un sistema de gestión de bases de datos relacional,

multihilo y multiusuario con más de seis millones de

instalaciones. MySQL AB —desde enero de 2008 una subsidiaria

de Sun Microsystems y ésta a su vez de Oracle Corporation

Pág. 50

BASE DE DATOS

desde abril de 2009— desarrolla MySQL como software libre en

un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso

compatible con esta licencia, pero para aquellas empresas que

quieran incorporarlo en productos privativos deben comprar a

la empresa una licencia específica que les permita este uso.

Está desarrollado en su mayor parte en ANSI C.

Características

Inicialmente, MySQL carecía de elementos considerados

esenciales en las bases de datos relacionales, tales como

integridad referencial y transacciones. A pesar de ello,

atrajo a los desarrolladores de páginas web con contenido

dinámico, justamente por su simplicidad.

Poco a poco los elementos de los que carecía MySQL están

siendo incorporados tanto por desarrollos internos, como por

desarrolladores de software libre. Entre las

Características disponibles en las últimas versiones se puede

destacar:

Pág. 51

BASE DE DATOS

Amplio subconjunto del lenguaje SQL. Algunas extensiones son

incluidas igualmente. 

Disponibilidad en gran cantidad de plataformas y sistemas. 

Posibilidad de selección de mecanismos de almacenamiento que

ofrecen diferente velocidad de operación, soporte físico,

capacidad, distribución geográfica, transacciones... 

Transacciones y claves foráneas. 

Conectividad segura. 

Replicación.

Búsqueda e indexación de campos de texto. 

3.2 LENGUAJES Y USUARIOS

Para comunicarse con el SGBD, el usuario, ya sea un programa de

aplicación o un usuario directo, se vale de un lenguaje. Hay muchos

lenguajes diferentes, según el tipo de usuarios para los que están

pensados y el tipo de cosas que los usuarios deben poder expresar

con ellos:

a) Habrá usuarios informáticos muy expertos que querrán

escribir procesos complejos y que necesitarán lenguajes

complejos.

Pág. 52

BASE DE DATOS

b) Sin embargo, habrá usuarios finales no informáticos,

ocasionales (esporádicos), que sólo harán consultas. Estos

usuarios necesitarán un lenguaje muy sencillo, aunque dé un

rendimiento bajo en tiempo de respuesta.

c) También podrá haber usuarios finales no informáticos,

dedicados o especializados. Son usuarios cotidianos o,

incluso, dedicados exclusivamente a trabajar con la BD.

Estos usuarios necesitarán lenguajes muy eficientes y compactos,

aunque no sea fácil aprenderlos. Tal vez serán lenguajes

especializados en tipos concretos de tareas.

El lenguaje SQL, que es el más utilizado en las BD relacionales,

tiene verbos instrucciones de tres tipos diferentes:

Verbos del tipo DML; por ejemplo, SELECT para hacer consultas,

e INSERT, UPDATE y DELETE para hacer el mantenimiento de los

datos.

Verbos del tipo DDL; por ejemplo, CREATE TABLE para definir

las tablas, sus columnas y las restricciones.

Además, SQL tiene verbos de control del entorno, como por

ejemplo COMMIT y ROLLBACK para delimitar transacciones.

Pág. 53

BASE DE DATOS

En cuanto a los aspectos DML, podemos diferenciar dos tipos de

lenguajes:

a) Lenguajes muy declarativos (o implícitos), con los que se

especifica qué se quiere hacer sin explicar cómo se debe hacer.

b) Lenguajes más explícitos o procedimentales, que nos exigen

conocer más cuestiones del funcionamiento del SGBD para detallar

paso a paso cómo se deben realizar las operaciones (lo que se

denomina navegar por la BD).

Como es obvio, los aspectos DDL (las descripciones de los datos)

son siempre declarativos por su propia naturaleza.

Los lenguajes utilizados en los SGBD pre relacionales eran

procedimentales. SQL es básicamente declarativo, pero tiene

posibilidades procedimentales.

Aunque casi todos los SGBD del mercado tienen SQL como lenguaje

nativo, ofrecen otras posibilidades, como por ejemplo 4GL y

herramientas visuales:

Lenguajes 4GL (4th Generation Languages) de muy alto nivel,

que suelen combinar elementos procedimentales con elementos

declarativos.

Pretenden facilitar no sólo el tratamiento de la BD, sino

también la definición de menús, pantallas y diálogos.

Pág. 54

BASE DE DATOS

Herramientas o interfaces visuales muy fáciles de utilizar,

que permiten usar las BD siguiendo el estilo de diálogos con

ventanas, iconos y ratón, puesto de moda por las aplicaciones

Windows. No sólo son útiles a los usuarios no informáticos,

sino que facilitan mucho el trabajo a los usuarios

informáticos: permiten consultar y actualizar la BD, así como

definirla y actualizar su definición con mucha facilidad y

claridad.

3.2.1 ADMINISTRADOR DE BASE DE DATOS

Son los responsables del correcto funcionamiento de la BD y

velan para que siempre se mantenga útil. Intervienen en

situaciones problemáticas o de emergencia, pero su

responsabilidad fundamental es velar para que no se produzcan

incidentes. A continuación damos una lista de tareas típicas

del ABD:

Mantenimiento, administración y control de los esquemas.

Comunicación de los cambios a los usuarios.

Asegurar la máxima disponibilidad de los datos; por ejemplo,

haciendo copias (back-ups), administrando diarios (journals o

logs), reconstruyendo la BD, etc.

Pág. 55

BASE DE DATOS

Resolución de emergencias.

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

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

reestructuraciones.

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.

Normativa y asesoramiento a los programadores y a los usuarios

finales sobre la utilización de la BD.

Control y administración de la seguridad: autorizaciones,

restricciones, etc.

Pág. 56

BASE DE DATOS

CONLUSIONES

1) Que las bases de datos forman el núcleo de las principales

aplicaciones, sitio web y servicios corporativos. 

2) Que en todos los casos hay herramientas de gestión y control

que permiten verificar su funcionamiento y eventualmente

corregirlo.

3) También se entiende que tiene una elevada capacidad y solidez

para administrar la información sin fallos ni errores.

4) Que una base de datos conlleva la existencia de tres tipos de

usuarios que son el:

Diseño el cual administra los datos. 

Desarrollador implementa las transacciones e interfaces.

Usuarios finales los cuales consultan y editan los datos.

Pág. 57

BASE DE DATOS

5) Que el propósito de una base de datos es responder a consultas

y ejecutar transacciones de datos.

6) Durante la realización de este trabajo, aprendimos acerca, de

los sistemas de gestión de bases de datos, y su importancia y

utilidad a la hora de almacenar, clasificar y manejar

información, de cualquier tipo.

7) Desde usuarios particulares, hasta grandes empresas, gozan de

las ventajas que brindan los SGBD, desde clasificar la

información según el criterio deseado por el usuario,

modificar la información que contiene una base de datos, entre

otras.

8) MySQL ha sido un gestor de bases de datos muy útil desde que

fue creado, y con el tiempo, nuevas funciones se le añadieron,

expandiéndolo y volviéndolo más útil, y convirtiéndose así en

uno de los gestores de bases de datos más utilizados a nivel

mundial, junto a Oracle. Por otro lado, PostgreSQL es un SGBD

continuamente modificado y actualizado por un grupo de

desarrolladores a nivel mundial (PostgreSQL Global Development

Group), también basado en el lenguaje SQL.

Pág. 58

BASE DE DATOS

9) Hemos explicado que los componentes de un modelo de BD son las

estructuras, las restricciones y las operaciones. Los

diferentes modelos de BD se diferencian básicamente por sus

estructuras. Hemos hablado de los modelos más conocidos,

especialmente del modelo relacional, que está basado en

tablas.

10) Cada tipo de usuario del SGBD puede utilizar un lenguaje

apropiado para su trabajo. Unos usuarios con una tarea

importante y difícil son los administradores de las BD

REFERENCIAS BIBLIOGRÁFICAS

FUENTES DE TIPO WEB

http://es.wikipedia.org/wiki/Base_de_datos

Pág. 59

BASE DE DATOS

http://es.wikipedia.org/wiki/Modelo_relacional

http://fernandoflores707.blogspot.com/2010/07/tema-3-

conclusion-administracion-de.html

https://sites.google.com/site/rebecagonzalezfbd4sc4a/tareas/1-

9-sistemas-gestores-de-base-de-datos

http://www.ub.edu.ar/catedras/ingenieria/Datos/capitulo1/

cap16.htm

https://nopaltepecmanolos.wordpress.com/2011/05/29/funciones-

de-los-sistemas-gestores-de-base-de-datos/

https://tombasededatos.wordpress.com/2010/08/27/1-7-2-

funciones-de-un-gestor-de-base-de-datos/

http://brenyova.blogspot.com/2013/03/que-es-un-gestor-y-

cuales-son-sus-tipos.html

http://ocw.uoc.edu/computer-science-technology-and-

multimedia/bases-de-datos/bases-de-datos/P06_M2109_02147.pdf

Pág. 60