lunes, 22 de junio de 2009

GENERACION DE UN SISTEMA BASE DE DAOTS

GENERACION DE UN SISTEMA 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.

  • Esto se desarrollo desde el modelo relacional nos enseña lo que haboa antes y lo que hay ahora.

DISEÑO FISICO DE BASES DE DATOS

DISEÑO FISICO DE BASES DE DATOS
  • El objetivo de esta etapa es producir una descripción de la implementación de la base de datos en memoria secundaria. Esta descripción incluye las estructuras de almacenamiento y los métodos de acceso que se utilizarán para conseguir un acceso eficiente a los datos.
    El diseño físico se divide de cuatro fases, cada una de ellas compuesta por una serie de pasos:
    Traducir el esquema lógico global para el SGBD específico.
    Diseñar las relaciones base para el SGBD específico.
    Diseñar las reglas de negocio para el SGBD específico.
    Diseñar la representación física.
    Analizar las transacciones.
    Escoger las organizaciones de ficheros.
    Escoger los índices secundarios.
    Considerar la introducción de redundancias controladas.
    Estimar la necesidad de espacio en disco.
    Diseñar los mecanismos de seguridad.
    Diseñar las vistas de los usuarios.
    Diseñar las reglas de acceso.
    Monitorizar y afinar el sistema.

  • El diseño fisico de una base de datos nos permite saber como es la base de datos, es la descripcion de la base de datos.


TRANSFORMACION LA MODELO DE DATOS

TRANSFORMACION LA MODELO DE DATOS
  • El diseño de una base de datos relacional puede seguir dos caminos. Por una parte, puede crearse tomando como punto de partida la observación del universo en estudio, dando lugar a un conjunto de esquemas de relaciones, que contengan los atributos y sus restricciones. Por otra parte, puede dividirse el diseño en dos fases, la primera de las cuales sería definir el modelo conceptual y su esquema, y la segunda transformar el esquema conceptual en un esquema relacional mediante una transformación realizada de acuerdo a unas reglas dadas.

  • Esto nos muestra una forma de crear una base que mas se acomoda a nuestras necesidades.

  • http://tramullas.com/documatica/2-8.html

ELECCION DE UN SISTEMA GESTOR DE BASES DE DATOS

ELECCION DE UN SISTEMA GESTOR DE BASES DE DATOS
  • Existen muchas "maneras" de manejar informáticamente esas bases de datos: con Access, Oracle, SQL, PostgreSQL o MySql .. entre otros. Cada sistema tiene unas características, unas ventajas y unos inconvenientes, la elección de uno u otro sistema para gestionar nuestra base de datos vendrá definida por nuestras necesidades.MySql es un gestor de bases de datos, es una manera de gestionar nuestros datos, es un bibliotecario computarizado que administra, gestiona, y opera con nuestros ficheros de datos . Si le hablamos en un idioma que entienda nos los devolverá ordenados, clasificados y/o seleccionados. Constituye el núcleo de la base de datos, contiene todas las rutinas necesarias para la gestión de los datos. Muchos sistemas utilizan como lenguaje del sistema el lenguaje SQL (Structured Query Language) Siendo una base de datos como un sistema de captación y mantenimiento de registros de forma computarizada, en este sistema se van a poder realizar las operaciones de inserción, borrado y modificación de un dato y modificaciones, borrados e inserciones de información de la estructura de la base de datos.
    Las bases de datos tienen sus pros y sus contras y elegiremos una de acuerdo a nuestras necesidades y la que mas nos convenga

  • Este punto se refiere a las funciones basicas de un sgdb.

DISEÑO CONCEPTUAL DE LA BASE DE DATOS

