BASE DE DATOS

Historia

1950-1960

Se da origen a las cintas magnéticas ayudando a la automatización de la información y realizar respaldos.

1960-1970

En esta época comenzó la primera generación de bases de datos de red y las bases de datos jerárquicas, ya que abría la posibilidad de almacenar estructuras de datos en listas y árboles.

1970-1980

Edgar Frank Codd aclaró el modelo relacional a la vez que publicó una serie de reglas para los sistemas de datos relacionales. Este hecho dio el nacimiento de la segunda generación de los Sistemas Gestores de Bases de Datos (SGBD).

1980-1990

se creó un lenguaje de consulta estructurado (SQL - Structured Query Language) que permitió realizar consultas con el fin de recuperar datos de interés de una Database (BD) y realizar modificaciones.

1990-2000

Surgió las bases de datos orientas a objetos que tuvieronbastante éxito en el momento de ejecutar datos complejos en los lugares donde las bases de datos relacionales no han podido desenvolverse con una manera eficaz. De esta forma se desarrollaron herramientas como Excel y Access.

Abtracción de la información

Es una técnica o metodología que permite diseñar estructuras de datos. La abstracción consiste en representar bajo ciertos lineamientos de formato las características esenciales de una estructura de datos. Este proceso de diseño evita los detalles específicos de implementación de los datos.

Se realiza a través de:

Niveles de Abstracción

Nivel físico

Describe cómo se almacenan realmente los datos. Se describen en detalle las estructuras de datos complejas de bajo nivel.

Nivel lógico

Es el siguiente nivel más alto de abstracción. Describe qué datos se almacenan en la base de datos y qué relaciones existen entre esos datos. Los administradores de bases de datos, que deben decidir la información que se mantiene en la base de datos, usan el nivel lógico de abstracción.

Nivel de vistas

El nivel más alto de abstracción describe sólo parte de la base de datos completa. Los usuarios que utilizan este nivel de abstracción tienen una gran simplificación en su interacción con el sistema, ya que ven un conjunto de programas de aplicación (vistas) que esconden los detalles de los tipos de datos. Además de esconder detalles de nivel lógico también proporcionan un mecanismo de seguridad para evitar que los usuarios accedan a ciertas partes, prohibidas para ellos, de la base de datos.

Independencia de los datos

Lógica

Es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación. Se puede modificar el esquema conceptual para ampliar la base de datos o para reducirla.

Física

Es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos ficheros físicos con el fin de mejorar el rendimiento de las OPERACIONES de consulta o de actualización de datos.

Modelos de datos

Es una serie de conceptos que puede
utilizarse para describir un conjunto de datos y las operaciones para
manipularlos.

Se dividen en

Modelos lógicos

Mediante estos se puede construir una descripción
de la realidad fácil de entender.

Modelos Conceptuales

las descripciones
de los datos tienen una correspondencia sencilla con la estructura física
de la base de datos.

Instancias

Es el conjunto de procesos que se ejecutan en el servidor así como la memoria que comparten para ello.

Una instancia puede acceder a una única base de datos. Lo que es lo mismo, una instancia puede montar solo una base de datos.

Por ejemplo, una organización con una base de datos de empleados puede tener tres instancias diferentes: producción (utilizada para contener datos en tiempo real), pre-producción (utilizada para probar nuevas funcionalidades antes de la puesta en producción) y desarrollo (utilizada por los desarrolladores de bases de datos para crear nuevas funcionalidades).

Lenguaje de Manipulación de Datos

Es un idioma proporcionado por los sistemas gestores de bases de datos que 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 Bases de Datos. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional.

Operaciones

Select

Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla.

Insert

Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional.

Delete

Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla.

Update

Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla.

Administrador

Es el técnico de información responsable de dirigir o realizar todas las actividades relacionadas con el mantenimiento de un entorno de base de datos exitoso. se asegura de que la base de datos de una organización y sus aplicaciones relacionadas funcionen de manera funcional y eficiente.

Funciones

1. Implementar, mantener, optimizar y administrar estructuras de bases de datos para la organización

2. Trabajan con los desarrolladores de aplicaciones para garantizar un diseño de aplicaciones preciso y eficiente para el acceso a la base de datos.

3. Asegurar un rendimiento eficiente de la base de datos y las aplicaciones que acceden a ella es una función central de la administración de la base de datos. El rendimiento de la base de datos es la optimización del uso de recursos para aumentar el rendimiento y minimizar la contención, lo que permite procesar la mayor carga de trabajo posible.

4. Cuando se enfrenta a problemas de rendimiento, el DBA debe ser capaz de realizar un análisis de la causa raíz, que es identificar la causa del problema para que pueda resolverse. Esto requiere la cap

Responsabilidades

