martes, 17 de marzo de 2015

SISTEMAS GESTORES DE BASES DE DATOS

Con el uso y el incremento del tipo de base de datos se desarrollaron sistemas informáticos que gestionan toda la funcionalidad de la base de datos propiamente dicha intentando que sea de la manera más clara, directa y sencilla.
Normalmente cada compañía de base de datos trae su propio SGBD (Sistema Gestor de Base de Datos). Aunque también los hay genéricos y muy buenos nosotros recomendamos que se utilice el propio de cada base de datos siempre que se pueda.
En la categoría de sistemas de bases de datos libres o gratuitos podemos citar como más importantes:
NOMBRE DE BASE DE DATOS
LOGOTIPO
PostgreSQL
logo postgresql
DB2-Express C
logo db2 express c base datos
MySQL (edición gratuita)
logo base datos mysql
 


Otras bases de datos requieren pagar para poder utilizarlas. Entre ellas tenemos:
NOMBRE DE BASE DE DATOS
LOGOTIPO
MySQL (ediciones de pago)
logo base datos mysql
dBase
logo base de datos dbase
IBM Informix
logo base de datos informix software
Microsoft SQL SERVER
logo base de datos microsoft sql server
Oracle

logo base de datos oracle
Sybase
logo base de datos sybase
 


De todas estas bases de datos la que ha conseguido mayor uso ha sido y sigue siendo Oracle, ya que desde 1979 ha sido líder indiscutible como base de datos para empresas de mediano y gran tamaño. Ahora bien, Oracle es una base de datos con buenas herramientas, potentísima, efectiva y como buen sistema de base de datos trae muchos programas variados que permiten hacer de todo en el terreno de las bases de datos: consultas, informes, análisis de datos, etc. Además Oracle cumple íntegramente con el estándar SQL y suele ser el referente a la hora de aprender a programar bases de datos.
Pero hay muchas ocasiones en las que no se utiliza un sistema Oracle por varios motivos: por un lado, es un sistema bastante “pesado” lo que significa que requiere disponer de servidores (grandes ordenadores) casi en dedicación exclusiva para este sistema de base de datos. Por otro lado, Oracle es una base de datos por cuyo uso hay que pagar y muchos usuarios y pequeñas empresas prefieren usar bases de datos de uso gratuito o de menor coste. Como alternativa a Oracle de coste más reducido y también muy efectiva, muchas empresas utilizan SQLServer, suministrada por Microsoft.
SQLServer es una solución de coste y rendimiento medio. Suelen usarlo empresas que tienen un volumen de información elevado, pero sin llegar a ser excesivo, sobre todo si utilizan un servidor dedicado de Microsoft. SQL Server ha estado creciendo aunque quizás no con la proyección que se esperaba. Sin embargo, le ha ido comiendo terreno a las demás compañías en el sector medio de las bases de datos.
En el desarrollo web donde los sistemas de hosting o alojamiento de páginas web suelen ser compartidos para ahorrar costes, el sistema de bases de datos más utilizado es quizás Mysql por su carácter de software libre de distribución gratuita. Sobre todo esto también se debe a que la mayoría de sitios web con hosting compartido son pequeñas o medianas webs que no mueven grandísimos volúmenes de datos, ya que suelen ser pequeñas o como mucho medianas empresas.


CONSEJOS PARA APRENDER PROGRAMACIÓN CON BASES DE DATOS
A la hora de aprender a programar con bases de datos, una buena opción es aprender con Oracle y su lenguaje SQL. Oracle facilita versiones de prueba (académicas o de estudio) gratuitas que pueden servir para aprender. Aunque tengamos que instalarlo en nuestro ordenador y nos consuma recursos, podemos trabajar a pequeña escala y aprender todas las funcionalidades sin grandes desventajas. Por el contrario, tendremos una gran ventaja, y es que una vez hayamos aprendido con Oracle la adaptación a cualquier otra base de datos es relativamente sencilla.
Otra alternativa interesante para aprender es utilizar MySql, ya que es un sistema gratuito que nos vamos a encontrar en la mayor parte de los servidores compartidos de páginas web. En este caso podremos trabajar usando un servidor (incluso un servidor gratuito) sin necesidad de instalar software en nuestro computador.
Finalmente, indicar que antes de aprender programación con bases de datos, es conveniente conocer los fundamentos de programación (algoritmia) así como uno o varios lenguajes de programación. Trabajar con bases de datos debe ser un paso “avanzado” dentro del proceso de aprendizaje de la programación, nunca el primer paso.

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

