Introducción a las
Bases de Datos

TIPOS DE BASES DE DATOS

Bases de datos relacionales: Es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de "relaciones".

Bases de datos no relacionales: Las bases de datos no relacionales (NoSQL) son las que, a diferencia de las relacionales, no tienen un identificador que sirva de relación entre un conjunto de datos y otros.

Bases De Datos Estáticas: Son las bases de datos de solo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases De Datos Dinámicas: Son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta.

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

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

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.

LENGUAJE DE DEFINICIÓN DE DATOS

Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los programadores 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

CREATE | CREAR

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

ALTER | MODIFICAR:

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.

DROP | ELIMINAR

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.

TRUNCATE | BORRAR TABLA

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. La desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula WHERE

LENGUAJE DE MANIPULACIÓN DE DATOS

Es un lenguaje 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 en día es SQL, usado para recuperar y manipular datos en una base de datos relacional.

SELECT | SELECCIONAR

La sentencia SELECT nos permite consultar los datos almacenados en una tabla de la base de datos. indica que la sentencia de SQL que queremos ejecutar es de selección

ALL

Indica que queremos seleccionar todos los valores. Es el valor por defecto y no suele especificarse casi nunca.

DISTINCT

Indica que queremos seleccionar sólo los valores distintos

FROM

Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que exista más de una tabla se denomina a la consulta "consulta combinada" o "join". En las consultas combinadas es necesario aplicar una condición de combinación a través de una cláusula WHERE.

WHERE

Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite los operadores lógicos AND y OR.

GROUP BY

Especifica la agrupación que se da a los datos. Se usa siempre en combinación con funciones agregadas.

HAVING

Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Su funcionamiento es similar al de WHERE, pero aplicado al conjunto de resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la condición debe estar referida a los campos contenidos en ella.

ORDER BY

Presenta el resultado ordenado por las columnas indicadas. El orden puede expresarse con ASC (orden ascendente) y DESC (orden descendente). El valor predeterminado es ASC.

MODELOS DE DATOS INSTANCIAS Y ESQUEMAS INDEPENDENCIA DE LOS DATOS

INDEPENDENCIA DE DATOS

La independencia de datos se puede definir como la capacidad para modificar el esquema en un nivel del sistema sin tener que modificar el esquema del nivel inmediato superior.

INDEPENDENCIA LÓGICA

Es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación.

INDEPENDENCIA FISICA

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

MANEJADOR DE BASE DE DATOS

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. El propósito general de los sistemas manejadores de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.

ADMINISTRADOR DE BASE DE DATOS

Los Administradores de Bases de Datos son responsables del manejo, mantenimiento, desempeño y de la confiabilidad de bases de datos. Asimismo, están a cargo de la mejora y diseño de nuevos modelos de las mismas.
Manejar una base de datos implica recolectar, clasificar y resguardar la información de manera organizada, por ello, estos profesionales velan por garantizar que la misma esté debidamente almacenada y segura, además de que sea de fácil acceso cuando sea necesario.

FUNCIONES PRINCIPALES

Estas devuelven un sólo valor, calculado con los valores de una columna.

1. AVG() - La media de los valores

3. MAX() - El valor más grande

2. COUNT() - El número de filas

6. GROUP BY - Es una sentencia que va muy ligada a las funciones agregadas

4. MIN() - El valor más pequeño

5. SUM() - La suma de los valores

RESPONSABILIDADES

La responsabilidad general del DBA (Administrador de base de datos) es facilitar el desarrollo y el uso de la Base de Datos dentro de las guías de acción definidas por la administración de los datos. El DBA es responsable primordialmente de:
Administrar la estructura de la Base de Datos; Administrar la actividad de los datos; Administrar el Sistema Manejador de Base de Datos; Establecer el Diccionario de Datos; Asegurar la confiabilidad de la Base de Datos y Confirmar la seguridad de la Base de Datos.

Historia de las Bases de Datos

Los orígenes de las bases de datos se remontan a la antigüedad donde se realizaban toma de datos en diferentes aspectos, por ejemplo, en la toma de información de las cosechas o censos.
Hacia 1884 Herman Hollerith comenzó a trabajar en una maquina automática de tarjetas perforadas. Hacia la década de los 80, tomó gran popularidad los discos, ya que con este instrumento se consultaba la información de forma directa. Fue en esta época que se dio inicio a las primeras generaciones de bases de datos de red y jerárquicas.
Posteriormente en la época de los ochenta también se desarrolló el SQL (Structured Query Language) que es un lenguaje de consultas o lenguaje declarativo de acceso a bases de datos relacionales .

