lunes, 11 de enero de 2010

Caracteristicas de las Base 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.

Modelos de datos.


Existen modelos de datos que tienen herramientas para relacionar unos datos con otros de la misma forma que ocurre en el mundo real. Dentro de los modelos existentes hoy en día podemos hacer dos clasificaciones:

· Modelos de diseño: Predomina el modelo “Entidad/relación”.

Un diagrama o modelo entidad-relación (a veces denominado por su siglas, E-R "Entity relationship", o, "DER" Diagrama de Entidad Relación) es una herramienta para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información así como sus interrelaciones y propiedades.


· Modelos de representación:
Primero apareció el modelo jerárquico o de tipo árbol.


Una base de datos jerárquica consiste en una colección de registros que se conectan entre si por medio de ligas. Los registros y las ligas son similares a los del modelo de red, pero en el modelo jerárquico se organiza en forma de árbol con raíz (donde la raíz es nodo ficticio); de tal manera que una base de datos jerárquica es una colección de arboles de este tipo, formando un bosque.

· Posteriormente se evolucionó hacia el modelo de red en el que se usan registros unidos por enlaces.

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

· Actualmente el modelo más usado es el modelo relacional basado en tablas.

Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos posee las mismas características como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional.

Estrictamente hablando el término se refiere a una colección específica de datos pero a menudo se le usa, en forma errónea como sinónimo del software usado para gestionar esa colección de datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o RDBMS (del inglés relational database management system).

Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera óptima.


Análisis de Requerimientos

análisis de requerimientos se inicia a partir de la especificación de los objetivos de información geográfica, establecidos por cada una de las partes que forman la organización y que intervendrán en la aplicación de la base de datos.

La primera actividad en el diseño es determinar el alcance del proceso de diseño de la aplicación de la base de datos. Esto incluye el establecimiento de las funciones de la organización y la formulación de una lista de los ambientes que actualmente incluyen esas funciones.

Una vez definidos los ambientes y usuarios de la organización, la función de cada usuario se registra en un formato de "Recolección de requerimientos", en el que se describen las vistas de sus funciones, usando textos en lenguaje natural. La descripción de las operaciones deben contener:

cuál es el fin de la operación,
cuáles son las condiciones que habilitan una operación,
cómo se desarrolla la operación,
si las operaciones se comportan en forma regular, y si no, cuáles son las condiciones.
En seguida se realiza un filtrado de la recolección de requerimientos con el propósito de reducir expresiones sinónimas, resolver homónimos -introduciendo sustitutos apropiados-, eliminar repeticiones, etc. Por último, se clasifican las sentencias en los siguientes formatos especiales: formas de requerimientos de datos, de operaciones y de eventos.


jueves, 7 de enero de 2010

Ventajas Y Desventajas Administracion de Bases de Datos

Oracle

Ventajas
1.-Oracle es el motor de base de datos relacional más usado a nivel mundial.

2.-Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.

3.-Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente.

4.-Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas.

5.-El software del servidor puede ejecutarse en multitud de sistemas operativos.

6.-Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa.

7.-¿Qué hay de los objetos de Oracle? Este sistema ha comenzado a evolucionar en esta dirección, añadiendo tipos de clases, referencias, tablas anidadas, matrices y otras estructuras de datos complejas. Desafortunadamente, la implementación actual de las mismas no ofrece una ventaja clara en eficiencial, como sería de esperar, y sí provocan la incompatibilidad de los diseños que aprovechan las nuevas características con otras bases de datos.

8.-Oracle es la base de datos con mas orientación hacía INTERNET

9.-Un aceptable soporte

Desventajas
1.-Una de las versiones más recientes de Oracle es la 8 punto algo (Aunque ya está la 9i). Y es que desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos.

2.-El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento.

3.-También es elevado el coste de la formación, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración

Access

Ventajas

1.-Es la base de datos más amigable y versátil del mercado.

2.-Incluye expertos para realizar indagaciones, ellos pueden ayudar a encontrar entradas duplicadas y realizar relaciones cruzadas de los datos.

3.-Para aprender el programa basta tener la ayuda en línea, ya que es completa e informativa.

4.-Altamente potente y eficiente

Desventajas

1.-Base de datos de un muy reducido potencial, sólo para soluciones "caseras"

Interbase

Ventajas
1.-Es una lástima que un sistema tan bueno como InterBase no sea más popular de lo que actualmente es. Y ya podemos mencionar el principal enemigo de InterBase: la incertidumbre sobre su futuro

2.-InterBase destaca del resto de los sistemas de bases de datos por su arquitectura única, basada en versiones. Esto quiere decir que, a pesar de tratarse del sistema más barato, es también el que ofrece un mejor acceso concurrente a los datos que administra. Si necesitamos una vista coherente de la base de datos, Oracle, SQL Server y DB2 bloquean la información que leen e impiden su actualización durante la duración de la transacción de lectura. Esto no sucede en InterBase porque la escritura genera una nueva versión del registro, sin perder la coherencia de la información. Una agradable consecuencia es que podemos realizar copias de seguridad completas "en caliente", sin interrumpir el funcionamiento del sistema.

3.-Otro de los puntos fuertes de InterBase es su cercanía al estándar de SQL, sobre todo en la sintaxis de procedimientos almacenados y triggers.

4.-Es sumamente fácil programar una base de datos activa en InterBase y posteriormente adaptar la definición para Oracle.

5.-El lenguaje de procedimientos y triggers es muy potente, e incluso supera a Oracle en la facilidad para expresar cláusulas de verificación check que involucren a varias tablas, y en que los triggers no están sujetos a los problemas ocasionados en Oracle por las denominadas "tablas mutantes".

Desventajas

1.-Los problemas de InterBase se deben a la misma causa que sus ventajas: su arquitectura única. Es muy sencillo realizar particiones en otros sistemas (Oracle, DB2, SQL Server, Informix) para aumentar el rendimiento físico de una base de datos, pero este concepto es difícil de adaptar para InterBase. De todos modos, el particionamiento por software no es sino un sustituto un poco más flexible de ciertas técnicas RAID para la mejora del rendimiento, e InterBase sí permite que una base de datos se expanda a lo largo de varios discos, aunque no controla qué tablas van a parar a qué dispositivo.

Db2
Ventajas

1.-Se trata nuevamente de una de las bases de datos "históricas".

2.-La arquitectura física es muy similar a la de Oracle.

3.-También puede ejecutarse en varias plataformas: existe incluso una versión "personal" para Windows 95/98.

4.-El SQL de DB2 es muy potente

5.-Es especialmente interesante la implementación de triggers

Desventajas

1.-Es similar a Oracle en el precio.

2.-Los procedimientos almacenados de DB2 deben programarse en lenguajes externos: C, Java, VisualBasic, etc. ¿Por qué esto es desvenjata? No sólo porque obliga a utilizar un lenguaje adicional, sino principalmente porque nos hace depender de otro compilador ... que casi siempre está ligado a la plataforma o sistema operativo.