BASE DE DATOS INTEGRANTES: FERNANDO OCHOA PABLO TENESACA CARLOS GUAZHAMBO
CURSO: 2 “B”
PROFESOR: Ing. ESTEBAN CACERES
CUENCA - ECUADOR 2009
1
INDICE INTRODUCCION
3
MARCO TEORICO CAPITULO I: Base de Datos
CAPITULO II: DESARROLLO DEL DISEÑO DE BASE DE DATOS Identificación de Entidades Modelo Entidad Relación Normalización Atributos-Tablas Modelo Relacional
4 4 4 4 4 5 5 5 5 5 5 6 6 6 7 7 8 8 8 9 9 11 11 12 12 16 16 17 18 25 30
CONCLUSIONES RECOMENDACIONES GLOSARIO BIBLIOGRAFIA ANEXOS
31 32 33 34 35
1 Tipos de bases de datos 1.1 Según la variabilidad de los datos almacenados 1.1.1 Bases de datos estáticas 1.1.2 Bases de datos dinámicas 1.2 Según el contenido 1.2.1 Bases de datos bibliográficas 1.2.2 Bases de datos de texto completo 1.2.3 Directorios 1.2.4 Bases de datos o "bibliotecas" de información Biológica 2 Modelos de bases de datos 2.1 Bases de datos jerárquicas 2.2 Base de datos de red 2.3 Base de datos relacional 2.4 Bases de datos multidimensionales 2.5 Bases de datos orientadas a objetos 2.6 Bases de datos documentales 2.7 Base de datos deductivas 2.8 Gestión de bases de datos distribuida
SGBD Descripción de SGBD Adobe Designer Descripción de Adobe Designer MySQL Descripción de MySQL
2
INTRODUCCION
De forma sencilla podemos indicar que una base de datos no es más que un conjunto de información relacionada que se encuentra agrupada o estructurada. En este proyecto vamos a realizar una gestión de base de datos de una librería, utilizando unos gestores de datos que nos servirán de mucho como son el Adobe Designer. Pero antes de utilizar este gestor, en primer lugar identificaremos las entidades existentes en la Librería, en segundo lugar buscaremos la relación entre las entidades, en tercer lugar analizamos los campos que se hallan en cada una de las entidades, para luego de esto normalizar las tablas de acuerdo a las necesidades de dicha empresa. Para todo esto debemos saber un poco mas sobre el creador de base de datos como es el MySQL y su gestor de datos como es el Adobe Designer 7.0
3
MARCO TEORICO
CAPITULO I
1. BASE DE DATOS Una base de datos o banco de datos (en inglés: database) 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. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Existen unos programas denominados sistemas gestores de bases de datos, abreviado SGBD, 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. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. 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). Tipos de bases de datos Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificación: Según la variabilidad de los datos almacenados 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. Bases de datos dinámicas É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 4
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. Según el contenido Bases de datos bibliográficas Solo contienen un surrogante (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 sino estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias—ver más abajo). 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. 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. Bases de datos o "bibliotecas" de información Biológica Son bases de datos que almacenan diferentes tipos de información proveniente de las ciencias de la vida o médicas. Se pueden considerar en varios subtipos: • • • • •
Aquellas que almacenan secuencias de nucleótidos o proteínas. Las bases de datos de rutas metabólicas Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas Bases de datos clínicas Bases de datos bibliográficas (biológicas)
Modelos de bases de datos Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de administración 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; por lo general se refieren a algoritmos, y conceptos matemáticos. Algunos modelos con frecuencia utilizados en las bases de datos:
5
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. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. 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. Base de datos relacional Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). 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. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.
6
Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión. Bases de datos multidimensionales Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. 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. Bases de datos orientadas a objetos Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). 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.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones. 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.
Bases de datos documentales Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos. Base de datos deductivas
7
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. Gestión de 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.1. 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.2. 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.
SGBD Los sistemas de gestión de base de datos (SGBD); (en inglés: DataBase Management System, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.
8
Propósito El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización. 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. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones. 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.
Ventajas •
Proveen facilidades para la manipulación de grandes volúmenes de datos. (Ver Objetivos) Entre éstas: o Simplifican la programa de equeos de consistencia. o Manejando las políticas de respaldo adecuadas garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc. o Permiten realizar organización de los datos con un impacto mínimo en el código de los programas. o Permiten bajan drástinte los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores. 9
•
Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos.
Inconvenientes 1. Típicamente, es necesario disponer de una o más personas que administren de la base de datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren de los sistemas operativos. Esto puede llegar a increntar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. 2. Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una planilla de cálculo. 3. Complejidad: el software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo. 4. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr. 5. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero. fecha de lanzamiento Productos SGBD disponibles en el mercado SGBD libres • • • • • •
MySQL Licencia Dual, depende el uso. PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD 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 DB2 Express-C (http://www.ibm.com/ar/businesscenter/catalogo/db2_express-c.phtml) Apache Derby (http://db.apache.org/derby/)
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 10
• • • • • • • • • •
Progress (DBMS) Sybase ASE Sybase ASA Sybase IQ WindowBase [[[VirtualWork][1]]] Softland ERP Flexline IBM IMS Base de Datos Jerárquica CA-IDMS
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
Adobe LiveCycle Designer Adobe LiveCycle Designer es una herramienta de auditoria de formulario publicada por Adobe Systems para renderizar archivos PDF o HTML a partir de formularios XML. Características •
• •
• •
Los diseños de formularios están estructurados con una estructura jerárquica que puede ser convertida a XML. Esta estructura puede incluir un esquema XML y archivos XML de ejemplo. Los formularios pueden ser salvador como archivos PDF o XDP. Los archivos XDP son usados por Adobe LiveCyle Form Server para renderizar archivos PDF o HTML. Los formularios PDF hechos en Designer pueden ser dinámicos y/o interactivos. Como en Designer 7.0, las características de dinamismo de estos formularios PDF pueden ser manipuladas por Adobe Form Server durante el proceso de renderizado o por el cliente Adobe Acrobat/Acrobat Reader durante la vista. Permite embeber javascript dentro del formulario, permitiendo cambios en el diseño o la comunicación con diversas fuentes de datos (SOAP, OLEDB). Además de Javascript, Designer incluye un lenguaje de script propietario llamado FormCalc, diseñado para ser un sencillo lenguaje para usuarios familiarizados con hojas de cálculo.
Limitaciones • • • •
Para poder ver formularios PDF hechos con Designer se requiere Adobe Acrobat/Acrobat Reader 6.0.2 o superior. Los formularios no se pueden editar con Adobe Acrobat, sólo se pueden visualizar. Algunas características dependen de la activación de ‘user rights’ a través del producto Adobe LiveCycle Reader Extensions. Acrobat es capaz de hacer formularios desde la versión 3.0 y hay herramientas de terceros que pueden trabajar con ellos. Los formularios creados con Desinger son generalmente incompatibles con este tipo de herramientas. Los propietarios de Acrobat 11
•
•
•
7.0 Professional tienen una opción para crear acroforms directamente o usar un paquete (para Microsoft Windows) para diseñar formularios XFA. Cuando un objeto del formulario está asociado a un nodo XML, el valor sólo se puede extraer una vez. Si varios objetos comparten el mismo padre, sólo el primero recibirá el valor cuando el formulario sea procesado. Hay limitaciones en la habilidad de Designer para parsear HTML y mostrarlo en un formulario; Designer no puede manejar algunas etiquetas, incluyendo listas ordenadas, listas desordenadas y tablas. LiveCycle Designer 7.0 no permite realizar muchas tareas consideradas simples y frecuentes como añadir un archivo PDF existente o unas páginas PDF a un formulario creado con Designer 7.0.
MySQL DESCRIPCIONES GENERALES MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.1 MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.
Plataformas MySQL funciona sobre múltiples plataformas, incluyendo: • • • • • • • • • • • • • • • • • •
AIX BSD FreeBSD HP-UX GNU/Linux Mac OS X NetBSD Novell Netware OpenBSD OS/2 Warp QNX SGI IRIX Solaris SunOS SCO OpenServer SCO UnixWare Tru64 eBD 12
• •
Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista y otras versiones de Windows. OpenVMS (véase: www.pi-net.dyndns.org/anonymous/kits/).
Características Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad. Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las características disponibles en las últimas versiones se puede destacar: • • • • • • •
Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. Disponibilidad en gran cantidad de plataformas y sistemas. Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles. Transacciones y claves foráneas. Conectividad segura. Replicación. Búsqueda e indexación de campos de texto.
MySQL es un sistema de administración de bases de datos. Una base de datos es una colección estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galería de pinturas o el vasto volumen de información en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MySQL Server. Dado que los computadores son muy buenos manejando grandes cantidades de información, los administradores de bases de datos juegan un papel central en computación, como aplicaciones independientes o como parte de otras aplicaciones. MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido. MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir que puede hacer y que no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una versión comercial licenciada.
13
Características distintivas Las siguientes características son implementadas únicamente por MySQL: •
•
Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos. Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo.
Tipos de compilación del servidor Hay tres tipos de compilación del servidor MySQL: • •
•
Estándar: Los binarios estándares de MySQL son los recomendados para la mayoría de los usuarios, e incluyen el motor de almacenamiento InnoDB. Max (No se trata de MaxDB, que es una cooperación con SAP): Los binarios incluyen características adicionales que no han sido lo bastante probadas o que normalmente no son necesarias. MySQL-Debug: Son binarios que han sido compilados con información de depuración extra. No debe ser usada en sistemas en producción porqué el código de depuración puede reducir el rendimiento.
Especificaciones del código fuente MySQL está escrito en una mezcla de C y C++. Hay un documento que describe algunas de sus estructuras internas en http://dev.mysql.com/doc/internals/en/ (en inglés). MySQL en cifras •
•
Según las cifras del fabricante, existirían más de seis millones de copias de MySQL funcionando en la actualidad, lo que supera la base instalada de cualquier otra herramienta de bases de datos. El tráfico del sitio web de MySQL AB superó en 2004 al del sitio de IBM.
Qué licencia utilizar La licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.
14
DESARROLLO DEL DISEÑO DE BASE DE DATOS CAPITULO II
2. IDENTIFICACION DE ENTIDADES • Cliente • Empleado • Producto • Empresa • Proveedor • Comprobante de venta
15
2.1. Modelo Entidad Relación Empleado
Contrata
Empresa
Distribuye Vende
Emite
Solicita Proveedor Recibe Entrega Compra Libro Cliente
Recibe
Paga
Recibe
Genera Comp. De venta
16
2.2. Normalización EMPRESA
Empresa RUC
Nombre Librería 763555655 Politécnica
Dirección Santo Domingo
Telf.:
Celular
Propietario Juan 2375098 084863256 Andrade
CLIENTE
Cliente Cód. Cedula Nombre Apellido Dirección C.001 0123652678 Pedro López Av. Américas C.002 0765373653 Jessica Mora Ricaurte Av. del C.003 1876364789 Luis Páez Chofer
Telf.: Celular Tipo 2894765 091865366 Familia 4086537 084655276 Eventual
Genero M F
2378543 092754778 Frecuente M
EMPLEADO
Empleado Cedula
Nombre Apellido Genero F_Nacimiento Estado Civil Dirección Telf.:
0123645783 Ericka
Garcia
F
25/10/1988
Soltera
Celular
Horario 8:00 a Pio Bravo 4087653 084863255 5:00
Sueldo $250,00
Cargo Vendedor, Cajero
17
1FN Empleado Cedula 0123645783
Nombre Apellido Genero F. Nacimiento Ericka Garcia F 25/10/1988
Estado Civil Soltera
Dirección Telf.: Celular Horario Sueldo Cargo 1 Cargo 2 Pio Bravo 4087653 084863255 8:00 a 5:00 $250,00 Vendedor Cajero
Previo 2FN Empleado Cedula 0123645783 0123645783
Nombre Apellido Genero F. Nacimiento Erika García F 25/10/1988 Erika García F 25/10/1989
Estado Civil Soltera Soltera
Dirección Telf.: Celular Horario Sueldo Cargo Pio Bravo 4087653 084863255 8:00 a 5:00 $250,00 Cajero Pio Bravo 4087653 084863255 8:00 a 5:01 $250,00 Vendedor
2FN Empleado Cedula 0123645783
Nombre Apellido Genero F. Nacimiento Erika García F 25/10/1988
Estado Civil Soltera
Dirección Telf.: Celular Horario Sueldo Pio Bravo 4087653 084863255 8:00 a 5:00 $250,00
Cargo Cedula Cargo 0123645783 Cajero 0123645783 Vendedor
18
COMPROBANTE DE VENTA
Comprobante de Venta Numero Cliente
Fecha
Cant.
Descripción
V. Unitario
V. Total
SubTotal Descuento IVA% Total $ 10
N.001
C.001
24-May-08 4 - 1- 3 L.001 - l.002 - L.003 $5.00 - $1.50 - $ 1.80
$20.00 - $1.50 - $5.40
$26.90
12
$2.69 $2.90 $27.12
1FN - Comprobante de Venta Nume Clien ro te
C.00 N.001 1
Fecha
Can Cant. Cant. t. 1 1 1
24-May-08
4
1
3
Descripción 1
Cumanda
Descripción 2 Descripción 3
Juan S. Gaviota
V. V. V. V. Unitario 1 Unitario 2 Unitario 3 Total 1
El Vendedor mas grande del mundo
$5,00
$1,50
$1,80
V. Total 2
$20,00
V. Total 3
$1,50
$5,40
SubTo tal
$26.90
Descue nto
IVA %
10
12
$2.69
Total $
$2.9 $27.1 0 2
Pre 2FN - Comprobante de Venta Numero
Cliente
Fecha
Cant. Descripción
N.001
C.001
24-May-08
4
N.001
C.001
25-May-08
1
N.001
C.001
26-May-08
3
V. Unitario
Cumanda Juan S. Gaviota El Vendedor mas grande del mundo
V. Total
SubTotal
Descuento
IVA% 20
12
Total $
$0,00
$26.90
$2.69
$2.90
$27.12
$0,00
$26.90
$2.69
$2.90
$27.12
$0,00
$26.90
$2.69
$2.90
$27.12 19
2 FN - Comprobante de Venta Numero N.001
Cliente
Fecha
C.001
SubTotal
24-May-08
Descuento
$26,90
IVA%
Total $
20
12
$2,69
0
$24,21
Descripcion - Comprobante de Venta Cant.
Descripción
4
Cumanda Juan S. Gaviota El Vendedor mas grande del mundo
1 3
V. Unitario
V. Total $5,00
$20,00
$1,50
$1,50
$1,80
$5,40
LIBROS
Libros Cód.
Descripción
Origen
F. Lanzamiento
Editorial
L.001 Cumanda
Juan León Mera ……………
Ecuador
7 - Mayo
Libresa
$4.00
$5.00
4
L.002 Juan S. Gaviota
Richard Bach
……………
Argentina, España, México, Chile
Abril - 1988
Verlap
$1.00
$1.50
1
L.003 El Vendedor mas grande del mundo
Og Mandino
……………
EEUU
Junio - 1968
Copyright
$1.20
$ 1.80
3
Nombre
Autor
Precio Compra Precio Venta N. Copias
20
1Fn - Libros Cód.
Nombre
Autor
Descripción
Origen
L.001 Cumanda
Juan León Mera …………… Ecuador
L.002 Juan S. Gaviota
Richard Bach
L.003 El Vendedor mas grande del mundo Og Mandino
Origen
Origen
Origen
F. Lanzamiento
Ecuador Ecuador Ecuador 7 - Mayo
Editorial
Precio Compra Precio Venta N. Copias
Libresa
$4.00
$5.00
4
…………… Argentina España
México
Chile
Abril - 1988
Verlap
$1.00
$1.50
1
…………… EEUU
EEUU
EEUU
Junio - 1968
Copyright
$1.20
$ 1.80
3
EEUU
Previo 2FN - Libros Cód.
Nombre
Autor
Descripción
Origen
F. Lanzamiento Editorial Precio Compra Precio Venta N. Copias
L.001 Cumanda
Juan León Mera …………… Ecuador 7 - Mayo
Libresa
$4.00
$5.00
4
L.002 Juan S. Gaviota
Richard Bach
…………… Argentina Abril - 1988
Verlap
$1.00
$1.50
1
L.002 Juan S. Gaviota
Richard Bach
……………
España Abril - 1989
Verlap
$1.00
$1.50
1
L.002 Juan S. Gaviota
Richard Bach
……………
México
Abril - 1990
Verlap
$1.00
$1.50
1
L.002 Juan S. Gaviota
Richard Bach
……………
Chile
Abril - 1991
Verlap
$1.00
$1.50
1
L.003 El Vendedor mas grande del mundo
Og Mandino
……………
EEUU
Junio - 1968
Copyright
$1.20
$ 1.80
3
2FN - Libros Cód.
Nombre
Autor
Descripción
F. Lanzamiento
Editorial
Precio Compra
Precio Venta N. Copias
L.001 Cumanda
Juan León Mera
……………
7 - Mayo
Libresa
$4.00
$5.00
4
L.002 Juan S. Gaviota
Richard Bach
……………
Abril - 1988
Verlap
$1.00
$1.50
1
L.003 El Vendedor mas grande del mundo
Og Mandino
……………
Junio - 1968
Copyright
$1.20
$ 1.80
3
21
Libros - Origen Cód. Origen L.002 Argentina L.002 España L.002 México L.002 Chile PROVEEDOR
Proveedor RUC
Nombre
7466788 Juan
Apellido
Dirección
Pauta
Bolívar
Telf.: 4073876, 2864779, 2379645
Celular
Representante
097536652
Carlos Andrade
1FN Proveedor RUC Nombre 7466788 Juan
Apellido Pauta
Dirección Bolívar
Telf. 1 Telf. 2 Telf. 3 Celular 4073876 2864779 2379645 097536652
Representante Carlos Andrade
Previo 2FN Proveedor RUC 7466788 7466788 7466788
Nombre Juan Juan Juan
Apellido Pauta Pauta Pauta
Dirección Telf. 1 Bolívar 4073876 Bolívar 2864779 Bolívar 2379645
Celular 097536652 097536653 097536654
Representante Carlos Andrade Carlos Andrade Carlos Andrade 22
2FN Proveedor RUC Nombre Apellido Dirección Celular Representante 7466788 Juan Pauta Bolívar 097536652 Carlos Andrade
Proveedor_Telefono RUC 7466788 7466788 7466788
Telf. 1 4073876 2864779 2379645
23
ATRIBUTOS-TABLAS
Tabla: Empresa Constraint CP NN NN NN NN
Campo RUC Nombre Dirección Telf.: Celular Propietario
Tipo _Dato núm. string string núm. núm. string
Longitud 9 15 40 7 9 25
Tabla: Cliente Constraint CP CS NN NN
Campo Código Cedula Nombres Apellidos Dirección Telf. Celular Tipo
Tipo_Dato Longitud núm. 5 núm. 10 string 13 string 13 string 40 núm. 7 núm. 9 string 10
24
Tabla: Empleado Constraint CP NN NN CC NN CC NN NN NN NN NN CP
Campo Cedula Nombres Apellidos Genero Fecha Nacimiento Estado Civil Dirección Telf. Celular Horario Sueldo Código _Cargo
Tipo_Dato núm. string string string date string string núm. núm. string moneda string
Longitud 10 13 13 1
40 7 9 5,2 5
Tabla: Cargo Constraint CP CS NN NN
Campo Código Cedula Nombre Función Sueldo
Tipo_Dato Longitud string 5 núm. 10 string 10 núm. 30 núm. 5,2
25
Tabla: C. de venta Constraint CP NN NN CC NN NN NN CC
Campo Numero Fecha Código _Cliente C. de venta_Descripción Subtotal Descuento IVA% Total $ Cedula_Empleado
Tipo_Dato Longitud núm. 5 date string 5 string 23 Moneda 4,2 Moneda 3,2 Moneda 3,2 Moneda 6,2 string 10
Tabla: C. de venta_Descripción Constraint Campo Cantidad CP Descripción Valor NN Unitario NN Valor Total
Tipo_Dato Longitud núm. 3 string 20 moneda moneda
4,2 6,2
26
Tabla: Libros Constraint CP NN CS NN NN
NN NN
Campo Cód. Nombre Cod_Autor Editorial Descripción Origen F. Lanzamiento Precio Compra Precio Venta N. Copias
Tipo_Dato Longitud núm. 5 string 20 string 5 string 10 string 200 string 15 date moneda moneda núm.
15 4,2 4,2 3
Tabla: Autores Constraint CP NN NN
Campo Código Nombres Nacionalidad
Tipo_Dato Longitud núm. 10 string 25 string 15
27
Tabla: Proveedor Constraint CP NN NN CS NN
Campo RUC Nombre Dirección Codigo_Telf: Celular Propietario
Tipo_Dato núm. string string núm. núm. string
Longitud 9 15 40 5 9 25
Tabla: Telf_Proveedor Constraint Campo Tipo_Dato Longitud CP RUC núm. 9 NN Teléfono núm. 7
28
2.4 Modelo Relacional
29
CONCLUSIONES
Al término este proyecto podríamos decir que hemos logrado satisfactoriamente la utilización de el creador de datos MySQL que es un lenguaje estructurado de consultas el cual nos sirve para el ordenamiento estructurado de todos los datos, y el gestor de datos Adobe Designer que es una herramienta de auditoria de formulario publicada por Adobe Systems para renderizar archivos PDF o HTML a partir de formularios XML. Los cuales nos permitieron que podamos relacionar y analizar las tablas de nuestra librería. Como se vio anteriormente se pudo normalizar todas las tablas de acuerdo a sus funciones que tienen dentro de la librería para que esta tenga un mejor rendimiento y brinde un mejor servicio a sus clientes.
30
RECOMENDACIONES
Cuando se realice el modelo de entidades relacionales debemos tener cuidado para que estas tengan un fin común con otras entidades, y que no se haga en secuencia. En el instante cuando hagamos las tablas en Access debemos analizar muy bien las entidades ya que una vez ingresado los datos en Access es un poco complicado modificar sus atributos. Cuando comencemos a analizar las claves principales de las tablas debemos tener en cuanta que la clave principal se relacione con las demás tablas
31
GLOSARIO
Los sistemas de gestión de base de datos (SGBD); (en inglés: DataBase Management System, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).- los datos personales se encuentran protegidos por esta ley SQL, Structured Query Language o Lenguaje Estructurado de Consultas, es un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.
32
BIBLIOGRAFIA
http://apuntes.rincondelvago.com/bases-de-datos.html http://www.monografias.com/trabajos27/bases-datos/bases-datos.shtml http://www.tufuncion.com/indices-mysql http://wwwdi.ujaen.es/~barranco/publico/ofimatica/tema7.pdf http://es.wikipedia.org/wiki/DBMS
33
ANEXOS
34