OBJETIVOS DE LOS SISTEMAS DE BASES DE DATOS

El objetivo principal de un Sistemas de Bases de Datos 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. También 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. Por otro lado, también tener una Alta relacionabilidad de los datos, e Integridad de los mismos

ABSTRACIÓN DE LA INFORMACIÓN

La abstracción consiste en representar bajo ciertos lineamientos de formato las características esenciales de una estructura de datos, así que los sistemas de bases de datos ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Es por eso que existen diferentes niveles de abstracción para simplificar la interacción de los usuarios con el sistema.

NIVEL FÍSICO

Describe cómo se almacena un registro.

NIVEL CONCEPTUAL

El siguiente nivel más alto de abstracción, describe que datos son almacenados realmente en la base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en términos de su estructura de diseño.

ESTRUCTURA GENERAL DEL SISTEMA

Un sistema de base de datos 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. Así el diseño de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.

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 DE BASE DE DATOS: 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.

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.

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

SEGURIDAD Y CONTROL EN UN SISTEMA DE BASE DE DATOS

Seguridad de datos se refiere a medidas de protección de la privacidad digital que se aplican para evitar el acceso no autorizado a los datos, los cuales pueden encontrarse en ordenadores, bases de datos, sitios web, etc.
La base de datos debe ser protegida contra el fuego, el robo y otras formas de destrucción. Los datos deben ser reconstruibles, ya que siempre pueden ocurrir accidentes. Los datos deben poder ser sometidos a procesos de auditoria. El sistema debe diseñarse a prueba de intromisiones, no deben poder pasar por alto los controles. Ningún sistema puede evitar las intromisiones malintencionadas, pero es posible hacer que resulte muy difícil eludir los controles. El sistema debe tener capacidad para verificar que sus acciones han sido autorizadas. Las acciones de los usuarios deben ser supervisadas, de modo tal que pueda descubrirse cualquier acción indebida o errónea.

El administrador de la base de datos, ABD, es la autoridad central responsable de la seguridad global del sistema de bases de datos. Dispone de una cuenta de bases de datos privilegiada o de sistema, con «capacidades extraordinarias», desde la que puede. Crear cuentas de usuario para acceso a la base de datos; Conceder y cancelar privilegios a (cuentas de) usuarios; Asignar datos a niveles de seguridad; Asignar cuentas de usuario a niveles de seguridad o acreditación también protege los datos de una posible corrupción.

USUARIOS DE LA BASE DE DATOS

Un usuario es todo aquel que tenga contacto con el sistema de bases de datos. Se tienen 3 clases generales de usuarios.

PROGRAMADOR DE APLICACIONES

Son aquellos profesionales en informática que interactúan con el sistema a través del DML (Lenguaje de Manipulación de Datos), los cuales se encuentran en un lenguaje de programación (Pascal, Cobol, etc.) Es el encargado de escribir programas de aplicación que usen Bases de Datos.

USUARIO FINAL

Accede a la base de datos desde un equipo en el cual puede utilizar lenguaje de consulta generado como parte del sistema o acude a un programa de aplicación suministrado por un programador.

ADMINISTRADOR

Es el encargado del control general del sistema.

USUARIO SOFISTICADO

interactúa con el sistema sin escribir programas. Generan consultas en un lenguaje de bases de datos.

USUARIO ESPECIALIZADO

algunos usuarios sofisticados desarrollan aplicaciones de bases de datos especializadas. Entre estas aplicaciones se encuentran los sistemas de diseño asistido por computador.

USUARIOS INGENUOS

es el usuario final que utiliza bases de datos sin saberlo, para él es totalmente transparente como se generan las consultas de la información.

DATABASE ADMINISTRATORS(DBA)

Administran 2 recursos 1. la base de datos y 2. es el SGBD y el software con el relacionado. El Administrador de Base de Datos (DBA) es quien autoriza el acceso a la base de datos, vigilar el uso y adquirir hardware y software necesarios para su uso. También es el responsable de velar por la seguridad y lentitud en el sistema.

DISEÑADOR DE BASE DE DATOS

Es el encargado de estructurar la arquitectura para representar y almacenar los datos. Él debe atender a los usuarios de Bases de Datos para comprender sus necesidades presentando un diseño que dé respuesta a sus necesidades.

USUARIOS FINALES

son quienes requieren acceso a la base de datos para generar consultas e informes

Definición de Base de Datos

Podemos definir una Base de Datos como el conjunto de datos organizados que poseen una relación entre sí, de tal forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Por ejemplo, una guía telefónica es una base de datos de Nombre, direcciones, y números de teléfonos.