ELABORACIÓN DE TABLAS Y RELACIONAMIENTO CON EL PROGRAMA DE DBDESIGNER Y PHPMYADMIN DATABASE MANAGER VERSION 2.10.

3

UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CÁLDAS” FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES INGENIERÍA TOPOGRÁFICA BOGOTÁ D.C. 2012

INTRODUCCIÓN

Las bases de datos nacieron de la necesidad de almacenar y consultar grandes cantidades de información por parte de industrias, se podría puntualizar que en términos conceptuales las bases de datos nacieron desde el propio momento en el que Herman Hollerit comenzó a trabajar en el desarrollo de una Máquina Automática Perforadora de Tarjetas para realizar el censo de estados unidos, luego de estos aportes aparecieron las cintas magnéticas, con ayuda de este mecanismo se inicio a automatizar la información de las nominas, Mas adelante aparecieron los discos lo cual elimino la necesidad de una secuencialidad en la búsqueda de los datos. A partir de allí se dio verdaderamente inicio las bases de datos, de red y jerárquicas, pues los programadores con su habilidad de manipulación de estructuras posibilitaban guardar arreglos de datos como listas y árboles.

Exportar las tablas creadas en código SQL para su posterior uso.1 OBJETIVOS ESPECIFICOS    Estudiar la creación de diferentes atributos en las tablas. OBJETIVO GENERAL  Diseñar una serie de tablas en el programa DBDesigner y relacionarlas de acuerdo con su cardinalidad y el modelo conceptual entregado. así como los tipos de datos existentes para cada uno.1. 1. . Buscar un software diferente para realizar la importación de las tablas ejecutando el código obtenido en DBDesigner.

