lunes, 26 de abril de 2010

Generación de un sistema de base de datos.

  • Cuando hablamos de bases de datos, en nuestras conversaciones nos referimos a datos relacionales. Esto no fue siempre así, antes que el modelo relacional fuese desarrollado, existió otro modelo de datos. Ahora, el caso para considerar las alternativas ha llegado a ser cada vez más fuerte, con las nuevas generaciones de leguajes de desarrollo orientados a objetos se abre una gama de oportunidades a las aplicaciones, y a su vez a las base de datos con la aparición de las bases de datos nativas, orientadas a guardar estos objetos creados por las aplicaciones. Antes de que el primer DBMS fuese desarrollado, las aplicaciones se conectaban a orígenes de datos de “ficheros planos”. Éstos no permitir la representación de las relaciones de los datos o de la aplicación lógicas de la integridad de los mismo. El modelar de los datos se ha desarrollado desde los años 60 para proveer características de gran alcance del almacenaje de datos. Generalmente hablando, los modelos de los datos se han desarrollado en tres generaciones. La primera generación de modelos de los datos se tiende a rechazar sin embargo fue el origen o génesis de las base de datos. Hasta el momento, las bases de datos más comercialmente aceptada han sido las bases de datos de segunda generación que utilizan el modelo relacional. Las bases de datos relacionales son definitivamente las que poseen la mayor parte del mercado “por ahora” lo que ha hecho muy difíciles para una nueva generación de bases de datos, conseguir por lo menos un equilibrio entre las dos generaciones. Sin embargo, el mundo de los lenguajes programación o desarrollo ha venido cambiado. Con la evolución nuevas plataformas como lo son Java y de Microsoft con .NET, entre otras. Las opciones del desarrollador cada vez más amplias y poder elegir el modelo de datos a utilizar, entre el modelo orientado objetos y el modelo no orientado a objetos.
  • Ha habido muchos tipos de base de datos, donde se empezaron a usar gestores, relaciones etc. También se han llevado varios modelos como el jerárquico, de red, relacional, etc.
  • http://labloguera.net/blogs/elperucho/archive/2007/10/31/generaciones-de-bases-de-datos-un-poco-de-historia.aspx

Diseño fisico de una base de datos.

Elección de un gestor de una base de datos.

Diseño conceptual de la base de datos.

  • En esta etapa se crea un esquema conceptual de la base de datos. Se desarrollan las especificaciones hasta el punto en que puede comenzar la implementación. Durante esta etapa se crean modelos detallados de las vistas de usuario y sobre todo las relaciones entre cada elemento del sistema, documentando los derechos de uso y manipulación de los diferentes grupos de usuarios. Si parte de la información necesaria para crear algún elemento establecido ya se encuentra implementado en otro sistema de almacenamiento hay que documentar que relación existirá entre uno y otro y detallar los sistemas que eviten la duplicidad o incoherencia de los datos. El diseño consta, como se vio anteriormente, de tres fases: el diseño global o conceptual, el diseño lógico y el modelo físico. Esta etapa consta de tres fases: diseño conceptual, diseño lógico, diseño físico de la Base de Datos. La primera fase consiste en la producción de un esquema conceptual que es independiente de todas las consideraciones físicas.
  • El diseño de una base de datos se crean modelos que los usuarios la usen.
  • http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml#concep

Recolección y análisis de informacion.

  • Se recoge y analiza los requerimientos de los usuarios y de las áreas de aplicación. Esta información se la puede recoger de varias formas: Entrevistando el personal de la empresa concretamente aquellos que son considerando expertos en la área que se de, observando el funcionamiento de la empresa, examinando documentos sobre todo aquellos que se utilizan para recoger o visualizar la información, utilizando cuestionario para recoger información de grandes grupos de usuarios y utilizan la experiencia adquirida en el Diseño de Sistemas similares. Esta etapa tiene como resultado en conjunto de documentos con las especificaciones de requisitos de los usuarios en donde se describen las operaciones que se realizan en la empresa desde distintos puntos de vista. Los requisitos de desarrollo involucran el software y hardware necesario para la implementación, los recursos humanos necesarios (tanto internos como externos), la formación al personal.
  • Para recolectar información se usan diferentes tipos de recolectores como entrevistas, análisis a empresas, documentos etc.
  • http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml#concep

