Full Transcript

C.I.F.P. de Ponferrada Gestión de Bases de Datos FASES EN EL DESARROLLO Para realizar el desarrollo de cualquier proyecto de software de Bases de datos es necesario llevar una sistemática de trabajo, que nos asegure el éxit...

C.I.F.P. de Ponferrada Gestión de Bases de Datos FASES EN EL DESARROLLO Para realizar el desarrollo de cualquier proyecto de software de Bases de datos es necesario llevar una sistemática de trabajo, que nos asegure el éxito del mismo. Lo que tenemos que evitar, en el desarrollo de un software: Proyectos Cancelados: 24% Proyectos Problemáticos: 44% Proyectos Exitosos: 32% Standis‘2009 Funcionalidades no usadas: 64% Usadas rara vez: 16% Usadas: 20% Página 1 C.I.F.P. de Ponferrada Gestión de Bases de Datos PROCESOS PRINCIPALES Vamos a desarrollar todas las fases por las que debería pasar un proyecto: 1. Estudio de Viabilidad del proyecto: La empresa necesita una renovación por completo de todo el Software que gestiona la base de datos. Este está quedando obsoleto, es lento, con interfaces gráficas sin ningún atractivo y con muchos fallos… Y cómo no se pongan pronto manos a la obra la empresa dejaría de ser competitiva y quedaría fuera del mercado. Se propone hacer un estudio de viabilidad con las siguientes fases: a. Objetivos y justificación -> Los directivos y asesores de la empresa son los que deberán justificar el proyecto. ¿Por qué es necesario realizar este proyecto? ¿Qué nos va a aportar? Evaluación aproximada de los medios y de los costes. Se deben plantear objetivos a corto plazo. b. Estudio de las necesidades de la empresa -> El equipo directivo de la empresa decide reunirse para tratar su estudio. En dichas reuniones es muy importante la presencia del equipo informático de la empresa. En dicho estudio se debe tener Página 2 C.I.F.P. de Ponferrada Gestión de Bases de Datos en cuenta: Análisis de requerimientos Físicos: -> Estimación de costes de todos los componentes Hardware que necesitará el software de la base de datos que se pretende implantar. Análisis de requerimientos Lógicos:-> Estimación de costes de todos los componentes Software. Análisis de requerimientos Financieros:-> Todos los costes totales estimados (Financieros, Honorarios, Recursos humanos….) 2. ANALISIS DE REQUISITOS: Identificar todas las partes que interactúan con la base de datos. Se evalúan todas las necesidades software y hardware para proceder con el proyecto. Entrevistas y Evaluación de las necesidades -> Hablar con todos los empleados de la empresa afectados para saber sus necesidades con la implantación de la nueva base de datos. o Esta fase es costosa pero de gran utilidad. Estudio de lo existente (Inventario) -> Nos hacemos las siguientes preguntas: ¿Qué es lo que tengo? ¿Qué es lo que se puede reutilizar? Página 3 C.I.F.P. de Ponferrada Gestión de Bases de Datos ¿Qué es lo que no es necesario? Estudio de los nuevos requerimientos: -> En esta fase se detalla todos los componentes Software y Hardware que serían necesarios. 3. FORMALIZACIÓN DEL PROYECTO. En esta fase se firma el contrato con el cliente y se establecen los objetivos y tiempos de ejecución. 4. PROCESO DE ADQUISICIÓN Compra de todos los componentes Software y hardware: Equipos informáticos Servidores Dispositivos de entrada y salida. Aplicaciones. 5. PROCESO DE DESARROLLO: En esta fase ya entrar a trabajar los diseñadores y programadores del proyecto. El proceso de desarrollo las siguientes fases: 1. DISEÑO CONCEPTUAL: Se hace todo el diseño lógico de la Base de datos: Modelado de Datos: Diagramas de Flujo. Diagramas Modelo Entidad-Relación Diagramas de Clases. Diagramas de Comportamiento. Diagramas de estado. 2. DISEÑO LÓGICO: Página 4 C.I.F.P. de Ponferrada Gestión de Bases de Datos Estructura de datos a utilizar. Diccionario de datos. Dependencias Funcionales. Normalización de los Esquemas. Entornos de desarrollo utilizados Lenguajes de programación. S.G.B.D 3. DISEÑO FISICO: Implantación del SGBA Creación De Consultas. Creación De Formularios. Creación de Informes. Implantación de los lenguajes de consultas: DML DDL DCL Implantación de todas las aplicaciones que interactúan con el SGBD Implantación de aplicaciones horizontales. 4. PRUEBAS DE SOTFWARE: Caja Blanca Caja Negra 5. SIMULACIÓN: La nueva base de datos se ejecuta en un entorno virtual que simule la realidad. 6. PROCESO DE EXPLOTACIÓN: Puesta en marcha de todo el sistema de la base de datos en producción. Página 5 C.I.F.P. de Ponferrada Gestión de Bases de Datos 7. PROCESO DE SOPORTE: Parte de los informáticos que diseñaron el proyecto deben dar soporte durante un determinado tiempo ante posibles fallos del SGBD. 8. PROCESO DE MANTENIMIENTO Es el proceso que aparece cuando el software necesita modificaciones, ya sea en código o en la documentación aportada 9. PROCESO DE CALIDAD Verifica si los requisitos del SGBD son los correctos y cumplen con las normativas de calidad actuales. 10. PROCESO DE AUDITORIA Es realizado por personas externas a la empresa. Permite establecer en momentos predeterminados si se están cumpliendo los requisitos. 11. PROCESO DE DOCUMENTACIÓN Registra la información producida por el SGBD. Crear los manuales de usuarios Mantener la documentación de las aplicaciones Mantener los diseños lógicos y conceptuales del sistema. 12. PROCESO DE MEJORA Creación de versiones o parches si fuera necesario. Página 6 C.I.F.P. de Ponferrada Gestión de Bases de Datos 13. PROCESO DE FORMACIÓN La formación es realizada por personal externo o por los informáticos de la empresa. Directivos Empleados Página 7 C.I.F.P. de Ponferrada Gestión de Bases de Datos Sistemas Gestores de Bases de Datos Un sistema gestor de bases de datos (SGBD) es un conjunto de aplicaciones que permite a los usuarios definir, crear y mantener una base de datos, y proporciona acceso controlado a la misma. 1. Componentes de los SGBD ✓ Procesador de consultas -> ✓ Gestor de la Bases de datos -> ✓ Gestor de Ficheros -> ✓ Procesador DML -> ✓ Compilador DDL -> ✓ Gestor del Diccionario de Datos -> ✓ Módulo de Seguridad -> ✓ Módulo de Integridad -> ✓ Módulo optimizador de Consultas -> ✓ Módulo Planificador -> ✓ Módulo de Recuperación -> ✓ Gestor de Buffer -> 1 C.I.F.P. de Ponferrada Gestión de Bases de Datos 2. Funciones de los SGBD Codd, el creador del modelo relacional, ha establecido una lista con los servicios que debe ofrecer todo SGBD. 1. Proporcionar lenguajes a los usuarios de la base de datos para la manipulación y acceso a los datos. DML 2. Proporcionar lenguajes a los programadores para el diseño de la base de datos. DDL 3. Proporcionar lenguajes a los administradores para el mantenimiento y control de la base de datos. DCL 4. Mantener el diccionario de datos. 5. Normalizar. Minimizar la redundancia de datos. 6. INDEPENDENCIA FISICA Y LOGICA. 7. Proporcionar herramientas para diseñar el esquema lógico de la Base de datos. 8. Garantizar la consistencia de los datos -> Garantizar el estado seguro. 9. Proporcionar aplicaciones a los usuarios finales para el acceso a los datos. Vistas. 10. Monitorización-> Pruebas de sistema, tráfico…. 11. Seguridad para los accesos de los usuarios. 12. Acceso concurrente. Varios usuarios a la vez. 13. Portabilidad. 14. Proporcionar interfaces de alto nivel. 15. Protección contra fallos. Copias de seguridad. 16. Ocultar a los usuarios la estructura física. 17. Cumplir con los criterios de calidad 2 C.I.F.P. de Ponferrada Gestión de Bases de Datos 3. Lenguajes de los SGBD Los SGBD deben ofrecer lenguajes e interfaces apropiadas para cada tipo de usuario: administradores de la base de datos, diseñadores, programadores de aplicaciones y usuarios finales. Lenguaje de definición de datos (DDL) Permite la definición de la base de datos mediante el lenguaje de definición de datos (DDL – Data Description Language). Este lenguaje permite especificar la estructura y el tipo de los datos, así como las restricciones sobre los datos. Todo esto se almacenará en la base de datos en forma de metadatos. Lenguaje de manipulación de datos (DML) Una vez creados los esquemas de la base de datos, los usuarios necesitan un lenguaje que les permita manipular los datos de la base de datos: realizar consultas, inserciones, eliminaciones y modificaciones. Este lenguaje es el que se denomina lenguaje de manejo de datos (DML). Hay dos tipos de DML: los procedurales y los no procedurales. Con un DML procedural el usuario (normalmente será un programador) y utiliza un lenguaje de programación estructurado u orientado a objetos para especificar qué datos se necesitan y cómo hay que obtenerlos. Las bases de datos jerárquicas y de red utilizan DML procedurales. Un DML no procedural se puede utilizar de manera independiente para especificar operaciones complejas sobre la base de datos de forma concisa. En muchos SGBD se pueden introducir interactivamente instrucciones del DML desde un terminal o bien embeberlas en un lenguaje de programación de alto nivel. Los DML no procedurales permiten especificar los datos a obtener en una consulta o los datos que se deben actualizar, mediante una sola y sencilla sentencia. El usuario o programador especifica qué datos quiere obtener sin decir cómo se debe acceder a ellos. Las bases de datos relacionales utilizan DML no procedurales, como SQL (Structured Query Language) o QBE (Query-By-Example). Los lenguajes no procedurales son más fáciles de aprender y de usar que los procedurales. Lenguaje de control de datos (DCL) Son lenguajes para el control de la base de datos. Son manejados por los administradores. Y ofrece servicios de seguridad, integridad de datos, privilegios de usuarios, herramientas de rendimientos, copias de 3 C.I.F.P. de Ponferrada Gestión de Bases de Datos seguridad…. funcionamiento del SGBD La Ilustración 9 presenta el funcionamiento típico de un SGBD. En ella se reproduce la comunicación entre un proceso de usuario que desea acceder a los datos y el SGBD: (1) El proceso lanzado por el usuario llama al SGBD indicando la porción de la base de datos que se desea tratar (2) El SGBD traduce la llamada a términos del esquema lógico de la base de datos. Accede al esquema lógico comprobando derechos de acceso y la traducción física (normalmente los metadatos se guardan una zona de memoria global y no en el disco) (3) El SGBD obtiene el esquema físico (4) El SGBD traduce la llamada a los métodos de acceso del Sistema Operativo que permiten acceder realmente a los datos requeridos (5) El Sistema Operativo accede a los datos tras traducir las órdenes dadas por el SGBD (6) Los datos pasan del disco a una memoria intermedia o buffer. En ese buffer se almacenarán los datos según se vayan recibiendo (7) Los datos pasan del buffer al área de trabajo del usuario (ATU) del proceso del usuario. Los pasos 6 y 7 se repiten hasta que se envíe toda la información al proceso de usuario. (8) En el caso de que haya errores en cualquier momento del proceso, el SGBD devuelve indicadores en los que manifiesta si ha habido errores o advertencias a tener en cuenta. Esto se indica al área de comunicaciones del proceso de usuario. Si las indicaciones son satisfactorias, los datos de la ATU serán utilizables por el proceso de usuario. 4 C.I.F.P. de Ponferrada Gestión de Bases de Datos Esquema del funcionamiento de un SGBD 5 C.I.F.P. de Ponferrada Gestión de Bases de Datos Modelos de datos Los modelos de datos hacen una abstracción de la realidad (lo que le pide el cliente) y lleva esa realidad a un conjunto de modelos lógicos con el objetivo de perder la mínima información posible de la realidad. Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. Existen tres modelos de bases de datos: MODELO JERARQUICO El modelo jerárquico es un tipo de modelo de red con algunas restricciones. De nuevo los datos se representan como colecciones de registros y las relaciones entre los datos se representan mediante conjuntos. Sin embargo, en el modelo jerárquico cada nodo puede tener un solo padre. Una base de datos jerárquica puede representarse mediante un árbol: los registros son los nodos, también denominados segmentos, y los arcos son los conjuntos. El SGBD jerárquico más importante es el sistema IMS. Estructuras muy rígidas y no se adaptan a la realidad. Poca flexibilidad a la hora de representar los datos. El modelo en árbol o jerárquico es óptimo cuando queremos representar jerarquías o dependencias. 1 C.I.F.P. de Ponferrada Gestión de Bases de Datos MODELO EN RED En el modelo de red los datos se representan como colecciones de registros y las relaciones entre los datos se representan mediante conjuntos, que son punteros en la implementación física. Los registros se organizan como un grafo: los registros son los nodos y los arcos son los conjuntos. El SGBD de red más popular es el sistema IDMS. Una estructura en red no presenta ninguna restricción ya que no es de tipo árbol. La estructura es de tipo grafo. Se adaptan mejor a la realidad. Mayor complejidad a la hora de representar datos. Utiliza punteros para relacionar los datos y esta no es la mejor forma de almacenar datos en una base de datos. 2 C.I.F.P. de Ponferrada Gestión de Bases de Datos MODELO RELACIONAL El modelo relacional se basa en el concepto matemático denominado “relación", que gráficamente se puede representar como una tabla. En el modelo relacional, los datos y las relaciones existentes entre los datos se representan mediante estas relaciones matemáticas, cada una con un nombre que es único y con un conjunto de columnas. La forma de relacionar los datos se realiza mediante claves. En el modelo relacional la base de datos es percibida por el usuario como un conjunto de tablas. La mayoría de los SGBD comerciales actuales están basados en el modelo relacional, mientras que los sistemas más antiguos estaban basados en el modelo de red o el modelo jerárquico. Estos dos últimos modelos requieren que el usuario tenga conocimiento de la estructura física de la base de datos a la que se accede, mientras que el modelo relacional proporciona una mayor independencia de datos. 3 C.I.F.P. de Ponferrada Gestión de Bases de Datos 4.- Sistemas de Bases de Datos Una base de datos es una colección de datos almacenados en un soporte informático permanente de forma que sea posible obtener la relación entre los datos a través de un esquema conceptual y que oculte la estructura física real de los datos. El objetivo es que las aplicaciones puedan acceder a los datos sin necesidad de conocer exactamente cómo están almacenados los datos. Esto se consigue con un esquema conocido como esquema conceptual. Cualquier desarrollador que conozca ese esquema puede acceder a los datos desde cualquier aplicación. 1 C.I.F.P. de Ponferrada Gestión de Bases de Datos Usuarios de un sistema de base de datos El administrador de la base de datos (ABD o DBA) se encarga del diseño físico de la base de datos y de su implementación, realiza el control de la seguridad y de la concurrencia, mantiene el sistema para que siempre se encuentre operativo y se encarga de que los usuarios y las aplicaciones obtengan buenas prestaciones. El administrador debe conocer muy bien el SGBD que se esté utilizando, así como el equipo informático sobre el que esté funcionando. El DBA, en resumen, autoriza el acceso a la BD, coordina y vigila su utilización, adquiere los recursos de software y hardware necesarios y es el responsable ante los problemas de violaciones de seguridad o respuesta lenta del sistema. Los analistas o diseñadores de la base de datos realizan el diseño lógico de la base de datos, debiendo identificar los datos, las relaciones entre datos y las restricciones sobre los datos y sus relaciones. El diseñador de la base de datos debe tener un profundo conocimiento de los datos de la empresa y también debe conocer sus reglas de negocio. Para obtener un buen resultado, el diseñador de la base de datos debe implicar en el desarrollo del modelo de datos a todos los usuarios de la base de datos, tan pronto como sea posible. El diseño lógico de la base de datos es independiente del SGBD concreto que se vaya a utilizar, es independiente de los programas de aplicación, de los lenguajes de programación y de cualquier otra consideración física. El diseñador, en resumen, identifica los datos que se van a almacenar en la BD, elije las estructuras apropiadas, y se comunica con los futuros usuarios de la BD con el fin de comprender sus necesidades y requerimientos. Una vez se ha diseñado la base de datos, los programadores de aplicaciones se encargan de implementar los programas de aplicación que servirán a los usuarios finales. Estos programas de aplicación son los que permiten consultar datos, insertarlos, actualizarlos y eliminarlos. Estos programas se escriben mediante lenguajes de tercera generación o de cuarta generación. El programador, en resumen, implementa las especificaciones realizadas por los analistas/diseñadores en forma de programas y luego prueba, depura, documenta y mantiene estas transacciones programadas, debiendo conocer a la perfección toda la gama de capacidades del SGBD. 2 C.I.F.P. de Ponferrada Gestión de Bases de Datos Los usuarios finales son los clientes de la base de datos: la base de datos ha sido diseñada e implementada, y está siendo mantenida, para satisfacer sus requisitos en la gestión de su información. Hay que tener en cuenta que las necesidades de los usuarios son muy diferentes en función del tipo de usuario que sean: a los finales les interesa la facilidad de uso, a los desarrolladores la potencia y flexibilidad de los lenguajes incorporados del sistema de bases de datos y a los administradores herramientas de gestión avanzada para la base de datos. 3 C.I.F.P. de Ponferrada Gestión de Bases de Datos Estructura de una base de datos Las bases de datos están compuestas (como ya se han comentado), de datos y de metadatos. Los metadatos son datos que sirven para especificar la estructura de la base de datos; por ejemplo qué tipo de datos se almacenan (si son texto o números o fechas...), qué nombre se le da a cada dato (nombre, apellidos,...), cómo están agrupados, cómo se relacionan,.... De este modo se producen dos visiones de la base de datos: Estructura lógica o conceptual. Indica la composición y distribución teórica de la base de datos. La estructura lógica sirve para que las aplicaciones puedan utilizar los elementos de la base de datos sin saber realmente cómo se están almacenando. Estructura física. Es la estructura de los datos tal cual se almacenan en las unidades de disco. 4 C.I.F.P. de Ponferrada Gestión de Bases de Datos Niveles de abstracción de una base de datos En cualquier sistema de información se considera que se pueden observar los datos desde des de tres puntos de vista distinto en función del esquema: Y se tienen los siguientes esquemas de la base de datos: Esquema físico Representa la forma en la que están almacenados los datos. Esta visión sólo la requiere el administrador/a.El administrador la necesita para poder gestionar más eficientemente la base de datos. En este esquema se habla de archivos, directorios o carpetas, unidades de disco, servidores,… Esquema conceptual Se trata de un esquema teórico de los datos en el que figuran organizados en estructuras reconocibles del mundo real y en el que también aparece la forma de relacionarse los datos. Este esquema es el paso que permite modelar un problema real a su forma correspondiente en el ordenador. Este esquema es la parte más importante. Como se verá más adelante, es el primer paso a realizar al crear una base de datos. En definitiva es el plano o modelo general de la base de datos. El esquema conceptual lo realizan los diseñadores y analistas Esquema externo Se trata de la visión de los datos que poseen los usuarios finales. Esa visión es la que obtienen a través de las aplicaciones. Las aplicaciones creadas por los desarrolladores abstraen la realidad conceptual de modo que el usuario no conoce las relaciones entre los datos, como tampoco conoce dónde realmente se están almacenando los datos. Los esquemas externos los realizan las programadoras/es según las indicaciones formales de los diseñadores y analistas. Realmente cada aplicación produce un esquema externo diferente (aunque algunos pueden coincidir) o vista de usuario. El conjunto de todas las vistas de usuario es lo que se denomina esquema externo global. Recursos humanos de las bases de datos Intervienen (como ya se ha comentado) muchas personas en el desarrollo y manipulación de una base de datos. Habíamos seleccionado cuatro tipos de usuarios (administradores/as, desarrolladores, diseñadores/as y usuarios/as). Ahora vamos a desglosar aún más esta clasificación. 5 C.I.F.P. de Ponferrada Gestión de Bases de Datos Informáticos Lógicamente son los profesionales que definen y preparan la base de datos. Pueden ser: Directivos/as. Organizadores y coordinadores del proyecto a desarrollar y máximos responsables del mismo. Esto significa que son los encargados de decidir los recursos que se pueden utilizar, planificar el tiempo y las tareas, la atención al usuario y de dirigir las entrevistas y reuniones pertinentes. Analistas. Son los encargados de controlar el desarrollo de la base de datos aprobada por la dirección. Normalmente son además los diseñadores de la base de datos (especialmente de los esquemas interno y conceptual) y los directores de la programación de la misma. Administradores/as de las bases de datos. Encargados de crear el esquema interno de la base de datos, que incluye la planificación de copia de seguridad, gestión de usuarios y permisos y creación de los objetos de la base de datos. Desarrolladores/as o programadores/as. Encargados de la realización de las aplicaciones de usuario de la base de datos. Equipo de mantenimiento. Encargados de dar soporte a los usuarios en el trabajo diario (suelen incorporar además tareas administrativas como la creación de copias de seguridad por ejemplo o el arreglo de problemas de red por ejemplo). Usuarios Expertos/as. Utilizan el lenguaje de manipulación de datos (DML) para acceder a la base de datos. Son usuarios que utilizan la base de datos para gestión avanzada de decisiones. Habituales. Utilizan las aplicaciones creadas por los desarrolladores para consultar y actualizar los datos. Son los que trabajan en la empresa a diario. Ocasionales. Son usuarios que utilizan un acceso mínimo a la base de datos a través de una aplicación que permite consultar ciertos datos. Serían por ejemplo los usuarios que consultan el horario de trenes a través de Internet 6 C.I.F.P. de Ponferrada Gestión de Bases de Datos 3.- Sistemas de ficheros Los sistemas de ficheros surgieron al tratar de informatizar el manejo de los archivadores manuales con objeto de proporcionar un acceso más eficiente a los datos. En lugar de establecer un sistema centralizado en donde almacenar todos los datos de la organización o empresa, se escogió un modelo descentralizado en el que cada sección o departamento almacena y gestiona sus propios datos en forma de ficheros. Tipos de ficheros según su estructura física Un fichero es una secuencia de números binarios que organiza información de un mismo tipo. En general sobre los archivos se pueden realizar las siguientes operaciones: Abrir (open). Prepara el fichero para su proceso. Cerrar (close). Cierra el fichero impidiendo su proceso inmediato. Leer (read). Obtiene información del fichero. Escribir (write). Graba información en el fichero. Posicionarse (seek). Coloca el puntero de lectura en una posición concreta del mismo (no se puede realizar en todos los tipos de ficheros). Fin de fichero (eof). Indica si hemos llegado al final del fichero. 1 C.I.F.P. de Ponferrada Gestión de Bases de Datos A continuación se explican los tipos más habituales de ficheros. Ficheros secuenciales En estos ficheros, los datos se organizan secuencialmente en el orden en el que fueron grabados. Para leer los últimos datos hay que leer los anteriores. Es decir leer el registro número nueve, implica leer previamente los ocho anteriores. Toda la información del fichero se divide en bloques de datos y son almacenados uno a continuación del otro. Ejemplos: Cintas magnéticas, de audio, tambor…. Ventajas Rápidos para obtener registros contiguos de una base de datos No hay huecos en el archivo al grabarse los datos seguidos, datos más compactos. Vesventajas Consultas muy lentas al tener que leer todos los datos anteriores al dato que queremos leer No se pueden eliminar registros del fichero (se pueden marcar de manera especial para que no sean tenidos en cuenta, pero no se pueden borrar) La ordenación de los datos requiere volver a crearle de nuevo 2 C.I.F.P. de Ponferrada Gestión de Bases de Datos Ficheros de acceso directo o aleatorio Se puede leer una posición concreta del fichero, con saber la posición del dato a leer. Acceden directamente a la información sin tener que pasar previamente por los anteriores datos. El acceso se realiza mediante un puntero que contienen la dirección de memoria del dato a ser leído. Ejemplos: Tabla Fat, Disco duro, Disco de vinilo… Ilustración 1, Ejemplo de fichero de acceso directo Ventajas Acceso rápido al no tener que leer los datos anteriores La modificación de datos es más sencilla Permiten leer y escribir a la vez Desventajas Actualmente este tipo de acceso no se usa para el acceso a las bases de datos, ya que los datos se organizan en base a una clave y no en base a un puntero. Para borrar un dato lo que se hace es poner a nulo el puntero que apuntaba a ese dato. No se borra físicamente. Y genera muchos huecos. 3 C.I.F.P. de Ponferrada Gestión de Bases de Datos Ficheros Indexados Son ficheros gestionados mediante una estructura de datos llamado fichero de índices los cuales tienen la dirección de todos los datos que forman el registro. Ventajas: Accesos rápidos. Mantiene los datos ordenados por índice. Este método es muy semejante al de las bases de datos relacionales Desventajas: Ocupa más espacio que las técnicas anteriores. Mantenimiento del fichero de índices. 4 C.I.F.P. de Ponferrada Gestión de Bases de Datos Tipos de ficheros según su uso Maestros. Son ficheros principales que poseen toda la información crítica de la empresa. Y suelen ser actualizados al final del día o cuando un evento importante lo requiere. Históricos. Contienen los datos de los ficheros maestros pasado un de terminado tiempo. De movimiento. Almacenan cambios a realizar en los ficheros maestros. 5 C.I.F.P. de Ponferrada Gestión de Bases de Datos 2.- Sistemas de información Colección de personas, procedimientos y objetos diseñados para recoger, registrar, procesar, almacenar, recuperar y visualizar información. BASES DE DATOS: Es el sistema de información recogido en un soporte físico de almacenamiento. S.G.D.B: Conjunto de aplicaciones que proporcionan servicios al usuario y permiten interactuar con la base de datos. Es el interface entre la base de datos y el usuario. Cualquier usuario que quiera interactuar con la base de datos tiene que pasar por S.G.B.D y no por el S.O. Un sistema de información genérico está formado por los siguientes elementos: Recursos físicos. Carpetas, documentos, equipamiento, discos,... Recursos humanos. Personal que maneja la información. Reglas. Normas que debe cumplir la información para que sea manejada (formato de la información, modelo para los documentos,...), es decir, las normas, métodos y protocolos determinados por la planificación de la empresa. 1 C.I.F.P. de Ponferrada Gestión de Bases de Datos Componentes de un sistema de información Datos. Se trata de la información relevante que almacena y gestiona el sistema de información. Esta información suele estar almacenada en bases de datos que cumplen con los requerimientos o normas de la empresa. Hardware. Equipamiento físico que se utiliza para gestionar los datos. Software. Aplicaciones que permiten el funcionamiento adecuado del sistema. Recursos humanos. Personal que maneja el sistema de información. Tipos de sistemas de información Según el propósito, los sistemas de información se pueden clasificar en: Transaccionales. Se ocupan de la automatización de las operaciones y transacciones que se realizan en la empresa, por ejemplo, las actividades que realizan los empleados de manera cotidiana (fichar a la hora de entrada del trabajo, firmar,...) De Gestión. Se ocupan de los datos que se manejan en la empresa y su almacenamiento. Por ejemplo controlan cómo se almacenan los datos en las bases de datos, cómo se recupera esa información, cómo se obtienen listados, informes, etc. De soporte a la decisión. Su misión es ayudar a los directivos y personal con responsabilidad dentro de la empresa en la toma de decisiones estratégicas. Estos sistemas están emparentados con las técnicas de inteligencia artificial y los sistemas expertos y son cada vez más comunes e importantes dentro de las empresas. Ofimática y aplicaciones específicas. son otros tipos de sistemas de información informáticos. Tipos de sistemas de información de gestión de datos Los sistemas de información pueden diferenciarse en orientados al proceso (sistema clásico de ficheros) u orientados a los datos (sistema de bases de datos). 2 C.I.F.P. de Ponferrada Gestión de Bases de Datos El uso de uno u otro sistema depende de la fecha en la que el sistema informático fue implantado en la empresa. En los años 60/70 se usaban ficheros de datos a los que se accedía a través de lenguajes de programación como Cobol, C, Basic, … (algunos bancos actuales siguen usando ese sistema). A mediados de los 70 se crean los primeros gestores de bases de datos que evolucionan hasta los conocidos relacionales SQL Server, ORACLE, Informix, … En la actualidad, la gran cantidad de datos a procesar requiere de bases de datos avanzadas que aportan una mezcla entre la idea de orientación a proceso y orientación a datos: las denominadas NoSQL como MongoDB o MariaDB. 3 C.I.F.P. de Ponferrada Gestión de Bases de Datos Sistemas de información orientados al proceso: FICHEROS En estos sistemas de información se crean diversas aplicaciones (software) para gestionar diferentes aspectos del sistema. Cada aplicación realiza unas determinadas operaciones. Los datos de dichas aplicaciones se almacenan en archivos digitales dentro de las unidades de almacenamiento del ordenador (a veces en archivos binarios, o en hojas de cálculo). En estos sistemas, cada programa almacena y utiliza sus propios datos de forma un tanto caótica. La única ventaja que conlleva esto es que los procesos son independientes, por lo que la modificación de uno no afecta al resto. Pero tiene grandes inconvenientes: Coste de almacenamiento elevado. Al almacenarse varias veces el mismo dato en distintas aplicaciones, se requiere más espacio en los discos. Datos redundantes. Ya que se repiten continuamente. Probabilidad alta de inconsistencia en los datos. Ya que un proceso cambia sus datos y no el resto. Por lo que el mismo dato puede tener valores distintos según qué aplicación acceda a él. Difícil modificación en los datos Debido a la probabilidad de inconsistencia, que ocurre cuando se produce una pérdida o hay incoherencia de datos. Para que ésta no exista, cada modificación se debe repetir en todas las copias del dato (algo que normalmente es imposible). Tiempos de procesamiento elevados. Al no poder optimizar el espacio de almacenamiento 4 C.I.F.P. de Ponferrada Gestión de Bases de Datos En la siguiente figura se muestra un sistema de información basado en ficheros. En ella se ve que la información puede ser redundante. Sistemas de información orientados a los datos: BASES DE DATOS En este tipo de sistemas los datos se centralizan en una base de datos común a todas las aplicaciones. Estos serán los sistemas que estudiaremos en este curso. En esos sistemas los datos se almacenan en una única estructura lógica que es utilizable por las aplicaciones. A través de esa estructura se accede a los datos que son comunes a todas las aplicaciones. 5 C.I.F.P. de Ponferrada Gestión de Bases de Datos ventajas inconvenientes Independencia de los datos Instalación costosa. El y los programas y procesos. control y administración de Esto permite modificar los datos bases de datos requiere de un sin modificar el código de las software y hardware poderoso aplicaciones. Requiere personal Menor redundancia. No hace cualificado. Debido a la falta tanta repetición de datos. dificultad de manejo de este Aunque, sólo los buenos tipo de sistemas. diseños de datos tienen poca Implantación larga y difícil. redundancia. Debido a los puntos anteriores. Integridad de los datos. La adaptación del personal es Mayor dificultad de perder los mucho más complicada y lleva datos o de realizar bastante tiempo. incoherencias con ellos. Mayor seguridad en los datos. Al limitar el acceso a ciertos usuarios. Datos más documentados. Gracias a los metadatos que permiten describir la información de la base de datos. Acceso a los datos más eficiente. La organización de los datos produce un resultado más óptimo en rendimiento. Menor espacio de almacenamiento. Gracias a una mejor estructuración de los datos. En la siguiente figura se muestra un sistema de información basado en bases de datos. La información está relacionada y no es redundante. 6 C.I.F.P. de Ponferrada Gestión de Bases de Datos 7 C.I.F.P. de Ponferrada Gestión de Bases de Datos 1.- Línea del tiempo: bases de datos Se dice que los sistemas de bases de datos tienen sus raíces en el proyecto estadounidense Apolo de mandar al hombre a la luna, en los años sesenta. En aquella época, no había ningún sistema que permitiera gestionar la inmensa cantidad de información que requería el proyecto. La primera empresa encargada del proyecto, NAA (North American Aviation), desarrolló un software que estaba basado en el concepto de que varias piezas pequeñas se unen para formar una pieza más grande, y así sucesivamente hasta que el producto final está ensamblado. Esta estructura, que tiene la forma de un árbol, es lo que se denomina una estructura jerárquica. A mediados de los sesenta, IBM se unió a NAA para desarrollar sus sistemas de almacenamiento de forma jerárquica. Y su almacenamiento era toda la gran estructura jerárquica en un solo fichero en una cinta magnética con la correspondiente redundancia generación de fallos. A este sistema de almacenamiento jerárquico, IBM lo llamó sistema de almacenamiento IMS A mitad de los sesenta, se desarrolló IDS (Integrated Data Store), de General Electric. IDS era un nuevo tipo de sistema de bases de datos conocido como sistema de red, que produjo un gran efecto sobre los sistemas de información de aquella generación. El sistema de red se desarrolló, en parte, para satisfacer la necesidad de representar relaciones entre datos más complejos que las que se podían modelar con los sistemas jerárquicos. Se estableció el estándar CODASYL para sistemas de bases de datos en red. 1 C.I.F.P. de Ponferrada Gestión de Bases de Datos En los años 70 Edgar Frank Codd, de los laboratorios de investigación de IBM, escribió un artículo presentando el modelo relacional. En este artículo, presentaba también los inconvenientes de los sistemas previos, el jerárquico y el de red. Se comenzaron a desarrollar muchos sistemas relacionales, y apareciendo los primeros a finales de los setenta y principios de los ochenta. Esto condujo a dos grandes desarrollos: El desarrollo de un lenguaje de consultas estructurado denominado SQL, que se ha convertidoen el lenguaje estándar de los sistemas relacionales. La producción de varios SGBD relacionales durante los años ochenta, como DB2 y SLQ/DS de IBM, y ORACLE. El desarrollo de los sistemas relacionales de código abierto actuales. Otros sistemas relacionales multiusuario son INGRES para sistemas UNIX dBase IV de Borland, Access de Microsoft, SQL SERVET y MySQL. 2 C.I.F.P. de Ponferrada Gestión de Bases de Datos Línea de tiempo: La antigüedad: En tiempos muy remotos las civilizaciones ya almacenaban información el ejemplo más claro son la bibliotecas, se almacenaba gran cantidad de datos y aún existen que sería de nosotros si a nuestros antepasados no se les hubiera ocurrido guardar información ya sea sobre medicina o simplemente la historia del mundo. 1884: Este año se dio origen a la maquina automática de perforación de tarjetas inventada por Herman Hollerith la cual fue utilizada para el censo de los Estado Unidos mejorando el proceso de terminación de siete años a solo dos años y medio 1950: La creación de las cintas magnéticas. Utiliza un sistema de lectura secuencial y ordenada es decir si se desea buscar los datos de "Pablito" se debe avanzar la cinta hasta llegar a dicho punto y si desea empezar a leer la información desde 0 debe devolver la cinta hasta al principio. 1960: La base de datos informatizada se inició en la década de 1960, cuando el uso de las computadoras se convirtió en una opción más rentable para las organizaciones privadas. Había dos modelos de base de datos más populares en esta década: un modelo de red llamado CODASYL o IDS y un modelo jerárquico llamado IMS. Estas bases de datos utilizaban lenguajes de tercera generación procedurales. 3 C.I.F.P. de Ponferrada Gestión de Bases de Datos 1970: Edgar Codd publicó un importante documento para proponer el uso de un modelo de base de datos relacional, y sus ideas cambiaron la forma de pensar en las bases de datos. En su modelo, el esquema de la base de datos, o la organización lógica, se desconecta de almacenamiento de información física, y esto se convirtió en el principio de norma para los sistemas de bases de datos. 1974 - 1977 Dos de los principales prototipos de relación del sistema de bases de datos fueron creadas entre los años 1974 y 1977, y fueron las bases de datos Ingres. Ingres utiliza un lenguaje de consulta conocido como QUEL 1976: Merise creó un modelo de diseño de base de datos relacionales llamado Entidad-Relación, o ER. 1980: Lenguaje de consulta SQL, se convirtió en el lenguaje de consulta estándar. Es un lenguaje de 4 generación no procedural y mediante código embebido en lenguajes anfitriones. Los sistemas de bases de datos relacionales se convirtieron en un éxito comercial, y esto provocó un importante descenso en la popularidad de las de red y los modelos jerárquicos de bases de datos. DB2 se convirtió en el producto insignia de la base de datos de IBM, y la introducción del PC de IBM como resultado en los establecimientos de muchas empresas de bases de datos nuevas y el desarrollo de productos como Paradox, 5000 RBASE, RIM, Dbase III y IV, OS / 2 de base de datos, y Watcom SQL. También se da inicio a las bases de datos orientadas a objetos. 2000: Desarrollo de bases de datos para el acceso vía html. SQL-SERVET, MYSQL. 4

Use Quizgecko on...
Browser
Browser