1. El DBA también debe establecer políticas y procedimientos relacionados con la gestión, seguridad, mantenimiento y uso del sistema de gestión de la base de datos. El grupo DBA crea materiales de capacitación e instruye a los empleados sobre el uso y acceso adecuados del sistema de administración de bases de datos.

2. Cuando surgen problemas, el DBA es el punto focal para la resolución, incluida la resolución de problemas, el análisis de la causa raíz, el ajuste fino y la optimización del rendimiento de las tareas y los programas que acceden a la base de datos.

3. Es responsable de garantizar que las bases de datos y los datos tengan una copia de seguridad adecuada y se puedan recuperar correcta y rápidamente en caso de falla. Además, garantiza que las bases de datos estén protegidas y seguras.

4. deben ser buenos comunicadores. Necesitan poder conversar y trabajar con programadores de aplicaciones, usuarios finales comerciales, gerentes comerciales y de TI y otros administradores de bases de datos.

Estructura General del sistema

se encuentra dividido en módulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos debe partir de esa base y controlar además el manejo correcto de los datos

Componentes

Gestor de Archivos

Gestiona la asignación de espacio en la memoria del disco y
de las estructuras de datos usadas para representar información.

Manejador

Sirve de interfaz entre los datos y los programas de aplicación.

Procesador de consultas

Traduce las proposiciones en lenguajes de consulta a
instrucciones de bajo nivel. Además convierte la solicitud del
usuario en una forma más eficiente.

Compilador de DDL. (Lenguaje de definición de datos).

Convierte las proposiciones DDL en un conjunto de tablas
que contienen metadatos, estas se almacenan en el diccionario
de datos.

Archivo de datos.

En él se encuentran almacenados físicamente los datos de una
organización.

Diccionario de datos.

Contiene la información referente a la estructura de la base
de datos.

Índices

Permiten un rápido acceso a registros que contienen valores
específicos.

Bibliografía

Tipos

Modelo jerárquico

Son bases de datos que almacenan la información en una estructura jerarquizada, concretamente los datos son organizados de forma parecida a un árbol visto del revés.

Uno de los principales objetivos de las bases de datos jerárquicas es gestionar grandes volúmenes de datos.

Modelo en red.

Aquella base de datos formada por una serie de registros, los cuáles están enlazados entre sí creando una red. Estos registros son similares a los campos en las bases de datos relacionales, y cada uno de ellos contiene un único atributo o valor.

Las bases de datos de red son similares a las bases jerárquicas o de árbol invertido. La principal diferencia entre ambas es que las bases jerárquicas solo permite un único nodo padre, mientras que en las bases de red (también llamadas estructura de plex) es posible crear varios nodos padre.

Modelo avanzado

Las bases de datos relacionales han sido y siguen siendo ampliamente utilizadas para una
extensa gama de aplicaciones. Sin embargo, el aumento de potencia de los ordenadores personales,
ha hecho aparecer nuevas aplicaciones potentes que requieren la utilización de datos complejamente

relacionados o con necesidades de consultas muy particulares, como puedan ser p.ej., los sistemas de

información geográficos, el diseño de circuitos electrónicos por ordenador, etc.., de ahí que se use este tipo de modelos.

Modelo relacional

Este modelo intenta representar la base de datos como un conjunto de tablas. Aunque las
tablas son un concepto simple e intuitivo, existe una correspondencia directa entre el concepto
informático de una tabla, y el concepto matemático de relación, lo cual es una gran ventaja, pues

permite efectuar formalizaciones de una forma estricta mediante las herramientas matemáticas

asociadas, como pueda ser el álgebra relacional en el ámbito de las consultas.

Modelo Orientado a Objetos

Es una base de datos (BDOO) en la que la información está representada mediante objetos, como los presentes en la programación orientada a objetos. Al integrarse las características de una base de datos con las de un lenguaje de programación orientado a objetos (POO), se obtiene como resultado un sistema gestor de base de datos orientada a objetos (ODBMS), que hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación (pudiendo dar soporte a uno o más de este tipo de lenguajes, como por ejemplo, Visual Basic, C++ o Java).

Modelo Deductivo

Las bases de datos deductivas utilizan un lenguaje declarativo (normalmente Prolog). Este lenguaje tiene la particularidad de definir reglas que marcan lo que el programa, en este caso la base de datos, desea conseguir. Esto lo diferencia de los lenguajes usados habitualmente en otras bases de datos como el SQL, que definen el cómo conseguirlo.
En definitiva, las bases de datos activas y deductivas son capaces de deducir nuevos hechos a partir de la información presente en la data base, teniendo en cuenta determinadas reglas definidas de antemano por su lenguaje.

Definición

Una base de datos es un conjunto estructurado de datos que
representa entidades y sus interrelaciones. La representación será única e integrada, a pesar de que debe permitir utilizaciones varias y simultáneas.