Ciclo de vida del sistema de aplicación de una base de datos.

  • Etapas: Planificación del Proyecto, Definición del Sistema, Recolección y Análisis de los Requisitos, Diseño de la Base de Datos, Selección del SGDB / DBMS, Diseño de la Aplicación, Prototipo. Implementación, Conversión y Carga de datos, Prueba y Mantenimiento. Estas etapas no son estrictamente secuenciales de hecho hay que repetir algunas de las etapas varias veces haciendo lo que se conoce como "Ciclos de Re-alimentación" por Ej.: los problemas que se encuentran en la etapa de Diseño de la Base de Datos pueden requerir una recolección de requisitos adicional y su posterior análisis. El ciclo de vida de un desarrollo de una base de datos consta de siete pasos: Análisis de las necesidades, Estudio de viabilidad, Definición de requisitos, Diseño conceptual / lógico, Implementación, Evaluación y Mantenimiento
  • El ciclo de vida de una base de datos es corto debido a que esta en constantes cambios ya sea cambio de datos, de fuente, relaciones, campos o registros inclusive en el cambio de presentación.
  • http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml#ciclo

Segunda forma normal.

  • Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. En otras palabras podríamos decir que la segunda forma normal está basada en el concepto de dependencia completamente funcional. Una dependencia funcional es completamente funcional si al eliminar los atributos A de X significa que la dependencia no es mantenida, esto es que A Є X, (X – {A}) -x-> Y. Una dependencia funcional es una dependencia parcial si hay algunos atributos que pueden ser eliminados de X y la dependencia todavía se mantiene, esto es A Є X, (X – {A}) -> Y. Por ejemplo {DNI, ID_PROYECTO} HORAS_TRABAJO (con el DNI de un empleado y el ID de un proyecto sabemos cuántas horas de trabajo por semana trabaja un empleado en dicho proyecto) es completamente dependiente dado que ni DNI HORAS_TRABAJO ni ID_PROYECTO HORAS_TRABAJO mantienen la dependencia. Sin embargo {DNI, ID_PROYECTO} NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI NOMBRE_EMPLEADO mantiene la dependencia.
  • La segunda formal es de dependencia funcional de la primera forma normal.
  • http://es.wikipedia.org/wiki/Normalización_de_bases_de_datos#Segunda_Forma_Normal_.282FN.29

Primera forma normal.

  • Una tabla está en Primera Forma Normal si: Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos, la tabla contiene una clave primaria, la llave primaria no contiene atributos nulos, no posee ciclos repetitivos. No debe de existir variación en el número de columnas. Una columna no puede tener múltiples valores. Los datos son atómicos. (Si a cada valor de X le pertenece un valor de Y, entonces a cada valor de Y le pertenece un valor de X). Esta forma normal elimina los valores repetidos dentro de una BD.
  • Cuando se dice que una base de datos esta en forma normal, quiere decir que todas sus tablas también lo están. La primera forma normal es cuando contiene claves primarias, no contiene ciclos repetitivos, o no debe de existir variaciones el número de columnas.
  • http://es.wikipedia.org/wiki/Normalización_de_bases_de_datos#Primera_Forma_Normal_.281FN.29

Normalización de una base de datos.

  • El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos, evitar problemas de actualización de los datos en las tablas y proteger la integridad de los datos. En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones: Cada columna debe tener su nombre único, no puede haber dos filas iguales. No se permiten los duplicados y todos los datos en una columna deben ser del mismo tipo.
  • La normalización de base de datos es aplicar reglas en relaciones de base de datos para evitar redundancias en datos o para poder actualizar dichos datos si ningún problema.
  • http://es.wikipedia.org/wiki/Normalización_de_bases_de_datos

jueves, 22 de abril de 2010

Operadores primitivos, derivados y adicionales.

  • Operadores primitivos: Los operadores primitivos son parte del modelo relacional y pueden realizar diferentes acciones como Unión, Diferencia, etc. Operadores derivados: Los operadores derivados son aquellos que se pueden expresar siempre en función de operadores primitivos, pero su introducción tiene por fin la simplificación de las consultas. Operadores adicionales: Los operadores permiten realizar operaciones aritméticas, comparaciones, concatenaciones o asignaciones de valores.
  • Los operadores primitivos son los unarios que hacen relaciones, los derivados funcionan en base de los primitivos y simplifican las consultas y los adicionales son los que hacen operaciones aritméticas.
  • http://www.gedlc.ulpgc.es/docencia/NGA/tipos_general.html

