miércoles, 13 de enero de 2010

Objetivos de las “Bases de datos”.

Objetivos de las “Bases de datos”.
• Control centralizado de la información. Los sistemas tradicionales de ficheros nos permiten centralizar la información por medio de varios programas de diseño. Ahora bien, siguiendo las normas estandarizadas de las bases de datos actuales podemos acceder a todos los datos mediante un único programa -administrador de bases de datos-.
• Disminuir la redundancia y evitar la inconsistencia. Son objetivos básicos de una base de datos eficiente. Disminuir la redundancia consiste en agrupar todos los datos en un mismo objeto sin repetir información. Esto no puede realizarse siempre, con lo cual hay ocasiones en las que se duplica información. Es en este punto donde aparece el concepto de inconsistencia. Una base de datos eficiente no puede tener datos contradictorios en aquellos puntos donde se repite la información (No pueden existir dos D.N.I. iguales asociados a nombres de personas diferentes). Cuanta menos redundancia existe, menos posibilidad de inconsistencia existe.
• Posibilidad de compartición de datos. Se consigue disminuyendo la redundancia.
• Mantenimiento de la integridad. Deben existir controles que verifiquen que los datos introducidos son correctos, para lo cual se comparan con otros datos, se crean redundancias de control, se hacen validaciones de rango y se permite al usuario modificar los datos.
• Disponer de un acceso seguro. Imponer controles para acceder o modificar las bases de datos tales como claves de acceso.
• Proporcionar independencia de datos. Establecer una separación entre programas y datos desde una perspectiva física y lógica, de tal forma que cualquier cambio físico o lógico en las estructuras de datos no afecten a los programas de aplicación. Como ejemplo de reestructuración física estaría una división de uno de los ficheros de datos en dos ficheros. Un cambio lógico en la estructura sería añadir un nuevo campo en la base de datos.

Ventajas y desventajas de cada modelo de base de datos

Ventajas y desventajas de cada modelo de base de datos
Relacional
Entre las ventajas de este modelo están:
Garantiza herramientas para evitar la duplicidad de registros, a través de campos claves o llaves.
Garantiza la integridad referencial: Así al eliminar un registro elimina todos los registros relacionados dependientes.
Favorece la normalización por ser más comprensible y aplicable.
Desventajas
Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica.
No se manipulan de forma manejable los bloques de texto como tipo de dato.
Jerarquico
Ventajas:
Un árbol con todo su entrerramado de relaciones, en el que la conexión es fija y
sólo puede ser cambiada modificando una porción de código, suministra, sin
embargo, la ventaja de que la navegación se realiza de una forma muy rápida.
Es fácil de ver la estructura de la base de datos.
Su implementación es sencilla y rápida de implantar.
Se puede predefinir relaciones, lo que simplifica las variaciones a futuro

Analisis de requerimientos de base de datos.

Informes, carpetas, elementos de orígenes de datos compartidos y metadatos
Las definiciones de informes, las carpetas, los elementos de orígenes de datos compartidos y otros metadatos, como programaciones, suscripciones y propiedades, se almacenan en una base de datos del servidor de informes. La cantidad de espacio necesaria para almacenar estos elementos es reducida en comparación con otros elementos tratados en este tema.

Modelos de bases de datos

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.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
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).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.
Bases de datos relacionales
Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.
Durante los años 80 la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión.
Bases de datos orientadas a objetos
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:
Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.
Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.
Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.