Sunteți pe pagina 1din 20

ELABORACIN DE TABLAS Y RELACIONAMIENTO CON EL PROGRAMA DE DBDESIGNER Y PHPMYADMIN DATABASE MANAGER VERSION 2.10.

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CLDAS FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES INGENIERA TOPOGRFICA BOGOT D.C. 2012

INTRODUCCIN

Las bases de datos nacieron de la necesidad de almacenar y consultar grandes cantidades de informacin por parte de industrias, se podra puntualizar que en trminos conceptuales las bases de datos nacieron desde el propio momento en el que Herman Hollerit comenz a trabajar en el desarrollo de una Mquina Automtica Perforadora de Tarjetas para realizar el censo de estados unidos, luego de estos aportes aparecieron las cintas magnticas, con ayuda de este mecanismo se inicio a automatizar la informacin de las nominas, Mas adelante aparecieron los discos lo cual elimino la necesidad de una secuencialidad en la bsqueda de los datos. A partir de all se dio verdaderamente inicio las bases de datos, de red y jerrquicas, pues los programadores con su habilidad de manipulacin de estructuras posibilitaban guardar arreglos de datos como listas y rboles.

1. OBJETIVO GENERAL

Disear una serie de tablas en el programa DBDesigner y relacionarlas de acuerdo con su cardinalidad y el modelo conceptual entregado.

1.1

OBJETIVOS ESPECIFICOS Estudiar la creacin de diferentes atributos en las tablas, as como los tipos de datos existentes para cada uno. Exportar las tablas creadas en cdigo SQL para su posterior uso. Buscar un software diferente para realizar la importacin de las tablas ejecutando el cdigo obtenido en DBDesigner.

2. MARCO TEORICO 2.1 Base De Datos Una base de datos es un conjunto de datos almacenados en memoria externa que estn organizados mediante una estructura de datos. Cada base de datos ha sido diseada para satisfacer los requisitos de informacin de una empresa u otro tipo de organizacin, como por ejemplo, una universidad o un hospital. Antes de existir las bases de datos se trabajaba con sistemas de ficheros. Los sistemas de ficheros surgieron al informatizar el manejo de los archivadores manuales para proporcionar un acceso ms eficiente a los datos almacenados en los mismos. Un sistema de ficheros sigue un modelo descentralizado, en el que cada departamento de la empresa almacena y gestiona sus propios datos mediante una serie de programas de aplicacin escritos especialmente para l. Estos programas son totalmente independientes entre un departamento y otro, y se utilizan para introducir datos, mantener los ficheros y generar los informes que cada departamento necesita. Es importante destacar que en los sistemas de ficheros, tanto la estructura fsica de los ficheros de datos como la de sus registros, estn definidas dentro de los programas de aplicacin. 2.2 Sistema De Gestin De Bases De Datos El sistema de gestin de la base de datos (en adelante SGBD) es una aplicacin que permite a los usuarios definir, crear y mantener la base de datos, adems de proporcionar un acceso controlado a la misma. Se denomina sistema de bases de datos al conjunto formado por la base de datos, el SGBD y los programas de aplicacin que dan servicio a la empresa u organizacin. 2.3 El SGBD proporciona un acceso controlado a la base de datos mediante: Un sistema de seguridad, de modo que los usuarios no autorizados no puedan acceder a la base de datos. Un sistema de integridad que mantiene la integridad y la consistencia de los datos. Un sistema de control de concurrencia que permite el acceso compartido a la base de datos. Un sistema de control de recuperacin que restablece la base de datos despus de que se produzca un fallo del hardware o del software. Un diccionario de datos o catlogo, accesible por el usuario, que contiene la descripcin de los datos de la base de datos.