lenguaje

    • 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.
  • 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 .
7.- Describir las ventajas de procesamiento de base de datos
1.- Independencia de datos y tratamiento.
Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).
2.- Coherencia de resultados.
Reduce redundancia :
Acciones logicamente unicas.
Se evita inconsistencia.
3.- Mejora en la disponibilidad de datos
No hay dueño de datos (No igual a ser publicos).
Ni aplicaciones ni usuarios.
Guardamos descripción (Idea de catalogos).
4.- Cumplimiento de ciertas normas.
Restricciones de seguridad.
Accesos (Usuarios a datos).
Operaciones (Operaciones sobre datos).
5.- Otras ventajas :
Más efiente gestión de almacenamiento.
Efecto sinergico
8.- Describir los 4GL’s para manejo de base de datos
  • Debe tener integrado un manejador de base de datos
  • Debe contar con un reporteador basado en objetos
  • Debe haber independencia total entre los datos y las aplicaciones
  • Debe contar con un diccionario o repositorio de datos
  • Debe proporcionar apoyo para un esquema de seguridad por usuarios
  • Debe contar con un lenguaje de rastreo basado en ejemplos (Query By Example)
  • Debe hacer hincapié en el modelo de datos y no en la programación del código
  • Debe poseer herramientas para la fácil documentación de análisis, diseño, y modelo de datos.
Ejemplos:
Informix, Progress, Sisinf.
Desventajas:
Requieren conocimientos especializados y su operación requiere personal calificado (lo cual es caro). Su precio como producto también es caro.
9.- Citar las diferentes estructuras de base de datos
Objeto binario grande
Estructuras de base de datos en las que estan almacenados los documentos reales, como un disco duro de gran capacidad al que puede tener acceso el Agente de oficina postal (POA). En un mismo objeto binario grande se almacenan el documento, sus versiones y los objetos relacionados. Los objetos binarios grandes estan comprimidos y encriptados.
Las Base de Datos son clasificadas como sigue:
1. PLEX STRUCTURE: La base de datos tiene al menos un encadenamiento muchos a muchos ("MANY-TO-MANY link").
2. TREE OR NETWORK: La base de datos no tiene ningún encadenamiento muchos a muchos ("ONE-TO-MANY link").
En este caso, los encadenamientos de uno a muchos ("ONE-TO-MANY links") están dirigidos para que las flechas sencillas apunten hacia arriba y las dobles hacia abajo.
Como resultado de esto, el diagrama esta orientado y se pueden definir varios niveles.
Cada encadenamiento ("link") se une del nivel superior ("the parent") al sub nivel ("the child").
2.1 TREE STRUCTURE: Por definición, en la estructura de árbol ("tree structure"), cada hijo ("child") tiene un solo padre ("parent").
2.2 NETWORK STRUCTURE: Por definición, en la estructura de red ("network structure"), cada hijo ("child") puede tener varios padres ("parents").
10.- Clasificar a las base de datos por su uso y aplicación
1. Bases de datos referenciales: son aquellas que ofrecen registros que su vez son representaciones de documentos primarios. Dentro de éstas distinguen, as su vez, entre:
1.1. bibliográficas: aquellas cuyo contenido son registros de tipo bibliográfico.
1.2. directorios: aquellas cuyo contenido está referido a la descripción de otros recursos de información, como por ejemplo un directorio de bases de datos.
2. Bases de datos fuente: serían aquellas bases de datos que ofrecen el documento completo, no una representación del mismo. También distinguen entre:
2.1. numéricas: contienen información de tipo numérico, como un censo o indicadores cuantitativos.
2.2. textuales: ofrecen el texto completo de un documento.
2.3. mixtas: combinan ambos tipos de información, como por ejemplo informes económicos de empresas, datos geoeconómicos, etc.
11.- Describir las base de datos orientadas a objetos
  • La Orientación a Objetos puede describirse como el conjunto de disciplinas (ingeniería) que desarrollan y modelizan software que facilita la construcción de sistemas complejos a partir de componentes, llamados objetos.
  • En la programación orientada a objetos todo se organiza en torno a los objetos.
  • Un objeto tiene un nombre y posee datos y procedimientos. En cierto sentido, un objeto es un programa virtual.
