Concepto de bases de datos
1.1 Modelos de bases de datos
1.2 Consideraciones de diseño
1.3 Normalizaciones
1.4 Integridad referencial
1.5 Restricciones
1.6 Seguridad en base de datos
1.7 Reportes en base de datos
1.8 Gestores de bases de datos
1.8.1 Bajo licencia
1.8.2 Libres
Concepto de bases de datos.
Un sistema de bases de datos es básicamente un sistema computarizado para llevar registros. Es posible considerar a la propia base de datos como una especie de armario electrónico para archivar; es decir, es un depósito o contenedor de una colección de archivo de datos computarizados. los usuarios del sistema pueden realizar una variedad de operaciones sobre dichos archivos, por ejemplo:
- Agregar nuevos archivos vacíos a la base de datos.
- Insertar datos dentro de los archivos existentes.
- Recuperar datos de los archivos existentes.
- Modificar datos en archivos existentes.
- Eliminar datos de los archivos existentes.
- Eliminar archivos existentes de la base de datos.
Nota: Los sistemas de gestión de bases de datos (SGBD) del inglés "Database Management System" (DBMS) 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.
1.1- Modelo de bases de datos.
Relacionales_ Un sistema relacional es aquel en el que:
1: Los datos son percibidos por el usuario como tablas (y nada más que tablas); y
2: Los operadores disponibles para el usuario (por ejemplo, para recuperación) son operadores que generan nuevas tablas a partir de las anteriores.
Nota: La razón por la que dicho sistema se denomina "relacionales" es que el término relación es básicamente el término matemático "tabla".
Jerárquico_En este modelo los datos son representados ante el usuario como un conjunto de estructuras de árbol (jerarquías), y los operadores que se proporcionan para manipular dichas estructuras incluyen operadores para apuntadores de recorrido; es decir, los apuntadores que representan las rutas jerárquicas hacia arriba y hacia abajo en los árboles.
De red_El termino red en este contexto no tiene nada que ver con una red de comunicación; más bien se refiere a las clases de estructuras de datos y operadores que manejan los sistemas en cuestión.
1.2 Consideraciones de diseño.
Un buen diseño de base de datos debe corresponderse con buenas estructuras de tablas. Una de las características mas importantes de la mayoría de las bases de datos es la de mantenerse en plena crisis de cambio. Esta debe presentarse en una fácil estructuración siempre que aya que agregarse nuevos tipos de datos o utilizarla para nuevas aplicaciones.
1.3- Normalizaciones.
La normalización se utiliza por lo general en coordinación con el modelado entidad-relación que aprendimos en los capítulos previos. Hay dos situaciones comunes en las que los diseñadores de bases de datos la usan. Cuando diseñan una nueva estructura de bases de daros fundamentadas en las necesidades de negocios de usuarios finales, el diseñador construirá un modelo de datos usando una técnica como los ERD con notación de "pata de gallo". Después que el diseño inicial está completo, el diseñador puede usar normalización para analizar las relaciones que existen entre los atributos dentro de cada entidad, para determinar si la estructura se puede mejorar por medio de normalización. De manera opcional, a los diseñadores de bases de datos se les pide con frecuencia que modifique estructuras de datos existentes que puedan estar en la forma de archivos planos, hojas de cálculo o estructura de bases de datos anteriores. De nueva cuenta, por medio de un análisis de relaciones entre los atributos o campos de la estructura de datos, el diseñador puede usar el proceso de normalización para mejorarla a fin de crear un diseño apropiado de bases de datos. Ya sea para modificar una nueva estructura o modificar una ya existente, el proceso de normalización es el mismo.
1.4- Integridad referencial.
La integridad referencial es un sistema de reglas que utilizan la mayoría de las bases de datos relacionales para asegurarse que los registros de tablas relacionadas son válidos y que no se borren o cambien datos relacionados de forma accidental produciendo errores de integridad.
1.5- Restricciones:
De los dominios_ Las restricciones de los dominios son la forma mas simple de restricción de integridad. El sistema las verifica fácilmente siempre que se introduce en la base de datos un nuevo elemento de datos.
La clausula "create domain" se puede usar para definir nuevos dominios.
Integridad referencial_
A menudo se desea asegurar que un valor que aparece en una relación para un conjunto de atributos determinado aparezca también en otra relación para un cierto conjunto de atributos. Esta condición se denomina integridad referencial.
Asertos_ Un aserto es un predicado que expresa una condición que se desea que la base de datos satisfaga siempre.
Las restricciones de dominio y las de integridad referencial son formas
especiales de los asertos. Se les ha prestado una atención especial porque se ´
pueden verificar con facilidad y se aplican a una gran variedad de aplicaciones
de bases de datos. Sin embargo, hay muchas restricciones que no se
pueden expresar utilizando únicamente estas formas especiales.
Disparadores_ (triggers)
Un disparador es una orden que el sistema ejecuta de manera automática como efecto secundario de la modificación de la base de datos.
Seguridad y autorización_ Concreta-mente hay que impedir las operaciones de lectura no autorizada, las
modificaciones no autorizadas, y la destrucción de datos no autorizada. Un esquema de seguridad muy utilizado es el autorizaciones, que permitiría
realizar (o no) determinadas operaciones sobre los datos.
Cifrado y autenticación_
Para información extremadamente reservada es necesario cifrar los datos. Los datos cifrados no se pueden leer a menos que el lector sepa la manera
de descifrarlos. El cifrado también forma la base de los buenos esquemas para la autenticación de usuarios en una base de datos.
1.6- Seguridad en base de datos.
A modo general, los mecanismos de seguridad se refieren a las reglas impuestas por el subsistente de seguridad del SGBD, que verifica todas las solicitudes de acceso, comparándolas con las restricciones de seguridad almacenadas en el catálogo del sistema.
- Las bases de datos siempre deben de estar protegidas contra el fuego, el robo y otras formas de destrucción.
- Los datos deben ser reconstruibles.
- Deben poder ser sometidos a procesos de auditoria.
- El sistema debe diseñarse a prueba de intromisiones, los programadores, por ingeniosos que sean, no deben de pasar por alto los controles.
- Los usuarios de las bases de datos deben ser sometidos a un proceso de identificación positiva antes de tener acceso a ellas.
- 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.
1.8- Gestores de bases de datos.
Un sistema de gestión de bases de datos (SGBDR) es una aplicación formada por un conjunto de programas que permiten crear y gestionar bases de datos (BBDD). Proporciona al usuario de la base de datos las herramientas necesarias para:
- Definir las estructuras de los datos.
- Manipular los datos: insertar, modificar, borrar y consultar los datos existentes.
- Mantener la integridad de la información.
- Proporcionar control de la privacidad y seguridad de los datos en la BBDD, permitiendo sólo el acceso a los usuarios autorizados.
1.8.1- Bajo licencia.
Con el software propietario o comúnmente denominado bajo “licencia” queda expresado claramente que lo que el cliente adquiere es
simplemente la facultad de utilizar dicho programa en determinada cantidad de
computadoras (dependiendo del monto que haya abonado). En este sentido, la
licencia deja en claro que el programa sigue siendo propiedad de la empresa
productora del mismo y que el usuario no está facultado a realizar ningún cambio en él.
1.8.2- Libres.
Software Libre es un asunto de libertad, no de precio, para tener mejor claridad
del concepto se debe pensar en libre, como en libertad de expresión no en algo
gratis, se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir,
estudiar, cambiar y mejorar el software, de modo más preciso:, se refiere a cuatro
libertades de los usuarios del software:
- Libertad de usar el programa, con cualquier propósito .
- La libertad de estudiar cómo funciona el programa, y adaptarlo a tus
necesidades, acceso al código fuente es una condición previa para esto.
- Libertad de distribuir copias, con lo que puedes ayudar a interesados.
- Libertad de mejorar el programa y hacer públicas las mejoras a los demás,
de modo que todos se beneficien.