Arquitectura de 3 niveles.

  • La arquitectura de sistemas de bases de datos de tres esquemas fue aprobado por la ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) en 1975 como ayuda para conseguir la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos. Nivel interno: Tiene un esquema interno que describe la estructura física de almacenamiento de base de datos. Emplea un modelo físico de datos y los únicos datos que existen están realmente en este nivel. Nivel conceptual: tiene esquema conceptual. Describe la estructura de toda la base de datos para una comunidad de usuarios. Oculta los detalles físicos de almacenamiento y trabaja con elementos lógicos como entidades, atributos y relaciones. Nivel externo o de vistas: tiene varios esquemas externos o vistas de usuario. Cada esquema describe la visión que tiene de la base de datos a un grupo de usuarios, ocultando el resto.
  • La arquitectura de tres niveles que es el interno, que hace una descripción sobre el almacenamiento físico de los datos, el conceptual que describe la estructura de la base de datos y trabaja con elementos lógicos y el externo es donde se presenta la vista de la base de datos.
  • http://www.monografias.com/trabajos37/arquitectura-de-sistemas/arquitectura-de-sistemas.shtml#ansi

Modelo ANSI-PARK

  • Hay tres características importantes inherentes a los sistemas de bases de datos: la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos. En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy útil a la hora de conseguir estas tres características. La definición de un sistema de información es la descripción detallada de la arquitectura del sistema. Las arquitecturas de bases de datos han evolucionado mucho desde sus comienzos, aunque la considerada estándar hoy en día es la descrita por el comité ANSI/X3/SPARC (Standard Planning and Requirements Committee of the American National Standards Institute on Computers and Information Processing), que data de finales de los años setenta. Este comité propuso una arquitectura general para DBMSs basada en tres niveles o esquemas: el nivel físico, o de máquina, el nivel externo, o de usuario, y el nivel conceptual. Así mismo describió las interacciones entre estos tres niveles y todos los elementos que conforman cada uno de ellos.
  • El modelo ANSI-PARK fue utilizado para se parar los programas de aplicación con los datos y para poder armar un catalogo para la búsqueda de otros datos en otras ventanas.
  • http://www.monografias.com/trabajos37/arquitectura-de-sistemas/arquitectura-de-sistemas.shtml#ansi

miércoles, 21 de abril de 2010

Requerimientos para la construcción de una base de datos.

  • El análisis de requerimientos para una base de datos incorpora las mismas tareas que el análisis de requerimientos del software. Es necesario un contacto estrecho con el cliente; es esencial la identificación de las funciones e interfaces; se requiere la especificación del flujo, estructura y asociatividad de la información y debe desarrollarse un documento formal de los requerimientos. Un tratamiento completo del análisis de las bases de datos va más allá del ámbito de este paper. La construcción de bases de datos es una de las especialidades, el diseño de bases de datos en MySQL, PostgreSQL, Access, Progress. Utilizando lenguajes para ello como PHP, Java Script, Visual Basic o 4GL, que son herramientas utilizadas con frecuencia.
  • Para la construcción de base de datos se necesita programas para dar diseño.
  • http://www.wikilearning.com/curso_gratis/guia_del_desarrollo_de_software-requerimientos_de_las_bases_de_datos/3471-21

Gestores de una base de Datos.

  • Los sistemas de gestión de bases de datos (en inglés database management system, abreviado 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. Los hechos generales de los sistemas de gestor de bases 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. Existen distintos objetivos que deben cumplir los SGBD: Abstracción de la información. Los SGBD 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. Así, se definen varios niveles de abstracción. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones. Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. Manejo de transacciones. Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos. Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.
  • Los gestores de base de datos nos sirven principalmente para manejar datos de una base de datos de manera sencilla, para evitar los detalles de almacenamiento de dichos datos, tener la capacidad para cambiar el esquema, ya sea físico o lógico, tener seguridad de los datos de la base de datos en la que se trabaja y minimizar el tiempo de trabajo.
  • http://es.wikipedia.org/wiki/Sistema_de_gestión_de_bases_de_datos