“INSTITUTO SUDAMERICANO” Carrera de Análisis De Sistemas.
PROYECTO: CREACION Y NORMALIZACION DE BASE DE DATOS
INTEGRANTES: SANDRA VILLA RICARDO TAPIA ALFREDO DOMINGUEZ EDWIN ABAMBARI
PROFESOR: Ing. ESTEBAN CÁCERES
CICLO: 2º “B” DE ANÁLISIS DE SISTEMAS
AÑO LECTIVO: 2008‐2009
INDICE INTRODUCCION CAPITULO 1: MARCO TEORICO Base de Datos………………………………………………………………………………………………………………1 Tipos de Base de Datos…1………………..……………………………………………………………………….1.1 Modelos de Base de Datos..……..……………………………………………………………………………….1.2 Características………………..………………………………………………………………………………………..1.3 Ventajas…….………………………………………………………………………………………………….............1.4 Desventajas..…………………………………………………………………………………………………………….1.5 SGBD disponibles en el Mercado………………………………………………………………………………1.6 Objetivos…………………………………………………………………………………………………………………..1.7 CAPITULO 2: DESARROLLO DEL DISEÑO DE BASE DE DATOS Identificación de Entidades………………………………………………………………………………………….2 Modelo Entidad Relación……………….…………………………………………………………………………2.1 Atributos‐Tablas……………………………………..…………………………………………………………………2.2 Normalización……………………………………………..……………………………………………………………2.3 Modelo Relacional….………………………………………….……………………………………………………..2.4 CONCLUSIONES RECOMENDACIONES GLOSARIO BIBLIOGRAFIA ANEXOS
INTRODUCCION Mediante este proyecto podemos conocer la forma de crear y normalizar una base de datos con la utilización de programas como MY SQL y DBDESIGNER 4 como modelador de base de datos. En nuestra base de datos identificamos entidades referentes a nuestro tema planteado que es: Tienda de Venta de Instrumentos Musicales, cada entidad con sus diferentes atributos. Con las cuales reconocemos relaciones entre cada una ellas con el fin de proponer una mejor relación de las mismas, hemos utilizado el método de normalización para la integridad de los datos y facilita la sencillez de la búsqueda. En el método de normalización aplicamos las 4 formas normales: la primera forma normal trata construir otros campos para evitar los datos multivaluados, a continuación se procede a llenar los campos con información para de ahí partir a la segunda forma normal que consiste en eliminar los datos repetidos para evitar le redundancia de datos, de igual forma se procede a llenar los campos con la información que creamos conveniente para así pasar a siguiente paso que es la tercera forma normal, en este paso analizamos y eliminas los campos que no intervienen directamente con el código principal y la tabla que se hizo en la segunda forma normal se procede a ingresar con el código en vez de escribir directamente el nombre y por ultimo pasamos a la cuarta forma normal que consiste en identificar las claves principales y foráneas para realizar las relaciones entre campos. Al finalizar de hacer estos pasos previos y importantes tenemos como resultado una base de datos bien estructurado para el mejor funcionamiento de nuestra tienda.
MARCO TEORICO CAPITULO I 1. BASE DE DATOS Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Existen unos programas denominados sistemas gestores de base de datos, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD). • • •
Un lenguaje de definición de datos (DDL: Data Definition Language). Un lenguaje de manipulación de datos (DML: Data Manipulation Language) Un lenguaje de consulta (QL: Query Language).
1.1. Tipos de bases de datos Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificación:
1.1.1. Según la variabilidad de los datos almacenados
1.1.1.1.
Bases de datos estáticas
Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.
1.1.1.2.
Bases de datos dinámica
Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub, etc.
1.1.2. Según el contenido 1.1.2.1.
Bases de datos bibliográficas
Solo contienen un representante de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.
1.1.2.2.
Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas. Directorios Un ejemplo son las guías telefónicas en formato electrónico.
1.2. Modelos de bases de datos Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos. Algunos modelos con frecuencia utilizados en las bases de datos:
1.2.1. Bases de datos jerárquicas Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo
padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
1.2.2. Base de datos de red Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.
1.2.3. Base de datos relacional Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.
1.2.4. Bases de datos multidimensionales Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.
1.2.5. Bases de datos orientadas a objetos Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: Encapsulación ‐ Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos. Herencia ‐ Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.
Polimorfismo ‐ Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos. Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad con SQL92.
1.2.6. Bases de datos documentales Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes.
1.2.7. Base de datos deductivas Un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica matemática.
1.2.8. Bases de datos distribuida La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etc.
1.3. Características • • • • • • • •
Independencia Lógica y Física de los datos Redundancia mínima Integridad de los datos Acceso concurrente Consultas complejas optimizadas Seguridad de acceso y auditoría Respaldo y Recuperación Acceso a través de lenguaje estándar
1.4. Ventajas • • •
Independencia de los datos respecto a los tratamientos y viceversa. Coherencia de los resultados. Mejor disponibilidad de los datos para el conjunto de los usuarios.
•
• • •
Mayor valor informativo (puesto que se captan relaciones propias del mundo real entre los datos, tiene más información que la suma individual de los datos por separado). Mejor y más normalizada documentación de la información, la cual está integrada con los datos. Mayor eficiencia en la recogida, validación e introducción de los datos en el sistema. Reducción del espacio de almacenamiento.
1.5. Desventajas • • • • • •
Instalación costosa. Personal especializado. Implantación larga y difícil. Falta de rentabilidad a corto plazo. Escasa estandarización (la tendencia de esta desventaja es a ser cada vez menor). Desfase entre teoría y práctica. Esto no tiene que ocurrir necesariamente, se refiere a un desfase entre la concepción teórica, de lo que es la base de datos, que pueden los directivos con respecto a lo que ofrece la tecnología realmente.
1.6. SGBD disponibles en el mercado
1.6.1. SGBD libres • • • • •
MySQL Licencia Dual, depende el uso. PostgreSQL (http://www.postgresql.org Postgresql) Firebird basada en la versión 6 de InterBase, Initial Developer's PUBLIC LICENSE Version 1.0. SQLite (http://www.sqlite.org SQLite) Licencia Dominio Público Apache Derby (http://db.apache.org/derby/)
1.6.2. SGBD no libres • • • • • • • • • •
Advantage Database dBase FileMaker Fox Pro IBM DB2 Universal Database (DB2 UDB) IBM Informix Interbase de CodeGear, filial de Borland MAGIC Microsoft Access Microsoft SQL Server
• • • • • • • • • • • • • •
NexusDB Open Access Oracle Paradox PervasiveSQL Progress (DBMS) Sybase ASE Sybase ASA Sybase IQ WindowBase Softland ERP Flexline IBM IMS Base de Datos Jerárquica CA‐IDMS
1.6.3. SGBD no libres y gratuitos • • •
Microsoft SQL Server Compact Edition Basica Sybase ASE Express Edition para Linux (Edición gratuita para Linux) Oracle Express Edition 10 para Windows
1.7. Objetivos Existen distintos objetivos que deben cumplir los SGBD: •
•
•
•
Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. •
Manejo de Transacciones. Una Transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.
•
Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.
DESARROLLO DEL DISEÑO DE BASE DE DATOS CAPITULO II
2. IDENTIFICACION DE ENTIDADES • • • • • •
Cliente Empleado Producto Empresa Proveedor Partes de un Producto
Normalización de bases de datos El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para: • • •
Evitar la redundancia de los datos. Evitar problemas de actualización de los datos en las tablas. Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones: • • •
Cada columna debe tener su nombre único. No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo.
2.1. Modelo Entidad Relación
2.2. Atributos‐Tablas
Constraint CP NN NN NN
Tabla: CLIENTE Campo Codigo Nombre Apellido Cedula Genero Direccion Telefono Celular
Tipo_Dato Longitud Texto 5 Texto 20 Texto 20 Numero 10 Texto 1 Texto 40 Numero 7 Texto 9
Constraint CP NN NN CC NN CP NN NN NN NN
Tabla: EMPLEADO Campo Tipo_Dato Longitud Cedula_Empleado Numero 10 Nombre Texto 20 Apellido Texto 20 Genero Texto 1 Fecha_Nacimiento Fecha/Hora Estado Civil Texto 10 Codigo_Cargo Texto 5 Horario Fecha/Hora Telefono Numero 7 Celular Texto 9 Sueldo Moneda 5,2
Constraint CP NN NN NN
Tabla: PRODUCTO Campo Tipo_Dato Longitud Codigo_Prod Texto 5 Nombre Texto 12 Modelo Texto 10 Marca Numero 10 Precio_Compra Moneda 6,2 Precio_Venta Moneda 6,2
Constraint CP CP
Tabla: PARTES_PRODUCTO Campo Tipo_Dato Longitud Codigo_Partes Texto 5 Codigo_Prod Texto 5
Constraint CP NN CS
Tabla: PROVEEDOR Campo Tipo_Dato Longitud RUC_P Numero 9 Nombre Texto 12 Direccion Texto 40 Codigo_Telefono Texto 5 Celular Texto 9
Constraint CP NN
Constraint CP NN
Tabla: EMPRESA Campo RUC_E Nombre Direccion Telefono Celular Propietario
Tipo_Dato Longitud Numero 9 Texto 12 Texto 40 Texto 5 Texto 9 Texto 15
Tabla: CARGO_EMPLEADO Campo Tipo_Dato Longitud Cedula_Identidad Texto 9 Cargo Texto 12
Tabla: COMPROBANTE_VENTA_MAESTRO Constraint Campo Tipo_Dato Longitud CP Numero Texto 5 NN Fecha Fecha/Hora CC Codigo_Cliente Texto 5 CC Comprobante_Venta_Detalle Texto 5 NN Subtotal Moneda 5,2 Descuento Moneda 4,2 NN IVA Moneda 2,2 NN TOTAL_PAGAR Moneda 6,2 CC Cedula_Empleado Texto 5
Constraint CP CP
Tabla: TIPO_VENTA Campo Tipo_Dato Longitud Codigo_Prod Texto 5 Codigo_Partes Texto 5
Constraint CP NN
Tabla: TELEFONO_PROVEEDOR Campo Tipo_Dato Longitud RUC_P Texto 5 Telefono Numero 7
Tabla: COMPROBANTE_VENTA_DETALLE Constraint Campo Tipo_Dato Longitud CP Numero Texto 5 CS Codigo_Venta Texto 5 NN Cantidad Numero 5 NN Precio Moneda 5,2 NN TOTAL Moneda 5,2
2.3. Normalización CLIENTE
CODIGO 1 2
NOMBRE Luis Carlos
APELLIDO Andrade Torres
CEDULA 0102354673 0104757927
DIRECCION Av. Solano Av. Americas
TELEFONO 2834567 2345687
CELULAR 092384657 99283002
GENERO Masculino Masculino
EMPLEADO CEDULA NOMBRE 0104564321 Pedro 0104323282 Sebastian
APELLIDO Vera Bermeo
DIRECCION TELEFONO CELULAR CARGO SUELDO Av. De las Americas 2888034 099343287 Vendedor, Cajero 130 Totoracocha 2567878 084257687 Vendedor 130
PRIMERA FORMA NORMAL: EMPLEADO CEDULA NOMBRE 0104564321 Pedro 0104323282 Sebastian
APELLIDO Vera Bermeo
DIRECCION TELEFONO CELULAR CARGO1 Av. De las Americas 2888034 099343287 Vendedor Totoracocha 2567878 084257687 vendedor
CARGO2 Cargo
Sueldo 130 130
PASO PREVIO A LA SEGUNDA FORMA NORMAL: EMPLEADO CEDULA 0104564321 0104564321 0104323282
NOMBRE Pedro Pedro Sebastian
APELLIDO Vera Vera Bermeo
DIRECCION TELEFONO Av. De las Americas 2888034 Av. De las Americas 2888034 Totoracocha 2567878
CELULAR 099343287 099343287 084257687
CARGO Vendedor Cajero Vendedor
SUELDO 130 130 130
SEGUNDA FORMA NORMAL: EMPLEADO CEDULA NOMBRE 0104564321 Pedro 0104323282 Sebastian
APELLIDO Vera Bermeo
DIRECCION TELEFONO CELULAR Sueldo Av. De las Americas 2888034 099343287 Totoracocha 2567878 084257687
EMPLEADO_CARGO CEDULA CARGO 0104564321 Vendedor 0104564321 Cajero 0104323282 Vendedor EMPRESA NOMBRE El Surtido
DIRECCION General Torres y Bolivar
TELEFONO 2845500,234675
CELULAR 091502532
PROPIETARIO Luis Bermeo
130 130
COMPROBANTE DE VENTA NUM 18976
FECHA 15/06/2009
C.I 0104235467
NOMBRE Juan
APELLIDO Monje
DIRECCION Misicata
TELEFONO 2321456
CANTIDAD 2 1
DESCRIPCION Cuerdas de Quinta Estuche para Violin
PRECIO $9.50 $50.00
TOTAL $19.00 $50.00
SUBTOTAL $69.00
DESCUENTO
IVA
TOTAL_PPAGAR
$3.45
$8.28
$73.83
PRIMERA FORMA NORMAL: COMPROBANTE DE VENTA NUM
FECHA
18976
C.I
15/06/2009 0104235467
NOMBRE
APELLIDO
DIRECCION
TELEFONO
Juan
Monje
Misicata
2321456
CANTIDAD1 2
DESCRIPCION1
CANTIDA2
DESCRIPCION
PRECIO1
Cuerdas de Quinta
1
Estuche para Violin
$9.50
PRECIO2
TOTAL1
TOTAL2
SUBTOTAL
DESCUENTO
IVA
TOTAL_PPAGAR
$50.00
$19.00
$50.00
$69.00
$3.45
$8.28
$73.83
PASO PREVIO SEGUNDA FORMA NORMAL: COMPROBANTE DE VENTA NUM
FECHA
C.I
NOMBRE
APELLIDO
DIRECCION
TELEFONO
CANTIDAD
DESCRIPCION
PRECIO
TOTAL
SUBTOTAL
18976
15/06/2009
0104235467
Juan
Monje
Misicata
2321456
2
Cuerdas de Quinta
$9.50
$19.00
$69.00
18976
15/06/2009
0104235467
Juan
Monje
Misicata
2321456
1
Estuche para Violin
$50.00
$50.00
$69.00
DESCUENTO
IVA
TOTAL_PPAGAR
$3.45
$8.28
$73.83
$3.45
$8.28
$73.83
SEGUNDA FORMA NORMAL: COMPROBANTE DE VENTA COMPROBANTE DE VENTA_MAESTRO NUM 18976
FECHA
C.I
NOMBRE
APELLIDO
DIRECCION
TELEFONO
SUBTOTAL
DESCUENTO
IVA
TOTAL_PPAGAR
15/06/2009
0104235467
Juan
Monje
Misicata
2321456
$69.00
$3.45
$8.28
$73.83
COMPROBANTE DE VENTA_DETALLE CANTIDAD
DESCRIPCION
PRECIO TOTAL
2
Cuerdas de Quinta
$9.50
1
Estuche para Violin
$50.00 $50.00
$19.00
PROVEEDOR RUC 6665432
NOMBRE Pedro
APELLIDO DIRECCION Tapia Totoracocha
TELEFONO 2435786, 2435676, 2321567
CELULAR 099872134
PRIMERA FORMA NORMAL: PROVEEDOR RUC 6665432
NOMBRE Pedro
APELLIDO DIRECCION Tapia Totoracocha
TELEFONO1 2435786
TELEFONO2 TELEFONO3 CELULAR 2435676 2321567 099872134
PASO PREVIO SEGUNDA FORMA NORMAL: PROVEEDOR RUC 6665432 6665432 6665432
NOMBRE Pedro Pedro Pedro
APELLIDO DIRECCION Tapia Totoracocha Tapia Totoracocha Tapia Totoracocha
TELEFONO 2435786 2435676 2321567
SEGUNDA FORMA NORMAL: PROVEEDOR RUC 6665432
NOMBRE Pedro
APELLIDO DIRECCION Tapia Totoracocha
PROVEEDOR_TELEFONO RUC NOMBRE 6665432 2435786 6665432 2435676 6665432 2321567
CELULAR 099872134
CELULAR 099872134 099872134 099872134
2.4 Modelo Relacional
CONCLUSIONES Al concluir este proyecto sobre base de datos fueron muchos los conocimientos adquiridos durante dicha elaboración Es muy importante observar el proceso que se sigue para determinar los requerimientos que se necesitan para la elaboración de una base de datos y para ello se recurren a varias técnicas de recopilación de la información para que el proyecto satisfaga las necesidades de los usuarios finales. También concluimos que a la vez aprendimos a manejar correctamente un gestor de base de datos en My SQL y crear relaciones mediante el modelador DBDesigner 4.
RECOMENDACIONES Tener cuidado cuando realizamos el modelo entidad relación ya que no debe quedar como una secuencia de pasos o sea (algoritmo), sino analizar que cada entidad tengan un fin en común con la otra entidad. Para generar la base de datos en Access primero debemos analizar cada entidad de nuestra base para conocer sus atributos porque luego que se crea la base en Access es un poco complicado volver a corregir atributos. Al momento de generar la clave principal observar si un solo campo es necesario para generar la clave principal o necesita dos campos secundarios para crear la clave principal.
GLOSARIO LOPD Ley Orgánica de Protección de Datos de Carácter Personal. La Ley Orgánica de Protección de Datos de Carácter Personal (LOPD) define el concepto de "dato de carácter personal" como cualquier información concerniente a una persona física identificada o identificable.
DDL Lenguaje de Definición de Datos. Esta es una página de desambiguación, una ayuda a la navegación que cataloga páginas que de otra forma compartirían un mismo título. Si llegaste aquí a través de un enlace interno, regresa por favor para corregirlo de modo que apunte al artículo apropiado. DML Data Manipulation Language Un Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.
QL Query Language. Se define un lenguaje de programación relacionalmente completo, denominado Query Language ( QL ). Y se presenta la descripción de la implementación de un Intérprete para el lenguaje QL.
BIBLIOGRAFIA www.elnomeacuerdo.ec http://www.monografias.com/trabajos7/bada/bada.shtml http://www.uv.es/marjoari/pfc/html/node17.html www.freedownloadscenter.com/es/ www.monografias.com
ANEXOS