Introducción a la base de datos
KEVIN DANIEL CORONADO ANGARITA
Asesor: PEDRO JAVIER ARNEDO BLANCO
Universidad popular del cesar
Ingenierías y tecnologías
2021
Índice general
1. Conceptos de bases de datos
1.1. Base de datos
1.2. Sistema de gestión de bases de datos
1.3. Personas en el entorno de las bases de datos
1.4. Historia de los sistemas de bases de datos
1.5. Ventajas e inconvenientes
2. Modelo relacional
2.1. Modelos de datos
2.2. Estructura de datos relacional
2.3. Definiciones informales
2.4. Definiciones formales
2.5. Propiedades de las relaciones
2.6. Reglas de integridad
2.6.1 Nulos
2.7. Regla de integridad de entidades
2.8. Regla de integridad referencial
2.9. Reglas de negocio
Introducción
En el entorno del mercado actual, la velocidad de una empresa es esencial para el
éxito, para conseguir su objetivo es necesario una demanda de datos, por lo tanto,
más necesidad de gestionarlos. En los últimos años se disparado por las
aplicaciones, principalmente por las redes sociales y a la aparición de los
dispositivos móviles que requieren esta información.
En informática se conoce como dato a cualquier elemento informativo que tenga
relevancia para el usuario. Las nuevas tecnologías se han encargado de
proporcionar herramientas que faciliten la manipulación de datos. Antes de que
llegaran la informática que se tiene hoy día las empresas utilizaban ficheros con
cajones, carpetas y fichas de cartón. Manipular todo esto a mano costaba
demasiado tiempo, pero la informática ha adaptado sus herramientas para que los
elementos que el usuario utiliza en cuanto al manejo de datos se parezcan a los
manuales, por eso se sigue hablando de ficheros, formularios, carpetas,
directorios, etc.
Todos los sistemas de información actuales se basan en base de datos y sistemas
de bases de datos (SGBD) que se han convertido en elementos imprescindibles
de la vida cotidiana de la sociedad moderna.
1.1. Base de datos
Principalmente para empezar a indagar sobre este tema se debe tener claridad
sobre que es una base de datos. Una base de datos es un conjunto de datos
almacenados en una memoria externa mediante una estructura de datos.
Comúnmente las bases de datos están formadas por tablas, guardando así un
conjunto de diferentes datos con un tipo específico de organización, como, por
ejemplo, un colegio, un supermercado. Antes de las bases de datos existía un
sistema de fichero que seguía un modelo descentralizado, al momento que una
empresa llega a trabajas con este sistema de ficheros, los departamentos no
comparten información ni aplicaciones, por lo que datos comunes deben estar
duplicados en cada uno de ellos, por tal motivo puede generar inconsistencia en
los datos. Se produce inconsistencia cuando copias los mismos datos y no
coinciden, esto era un gran problema. Otro inconveniente que plantean los
sistemas de ficheros es que cuando los datos se separan en distintos ficheros, es
más complicado acceder a ellos, ya que el programador de aplicaciones debe
sincronizar el procesamiento de los distintos ficheros.
Al momento de crear una base de datos se crea un gran espacio para almacenar
datos, se crea solo una vez y se utiliza al mismo tiempo por distintos usuarios,
porque comparte la misma organización.
1.2. Sistema de gestión de bases de datos
El sistema de gestión de la base de datos (SGBD) es una aplicación que permite
al usuario definir, crear y mantener la base de datos, además de proporcionar un
acceso controlado a la misma. De una manera sencilla los usuarios del objeto solo
ven la especificación externa más no deben preocuparse de la parte interna del
objeto. Este modelo presenta una ventaja muy común y es conocido como
abstracción de datos, es donde se puede cambiar la implementación interna de un
objeto sin llegar a afectar a los usuarios ni lo que esté guardado en la base de
datos ya que la especificación externa no se ve alterada, del mismo modo, los
sistemas de la base de datos separan la definición de la estructura física de los
datos de su estructura lógica y almacenan esa información en la base de datos.
Un SGBD proporciona los siguientes servicios:
El SGBD permite especificar la estructura y el tipo de datos, así como las
restricciones sobre los datos.
El SGBD permite la inserción, actualización, eliminación y consulta de los
datos mediante un lenguaje de manejo de datos.
El SGBD proporciona un acceso controlado a la base de datos mediante
un sistema de seguridad, de modo que los usuarios no autorizados no
pueden acceder a la base de datos, un sistema de integridad que mantiene
la integridad y la consistencia de los datos.
Las bases de datos con está funcionalidad de estructura física de los datos y de su
almacenamiento, se convierte en una herramienta de gran utilidad, más sin
embargo desde el punto de vista del usuario se podría decir que los SGBD
convierten las cosas un poco complicadas, ya que ahora los usuarios ven más
datos de los que realmente quieren o necesitan, puesto que ven la base de datos
completa. Ya conociendo este inconveniente los SGBD proporcionan un
mecanismo de vistas que permite que cada usuario tenga su propia vista sobre la
base de datos.
Como se dijo anteriormente los SGBD no presentan la misma funcionalidad,
depende de cada producto. Las grandes SGBD multiusuarios ofrecen todas las
funcionalidades que se acaban de citar incluso más, convirtiendo los SGBD en
una continua evolución, tratando de satisfacer los requisitos de todo tipo de
usuario. Un ejemplo claro es que las aplicaciones de hoy en día necesitan
almacenar imágenes, vídeo, sonido, etc. Para satisfacer a este mercado los SGBS
deben evolucionar, conforme el tiempo transcurre irás surgiendo nuevos
requisitos, por los que las SGBD nunca permanecerán estáticos.
1.3. Personas en el entorno de las bases de datos
Existen cuatro grupos de personas que interactúan en el entorno de una base de
datos, los diseñadores de las bases de datos, los programadores de aplicaciones
y los usuarios.
El primero es el administrador de la base de datos, este es el encargado de la
implementación física de la base de datos: escoge los tipos de los ficheros de
datos y de los índices que deben crearse, determina donde deben ubicarse
ficheros e índices y, en general tomas las decisiones relativas al almacenamiento
físico en función de las posibilidades que le ofrezca el SGBD.
El segundo grupo es donde interactúan los diseñadores de la base de datos,
debiendo identificar los datos, las relaciones entre ellos y las restricciones sobre
los datos y sobre sus relaciones, el diseñador debe tener un profundo
conocimiento de los datos de la empresa.
Una vez diseñado e implementado la base de datos, viene el tercer grupo a
actuar, es donde los programadores de aplicaciones se encargan de implementar
los programas de la aplicación que servirán a los usuarios finales. Estos
programas de aplicación son los que permiten consultar datos, insertarlos y
eliminarlos.
Como último grupo tenemos a los usuarios finales, son los clientes de la base de
datos la cual ha sido diseñada e implementada y está siendo mantenida para
satisfacer sus requisitos en la gestión de su información.
1.4. Historia de los sistemas de base de datos
Los predecesores de los sistemas de bases de datos fueron los sistemas de
ficheros. Esto permite a los usuarios finales trabajar sobre los mismos. No existe
un momento concreto en el que los sistemas de ficheros hayan cesado y hayan
dado comienzo los sistemas de base de datos. De hecho, todavía existen
sistemas de ficheros en uso.
Se dice que los sistemas de bases de datos tienen raíces en el proyecto
estadounidense de mandar al hombre a la luna en los años sesenta, el proyecto
apolo. Ya que, en aquella época, no había ningún sistema de permitiera gestionar
la inmensa cantidad de información que requería el proyecto. Esta estructura, que
tiene la forma de un árbol, es lo que se denomina una estructura jerárquica.
A mitad de los sesenta, General Electric desarrolló IDS. Este trabajo fie dirigido
por uno de los pioneros en los sistemas de bases de datos, Charkes Bachmann.
Era un nuevo prototipo de sistemas de bases de datos conocido como sistema de
red, que produjo un gran efecto sobre los que parte, así se buscó satisfacer la
necesidad de representar relaciones entre datos más complejos que las que se
podían modelar con sistemas jerárquicos y parte para imponer un estándar de
bases de datos-.
Los sistemas jerárquicos y de red constituyen la primera generación de los SGBD.
Estos sistemas presentan algunos inconvenientes:
Es necesario escribir complejos programas de aplicación para responder
cualquier tipo de consulta de datos, por simple que sea.
La independencia de datos mínima.
No tiene un fundamente teórico.
En 1946, Peter Chen presentí el modelo entidad-relación que es la técnica más
usada en el diseño de bases de datos. En 1979, Codd intentó subsanar algunas
de las deficiencias de su modelo relacional con una versión denominada RM/T
(1979) y más recientemente RM/V2 (1990). Su Evolución viene marcada por la
base de datos orientadas a objetos.
Con los últimos años los avances tecnológicos de las comunicaciones han sido
muy importante, el emplazamiento lógico de cada una de las bases de datos se
denomina nodo que, por lo general, están ubicados en emplazamientos físicos
distantes geográficamente y se encuentra conectados por una red de
comunicación de datos, así como la variedad de nuevos caminos abiertos, han
conducido a investigadores y asociaciones interesadas, a reflexionar sobre el
futuro de esta tecnología. Estas reflexiones quedan recogidas en numerosos
debates y manifiestos que intentan poner orden en un campo en continua
expansión.
1.5. Ventajas e inconvenientes de los sistemas de bases de datos
Tiene todos los ficheros integrados por lo que no se almacenan
varias copias de los mismos datos.
Eliminando o controlando las redundancias de datos se reduce
en gran medida el riesgo que haya inconsistencia.
La integridad de la base de datos se refiere a la validez de los
datos almacenados-
Mejorar la seguridad de la base de datos, consiste la protección
de la base de datos frente a usuarios no autorizados.
Proporciona lenguajes de consulta o generadores de informes
que permiten al usuario hacer cualquier tipo de consulta sobre la
base de datos.
Proporciona todas las rutinas de manejo de ficheros típicas de
los programas de aplicación.
Mejorar el mantenimiento gracias a la independencia de datos,
esto hace que los programas sean dependientes de los datos de
modo que un cambio en su estructura requiere cambios
importantes en los programas.
Aumento de la concurrencia de esta manera en el sistema
pueden ingresar usuarios simultáneamente.
Mejora en los servicios de copia de seguridad y de recuperación
ante fallos en el sistema o en aplicaciones los usuarios tienen
que hacer copia de seguridad todos los días.
Además de tener ventajas, también plantea ciertos inconvenientes
entre los cuales se tiene:
Alta complejidad, son muy extensos con una gran funcionalidad.
Tienen un gran tamaño, los programas por ende tienen que ser
muy complejos, por eso requieren una cantidad de espacio en el
disco.
Tienen un gran coste económico, por ser muy complejos
anualmente se tiene que pagar un porcentaje por mantenimiento.
Coste de equipamiento adicional es una de las razones por las
que las empresas y organizaciones se resisten a cambiar su
sistema actual de ficheros.
Prestaciones, está escrito para una aplicación específica, por lo
que sus prestaciones suelen ser muy buenas.
Vulnerabilidad a fallos, el hecho de que todo esté centralizado
hace que el sistema sea más vulnerable ante fallos.
2.1. Modelos de datos
Es un conjunto de conceptos que sirven para describir la estructura de una base
de datos, es decir los datos, las relaciones entre los datos y las restricciones que
deben cumplirse sobre los datos. Los modelos de datos se caracterizan por tener
un conjunto de operaciones básicas para realizar consultas (lecturas) y
actualización de datos, además los sistemas más modernos incluyen mecanismos
para especificar acciones compensatorias o adicionales que se deben llevar a
cabo antas las acciones habituales.
Los modelos de datos se pueden clasificar dependiendo de los tipos de conceptos
que ofrecen para describir la estructura de la base de datos. Los conceptos de los
modelos físicos están dirigidos al personal informático, no a sus usuarios finales.
Cada SGBD soporta un modelo lógico, siendo los más comunes el relacional el
de la red y el jerárquico. Estos modelos representan los datos valiéndose de
estructuras de registros, por lo que también se denominan modelos orientados a
registros, los modelos físicos describen como se almacenan los datos en el
ordenador: el formato de los registros.
Se le denomina esquema de la base de datos a la descripción de una base de
datos mediante un modelo de datos, es especifico durante el diseño y no se
espera que se modifique a menudo, más sin embargo los datos almacenados en
las bases de datos cambian con mucha frecuencia, se insertan datos, se
actualizan, se borran entre otros. Los datos contienen un determinado momento
conforman el estado de la base de datos o como también se denomina: una
ocurrencia de la base de datos.
Cuando definimos una base de datos, solo especificamos su esquema al SGBD,
en ese momento, el estado de la base de datos es el estado vacío sin datos, de
ahí en adelante cada modificación se tendrá un nuevo estado.
Existe un modelo relacional que representa una segunda generación de los
SGBD, toda su estructura está a nivel lógico, como tablas formadas por filas y
columnas y el nivel físico puede tener una estructura completamente distinta, el
punto fuerte de este modelo es su sencillez, su estructura lógica, pero para esto se
debe tener un fundamento teórico bastante grade el cual carece la primera
generación de lo SGBD.
Dada la popularidad del modelo racional, muchos sistemas de la primera
generación se han modificado para proporcionar una interfaz de usuario con
independencias del modelo lógico que soportan (de red o jerárquico). Este modelo
tiene que ver con 3 aspectos: qué características tienen la estructura de datos,
como mantener la integridad de los datos y como realizar el manejo de los
mismos.
2.2. Estructura de datos relacional
En este apartado se presentan esta estructura de datos, sus propiedades, los tipos
de relaciones y qué es una clave de una relación. Para facilitar la comprensión de
las definiciones formales de todos estos conceptos, se dan antes unas
definiciones informales.
2.3. Definiciones informales
Es basado en un concepto matemático de relación, que gráficamente se
representa por medio de una tabla.
Una relación es una tabla con columnas y filas, solo necesita que el usuario
pueda percibir la base de datos como un conjunto de datos.
Un atributo es el nombre de la columna de una relación, las relaciones se
utilizan para almacenar información sobre objetos que representan las
bases de datos.
Un dominio es el conjunto de valores legales de uno o varios atributos, es
muy importante este concepto porque permite que el usuario defina en un
lugar común el significado y la fuente de los valores que los atributos
puedan tomar.
El grado de una relación es un número de atributos que contiene, es decir
que cada fila de la tabla es una tupla con cinco valores.
La cardinalidad de una relación es el número de tuplas que contiene, ya
que las relaciones se van insertando y borrando tuplas a menudo.
Una base de datos relacional es un conjunto de relaciones normalizadas.
2.4. Definiciones formales
Una relación R definida sobre un conjunto de dominios consta de:
Cabecera: conjunto fijo de pares atributo: dominio donde cada atributo A
corresponde a un único dominio D, no hay atributos que se llamen igual.
Cuerpo: conjunto variable de tuplas, cada tupla es un conjunto de pares
atributo.
2.5. Propiedades de las relaciones
Las relaciones tienen las siguientes características:
Cada relación tiene un nombre y este es distinto del nombre de todas las
demás.
Los dominios sobre los que definen los atributos son escalares por lo que
los valores de los atributos son atómicos.
No hay dos atributos que se llamen igual.
El orden de los atributos no importa: los atributos no están ordenados.
Esquema de una base de datos relacional
Para representar el esquema de una base de datos se debe dar el nombre de sus
relaciones, los atributos de estas, los dominios sobre los que se definen estos
atributos.
Un breve ejemplo sería un esquema de la siguiente forma.
Las claves primarias son los atributos subrayados.
2.6. Reglas de integridad
Una vez definida la estructura relacional, pasamos a las reglas de integridad. Hay
dos reglas importantes que son restricciones que se deben cumplir en todas las
bases de datos relacionales y en todos los estados, estas reglas son la regla de
integridad de entidades y la regla de integridad referencial, antes de esto
conozcamos este concepto.
2.6.1 Nulos
Cuando una tupla un atributo es desconocido, se dice que es nulo, no representa
el valor de cero ni la cadena vacía ya que estos son valores que tienen significado.
2.7. Regla de integridad de entidades
Ninguno de los atributos que componen la clave primaria puede ser nulo. Solo
aplica a las relaciones base y a las claves primarias, no al as claves alternativas .
2.8. Regla de integridad referencial
La segunda regla de integridad se aplica a las claves ajenas: si en una relación
hay alguna clave ajena, sus valores deben coincidir con los valores e la clave
primaria a la que hace referencia, o bien, deben ser completamente nulos.
Se enmarca en términos de estado de la base de datos indica que es un estado
ilegal, pero no dice que como puede evitarse, existen dos opciones rechazar o
aceptar la operación y realizar operaciones adicionales compensatorias que
conduzcan a un estado legal.
Para respetar la integridad referencial se debe contestar, para cada clave ajena, a
las tres preguntas que se plantean continuación y que determinarán su
comportamiento.
Regla de nulos
Regla de borrado
- Restringir
- Propagar
- Anular
- Valor por defecto
Regla de modificación
- Restringir
- Propagar
- Anular
- Valor por defecto
Del mismo modo, se deberá escoger reglas para el resto de las claves ajenas de
la base de datos. Una vez establecidas todas las reglas, el sistema se comportará
de manera coherente obedeciendo a todas las reglas impuestas.
2.9 Reglas de negocio.
Además de las reglas de integridad anteriores, es posibles que sea
necesario imponer ciertas restricciones específicas sobre los datos
que forman parte de la estrategia de funcionamiento de la empresa.
Conclusiones
El desarrollo de una base de datos depende principalmente de su diseño, es de
suma importancia seguir los pasos esenciales que se presentan ya que lo demás
dependerá del tipo de base de datos, pero al seguir los pasos podremos mejorar la
estabilidad y rapidez de consulta de la base de datos.
Es esencial que al momento de realizar la base de datos paulatinamente se esté
trabajando con los datos y ejemplos reales ya que lo cual nos dará una visión
mejor para la toma de decisiones y saber que método es oportuno usar.
Estos sistemas tienen un propósito claro, que es facilitar el manejo de la
información, el hecho de manejar una herramienta con tanto poder nos permite
tener el control sobre la organización y acceso de la información.
Las bases de datos son muy importantes y muy útiles al momento de guardar y
organizar mucha información, primordialmente en lugares laborales, negocios,
empresas, para poder llevar el control de inventarios o movimientos en la empresa
o simplemente ver el avance en los negocios.