• Un sistema de control de recuperación que restablece la base de datos después de que se produzca un fallo del hardware o del software.3 El SGBD proporciona un acceso controlado a la base de datos mediante: • Un sistema de seguridad. Un sistema de ficheros sigue un modelo descentralizado. Cada base de datos ha sido diseñada para satisfacer los requisitos de información de una empresa u otro tipo de organización. . una universidad o un hospital. como por ejemplo. Los sistemas de ficheros surgieron al informatizar el manejo de los archivadores manuales para proporcionar un acceso más eficiente a los datos almacenados en los mismos. y se utilizan para introducir datos. Es importante destacar que en los sistemas de ficheros. el SGBD y los programas de aplicación que dan servicio a la empresa u organización. 2. Antes de existir las bases de datos se trabajaba con sistemas de ficheros. mantener los ficheros y generar los informes que cada departamento necesita. MARCO TEORICO 2. en el que cada departamento de la empresa almacena y gestiona sus propios datos mediante una serie de programas de aplicación escritos especialmente para él. tanto la estructura física de los ficheros de datos como la de sus registros. crear y mantener la base de datos. • Un diccionario de datos o catálogo.2 Sistema De Gestión De Bases De Datos El sistema de gestión de la base de datos (en adelante SGBD) es una aplicación que permite a los usuarios definir.2. Se denomina sistema de bases de datos al conjunto formado por la base de datos. 2. • Un sistema de control de concurrencia que permite el acceso compartido a la base de datos. que contiene la descripción de los datos de la base de datos. • Un sistema de integridad que mantiene la integridad y la consistencia de los datos. además de proporcionar un acceso controlado a la misma. de modo que los usuarios no autorizados no puedan acceder a la base de datos. accesible por el usuario. están definidas dentro de los programas de aplicación.1 Base De Datos ¹Una base de datos es un conjunto de datos almacenados en memoria externa que están organizados mediante una estructura de datos. Estos programas son totalmente independientes entre un departamento y otro.

Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Todo esto hará que la implantación de un sistema de bases de datos sea más cara. el coste del personal especializado para ayudar a realizar la conversión y poner en marcha el sistema. por lo que no se almacenan varias copias de los mismos datos.      . Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. probablemente. Este coste incluye el coste de enseñar a la plantilla a utilizar estos sistemas y. Tanto el SGBD. En algunas ocasiones. como la propia base de datos. y es el SGBD quien se encargará de mantenerlas. Normalmente. Además. Estas restricciones se pueden aplicar tanto a los datos. Esto hace que se desperdicie espacio de almacenamiento.2.4 Ventajas E Inconvenientes De Los Sistemas De Bases De Datos  Control sobre la redundancia de datos. además de provocar faltas de consistencia de datos (copias que no coinciden). la integridad se expresa mediante restricciones o reglas que no se pueden violar. Mejora en la accesibilidad a los datos. pueden hacer que sea necesario adquirir más espacio de almacenamiento. Coste del equipamiento adicional. para alcanzar las prestaciones deseadas. y está disponible para todos los usuarios inmediatamente. Muchos SGBD proporcionan lenguajes de consulta o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos. cualquier actualización se debe realizar sólo una vez. Control sobre la consistencia de datos. sin que sea necesario que un programador escriba una aplicación que realice tal tarea. 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. Mejora en la integridad de datos. En los sistemas de bases de datos todos estos ficheros están integrados. el coste del SGBD y el coste del equipo informático que sea necesario adquirir para su buen funcionamiento es insignificante comparado al coste de convertir la aplicación actual en un sistema de bases de datos. Coste de la conversión. es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. La integridad de la base de datos se refiere a la validez de los datos almacenados. Si un dato está almacenado una sola vez. como a sus relaciones.

Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos. Sin embargo.6 Estructura De Datos Relacional La estructura de datos del modelo relacional es la relación. los SGBD están escritos para ser más generales y ser útiles en muchas aplicaciones. Un sistema de ficheros está escrito para una aplicación específica. Los modelos de datos son el instrumento principal para ofrecer dicha abstracción a través de su jerarquía de niveles. las relaciones se utilizan para almacenar información sobre los objetos que se representan en la base de datos. Los modelos de datos contienen también un conjunto de operaciones básicas para la realización de consultas (lecturas) y actualizaciones de datos. las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. .7 El modelo relacional Se basa en el concepto matemático de relación. Una relación es una tabla con columnas y filas. no se aplica a la estructura física de la base de datos. Los atributos pueden aparecer en la relación en cualquier orden. En el modelo relacional. los modelos de datos más 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. los datos. es decir. que se puede implementar con distintas estructuras de almacenamiento. al ocultar las características sobre el almacenamiento físico que la mayoría de usuarios no necesita conocer. que gráficamente se representa mediante una tabla. Codd. Una relación se representa gráficamente 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.  Prestaciones. Esta percepción sólo se aplica a la estructura lógica de la base de datos.5 Modelos De Datos Una de las características fundamentales de los sistemas de bases de datos es que proporcionan cierto nivel de abstracción de datos. utilizó una terminología perteneciente a las matemáticas. Además. lo que puede hacer que algunas de ellas no sean tan rápidas como antes. Un atributo es el nombre de una columna de una relación. en concreto de la teoría de conjuntos y de la lógica de predicados. 2. 2. Un SGBD sólo necesita que el usuario pueda percibir la base de datos como un conjunto de tablas. que era un experto matemático. por lo que sus prestaciones suelen ser muy buenas.

etc. Modelo conceptual para la elaboración de las tablas. En síntesis se trata de tomar algo (un dispositivo mecánico o electrónico. un software de computadora. objeto o sistema. a través de razonamiento abductivo de su estructura.) para analizar su funcionamiento en detalle. DESARROLLO 3.2. Las herramientas CASE son diferentes aplicaciones informáticas diseñadas para aumentar la productividad en el desarrollo de software. además de este objetivo pretende mejorar la planificación de un proyecto. La ingeniería inversa es el proceso de descubrir los principios tecnológicos de un dispositivo.1 El inicio de la guía muestra la forma de elaboración de las tablas utilizando esta herramienta CASE. Fig. Pregunta N1. Ya teniendo el modelo conceptual se procederá a crear las tablas en el aplicativo correspondiente. .3. generalmente para intentar crear un dispositivo o programa que haga la misma o similar tarea sin copiar la original. ¿Qué son herramientas CASE? ¿Qué significa Ingeniería Inversa en la utilización de esta herramienta? Solución N1. gestión global en todas las fases del desarrollo de software con una misma herramienta. después damos clic en la panel DB Model para ingresar al editor de la tabla. función y operación. N1.Para realizar esto damos clic en FileNew. 3.