DISEÑO CONCEPTUAL DE LA BASE DE DATOS
  • El diseño de una base de datos es un proceso complejo que abarca decisiones a muy distintos niveles. La complejidad se controla mejor si se descompone el problema en subproblemas y se resuelve cada uno de estos subproblemas independientemente, utilizando técnicas específicas. Así, el diseño de una base de datos se descompone en diseño conceptual, diseño lógico y diseño físico.
    El diseño conceptual parte de las especificaciones de requisitos de usuario y su resultado es el esquema conceptual de la base de datos. Un esquema conceptual es una descripción de alto nivel de la estructura de la base de datos, independientemente del SGBD que se vaya a utilizar para manipularla. Un modelo conceptual es un lenguaje que se utiliza para describir esquemas conceptuales. El objetivo del diseño conceptual es describir el contenido de información de la base de datos y no las estructuras de almacenamiento que se necesitarán para manejar esta información.
    El diseño lógico parte del esquema conceptual y da como resultado un esquema lógico. Un esquema lógico es una descripción de la estructura de la base de datos en términos de las estructuras de datos que puede procesar un tipo de SGBD. Un modelo lógico es un lenguaje usado para especificar esquemas lógicos (modelo relacional, modelo de red, etc.). El diseño lógico depende del tipo de SGBD que se vaya a utilizar, no depende del producto concreto.
    El diseño físico parte del esquema lógico y da como resultado un esquema físico. Un esquema físico es una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Por ello, el diseño físico depende del SGBD concreto y el esquema físico se expresa mediante su lenguaje de definición de datos.

  • Este diseño conceptual de la base de datos nos sirve mucho por que asi podmeos tener una descripcion de alto nivel .

RECOLECCION Y ANALISIS DE INFORMACION

RECOLECCION Y ANALISIS DE INFORMACION

  • En esta etapa se recogen y analizan los requerimientos de los usuarios y de las áreas de aplicación. Esta información se puede recoger de varias formas:
    Entrevistando al personal de la empresa, concretamente, a aquellos que son considerados expertos en las áreas de interés.
    Observando el funcionamiento de la empresa.
    Examinando documentos, sobre todo aquellos que se utilizan para recoger o visualizar información.
    Utilizando cuestionarios para recoger información de grandes grupos de usuarios.
    Utilizando la experiencia adquirida en el diseño de sistemas similares. La información recogida debe incluir las principales áreas de aplicación y los grupos de usuarios, la documentación utilizada o generada por estas áreas de aplicación o grupos de usuarios, las transacciones requeridas por cada área de aplicación o grupo de usuarios y una lista priorizada de los requerimientos de cada área de aplicación o grupo de usuarios.
    Esta etapa tiene como resultado un 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.
    La información recogida se debe estructurar utilizando técnicas de especificación de requisitos, como por ejemplo técnicas de análisis y diseño estructurado y diagramas de flujo de datos. También las herramientas CASE ( Computer-Aided Software Engineering) pueden proporcionar una asistencia automatizada que garantice que los requisitos son completos y consistentes.

  • En esta etapa se recolectan los datos y se hacen diversas formas de el analisi y recoleccion de informacion como las entrevistas, cuestionarios, observaciones, examinaciones, etc.

CICLO DE VIDA DEL SISTEMA DE APLICACION DE BASE DE DATOS