2.4 Ventajas E Inconvenientes De Los Sistemas De Bases De Datos Control sobre la redundancia de datos. Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, adems de provocar faltas de consistencia de datos (copias que no coinciden). En los sistemas de bases de datos todos estos ficheros estn integrados, por lo que no se almacenan varias copias de los mismos datos. Control sobre la consistencia de datos. Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato est almacenado una sola vez, cualquier actualizacin se debe realizar slo una vez, y est disponible para todos los usuarios inmediatamente. Mejora en la integridad de datos. La integridad de la base de datos se refiere a la validez de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se encargar de mantenerlas. Mejora en la accesibilidad a los datos. Muchos SGBD proporcionan lenguajes de consulta o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicacin que realice tal tarea. Coste del equipamiento adicional. Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir ms espacio de almacenamiento. Adems, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una mquina ms grande o una mquina que se dedique solamente al SGBD. Todo esto har que la implantacin de un sistema de bases de datos sea ms cara. Coste de la conversin. En algunas ocasiones, el coste del SGBD y el coste del equipo informtico que sea necesario adquirir para su buen funcionamiento es insignificante comparado al coste de convertir la aplicacin actual en un sistema de bases de datos. Este coste incluye el coste de ensear a la plantilla a utilizar estos sistemas y, probablemente, el coste del personal especializado para ayudar a realizar la conversin y poner en marcha el sistema. Este coste es una de las razones principales por las que algunas empresas y organizaciones se resisten a cambiar su sistema actual de ficheros por un sistema de bases de datos.

Prestaciones. Un sistema de ficheros est escrito para una aplicacin especfica, por lo que sus prestaciones suelen ser muy buenas. Sin embargo, los SGBD estn escritos para ser ms generales y ser tiles en muchas aplicaciones, lo que puede hacer que algunas de ellas no sean tan rpidas como antes.

2.5 Modelos De Datos Una de las caractersticas fundamentales de los sistemas de bases de datos es que proporcionan cierto nivel de abstraccin de datos, al ocultar las caractersticas sobre el almacenamiento fsico que la mayora de usuarios no necesita conocer. Los modelos de datos son el instrumento principal para ofrecer dicha abstraccin a travs de su jerarqua de niveles. Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos, es decir, los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. Los modelos de datos contienen tambin un conjunto de operaciones bsicas para la realizacin de consultas (lecturas) y actualizaciones de datos. Adems, los modelos de datos ms modernos incluyen mecanismos para especificar acciones compensatorias o adicionales que se deben llevar a cabo ante las acciones habituales que se realizan sobre la base de datos. 2.6 Estructura De Datos Relacional La estructura de datos del modelo relacional es la relacin. 2.7 El modelo relacional Se basa en el concepto matemtico de relacin, que grficamente se representa mediante una tabla. Codd, que era un experto matemtico, utiliz una terminologa perteneciente a las matemticas, en concreto de la teora de conjuntos y de la lgica de predicados. Una relacin es una tabla con columnas y filas. Un SGBD slo necesita que el usuario pueda percibir la base de datos como un conjunto de tablas. Esta percepcin slo se aplica a la estructura lgica de la base de datos, no se aplica a la estructura fsica de la base de datos, que se puede implementar con distintas estructuras de almacenamiento. Un atributo es el nombre de una columna de una relacin. En el modelo relacional, las relaciones se utilizan para almacenar informacin sobre los objetos que se representan en la base de datos. Una relacin se representa grficamente como una tabla bidimensional en la que las filas corresponden a registros individuales y las columnas corresponden a los campos o atributos de esos registros. Los atributos pueden aparecer en la relacin en cualquier orden.

3. DESARROLLO

3.1

El inicio de la gua muestra la forma de elaboracin de las tablas utilizando esta herramienta CASE. Pregunta N1. Qu son herramientas CASE? Qu significa Ingeniera Inversa en la utilizacin de esta herramienta? Solucin N1. Las herramientas CASE son diferentes aplicaciones informticas diseadas para aumentar la productividad en el desarrollo de software, adems de este objetivo pretende mejorar la planificacin de un proyecto, gestin global en todas las fases del desarrollo de software con una misma herramienta. La ingeniera inversa es el proceso de descubrir los principios tecnolgicos de un dispositivo, objeto o sistema, a travs de razonamiento abductivo de su estructura, funcin y operacin. En sntesis se trata de tomar algo (un dispositivo mecnico o electrnico, un software de computadora, etc.) para analizar su funcionamiento en detalle, generalmente para intentar crear un dispositivo o programa que haga la misma o similar tarea sin copiar la original.