Dado ciertos datos de entrada, el objeto aplica los procedimientos sobre dichos datos y genera una salida.
12.- 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.

DBMS

El DBMS : es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos, esta compuesto por:
DDL: Lenguaje de Definición de Datos
DML:Lenguaje de Manipulación de Datos
SQL: Lenguaje de Consulta.
Ejemplificar Distintos "Dbms" Relacionales Existentes En El Mercado Actual
Si se trata de una base de datos relacional (veremos a continuación qué significa esto), es probable que el lenguaje usado para recuperar las informaciones que se nos muestran sea SQL (Structured Query Language).
los DBMS mas comunes son Oracle, SqlServer, Informix, Sysbase,
Describir Las Caracteristicas De Al Menos 3 DBMS
Bases de datos jerárquicos: los datos se organizan en grupos unidos entre ellos por relaciones de "posesión", en las que un conjunto de datos puede tener otros conjuntos de datos, pero un conjunto puede pertenecer sólo a otro conjunto. La estructura resultante es un árbol de conjuntos de datos.
Bases de datos reticulares: el modelo reticular es muy parecido al jerárquico, y de hecho nace como una extensión de este último. También en este modelo conjuntos de datos están unidos por relaciones de posesión, pero cada conjunto de datos puede pertenecer a uno o más conjuntos.
Bases de datos relacionales: las bases de datos que pertenecen a esta categoría se basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla bidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. las características de cada entidad están definidas por las columnas de las relaciones, que se llaman atributos. Entidades con características comunes, es decir descritas por el mismo conjunto de atributos, formarán parte de la misma relación.
Base de datos por objetos (object-oriented): el esquema de una base de datos por objetos está representado por un conjunto de clases que definen las características y el comportamiento de los objetos que poblarán la base de datos. La diferencia principal respecto a los modelos examinados hasta ahora es la no positividad de los datos. En efecto, con una base de datos tradicional (entendiendo con este término cualquier base de datos no por objetos), las operaciones que se tienen que efectuar en los datos se les piden a las aplicaciones que los usan. Con una base de datos object-oriented, al contrario, los objetos memorizados en la base de datos contienen tanto los datos como las operaciones posibles con tales datos. En cierto sentido, se podrá pensar en los objetos como en datos a los que se les ha puesto una inyección de inteligencia que les permite saber cómo comportarse, sin tener que apoyarse en aplicaciones externas.

Explicar la diferencia entre un dbms y una base de datos
La base de datos es una colección de archivos interrelacionados almacenados en conjunto sin redundancia y la dbms es un conjunto de númerosas rutinas de software interrelacionadas cada una de ellas es responsable de una determinada tarea.
Mencionar la importancia de una apropiada elección de dbms
Se tiene que elegir el que tenga la mejor interfaz a las necesidades de la empresa y sobre todo que este apto para la base de datos que vayamos a utilizar.
Citar los componentes de un sistema de base de datos
Recursos que componen un sbd
Un sbd estará formado por:
  • Personas
  • Máquinas
  • Programas
  • Datos