DBDesigner4. Fig. Table Editor.Fig.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) . N2. 3. N3.

5 En la siguiente figura observamos la tabla denominada proyecto con atributos ID_proyecto.FUNCIONARIO DE PLANTA Matricula Funcionario (PK) Integer Dirección 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. . 3. Table Editor Proyecto. Des_Proyecto y Dura_Proyecto con sus respectivos tipos. Tablas con sus respectivos atributos y tipos de datos. N3. Fig.

3.8 El primer relacionamiento entre entidades es: proyecto y funcionario.6 A continuación observamos las todas la tablas diseñadas de acuerdo a la metodología inicial. N4. 3.3.7 A continuación realizaremos el diseño de las relaciones. Tablas creadas. relacionamiento m:m con un atributo del relacionamiento (horas_trabajadas). Herramienta para establecer la cardinalidad del diseño. Fig. para eso utilizaremos los siguientes botones. para saber qué relación utilizar deberemos observar y analizar el Modelo Conceptual: Fig N5.dicho relacionamiento quedara de la siguiente manera: .

Relación proyecto funcionario muchos a muchos. ¿Qué tabla quedo con la llave foránea? ¿Cuál fue esa llave? Solución N5. lo cual es incorrecto ya que la relación debe ser un departamento tiene varios funcionarios lo cual es homologo a decir que la relación Departamento . . Con la llave foránea quedo la tabla Funcionarios. Este es un relacionamiento uno a muchos. 3. para el caso de float reserva almacenamiento para un número de precisión simple de 4 bytes. ¿Qué debe contener esta tabla? ¿Por qué? ¿Cuáles son sus atributos? Solución N2. . esto con el fin de poder hacer el relacionamiento efectivo y así hacer la consulta. N6. ¿Qué pasa si hacemos lo contrario de dar clic en la tabla de cardinalidad M? Solución N4.Funcionario es de 1:n. Float es un tipo de dato que permite almacenar un valor en coma flotante. Pregunta N4. Pregunta N5.9 El próximo relacionamiento corresponde a funcionario y Departamento. esta es la llave primaria en la entidad Departamento y es denominada Cod_Departamento. Pregunta N2.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 teoría se crea una tercera tabla. Pregunta N3.Fig. Esta tabla deberá contener la llave primaria de Proyecto denominada ID_proyecto y la llave de Funcionario CPF. Si se realiza lo contrario significaría que la cardinalidad seria al contrario es decir un funcionario tiene varios departamentos. Y se realiza con el siguiente elemento . ¿Qué significa el tipo de dato float? Solución N3. se usa para representar números con partes fraccionarias.

3. entonces quedaría así: .Fig. Relación funcionario departamento uno a muchos. En este caso se debe tomar la decisión cuál de las dos tablas contendrá la clave o llave foránea.10 El próximo relacionamiento es beneficiario y funcionario_de_planta. Este tipo de relacionamiento observando el Modelo Conceptual es 1:1 Observación. para este caso escogí para llevar la clave foránea la tabla BENEFICIARIO. N7.

Pregunta N6.Fig. N9. es decir una Empresa_prestadora posee varios Funcionario_Externos. Fig. ¿Qué tipo de relacionamiento es? Solución N6. 3. Relación beneficiario y funcionario_de_planta uno a uno. Relación empresa_prestadora y funcionario externo uno a muchos. N8. La relación establecida entre Empresa_prestadora – Funcionario_Externo es del orden 1: n.11 En este punto solo haría falta el relacionamiento entre las entidades empresa_prestadora y funcionario externo. .

Generalizacion entre funcionario y las dos entidades funcionario_externo y funcionario_planta. Fig. ¿En el anterior relacionamiento como quedan las llaves? ¿Qué tablas quedan con llave extranjera? Solución N7. . luego la tabla a especializar. es partir de esta que se harán los relacionamientos.3. entre Funcionario y las dos entidades Funcionario_de_planta y Funcionario_Externo. Pregunta N7. La relación establecida entre funcionario-funcionario_externo y funcionario_planta encontramos que la llave foránea tanto en funcionario externo como en funcionario de planta es la llave primaria de funcionario denominada funcionario_cpf. Dicha relación quedara como en la imagen anterior. N10. Bueno con esto estará terminado nuestro modelo con los relacionamientos necesarios.12 El próximo paso es hacer la Generalización. Damos clic en el siguiente botón y tocamos primero la tabla generalizada (Funcionario).