Fig. N1. Modelo conceptual para la elaboracin de las tablas.

3.2. Ya teniendo el modelo conceptual se proceder a crear las tablas en el aplicativo correspondiente.Para realizar esto damos clic en FileNew, despus damos clic en la panel DB Model para ingresar al editor de la tabla.

Fig. N2. DBDesigner4.

Fig. N3. Table Editor.

3.4 Dentro del editor de la tabla vamos a crear las siguientes tablas:

FUNCIONARIO CPF (PK) Nombre Funcionario DEPARTAMENTO Cod Doto (PK) Nombre_Dpto Local BENEFICIARIO CPF_Beneficiario (PK) Nombre Beneficiario Integer Varchar (45) Varchar (20) Varchar (11) Varchar (45)

Varchar (11) Varchar (45)

FUNCIONARIO DE PLANTA Matricula Funcionario (PK) Integer Direccin Funcionario Varchar (45)

FUNCIONARIO EXTERNO ID Externo Integer Carga Horaria Float

EMPRESA PRESTADORA ID_Empresaprest Varchar (19) Nombre_Em presa Varchar (45) Telefono Empresa Varchar (11) Direccion_Em presa Varchar (45)
Tabla N1. Tablas con sus respectivos atributos y tipos de datos.

3.5 En la siguiente figura observamos la tabla denominada proyecto con atributos ID_proyecto, Des_Proyecto y Dura_Proyecto con sus respectivos tipos.

Fig. N3. Table Editor Proyecto.

3.6 A continuacin observamos las todas la tablas diseadas de acuerdo a la metodologa inicial.

Fig. N4. Tablas creadas.

3.7 A continuacin realizaremos el diseo de las relaciones, para eso utilizaremos los siguientes botones, para saber qu relacin utilizar deberemos observar y analizar el Modelo Conceptual:

Fig N5. Herramienta para establecer la cardinalidad del diseo.

3.8 El primer relacionamiento entre entidades es: proyecto y funcionario, relacionamiento m:m con un atributo del relacionamiento (horas_trabajadas).dicho relacionamiento quedara de la siguiente manera:

Fig. N6. Relacin proyecto funcionario muchos a muchos.

.En el anterior grafico vemos como se dio clic en la primera tabla y luego clic en la siguiente tabla que vamos a relacionar Como se vio en la teora se crea una tercera tabla. Pregunta N2. Qu debe contener esta tabla? Por qu? Cules son sus atributos? Solucin N2. Esta tabla deber contener la llave primaria de Proyecto denominada ID_proyecto y la llave de Funcionario CPF, esto con el fin de poder hacer el relacionamiento efectivo y as hacer la consulta. Pregunta N3. Qu significa el tipo de dato float? Solucin N3. Float es un tipo de dato que permite almacenar un valor en coma flotante, se usa para representar nmeros con partes fraccionarias, para el caso de float reserva almacenamiento para un nmero de precisin simple de 4 bytes. 3.9 El prximo relacionamiento corresponde a funcionario y Departamento, Este es un relacionamiento uno a muchos. Y se realiza con el siguiente elemento .

Pregunta N4. Qu pasa si hacemos lo contrario de dar clic en la tabla de cardinalidad M? Solucin N4. Si se realiza lo contrario significara que la cardinalidad seria al contrario es decir un funcionario tiene varios departamentos, lo cual es incorrecto ya que la relacin debe ser un departamento tiene varios funcionarios lo cual es homologo a decir que la relacin Departamento - Funcionario es de 1:n. Pregunta N5. Qu tabla quedo con la llave fornea? Cul fue esa llave? Solucin N5. Con la llave fornea quedo la tabla Funcionarios, esta es la llave primaria en la entidad Departamento y es denominada Cod_Departamento.

Fig. N7. Relacin funcionario departamento uno a muchos.