Objetivos

Principal

Proporcionar a los usuarios finales una visión abstracta de los datos, esto se logra escondiendo ciertos detalles de cómo se almacenan y mantienen los datos, es decir, el usuario podrá almacenar y organizar con el fin de manejarlos de una manera más sencilla

permite reducir

Redundancia e inconsistencia de datos.

Los archivos que mantienen almacenada la información son creados por diferentes tipos de programas de aplicación existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda duplicar la información, esto aumenta los costos de almacenamiento y acceso a los datos, además de que puede originar la inconsistencia de los datos.

Aislamiento de los datos.

Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos.

Anomalías del acceso concurrente

Con el fin de mejorar el funcionamiento general del sistema y reducir el tiempo de respuesta, algunos sistemas dan la oportunidad de que varios usuarios actualicen información al mismo tiempo, esto puede causar datos inconsistentes, para solucionar esto la base de datos tiene como objetivo mantener una forma de supervisión en el sistema para evitar este problema.

Problemas de Seguridad

Toda información contenida es importante, unos datos lo son más que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna información, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificación y protección de los datos.

Problemas de integridad

Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas restricciones se hacen cumplir en el sistema añadiendo códigos apropiados en los diversos programas de aplicación, esto con el fin de que la información almacenada no sea dañina para este o los sistemas que utilizaran la información contenida en la base de datos.

Esquemas

Es la descripción lógica de la base de datos, proporciona los nombres de las entidades y sus atributos especificando las relaciones que existen entre ellos. Es un banco en el que se inscriben los valores que irán formando cada uno de los atributos. El esquema no cambia los que varían son los datos y con esto tenemos una nueva instancia.

Ejemplo

En el caso del vendedor que vende artículos, esquema e instancia según nuestro ejemplo, quedaría:
Esquema:
{ Vendedor : Nombre, puesto, salario, RFC }
{ Articulo : Clave, costo, descripción }

Lenguaje de Definición de Datos

Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

Funcionalidades

Borrado | Truncate

Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, 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

Modificación | Alter

Este comando permite modificar la estructura de una tabla u objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc.

Eliminar | Drop

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

Crear | Create

Este comando permite crear objetos de datos, como nuevas bases de datos, tablas, vistas y procedimientos almacenados.

Manejador de Base de datos

Es un conjunto de softwares bastante específicos que sirven de interfaz para unir tres elementos: las bases de datos en sí, los usuarios y las diferentes aplicaciones que se utilizan para ello. Para mayor información, una interfaz es una superficie de contacto informatizada, una especie de soporte donde se interrelacionan los múltiples elementos necesarios para lograr el objetivo deseado.

Características

Abstracción de la información

Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos.

Independencia

La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

Redundancia mínima.

Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante.

Consistencia

En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.

Seguridad.

La información almacenada en una base de datos puede llegar a tener un gran valor. Por lo que se debe garantizar que esta información se encuentra seguridad frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información.

Integridad

Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados.

Respaldo y recuperación.

Deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder.

Usuarios

Es todo aquel que tenga contacto con el sistema de bases de datos.

Tipos

Normales

Son usuarios no sofisticados que interactúan con el sistema mediante un programa de aplicación con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario. Estos usarios pueden también simplemente leer informes generados de la base de datos.

Sofisticados

Interactúan con el sistema sin programas escritos, usando el lenguaje de consulta de base de datos para hacer sus consultas. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría, usando ellos las herramientas de procesamiento analítico en línea

Especializados

Escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como gráficos y de audio) y sistemas de modelado de entorno.

Seguridad y control en un sistema de base de datos

Una base de datos con un bajo nivel de
seguridad compromete no solamente a la base
de datos misma, sino también al sistema

operativo y a otros sistema relacionados.

La protección del sistema operativo y de los
servicios de red en un servidor de bases de
datos tiene una importancia crítica

Aspectos de la seguridad

Secrecía y confidencialidad

Los datos deben ser protegidos de liberación no autorizada
● Mediante recuperación directa o inferencia lógica
● Mediante lectura de usuarios no autorizados

Precisión, integridad y autenticidad

Los datos deben ser protegidos de modificación accidental o
maliciosa (considerando incluso la inserción de datos falsos
o la destrucción de los mismos)

– El origen de los datos debe ser verificable

Disponibilidad y recuperabilidad

Los sistemas de bases de datos deben mantenerse
operando y recuperarse en caso de pérdida de
datos.

Problemas de Seguridad

Liberación inapropiada de información (pérdida de
secrecía o confidencialidad)

Modificación inapropiada de datos (pérdida de
integridad)

Negación de servicio (pérdida de disponibilidad)

Robo o fraude

Haga clic aquí para centrar el diagrama.
Haga clic aquí para centrar el diagrama.