Describir las funciones de cada componente de un sistema de base de datos
1. Los datos.
Es lo que se conoce como base de datos propiamente dicha. Para manejar estos datos utilizamos una serie de programas.
2.- Los Programas.
Son los encargados de manejar los datos, son conocidos como DBMS (Data Base Management System) o también SGBD (Sistema Gestor de Base de Datos). Los DBMS tienen dos funciones principales que son:
- La definición de las estructuras para almacenar los datos.
- La manipulación de los datos.
1.- Describir los sistemas de procesamiento de archivos
La información necesita ser guardada y manipulada para que sea útil y este es uno de los objetivos principales que han tenido la computadoras dentro de la empresa.
principios de su incorporación al ámbito empresarial, las computadoras trabajaban con lo que se conoce como "Sistema de procesamiento de Archivos" en los que se guardaban los datos para ser procesados por programas escritos especialmente para cada clase de archivos; esto degeneraba en un sistema monolítico y de difícil mantenimiento.
Sistema de Procesamiento de Archivos:
Tiene una serie de inconvenientes que son reducidos en los SGBD:
Dificultad de Acceso a ciertos datos o información:
Si no existen programas para acceder o calcular cierta información, no puede accederse a ella. Ej.: Calcular totales, o registros con cierta condición...
Aislamiento de Datos:
Los datos pueden estar en varios archivos con distintos formatos, que complican la creación de programas nuevos.
Falta de Integridad:
Es complicado mantener ciertas condiciones en la información. Ej.: Que el saldo sea superior a cierta cantidad, que un empleado no esté adscrito a un número de Departamento que no exista...
Problemas de Atomicidad en las operaciones:
A veces es esencial que para la consistencia de la BD se efectúen varias operaciones como si fueran una única operación,
evitando que se produzcan fallos en medio de dicha operación. Ej.: En una transferencia bancaria hay que dar de quitar dinero de una cuenta y añadirlo a la otra.
Problemas en el Acceso Concurrente:
Si varios usuarios acceden a la vez a un dato pueden producirse errores. Ej.: Si se saca dinero de una misma cuenta desde dos sitios distintos.
Problemas de Seguridad:
Dificultad para controlar que ciertos usuarios no accedan a ciertos datos
2.- Explicar su evolución histórica
Viendo la necesidad de mejorar este estándar se desarrollaron los "Sistemas gestores de Base de Datos Relacionales"(SGBDR) cuyas características hacen al sistema mucho mas eficiente que los sistemas de manejos de archivos.
Algunas de las características son que existe solo una copia de los datos para que todos los programas trabajen con ella, esto es lo que se denomina obtención de redundancia mínima y de esta manera se podrá eliminar la inconsistencia de los datos.
La capacidad de interactuar en un ambiente cliente/servidor donde los clientes o usuarios (ya sea de una intranet o desde Internet) pudiendo trabajar con un un conjunto único de datos alojados en un servidor y donde varios clientes podrían estar trabajando al mismo tiempo.
Estas son solo algunas de las características que tiene el modelo de base de datos relacional y en Linux exiten diversos motores de base de datos que permiten trabajar ya sea con base de datos existentes o creando nuevas con todas las capacidades de trabajo en red de este sistema operativo.
Numerosas empresas se han volcado al desarrollo de SGBDR's como Oracle e Informix pero la mas conocida por su carácter gratuito para el uso personal y la inclusión en numerosas distribuciones es el PostgreSQL.
En un principio adoptado para el sistema UNIX, fue portado a Linux y modificado para utilizar el lenguaje de consultas SQL, donde se llamo Posgres95.
Mejorado en el 96 tomo su nuevo PostgeSQL y adopto las nuevas carácter del SQL - 92.
Actualmente posee ciertas limitaciones técnicas como el no permitir consultas paralelas, es decir que no pueden dos usuarios consultar una misma tabla al mismo tiempo, lo que impide su adopción en un ambiente de trabajo de grandes dimensiones. Pero el uso del lenguaje de consulta SQL lo hace especial para ambientes de trabajo que cuente con múltiples plataformas y también así para su utilización para ser consultado directamente desde internet a trabes de una pagina Web.
PostgreSQL requiere de cierto conocimiento del lenguaje SQL por lo que es recomendable el estudio de bibliografía que trate este tema antes de trabajar en el diseño de una base de datos con el.
No estaría bien terminar sin nombrar otros sistemas de base de datos como el Sybase SQL Anywhere Studio de la empresa Sybase cuya versión beta se encuentra disponible en el web site de la compañía www.sybase.com/products/anywhere/linuxbeta.
Otro conocido en el campo de las bases de datos es Oracle y el portar Oracle 8 a Linux fue un gran avancé que da solides a este sistema operativo para su adopción en las grandes y medianas empresas.
3.- 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 inmediata con las modificaciones que se efectuaron. Un ejemplo de lo anterior es un sistema de reservaciones en alguna línea aérea.
4.- 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
5.- 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.
      • 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.
    • 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.
      • 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.
  • 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.