3.10 El prximo relacionamiento es beneficiario y funcionario_de_planta, Este tipo de relacionamiento observando el Modelo Conceptual es 1:1 Observacin. En este caso se debe tomar la decisin cul de las dos tablas contendr la clave o llave fornea, para este caso escog para llevar la clave fornea la tabla BENEFICIARIO, entonces quedara as:

Fig. N8. Relacin beneficiario y funcionario_de_planta uno a uno.

3.11 En este punto solo hara falta el relacionamiento entre las entidades empresa_prestadora y funcionario externo.

Fig. N9. Relacin empresa_prestadora y funcionario externo uno a muchos.

Pregunta N6. Qu tipo de relacionamiento es? Solucin N6. La relacin establecida entre Empresa_prestadora Funcionario_Externo es del orden 1: n, es decir una Empresa_prestadora posee varios Funcionario_Externos.

3.12 El prximo paso es hacer la Generalizacin, entre Funcionario y las dos entidades Funcionario_de_planta y Funcionario_Externo. Damos clic en el siguiente botn y tocamos primero la tabla generalizada (Funcionario), luego la tabla a especializar.

Fig. N10.Generalizacion entre funcionario y las dos entidades funcionario_externo y funcionario_planta.

Pregunta N7. En el anterior relacionamiento como quedan las llaves? Qu tablas quedan con llave extranjera? Solucin N7. La relacin establecida entre funcionario-funcionario_externo y funcionario_planta encontramos que la llave fornea tanto en funcionario externo como en funcionario de planta es la llave primaria de funcionario denominada funcionario_cpf, es partir de esta que se harn los relacionamientos. Dicha relacin quedara como en la imagen anterior. Bueno con esto estar terminado nuestro modelo con los relacionamientos necesarios.

Fig. N11. Vista General de las Tablas Creadas.

3.13 A continuacin se mostrara el cdigo extrado de cada una de las tablas creadas. Para esto realizaremos lo siguiente FileExportSQL Create Script. Con esto obtendremos el script en SQL, Podemos salvar o copiar las tablas como archivos para MySQL. A continuacin observamos el script entregado por DBDesigner: CREATE TABLE BENEFICIARIO ( CPF_Beneficiario VARCHAR(11) NOT NULL AUTO_INCREMENT, FUNCIONARIO_DE_PLANTA_FUNCIONARIO_CPF VARCHAR(11) NOT NULL, FUNCIONARIO_DE_PLANTA_Matricula_Funcionario INTEGER UNSIGNED NOT NULL, Nombre_Beneficiario VARCHAR(45) NULL, PRIMARY KEY(CPF_Beneficiario), INDEX BENEFICIARIO_FKIndex1(FUNCIONARIO_DE_PLANTA_Matricula_Funcionario, FUNCIONARIO_DE_PLANTA_FUNCIONARIO_CPF)); CREATE TABLE DEPARTAMENTO ( Cod_Dpto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Nombre_Dpto VARCHAR(45) NULL, Local_2 VARCHAR(20) NULL, PRIMARY KEY(Cod_Dpto)); CREATE TABLE EMPRESA_PRESTADORA (

ID_Empresaprest VARCHAR(19) NOT NULL AUTO_INCREMENT, Nombre_Empresa VARCHAR(45) NULL, Telefono_Empresa VARCHAR(11) NULL, Direccion_Empresa VARCHAR(45) NULL, PRIMARY KEY(ID_Empresaprest) ); CREATE TABLE FUNCIONARIO ( CPF VARCHAR(11) NOT NULL AUTO_INCREMENT, DEPARTAMENTO_Cod_Dpto INTEGER UNSIGNED NOT NULL, Nombre_Funcionario VARCHAR(45) NULL, Horas_trabajadas FLOAT NULL, PRIMARY KEY(CPF), INDEX FUNCIONARIO_FKIndex1(DEPARTAMENTO_Cod_Dpto) ); CREATE TABLE FUNCIONARIO_DE_PLANTA ( Matricula_Funcionario INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, FUNCIONARIO_CPF VARCHAR(11) NOT NULL, Direccion_Funcionario VARCHAR(45) NULL, PRIMARY KEY(Matricula_Funcionario, FUNCIONARIO_CPF), INDEX FUNCIONARIO_DE_PLANTA_FKIndex2(FUNCIONARIO_CPF) ); CREATE TABLE FUNCIONARIO_EXTERNO ( ID_Externo INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, FUNCIONARIO_CPF VARCHAR(11) NOT NULL, EMPRESA_PRESTADORA_ID_Empresaprest VARCHAR(19) NOT NULL, Carga_Horaria FLOAT NULL, PRIMARY KEY(ID_Externo, FUNCIONARIO_CPF), INDEX FUNCIONARIO_EXTERNO_FKIndex1(EMPRESA_PRESTADORA_ID_Empresap rest), INDEX FUNCIONARIO_EXTERNO_FKIndex2(FUNCIONARIO_CPF) ); CREATE TABLE PROYECTO ( ID_Proyecto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Desc_Proyecto VARCHAR(30) NULL, Dura_Proyecto INTEGER UNSIGNED NULL, PRIMARY KEY(ID_Proyecto) ); CREATE TABLE PROYECTO_has_FUNCIONARIO ( PROYECTO_ID_Proyecto INTEGER UNSIGNED NOT NULL, FUNCIONARIO_CPF VARCHAR(11) NOT NULL, Horas_trabajadas FLOAT NULL,

PRIMARY KEY(PROYECTO_ID_Proyecto, FUNCIONARIO_CPF), INDEX PROYECTO_has_FUNCIONARIO_FKIndex1(PROYECTO_ID_Proyecto), INDEX PROYECTO_has_FUNCIONARIO_FKIndex2(FUNCIONARIO_CPF) ); 3.14 Ya como ltimo paso buscaremos exportar estas tablas a cualquier otro software para poder visualizarla. En nuestro caso escogimos un software denominado phpmyadmin, en este programa el primer requisito para poder ejecutar las sentencias SQL es tener creada una base de datos, para nuestro caso le colocaremos proyecto, luego en donde dice SQL colocaremos el cdigo que deseamos ejecutar.

