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