Modelo de Red.

Representamos al mundo real como registros lógicos que representan a una entidad y que se relacionan entre sí por medio de flechas. Ex.:
33 Pepe 25 Textil
34 Juan
3.- Modelo Jerárquico.
Tiene forma de árbol invertido. Un padre puede tener varios hijos pero cada hijo sólo puede tener un padre. Ex.:
Empresa
25 Textil 26 Pintura 27 Construcción
33 Pepe 34 Juan 36 Perico
Al llegar a este punto adoptaremos una convención con respecto a las restricciones que se pueden dar en un modelo, en cuanto a la capacidad de relacionarse que pueda tener cada entidad de ese modelo con el resto de entidades.
Como se ha dicho el modelo jerárquico sólo admite relaciones 1 : 1 ó 1 : N.
En caso de que tuviésemos la necesidad de otro tipo de asociaciones y queramos usar el esquema jerárquico, recurriríamos a una duplicación de la información en el esquema, pero sólo a nivel esquemático.
Ex.: Tenemos dos entidades (cliente y cuenta), queremos que un cliente pueda poseer varias cuentas, y que una cuenta pueda tener como titulares a varios clientes. Usando el modelo jerárquico tendríamos que recurrir a una duplicación de los datos en el esquema.
Cliente Cuenta
Cuenta Cliente
Como ya se ha dicho esta duplicación sólo ocurriría a nivel esquemático, pero a nivel físico existiría un único registro por cliente, y por cuenta que relacionaríamos mediante varios punteros con todo lo necesario.
En el modelo de red no existen restricciones, si queremos representar que un cliente puede tener varias cuentas, cada una de las cuáles sólo puede tener un titular, y cada cuenta ésta en una sola sucursal, que por supuesto puede ser compartida por varias cuentas, éste sería el esquema:
Cliente Cuenta Sucursal
Con el modelo relacional podríamos tener ambas entidades definidas de la siguiente forma:
Cliente = (Nº Cliente: Acceso Principal; Nombre, Dirección, Nº Cuenta: Acceso Ajeno)
Cuenta = (Nº Cuenta: Acceso Principal; Saldo)
Se podría hablar de otro modelo que está un nivel más arriba y que se denomina Modelo Entidad-Relación (E/R). Este modelo sólo realiza el diseño, no realiza la implementación, por lo tanto una vez hecho el diseño se puede llevar al modelo relacional, de red o jerárquico. Define dos entidades y una forma de relación entre ellas.
Ex.:
Nombre Dcción Num_Cli Num_cuenta Saldo
CLIENTE Cliente - CUENTA
Cuenta
Entidad Relación Entidad
Clasificar Las Bases De Datos Por Su Uso Y Aplicación
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 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.


datos

