BASE DE DATOS CLASES INTRODUCCION Un archivo es un elemento de información conformado por un conjunto de registros. Estos registros a su vez están compuestos por una serie de carácteres o bytes. ARCHIVOS CONVENCIONALES Un archivo es un elemento de información conformado por un conjunto de registros. Estos registros a su vez están compuestos por una serie de carácteres o bytes. Actualmente las organizaciones están utilizando bases de datos para generar resultados o para compartir dicha información con otros sistemas. Sin embargo, los principales componentes de las bases de datos son los archivos. Las formas en las cuales pueden organizarse los archivos, son archivos secuenciales o archivos directos. En los archivos secuenciales los registros están almacenados en una secuencia que depende de algún criterio definido. Por ejemplo, pueden almacenarse los registros de los empleados de la empresa de manera secuencial de acuerdo al departamento al que pertenecen o de acuerdo a su antiguedad. El uso de archivos secuenciales presenta algunas desventajas en el proceso de actualización, consulta o registro de información cuando se maneja gran volumen de datos. Por ejemplo, si se desea registrar un nuevo empleado de acuerdo al departamento en el que va a laborar es necesario buscar uno por uno en los registros del archivo hasta encontrar la posición en la cual debe agregarse la información del nuevo empleado. La otra forma de organizar los archivos es a través de archivos directos, con los cuales se eliminan las desventajas mencionadas en los archivos secuenciales, ya que los archivos directos dan mayor flexibilidad en su manejo. Esta forma de organización es la que hace posible que existan las bases de datos. Los archivos directos permiten accesar directamente un registro de información sin tener que buscar uno a uno por todos los registros del archivo, utilizando una llave de acceso dentro del archivo. DEFINICION DE BASES DE DATOS Definición de Bases de Datos.- Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo. Es una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los Sistemas de Información de una empresa o negocio en particular. Las bases de datos proporcionan la infraestructura requerida para los Sistemas de Apoyo a la Toma de Decisiones y para los Sistemas de Información Estratégicos, ya que estos sistemas explotan la información contenida en las bases de datos de la organización para apoyar el proceso de toma de decisiones o para lograr ventajas competitivas. Los Sistemas Transaccionales o los Sistemas Estratégicos (SIS) son los encargados de recolectar la información que contendrá la base de datos, por medio de las funciones de creación, bajas o modificación de la información. La forma de operar de estos sistemas puede ser batch o en línea. Los Sistemas de Bases de Datos tiene cuatro componentes principales: datos, hardware, software y usuarios. 1 1. Conceptos básicos Archivo Un archivo es un elemento de información conformado por un conjunto de registros. Estos registros a su vez están compuestos por una serie de caracteres o bytes. Actualmente las organizaciones están utilizando bases de datos para generar resultados o para compartir dicha información con otros sistemas. Sin embargo, los principales componentes de las bases de datos son los archivos. Las formas en las cuales pueden organizarse los archivos, son archivos secuenciales o archivos directos. En los archivos secuenciales los registros están almacenados en una secuencia que dependen de algún criterio definido. Registro: Es una colección de campos (atributos) Un registro, es el conjunto de información referida a una misma persona u objeto. Un registro vendría a ser algo así como una ficha. Campo: Unidad básica de una base de datos. Un campo puede ser, por ejemplo, el nombre de una persona. Los nombres de los campos, no pueden empezar con espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamación o corchetes. Si pueden tener espacios en blanco en el medio. La descripción de un campo, permite aclarar información referida a los nombres del campo. El tipo de campo, permite especificar el tipo de información que cargáremos en dicho campo, esta puede ser: a.- Texto: para introducir cadenas de caracteres hasta un máximo de 255 b.- Memo: para introducir un texto extenso. Hasta 65.535 caracteres c.- Numérico: para introducir números d.- Fecha / Hora: para introducir datos en formato fecha u hora e.- Moneda: para introducir datos en formato número y con el signo monetario f.- Autonúmerico.- en este tipo de campo, Access numera automáticamente el contenido g.- Sí / No: campo lógico. Este tipo de campo es sólo si queremos un contenido del tipo Si / No, verdadero / Falso, etc. h.- Objeto OLE: para introducir una foto, gráfico, hoja de cálculo, sonido, etc. 1.- Hipervínculo: podemos definir un enlace a una página Web j.- Asistente para búsquedas: crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. Objetivo del sistema de gestión de una base de datos Sistema desarrollado que hace posible acceder a datos integrados que atraviesan los limites operacionales, funcionales u organizacionales de una empresa. Objetivos en el uso de un sistema de gestión de base de datos: o Oportunidad, asociado a la eficiencia y eficacia. o Disponibilidad, permitiendo la accesibilidad de datos o Consistencias (oportunidad + disponibilidad), como calidad de datos o Evolución, para adaptarse al entorno o Integridad, en el nivel de los datos así como el sistema. Objetivos del sistema de gestión de base de datos que podemos identificar son: o Independencia de datos o Accesibilidad limitada o Datos al día y sin redundancias o Consistencia o Interfaz única o Entrada directa a los datos o Recuperación por diferentes accesos o Función completa de interrogantes o Estandarización 2 o Seguridad Componentes principales Datos. Los datos son la Base de Datos propiamente dicha. Hardware. El hardware se refiere a los dispositivos de almacenamiento en donde reside la base de datos, así como a los dispositivos periféricos (unidad de control, canales de comunicación, etc.) necesarios para su uso. Software. Está constituido por un conjunto de programas que se conoce como Sistema Manejador de Base de Datos (DMBS: Data Base Management System). Este sistema maneja todas las solicitudes formuladas por los usuarios a la base de datos. Usuarios. Existen tres clases de usuarios relacionados con una Base de Datos: 1. El programador de aplicaciones, quien crea programas de aplicación que utilizan la base de datos. 2. El usuario final, quien accesa la Base de Datos por medio de un lenguaje de consulta o de programas de aplicación. 3. El administrador de la Base de Datos (DBA: Data Base Administrator), quien se encarga del control general del Sistema de Base de Datos. VENTAJAS EN EL USO DE BASES DE DATOS. La utilización de bases de datos como plataforma para el desarrollo de Sistemas de Aplicación en las Organizaciones se ha incrementado notablemente en los últimos años, se debe a las ventajas que ofrece su utilización, algunas de las cuales se comentarán a continuación: * Globalización de la información: permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos. * Eliminación de información inconsistente: si existen dos o más archivos con la misma información, los cambios que se hagan a éstos deberán hacerse a todas las copias del archivo de facturas. * Permite compartir información * Permite mantener la integrid0ad en la información: la integridad de la información es una de sus cualidades altamente deseable y tiene por objetivo que sólo se almacena la información correcta. * Independencia de datos: el concepto de independencia de datos es quizás el que más ha ayudado a la rápida proliferación del desarrollo de Sistemas de Bases de Datos. La independencia de datos implica un divorcio entre programas y datos. EL SISTEMA MANEJADOR DE BASES DE DATOS (DBMS). Es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Una de las ventajas del DBMS es que puede ser invocado desde programas de aplicación que pertenecen a Sistemas Transaccionales escritos en algún lenguaje de alto nivel, para la creación o actualización de las bases de datos, o bien para efectos de consulta a través de lenguajes propios que tienen las bases de datos o lenguajes de cuarta generación. 3 Independencia De Los Datos (Lógica Física) La forma más fácil de comprender el concepto de independencia de los datos es examinar primero el caso opuesto. Las aplicaciones actuales (al menos las implantadas en sistemas menos modernos, por opción a los sistemas de administración de bases de datos más recientes) con frecuencia dependen de los datos. Dicho de otro modo, los requerimientos de la aplicación en cuestión determinan la forma de organizar los datos en almacenamiento secundario y la técnica para acceder a ellos. Es más, el conocimiento de esa organización de los datos y esa técnica de acceso forma parte integral de la lógica y el código de esa aplicación. Crecimiento Conforme crezca la base de datos para incorporar nuevos tipos de información, así también deberá crecer la definición de la base de datos Restauración De vez en cuando podría surgir la necesidad de reestructurar la base de datos de manera tal que, aunque el contenido total de la información dentro de esa base de datos, es decir, se altere de alguna manera la asignación de los campos a las tablas. En general este tipo de reestructuración no son deseables; sin embargo, a veces son inevitables. Para concluir advertimos que la independencia de los datos no es algo absoluto, se logra en grados distintos en los diferentes sistemas. Dicho de otro modo, son muy pocos, y acaso no existen, los sistemas que carecen del todo de independencia de los datos; sencillamente algunos sistemas dependen más de los datos que otros. Existe la tendencia en los sistemas modernos a ser más independientes de los datos que los anteriores, pero todavía no son ideales. Reserva Y Seguridad. Reserva: Es la capacidad que tiene el programador para que sus datos se conserven al finalizar la ejecución de un proceso, de forma que se puedan reutilizar en otros procesos. Seguridad: la seguridad de las instalaciones, los datos y la información generada es parte de una conversión satisfactoria. La seguridad tiene tres aspectos interrelacionados, física, lógica y de comportamiento. Los tres tienen que trabajar juntos si se pretende que la calidad de la seguridad permanezca alta. Seguridad Física: Se refiere a la seguridad de las instalaciones de computación, su equipo y sofware por medios físicos (cámaras de televisión). Seguridad lógica: Se refiere a los controles lógicos dentro del mismo sofware (contraseñas) Seguridad De Comportamiento: Se refiere al comportamiento interno de los miembros de la organización, es critico para el éxito de los esfuerzos de seguridad (políticas y procedimientos), que el sistema registre la cantidad de empleados autorizados de monitorear el ingreso indebido de algunos empleados no autorizados. Integridad La seguridad informática, son técnicas desarrolladas para proteger los equipos informáticos individuales y conectados en una red frente a daños accidentales o intencionados. Estos daños incluyen el mal funcionamiento del hardware, la pérdida física de datos y el acceso a bases de datos de personas no autorizadas. Diversas técnicas sencillas para dificultar la delincuencia informática. Por ejemplo, el acceso a información confidencial puede evitarse destruyendo la información impresa, impidiendo que otras personas puedan observar la pantalla del ordenador, manteniendo la información y los ordenadores bajo llave o retirando de las mesas los documentos sensibles. Sin embargo, impedir los delitos informáticos exige también métodos más complejos. En un sistema de los denominados “tolerantes a fallos” dos o más ordenadores funcionan a la vez de manera redundante, por lo que si una parte del sistema falla el resto asume el control. Los virus informáticos son programas, generalmente destructivos, que se introducen en el ordenador (al leer un disco o acceder a una red informática) y pueden provocar perdida de la información (programas y datos) almacenada en el disco duro. 4 Existen programas antivirus que los reconocen y son capaces de “inmunizar” o eliminar el virus del ordenador. Para evitar problemas en caso de apagón eléctrico existen las denominadas UPS (acrónimo de Uninterrupted Power Suplí), baterías que permiten mantener el sistema informático en funcionamiento, por lo menos el tiempo necesario para apagarlo sin pérdida de datos. Sin embargo, la única forma de garantizar la integridad física de los datos es mediante copias de seguridad. Respaldo Y Recuperación Cuando una empresa se decide a utilizar un sistema de base de datos, se vuelve dependiente en grado sumo del funcionamiento correcto de ese sistema. En caso de que sufra daño cualquier porción de la base de datos por causa de un error humano, digamos, o una falla en el equipo o el sistema operativo que lo apoya, resulta esencial poder repara los datos implantados con un mínimo de retraso y afectando lo manos posible al resto del sistema. En teoría, por ejemplo, la disponibilidad de los datos no dañados no deberían verse afectada. El DBA debe definir y poner en práctica un plan de recuperación adecuado que incluya, por ejemplo, una descarga o vaciado “vaciado” periódico de la base de datos en un medio de alimentación de respaldo, y procedimientos para cargar otra vez la base de datos a partir del vaciado más reciente cuando sea necesario. Recuperación, es una estrategia disponible en numerosos sistemas de gestión de bases de datos, que permite restaurar la base de datos hasta la última unidad de trabajo realizada (transacción) antes de producirse un error de hardware o de software que haya impedido seguir utilizando la base de datos. El proceso comienza con la última copia de seguridad de la base de datos. Se lee el registro de transacción, o archivo de cambio, de la base de datos y cada transacción registrada es recuperada a través del último punto de comprobación del registro. Redundancia CRC, en informática, acrónimo de Cyclic Redundant Check (comprobación redundancia cíclica), procedimiento utilizado para detectar errores de transmisión de datos. Este procedimiento consiste en que, antes de enviar información, la computadora emisora utiliza un algoritmo para generar un número, usualmente de 16 o 32 bits, calculado en función de los datos que se van a trasmitir. Este número se añade después del bloque de datos y se envía a la computadora receptora. A continuación, la computadora receptora aplica el mismo algoritmo a los datos recibidos, y obtiene un número que debe coincidir con el número generado por la máquina emisora y enviado junto a los datos. Si coinciden, existe una elevada probabilidad de que la transmisión se haya completado con éxito. Los protocolos Xmodem y Kermit utilizan CRC para detectar errores en la transmisión. En los sistemas sin bases de datos cada aplicación tiene sus propios archivos privados. Esto puede provocar considerable redundancia en los datos almacenados, con el consecuente desperdicio de espacio de almacenamiento. Por ejemplo, tanto una aplicación de personal como una base de registros de instrucción podrían tener un archivo con información sobre los departamentos a los que pertenecen los empleados. Eliminando la redundancia si el administrador de datos está conciente de los requerimientos de información de ambas aplicaciones (es decir, si la empresa tiene el control global necesario). Esto no quiere decir aquí que es posible o deseable eliminar toda la redundancia. En ocasiones existen motivos válidos de negocios o técnicos para mantener varias copias de los mismos datos almacenados. Pero sí queremos sugerir que debe de tenerse presente, si existe, y asumir la responsabilidad de “propagar las actualizaciones” Consistencia De Datos En realidad, esto es un complemento del punto anterior. Para no poner a explicar que es una base de datos consistente explicaremos que es lo que la hace inconsistente. Vamos a suponer que un cierto dato acerca del mundo real, por ejemplo de que el trabajador E3 trabaja en el departamento D8, esta representado por dos entradas distintas en la base de datos almacenada. Supongamos también que el DBMS sistema de administración de base de datos (database management system) 5 no está consiente de esta duplicación ( es decir la redundancia no esta controlada). En este caso, habrá ocasiones en que las dos entradas no coincidan, a saber, cuando se haya puesto al día una y no la otra. En este caso, habrá ocasiones en que las dos entradas no coincidan, a saber, cuando se haya puesto el día una y no la otra. En estas ocasiones se decide que la base de datos es inconsistente. Es obvio que una base de datos en estado de inconsistente puede proporcionar información incorrecta o contradictoria a sus usuarios. Capacidad De Auditoria Es otra forma de asegurar la calidad de la información contenida en el sistema, se refiere a tener un experto que no esté involucrado en el ajuste o uso de un sistema para que examine la información para asegurar su confiabilidad. Hay dos tipos de auditores, los internos que trabajan para la misma organización dueña del sistema, y externos que son contratados del exterior de la organización, que auditan el sistema para asegurar la legalidad de los estados financieros. También en los casos en que ocurren cosas fuera de lo normal y que involucra a los empleados de la compañía. Control De Concurrencia Y Simultaneidad Se relaciona con la existencia de muchos usuarios interactuando concurrentemente en el sistema. Este debe controlar la interacción entre las transacciones concurrentes para evitar que se destruya la consistencia de la base de datos. La mayor parte de los DBMS (con la excepción de algunos productos para microcomputadores) son sistemas para múltiples usuarios; es decir; son sistemas en los cuales se permite cualquier cantidad de transacciones tener acceso a la misma base de datos al mismo tiempo. En sistemas como éstos, se necesita algún tipo de mecanismo de control de concurrencia a fin de asegurar que ninguna transacción concurrente interfiera con las operaciones de las demás. Sin un mecanismo semejante puedan surgir muchos problemas. En esencia, son tres los errores que pueden presentarse; es decir, tres situaciones en las cuales una transacción, aunque correcta en sí, puede producir de todos modos un resultado incorrecto debido a una interferencia por parte de alguna otra transacción ( desde luego, si no existe un mecanismo de control adecuado ). Los tres problemas son. 1. El problema de la modificación perdida 2. El problema de la dependencia no comprometida 3. El problema del análisis inconsistente Cabe señalar, por cierto, que la transacción que interfiere podría ser correcta en sí. Es la alternación de operaciones de las dos transacciones correctas lo que produce el resultado incorrecto. Capacidad de búsqueda Antes de comenzar a explicar las ventajas que ofrecen las ventajas de una base de datos en la consulta de x, cabe comenzar explicando un poco como debe ser esta interfaz para que la misma sea más rápida y eficaz al usuario. Interfaz del usuario Los objetivos de diseñar interfaces para ayudar a los usuarios a proporcionar información que necesitan son: la efectividad para acceder al sistema de la forma que necesitan, el aumento de la velocidad en la captura de datos y la reducción de errores, el logro de retroalimentación del sistema a los usuarios y la productividad. Tipos de interfaz Tiene dos componentes principales, el lenguaje de presentación (de la computadora al usuario) y el lenguaje de acción (la parte del usuario a la computadora). Interfaces de lenguaje natural 6 Permite que los usuarios interactúen en su lenguaje con la computadora. No se requieren habilidades especiales del usuario. Los problemas de implementación son mínimos. Interfaces De Pregunta Y Respuesta La computadora muestra una pregunta, el usuario teclea una respuesta y la computadora actúa sobre esa información en forma programada, moviéndose a la siguiente pregunta. Interfaces De Llenado De Forma (Formas De Entrada / Salida) Consisten en formas en pantalla que despliegan campos que contienen conceptos comunicados al usuario. La ventaja principal es que la versión impresa proporciona excelente documentación, la desventaja es que los usuarios pueden impacientarse con las formas y querer formas para capturar datos más eficientes. Retroalimentación para usuarios Es necesaria la retroalimentación a los usuarios por parte del sistema, para que sepan si su entrada está siendo aceptada, con datos correctos, si el procesamiento está avanzado, si las peticiones pueden ser o no procesadas y si se encuentra disponible información más detallada y cómo obtenerla. También puede ser efectiva la retroalimentación por audio. Los SBD pueden ser estudiados desde 3 niveles distintos: 1.- Nivel Físico. Es el nivel real de los datos almacenados. Es decir como se almacenan los datos, ya sea en registros, o como sea. Este nivel es usado por muy pocas personas que deben estar cualificadas para ello. Este nivel lleva asociada una representación de los datos, que es lo que denominamos Esquema Físico. 2.- Nivel Conceptual. Es el correspondiente a una visión de la base de datos desde el punto de visto del mundo real. Es decir tratamos con la entidad u objeto representado, sin importarnos como está representado o almacenado. Este nivel lleva asociado el Esquema Conceptual. 3.- Nivel Visión. Son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios por lo general sólo tienen acceso a pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería el caso del empleado que no tiene porqué tener acceso al sueldo de sus compañeros o de sus superiores. El esquema asociado a éste nivel es el Esquema de Visión. Los 3 niveles vistos, componen lo que conocemos como arquitectura de base de datos a 3 niveles. A menudo el nivel físico no es facilitado por muchos DBMS, esto es, no permiten al usuario elegir como se almacenan sus datos y vienen con una forma estándar de almacenamiento y manipulación de los datos. El administrador de la Base de Datos (DBA) El DBA es la persona encargada de definir y controlar las bases de datos corporativas, además proporciona asesoría a los usuarios y ejecutivos que la requieran. Tipos de modelos de Datos Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo jerárquico, el modelo de red y el modelo relacional. 7 a)._El modelo jerárquico La forma de esquematizar la información se realiza a través de representaciones jerárquicas o relaciones de padre/hijo, de manera similar a la estructura de un árbol. Así, el modelo jerárquico puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos. En el primer tipo se dice que existe una relación de uno a uno si el padre de la estructura de información tiene un solo hijo y viceversa, si el hijo tiene solamente un padre. En el segundo tipo se dice que la relación es de uno a muchos si el padre tiene más de un hijo, aunque cada hijo tenga un solo padre. Inconveniente del modelo jerárquico Relación maestro-alumno, donde un maestro tiene varios alumnos, pero un alumno también tiene varios maestros, uno para cada clase. En este caso, si la información estuviera representada en forma jerárquica donde el padre es el maestro y el alumno es el hijo, la información del alumno tendrá que duplicarse para cada uno de los maestros. Otra dificultad que presenta el modelo jerárquico de representación de datos es respecto a las bajas. En este caso, si se desea dar de baja a un padre, esto necesariamente implicará dar de baja a todos y cada uno de los hijos que dependen de este padre. b)._El modelo de red El modelo de red evita esta redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector, que en este caso pueden ser las calificaciones que obtuvieron los alumnos de cada profesor. La dificultad surge al manejar las conexiones o ligas entre los registros y sus correspondientes registros conectores. c)._El modelo relacional Se está empleando con más frecuencia en la práctica, debido el rápido entendimiento por parte de los usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos y a las ventajas que ofrece sobre los dos modelos anteriores. En este modelo toda la información se representa a través de arreglos bidimensionales o tablas. Estas operaciones básicas son: Seleccionar renglones de alguna tabla (SELECT) Seleccionar columnas de alguna tabla (PROJECT) Unir o juntar información de varias tablas (JOIN) Es importante mencionar que la mayoría de los paquetes que manejan bases de datos disponibles en el mercado poseen las instrucciones SELECT, PROJECT Y JOIN con diferentes nombres y modalidades. Bases de Datos distribuidas Son las Bases de Datos que no están almacenadas totalmente en un solo lugar físico, (esta segmentada) y se comunican por medio de enlaces de comunicaciones a través de una red de computadoras distribuidas geográficamente. Describir los sistemas de procesamiento en línea y por lotes Un sistema de procesamiento por lotes (batch) ejecuta trabajos (jobs) En un sistema de procesamiento por lotes, organizar la memoria en particiones fijas es simple y efectivo: cada trabajo se carga en la memoria cuando le toque su turno, y se queda en memoria hasta que termine. Si hay suficientes particiones para mantener a la CPU siempre ocupada, no habría razones para usar nada diferente. Procesamiento en linea: A diferencia del procesamiento por lotes o batch, el procesamiento en línea implica que los programas se ejecuten de tal forma que los datos se actualicen de inmediato en los archivos de la computadora. A este tipo de procesamiento se le conoce también como tiempo real. Las aplicaciones de tiempo real son indispensables en aquellos casos en que los datos contenidos en los archivos se modifican varias veces en el transcurso de un día y se consultan en forma casi 8 inmediata con las modificaciones que se efectuaron. Un ejemplo de lo anterior es un sistema de reservaciones en alguna línea aérea. Explicar los lenguajes de 3era y 4ª generación Los lenguajes de tercera generación (3GL; third-generation languages) son los lenguajes propiamente como los conocemos (poseen instrucciones, funciones, sintaxis, semántica); ya trascienden el uso de los términos nemotécnicos. Una instrucción puede indicar 1 o más tareas para el computador. Pueden dividirse como sigue: Orientados a problemas A procedimientos A objetos 4GL (Generadores de aplicaciones que no dependen de una metodología). • Son de alto nivel y amigables; los programadores profesionales que utilizan 4GL sostienen que experimentan incrementos en la productividad de 200 a 1,000% en comparación con los lenguajes orientados al procedimiento de la tercera generación (COBOL, FORTRAN, BASIC y demás ). Hay dos tipos de 4GL: Orientados a la produccion Al usuario Ejemplificar las aplicaciones de los 3GL y los 4GL • Lenguajes orientados al procedimiento.- Los lenguajes orientados al procedimiento requieren que los programadores resuelvan problemas de programación utilizando la lógica de programación tradicional; esto es, los programadores codifican o escriben las instrucciones en la secuencia en que deben ejecutar para solucionar el problema. Se dividen en: – Lenguajes empresariales. Los 3GL orientados a las empresas se diseñan para ser instrumentos efectivos para desarrollar sistemas de información empresarial. La fuerza de la 3GL empresariales consiste en su capacidad de almacenar, recuperar y manejar datos alfanuméricos. • – Lenguaje científicos. Estos lenguajes del tipo de una formula algebraica están diseñado en particular para satisfacer las necesidades de procedimientos repetitivo, la expresión y la solución de ecuaciones matemáticas y demás operaciones pertinentes. • • – COBOL, el primer lenguaje de programación empresarial, se introdujo en 1959. Este lenguaje sigue siendo el mas popular. La intención original del os 0creadores del COBOL (Common Bussines Oriented Language; lenguajes común orientado a la empresa) era hacer que sus instrucciones se aproximan al inglés. FORTRAN. (Formula Translator), el primer lenguaje orientado a procedimientos, se desarrollo en 1955. Fue y sigue siendo el lenguaje científico más popula. APL. (A Programming Language un lenguaje de programación), introducido en 1968, es un lenguaje de programación interactivo que es común entre los ingenieros, matemáticos y científicos. Un tablero especial con símbolos “taquigráficos” ayuda a la rapidez del proceso de cifrado. Lenguajes de la cuarta generación orientados a la producción. Los lenguajes de la cuarta generación orientados a la producción están diseñados sobre todo para profesionales en la computación, quienes usan 4GL como el Ideal de ADR, el Natural 2 de Software AG y el Mantis de Cincom. 9 • Otros lenguajes orientados al procedimiento. El análisis anterior de los lenguajes al procedimiento no pretende ser exhaustivo. Entre estos se incluyen los siguientes: – – – – – LISP ( List Processing [procesamiento de listas], 1959). Un lenguaje de procesamiento de listas eficiente para el manejo de datos no numéricos, tales como símbolos y texto (se utiliza en el desarrollo de la inteligencia artificial y los compiladores). LOGO (1967). Hace uso de una “tortuga” para enseñar a los niños geometría, matemáticas y programación. FORTH (1971). Se utiliza para aplicaciones de control de dispositivos, juegos de video y robótica. Prolog (Programming in Logic [programación en lógica], 1972. Es capaz de manejar relaciones entre hechos ( se utiliza en el desarrollo de sistemas expertos). Modula-2 (1981). Permite combinar módulos independientes en un programa. Lenguajes de la cuarta generación orientados al usuario. Los usuarios escriben programas para consultar (extraer información ) de una base de datos y para crear sistemas de información personales o departamentales. Los lenguajes de la cuarta generación orientados al usuario incluyen el RAMIS II de Mathematica Products Group y el FOCUS de Information Builders. 6.- Explicar la diferencia entre procesamiento de archivos y procesamiento de Base de Datos La diferencia principal entre un sistemas de procesamiento de archivos y un DBMS radica en la manera de almacenar, recuperar y actualizar los datos; lo anterior se debe a que con los sistemas de procesamiento de archivos, como su nombre lo indica, los datos se guardan en diversos archivos y muchas veces dichos archivos son de diferente formato, ocasionando problemas como la redundancia que trae consigo almacenamiento y dificulta el acceso a los datos. Dicha redundancia también implica inconsistencias en lo que se tiene almacenado . TIPOS DE MODELOS DE DATOS Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo jerárquico, el modelo de red y el modelo relacional. MODELO JERARQUICO. Puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos. MODELO DE RED. Este modelo permite la representación de muchos a muchos, de tal forma que cualquier registro dentro de la base de datos puede tener varias ocurrencias superiores a él. El modelo de red evita redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector. MODELO RELACIONAL. Este modelo se está empleando con más frecuencia en la práctica, debido a la ventajas que ofrece sobre los dos modelos anteriores, entre ellas, el rápido entendimiento por parte de ususarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos. BASES DE DATOS DISTRIBUIDAS Las bases de datos distribuidas se están utilizando cada vez más en la misma medida en que se usan las arquitecturas de cliente-servidor y groupware. Los principales problemas que se generan 10 por el uso de la tecnología de bases de datos distribuidas son en lo referente a duplicidad de datos y a su integridad al momento de realizar actualizaciones a los mismos. Además, el control de la información puede constituir una desventaja, debido a que se encuentra diseminada en diferentes localidades geográficas. TENDENCIAS FUTURAS. En el futuro la mayoría de las organizaciones cambiarán la forma convencional de manejo de la información a la arquitectura de base de datos a las ventajas derivadas de su uso. El uso de las bases de datos distribuidas se incrementará de manera considerable en la medida en que la tecnología de comunicación de datos brinde más facilidades para ello. El uso de bases de datos facilitará y soportará en gran medida a los Sistemas de Información para la Toma de Decisiones. Identificar cual sería el futuro de las base de datos Dentro del panorama futuro de las bases de datos múltiples hay un aspecto importante que considerar, el inusitado éxito del World Wide Web (WWW o, de forma abreviada, "el web") como medio de publicación de documentos y como medio de intercambio de información. El WWW proporciona uno de los medios más heterogéneos y retadores en el campo de la interoperabilidad. Recientemente han surgido tecnologías y estándares enfocados a hacer del web una infraestructura escalable y manejable. Una de dichas tecnologías es XML [4] (eXtensible Markup Language), sobre la cual la comunidad científica tiene muchas expectativas. Una de ellas es que XML convierta a Internet en un sistema de bases de datos, haciendo posible especificar consultas en el estilo de los manejadores de bases de datos tradicionales lo cual da muchos mejores resultados que las actuales máquinas de búsqueda. Sin embargo, XML en sí no posee mucha de la funcionalidad de sistemas de bases de datos múltiples como las indicadas en Donají. El reto es integrar esa funcionalidad en XML y aprovechar al máximo la información estratégica que podamos encontrar en el web. 3. Multitarea La ejecución de más de un programa a la vez en una computadora. Los sistemas operativos multitarea (Windows, OS/2, Unix y otros) permiten que múltiples operaciones se ejecuten simultáneamente. Sus mayores beneficios se obtienen cuando se realizan tareas largas y complejas (como consultar una base de datos). La cantidad de programas que pueden ejecutarse depende de la memoria disponible, de la velocidad de la CPU y de la eficiencia del sistema operativo. 4. Multiusuario Un SO multiusuario permite a mas de un solo usuario accesar una computadora. Claro que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado para correr en una minicomputadora, era multiusuario y multitarea desde su concepción. Actualmente se producen versiones de Unix para PC tales como The Santa Cruz Corporation Microport, Esix, IBM,y Sunsoft. Apple también produce una versión de Unix para la Machintosh llamada: A/UX.Unix , Unix proporciona tres maneras de permitir a múltiples personas utilizar la misma PC al mismo tiempo. 1.Mediante Módems 2.Mediante conexión de terminales a través de puertos seriales 3.Mediante Redes 5. Multiproceso Las computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de la computadoras multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucción, el otro procesador queda liberado para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros 11 Sistemas Operativos Multiproceso realizaban lo que se conoce como: Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de botella. Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los SO tienen que ser rediseñados o diseñados desde el principio para trabajar en u n ambiente multiproceso. Las extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles y las extensiones simétricas se están haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico. Lenguajes que tienen estas características C, SQL, El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su sistema de archivos proporciona un método sencillo de organizar archivos y permite la protección de archivos. Sin embargo, las instrucciones del UNIX no son intuitivas. Otros sistemas operativos multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft Corporation e International Business Machines (IBM) y Windows, desarrollado por Microsoft. El sistema operativo multitarea de las computadoras Apple se denomina Macintosh OS. 12