CICLO DE VIDA DEL SISTEMA DE APLICACION DE BASE DE DATOS
  • 1. Planificación del proyecto
    Esta etapa conlleva la planificación de cómo se pueden llevar a cabo las etapas del ciclo de vida de la manera más eficiente. Hay tres componentes principales: el trabajo que se ha de realizar, los recursos para llevarlo a cabo y el dinero para pagar por todo ello. Como apoyo a esta etapa, se necesitará un modelo de datos corporativo en donde se muestren las entidades principales de la empresa y sus relaciones, y en donde se identifiquen las principales áreas funcionales. Normalmente, este modelo de datos se representa mediante un diagrama entidad-relación. En este modelo se tiene que mostrar también qué datos comparten las distintas áreas funcionales de la empresa.
    La planificación de la base de datos también incluye el desarrollo de estándares que especifiquen cómo realizar la recolección de datos, cómo especificar su formato, qué documentación será necesaria y cómo se va a llevar a cabo el diseño y la implementación. El desarrollo y el mantenimiento de los estándares puede llevar bastante tiempo, pero si están bien diseñados, son una base para el personal informático en formación y para medir la calidad, además, garantizan que el trabajo se ajusta a unos patrones, independientemente de las habilidades y la experiencia del diseñador. Por ejemplo, se pueden establecer reglas sobre cómo dar nombres a los datos, lo que evitará redundancias e inconsistencias. Se deben documentar todos los aspectos legales sobre los datos y los establecidos por la empresa como, por ejemplo, qué datos deben tratarse de modo confidencial.
    2. Definición del sistema
    En esta etapa se especifica el ámbito y los límites de la aplicación de bases de datos, así como con qué otros sistemas interactúa. También hay que determinar quienes son los usuarios y las áreas de aplicación.
    3. Recolección y análisis de los requisitos
    En esta etapa se recogen y analizan los requerimientos de los usuarios y de las áreas de aplicación. Esta información se puede recoger de varias formas:
    Entrevistando al personal de la empresa, concretamente, a aquellos que son considerados expertos en las áreas de interés.
    Observando el funcionamiento de la empresa.
    Examinando documentos, sobre todo aquellos que se utilizan para recoger o visualizar información.
    Utilizando cuestionarios para recoger información de grandes grupos de usuarios.
    Utilizando la experiencia adquirida en el diseño de sistemas similares. La información recogida debe incluir las principales áreas de aplicación y los grupos de usuarios, la documentación utilizada o generada por estas áreas de aplicación o grupos de usuarios, las transacciones requeridas por cada área de aplicación o grupo de usuarios y una lista priorizada de los requerimientos de cada área de aplicación o grupo de usuarios.
    Esta etapa tiene como resultado un 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.
    La información recogida se debe estructurar utilizando técnicas de especificación de requisitos, como por ejemplo técnicas de análisis y diseño estructurado y diagramas de flujo de datos. También las herramientas CASE ( Computer-Aided Software Engineering) pueden proporcionar una asistencia automatizada que garantice que los requisitos son completos y consistentes.
    4. Diseño de la base de datos
    Esta etapa consta de tres fases: diseño conceptual, diseño lógico y 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. Este modelo se refina después en un esquema lógico eliminando las construcciones que no se pueden representar en el modelo de base de datos escogido (relacional, orientado a objetos, etc.). En la tercera fase, el esquema lógico se traduce en un esquema físico para el SGBD escogido. La fase de diseño físico considera las estructuras de almacenamiento y los métodos de acceso necesarios para proporcionar un acceso eficiente a la base de datos en memoria secundaria.
    Los objetivos del diseño de la base de datos son:
    Representar los datos que requieren las principales áreas de aplicación y los grupos de usuarios, y representar las relaciones entre dichos datos.
    Proporcionar un modelo de datos que soporte las transacciones que se vayan a realizar sobre los datos.
    Especificar un esquema que alcance las prestaciones requeridas para el sistema. Hay varias estrategias a seguir para realizar el diseño: de abajo a arriba, de arriba a abajo, de dentro a fuera y la estrategia mixta. La estrategia de abajo a arriba parte de todos los atributos y los va agrupando en entidades y relaciones. Es apropiada cuando la base de datos es simple, con pocos atributos. La estrategia de arriba a abajo es más apropiada cuando se trata de bases de datos complejas. Se comienza con un esquema con entidades de alto nivel, que se van refinando para obtener entidades de bajo nivel, atributos y relaciones. La estrategia de dentro a fuera es similar a la estrategia de abajo a arriba, pero difiere en que se parte de los conceptos principales y se va extendiendo el esquema para considerar también otros conceptos, asociados con los que se han identificado en primer lugar. La estrategia mixta utiliza ambas estrategias, de abajo a arriba y de arriba a abajo, con un esquema de divide y vencerás. Se obtiene un esquema inicial de alto nivel, se divide en partes, y de cada parte se obtiene un subesquema. Estos subesquemas se integran después para obtener el modelo final.
    5. Selección del SGBD
    Si no se dispone de un SGBD, o el que hay se encuentra obsoleto, se debe escoger un SGBD que sea adecuado para el sistema de información. Esta elección se debe hacer en cualquier momento antes del diseño lógico.
    6. Diseño de la aplicación
    En esta etapa se diseñan los programas de aplicación que usarán y procesarán la base de datos. Esta etapa y el diseño de la base de datos, son paralelas. En la mayor parte de los casos no se puede finalizar el diseño de las aplicaciones hasta que se ha terminado con el diseño de la base de datos. Por otro lado, la base de datos existe para dar soporte a las aplicaciones, por lo que habrá una realimentación desde el diseño de las aplicaciones al diseño de la base de datos.
    En esta etapa hay que asegurarse de que toda la funcionalidad especificada en los requisitos de usuario se encuentra en el diseño de la aplicación. Habrá algunos programas que utilicen y procesen los datos de la base de datos.
    Además, habrá que diseñar las interfaces de usuario, aspecto muy importante que se suele ignorar. El sistema debe ser fácil de aprender, fácil de usar, ser directo y estar ``dispuesto a perdonar''. Si la interface no tiene estas características, el sistema dará problemas, sin lugar a dudas.
    7. Prototipado
    Esta etapa, que es opcional, es para construir prototipos de la aplicación que permitan a los diseñadores y a los usuarios probar el sistema. Un prototipo es un modelo de trabajo de las aplicaciones del sistema. El prototipo no tiene toda la funcionalidad del sistema final, pero es suficiente para que los usuarios puedan utilizar el sistema e identificar qué aspectos están bien y cuáles no son adecuados, además de poder sugerir mejoras o la inclusión de nuevos elementos. Este proceso permite que quienes diseñan e implementan el sistema sepan si han interpretado correctamente los requisitos de los usuarios. Otra ventaja de los prototipos es que se construyen rápidamente.
    Esta etapa es imprescindible cuando el sistema que se va a implementar tiene un gran coste, alto riesgo o utiliza nuevas tecnologías.
    8. Implementación
    En esta etapa se crean las definiciones de la base de datos a nivel conceptual, externo e interno, así como los programas de aplicación. La implementación de la base de datos se realiza mediante las sentencias del lenguaje de definición de datos (LDD) del SGBD escogido. Estas sentencias se encargan de crear el esquema de la base de datos, los ficheros en donde se almacenarán los datos y las vistas de los usuarios.
    Los programas de aplicación se implementan utilizando lenguajes de tercera o cuarta generación. Partes de estas aplicaciones son transacciones sobre la base de datos, que se implementan mediante el lenguaje de manejo de datos (LMD) del SGBD. Las sentencias de este lenguaje se pueden embeber en un lenguaje de programación anfitrión como Visual Basic, Delphi, C, C++, Java, COBOL, Fortran, Ada o Pascal. En esta etapa, también se implementan los menús, los formularios para la introducción de datos y los informes de visualización de datos. Para ello, el SGBD puede disponer de lenguajes de cuarta generación que permiten el desarrollo rápido de aplicaciones mediante lenguajes de consultas no procedurales, generadores de informes, generadores de formularios, generadores de gráficos y generadores de aplicaciones.
    También se implementan en esta etapa todos los controles de seguridad e integridad. Algunos de estos controles se pueden implementar mediante el LDD y otros puede que haya que implementarlos mediante utilidades del SGBD o mediante programas de aplicación.
    9. Conversión y carga de datos
    Esta etapa es necesaria cuando se está reemplazando un sistema antiguo por uno nuevo. Los datos se cargan desde el sistema viejo al nuevo directamente o, si es necesario, se convierten al formato que requiera el nuevo SGBD y luego se cargan. Si es posible, los programas de aplicación del sistema antiguo también se convierten para que se puedan utilizar en el sistema nuevo.
    10. Prueba
    En esta etapa se prueba y valida el sistema con los requisitos especificados por los usuarios. Para ello, se debe diseñar una batería de tests con datos reales, que se deben llevar a cabo de manera metódica y rigurosa. Es importante darse cuenta de que la fase de prueba no sirve para demostrar que no hay fallos, sirve para encontrarlos. Si la fase de prueba se lleva a cabo correctamente, descubrirá los errores en los programas de aplicación y en la estructura de la base de datos. Además, demostrará que los programas ``parecen'' trabajar tal y como se especificaba en los requisitos y que las prestaciones deseadas ``parecen'' obtenerse. Por último, en las pruebas se podrá hacer una medida de la fiabilidad y la calidad del software desarrollado.
    11. Mantenimiento
    Una vez que el sistema está completamente implementado y probado, se pone en marcha. El sistema está ahora en la fase de mantenimiento en la que se llevan a cabo las siguientes tareas:
    Monitorización de las prestaciones del sistema. Si las prestaciones caen por debajo de un determinado nivel, puede ser necesario reorganizar la base de datos.
    Mantenimiento y actualización del sistema. Cuando sea necesario, los nuevos requisitos que vayan surgiendo se incorporarán al sistema, siguiendo de nuevo las etapas del ciclo de vida que se acaban de presentar.

  • Estas son las etapas del ciclo de vida de una base de datos y no son estrictamente secuenciales y algunas se tienen que repetir varias veces.