1. Los contenidos (texto, imágenes, sonido, material multimedia e interactivos y en general todos los que están incorporados en las bases de datos) están protegidos por las leyes nacionales e internaciones vigentes sobre propiedad intelectual.
2. Puede utilizarse este recurso para propósitos académicos, de docencia, investigación y en general para aquellos que no impliquen fines comerciales y que no reporten ánimo de lucro directo o indirecto.
3. Puede usar en forma razonable y honrada (Fair Use) breves extractos del contenido; estando prohibido reproducir en forma temporal o permanente, almacenar, guardar o imprimir en forma sistemática el mismo en cualquier clase de soporte analógico o electrónico y en general en cualquier formato conocido o por conocer, que pueda afectar la normal explotación de los contenidos y que puedan causar un grave e injustificado perjuicio a los legítimos intereses del autor o titular de los mismos.
4. Reproducir, copiar, publicar, distribuir, transmitir, modificar, exhibir, poner a disposición y utilizar los materiales o sus copias está permitido según los términos y condiciones de las licencias respectivas determinados por el titular de los derechos.
5. No permita que otra persona tenga acceso al recurso de información con su nombre y contraseña del usuario autorizado. Recuerde que estos datos son personales e intransferibles y su buen manejo y uso son responsabilidad exclusiva del usuario.
6. Usted no puede intervenir la ingeniería del sitio y su integridad, y por lo tanto está prohibido realizar ingeniería de reversa o reingeniería, descompilar, desmontar, traducir o alterar de cualquier forma el manejador de la base de datos y las demás herramientas que lo componen y hacen parte del sistema.
7. La Universidad de los Andes actúa como un tercero de buena fe, exento de culpa y por lo tanto no responde por la veracidad o exactitud de la información ofrecida por el recurso electrónico, la cual es exclusiva del proveedor del contenido.
8. La Universidad de los Andes no se responsabiliza por el empleo que den los usuarios a los recursos electrónicos, sobre quiénes recae la responsabilidad de consultar y acatar los términos y condiciones publicados en los Sitios Web y las páginas principales (home) de los respectivos recursos electrónicos.
9. En caso de uso indebido de los recursos electrónicos disponibles en el Sistema de Bibliotecas, el usuario se acogerá y estará supeditado a lo establecido en los reglamentos de la Universidad y a las licencias, términos y condiciones del recurso, establecidas por los titulares de los mismos. Lo anterior sin perjuicio de la responsabilidad administrativa, civil y penal que le corresponda en cada caso por el uso indebido.
SANCIONES: Sin perjuicio de las sanciones establecidas en el régimen disciplinario del Estatuto Profesoral, de los reglamentos internos de trabajo de la Universidad, de los reglamentos de estudiantes de pregrado y postgrado, el reglamento de propiedad Intelectual, y demás reglamentos internos aplicables al interior de la Universidad, el Código Sustantivo del Trabajo, así como del contrato individual de trabajo; quien llegare a violar las Políticas de Uso y Seguridad en Recursos Electrónicos, bien sea de un miembro activo de la Comunidad Uniandina, o de un tercero particular, estará además sujeto a las acciones civiles, penales y administrativas a que haya lugar ante la justicia ordinaria, todo de conformidad con las normas sustanciales y procedimentales vigentes

Cardinalidad de un tipo de entidad

Se define como el número mínimo y máximo de ejemplares de un tipo de entidad que pueden estar interrelacionadas con un ejemplar del otro, u otros tipos de entidad que participan en el tipo de relación. Se representará graficamente mediante un etiqueta del tipo (0,1), (1,1), (0,N) o (1,N).
../_images/cardinalidad.png

Atributos de las relaciones

Se puede dar el caso de que existan atributos para las relaciones. Cuando esto se da en una relación 1:N este atributo debe llevarse a la entidad de cardinalidad máxima. En el caso de relaciones 1:1 o N:M el atributo se mantiene en la relación
Ejemplo de atributos en relación:
1:N Curso -> Tiene (Fecha_imparte) -> Edición = Curso -> Tiene -> Edición (Fecha_imparte)
1:1 Hombre -> Matrimonio (Fecha) -> Mujer

Generalización/Especialización

Entidades is a

Un tipo de entidad is a es aquella que se descompone en entidades especializadas. Existen dos tipos de entidades is aespecializaciones ygeneralizaciones.
Se denomina especialización se trata de entidades que se pueden dividir en entidades más concretas. La entidad general comparte con las especializadas sus atributos. Se detecta cuando hay ejemplares para los que no tienen sentido algunos de los atributos mientras que otros si.
La generalización es si se agrupan varias entidades en una o mas entidades generales. Se observa generalización si en varias entidades existen atributos iguales.
../_images/isa.png
En estas relaciones se puede hablar de herencia en los atributos, superentidad y subentidad. Mediante un circulo en la superentidad indicaremos que esta es optativa.
También podemos indicar exclusividad, mediante un arco que cruce las lineas de relación. De esta manera indicaremos que la subentidad debe ser única.

Normalización