Vista General de las Tablas Creadas. Para esto realizaremos lo siguiente FileExportSQL Create Script. N11. Nombre_Beneficiario VARCHAR(45) NULL. FUNCIONARIO_DE_PLANTA_Matricula_Funcionario INTEGER UNSIGNED NOT NULL. A continuación observamos el script entregado por DBDesigner: CREATE TABLE BENEFICIARIO ( CPF_Beneficiario VARCHAR(11) NOT NULL AUTO_INCREMENT. CREATE TABLE DEPARTAMENTO ( Cod_Dpto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT. PRIMARY KEY(CPF_Beneficiario). FUNCIONARIO_DE_PLANTA_FUNCIONARIO_CPF)). INDEX BENEFICIARIO_FKIndex1(FUNCIONARIO_DE_PLANTA_Matricula_Funcionario.13 A continuación se mostrara el código extraído de cada una de las tablas creadas. 3. Local_2 VARCHAR(20) NULL. Con esto obtendremos el script en SQL. PRIMARY KEY(Cod_Dpto)). FUNCIONARIO_DE_PLANTA_FUNCIONARIO_CPF VARCHAR(11) NOT NULL. Podemos salvar o copiar las tablas como archivos para MySQL. Nombre_Dpto VARCHAR(45) NULL. CREATE TABLE EMPRESA_PRESTADORA ( .Fig.

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

FUNCIONARIO_CPF). para nuestro caso le colocaremos proyecto. N13. 3. en este programa el primer requisito para poder ejecutar las sentencias SQL es tener creada una base de datos. Código ejecutado en PhpMyAdmin. . N12. Fig.PRIMARY KEY(PROYECTO_ID_Proyecto. luego en donde dice SQL colocaremos el código que deseamos ejecutar. Vista Inicial de PhpMyAdmin. INDEX PROYECTO_has_FUNCIONARIO_FKIndex2(FUNCIONARIO_CPF) ). INDEX PROYECTO_has_FUNCIONARIO_FKIndex1(PROYECTO_ID_Proyecto).14 Ya como último paso buscaremos exportar estas tablas a cualquier otro software para poder visualizarla. En nuestro caso escogimos un software denominado phpmyadmin. Fig.

En la grafica observamos como la consulta se ejecuto exitosamente. N15. Bueno y este sería 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. Fig. Todas la Tablas ejecutadas en PhpMyAdmin. Fig. Tabla Empresa_Prestadora con atributos especificos.15 En la anterior imagen ya sean importado todas las tablas creadas en DBDesigner ahora procederemos a llenar la tabla Empresa_prestadora. N14. 3. .

Pregunta N8. El valor 0 se pone cuando la participación de la entidad es opcional.N).El relacionamiento se realiza a partir de la cardinalidad es decir el número de entidades con las que puede estar relacionada una entidad dada.N) y (M. Los valores para la cardinalidad son: (0. (1. ¿Formule y responda una pregunta sobre este trabajo? ¿Cómo se realiza el relacionamiento entre dos tablas? Solución N9. (0. (1.1) cual es el significado de cero (0)? Solución N8. .1). ¿En la cardinalidad (0. Pregunta N9.N).1). luego dicho atributo es creado en una tabla B definido como llave foránea. además de esto es necesaria la definición de una llave primaria en una tabla A principal.

está referido a relacionar información de diferentes tablas a través de una llave foránea y una llave primaria de características iguales. además de un efectivo control de redundancia y una restricción a accesos no autorizados está definido a partir de un Sistema Gestor de Base de Datos.4.   . CONCLUSIONES  Las bases de datos permiten el almacenamiento. construir y manipular la base de datos. La forma más eficaz para evitar duplicidades e inconsistencias es normalizar un diseño esto. La forma en que se puede definir. organización y consulta de elementos presente en diferentes entidades de acuerdo a una necesidad específica.

Sign up to vote on this title
UsefulNot useful