Fig. N12. Vista Inicial de PhpMyAdmin.

Fig. N13. Cdigo ejecutado en PhpMyAdmin.

En la grafica observamos como la consulta se ejecuto exitosamente.

Fig. N14. Todas la Tablas ejecutadas en PhpMyAdmin.

3.15 En la anterior imagen ya sean importado todas las tablas creadas en DBDesigner ahora procederemos a llenar la tabla Empresa_prestadora.

Fig. N15. Tabla Empresa_Prestadora con atributos especificos.

Bueno y este sera el resultado final del trabajo ya que se ha conseguido el objetivo de importar la tabla y asignarle valores a cada una de las tuplas y atributos.

Pregunta N8. En la cardinalidad (0,1) cual es el significado de cero (0)? Solucin N8. Los valores para la cardinalidad son: (0,1), (1,1), (0,N), (1,N) y (M,N). El valor 0 se pone cuando la participacin de la entidad es opcional. Pregunta N9. Formule y responda una pregunta sobre este trabajo? Cmo se realiza el relacionamiento entre dos tablas? Solucin N9.El relacionamiento se realiza a partir de la cardinalidad es decir el nmero de entidades con las que puede estar relacionada una entidad dada, adems de esto es necesaria la definicin de una llave primaria en una tabla A principal, luego dicho atributo es creado en una tabla B definido como llave fornea.

4. CONCLUSIONES

Las bases de datos permiten el almacenamiento, organizacin y consulta de elementos presente en diferentes entidades de acuerdo a una necesidad especfica. La forma ms eficaz para evitar duplicidades e inconsistencias es normalizar un diseo esto, est referido a relacionar informacin de diferentes tablas a travs de una llave fornea y una llave primaria de caractersticas iguales. La forma en que se puede definir, construir y manipular la base de datos, adems de un efectivo control de redundancia y una restriccin a accesos no autorizados est definido a partir de un Sistema Gestor de Base de Datos.

S-ar putea să vă placă și