El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para:
  • Evitar la redundancia de los datos.
  • Evitar problemas de actualización de los datos en las tablas.
  • Proteger la integridad de los datos.

Modelización

  1. Encontrar entidades (conjuntos de entidades)
  2. Identificar atributos de las entidades
  3. Buscar identificadores
  4. Especificar las relaciones y cardinalidades
  5. Identificar entidades débiles
  6. Especializar y generalizar entidades donde sea posible

Entidad débil

Una entidad débil es una entidad cuyos atributos no la identifican completamente, sino que sólo la identifican de forma parcial. Esta entidad debe participar en una interrelación que ayuda a identificarla.
Una entidad débil se representa con un rectángulo doble, y la interrelación que ayuda a identificarla se representa con una doble línea.
../_images/entidad_debil.png
Ejemplo entidad débil:
Curso -> Profesor
Localidad -> Provincia

Dominio y valor

El conjunto de posibles valores que puede tomar una cierta característica se denomina dominio
../_images/dominio.png
Ejemplo de dominio:
Inglés pertenece al dominio de Idiomas
33000ha pertenece al dominio de unidades de medida de superficie

Atributo

Cada una de las propiedades o características que tiene un tipo de entidad o un tipo de relación se denomina atributo; estos toman valores de uno o varios dominios.
../_images/atributo.png
Dentro del modelo relacional podremos encontrar atributos multivaluados y también opcionales.
  • Atributo multivaluado: atributos de una entidad que pueden tener más de un valor.
  • Atributo optativo: aquel que puede admitir valores nulos
  • Atributo identificador: Uno o más campos cuyos valores son únicos en cada ejemplar de una entidad
    1. Deben distinguir a cada ejemplar tendiendo en cuenta las entidades que utiliza el modelo
    2. Todos los ejemplares de un entidad deben tener el mismo identificador
    3. Cuando un atributo es importante aun cuando no tenga entidad concreta asociada, entonces se trata de una entidad y no de un atributo
Ejemplo de atributo:
Parque Natural -> Superficie
Parque Natural -> Nombre
Parque Natural -> Teléfono
Ejemplo de atributo multivaluado:
Idiomas de un curso -> Inglés, francés...

Restricciones

Se trata de limitaciones en las estructuras y en los datos impuestas por el propio modelo o por el desarrollador del modelo. Estas solo deben darse entre las entidades del modelo, nunca entre las relaciones. El modelo obliga a que las entidades tengan un identificador. El uso de dominios se puede considerar una restricción sobre los valores. Además existen restricciones estructurales.
Ejemplo restricción:
* Restricción de dominio::
        * Un trabajador de Correos de Costa Rica no puede tener un sueldo menor a 75000 colones
* Integridad referencial::
        * Si cierra Correos de Costa Rica no puede quedar ninguna Oficina en la base de datos

Relación

Esta se define como la asociación, vinculación o correspondencia entre entidades. Pueden existir mas de una relación entre entidades.
../_images/interrelacion.png
Ejemplo de interrelación:
País -> tiene -> Parque Natural
En una relación se pueden definir los siguientes elementos:
  • Nombre, es el valor por el que se distingue del resto. En la representación gráfica se correspondería con la etiqueta incluida en el rombo que representa la relación. Aporta semántica al modelo relacional
  • Grado, se trata del número de entidades que participan en un tipo de relación. Será de grado 2 (o binaria) cuando asocia dos tipos de entidad. Para las relaciones de grado 2 puede existir un caso particular que son las reflexivas o recursivas, en las cuales una entidad se asocia consigo misma.
    ../_images/reflexiva.png
  • Tipo de correspondencia, es el número máximo de ejemplares que pueden estar asociados, en una determinada relación, con un ejemplar de otro tipo. Para representarlo graficamente se pone una etiqueta 1:1, 1:N o N:M en el lado de la relación que corresponda o bien se orienta el arco de la unión en el sentido 1 a N mediante una flecha
    ../_images/tipo_correspondencia.png
  • Papel (“rol”), la función que cada uno de los tipos de entidad realiza en la relación. Se representa poniendo el nombre del papel en el arco de cada entidad
    ../_images/papel.png