Vous êtes sur la page 1sur 15

El Diagrama Entidad Relacin (ERD) del sistema de Mantenimiento de Equipo

tiene 10 entidades que se describen de la siguiente manera:

Diccionario de Datos del Sistema

TABLE NAME

KEY

ATRIBUTE NAME

DATA TYPE

AGENCIA

TIPO_AGENCIA

DEPARTAMENTO

PK

nmero_agencia

NUMBER(12)

nombre

VARCHAR2(30)

inicial

VARCHAR2(1)

apellido_paterno

VARCHAR2(30)

apellido_materno

VARCHAR2(30)

direccin

VARCHAR2(30)

email

VARCHAR2(30)

telfono

NUMBER(15)

nombre_de_agencia

VARCHAR2(30)

FK

tipo_agencia

NUMBER(9)

PK

tipo_agencia

NUMBER(9)

desc_agencia

VARCHAR2(40)

nmero_departamento

NUMBER(3)

PK

SERVICIO

TIPO_SERVICIO

nombre_departamento

VARCHAR2(30)

loc_departamento

VARCHAR2(30)

FK

nmero_agencia

NUMBER(12)

PK

nmero_servicio

NUMBER(12)

descripcin

VARCHAR2(300)

solucin

VARCHAR2(300)

pioridad

VARCHAR2(20)

estatus

VARCHAR2(20)

fecha_comienzo

DATE

fecha_terminacin

DATE

duracin

VARCHAR2(20)

costo

NUMBER(9)

FK

tipo_servicio

NUMBER(9)

FK

nmero_agencia

NUMBER(12)

PK

tipo_servicio

NUMBER(9)

EQUIPO

PK

desc_servicio

VARCHAR2(300)

nmero_serie

VARCHAR2(12)

nombre_equipo

VARCHAR2(30)

modelo

VARCHAR2(30)

manufacturero

VARCHAR2(30)

fecha_compra

DATE

garanta

NUMBER(3)

fecha_garanta

DATE

fecha_instalacin

DATE

loc_equipo

VARCHAR2(40)

nmero_propiedad

NUMBER(12)

tipo_equipo

NUMBER(9)

nmero_agencia

NUMBER(12)

TIPO_EQUIPO

PK

nmero_departamento

NUMBER(3)

tipo_equipo

NUMBER(9)

desc_equipo

VARCHAR2(40)

loc_departamento

nmero_agencia

MANTENIMIENTO_EQUIPO

PK

cdigo_mantenimiento

NUMBER(12)

comentarios

VARCHAR2(300)

ltima_fecha

DATE

prxima_fecha

DATE

fecha_ltima

DATE

frecuencia

VARCHAR2(1)

unidad

NUMBER(12)

FK

nmero_servicio

NUMBER(12)

FK

nmero_serie

VARCHAR2(30)

FK

nmero_agencia

NUMBER(3)

TECNICO

TIPO_TECNICO

FK

nmero_tcnico

NUMBER(12)

PK

nmero_tcnico

NUMBER(12)

nombre_tcnico

VARCHAR2(30)

inicial

VARCHAR2(1)

apellido_paterno

VARCHAR(30)

apellido_materno

VARCHAR(30)

nombre_agencia

VARCHAR(30)

sexo

VARCHAR2(1)

telfono

NUMBER(15)

email

VARCHAR(40)

nombre_agencia

VARCHAR(30)

FK

nmero_departamento

NUMBER(3)

FK

tipo_tcnico

NUMBER(12)

PK

tipo_tcnico

NUMBER(9)

desc_tcnico

VARCHAR2(40)

Create Tables

/*=========================================================================
*/
/* Project Filename: E:\ERDProyectoFinal.dez
/* Project Name:
/* Author:Edwin Ortiz
/* DBMS:
Oracle 9i
/* Copyright:
/* Generated on:
11/13/2005 12:03:30 AM
/
*==========================================================================*
/
/
*==========================================================================*
/
/* Tables
/
*==========================================================================*
/
CREATE TABLE AGENCIA (
nmero_agencia NUMBER(12) NOT NULL,

nombre VARCHAR2(30),
inicial VARCHAR2(1),
apellido_paterno VARCHAR2(30),
apellido_materno VARCHAR2(30),
direccin VARCHAR2(60),
email VARCHAR2(30),
telfono NUMBER(15),
nombre_de_agencia VARCHAR2(30),
tipo_agencia NUMBER(9) NOT NULL,
PRIMARY KEY (nmero_agencia)
);
CREATE TABLE TIPO_AGENCIA (
tipo_agencia NUMBER(9) NOT NULL,
desc_agencia VARCHAR2(40),
PRIMARY KEY (tipo_agencia)
);
CREATE TABLE SERVICIO (
nmero_servicio NUMBER(12) NOT NULL,
descripcin VARCHAR2(300),
solucin VARCHAR2(300),
prioridad VARCHAR2(20),
estatus VARCHAR2(20),
fecha_reporte DATE,
fecha_terminacin DATE,
duracin VARCHAR2(10),
costo NUMBER(9),
tipo_servicio NUMBER(9) NOT NULL,
nmero_agencia NUMBER(12) NOT NULL,
PRIMARY KEY (nmero_servicio)
);
CREATE TABLE MANTENIMIENTO_EQUIPO (
cdigo_mantenimiento NUMBER(12) NOT NULL,
comentarios VARCHAR2(300),
fecha_actual DATE,
ltima_fecha DATE,
prxima_fecha DATE,
frecuencia VARCHAR2(1),
unidad NUMBER(3),
nmero_servicio NUMBER(12) NOT NULL,
nmero_serie VARCHAR2(30) NOT NULL,
nmero_agencia NUMBER(12) NOT NULL,
nmero_tcnico NUMBER(12) NOT NULL,
PRIMARY KEY (cdigo_mantenimiento, nmero_tcnico)
);
CREATE TABLE EQUIPO (
nmero_serie VARCHAR2(12) NOT NULL,
nombre_equipo VARCHAR2(30),
modelo VARCHAR2(30),
manufacturero VARCHAR2(30),
fecha_compra DATE,
garanta NUMBER(3),
fecha_garanta DATE,

fecha_instalacin DATE,
loc_equipo VARCHAR2(40),
nmero_propiedad VARCHAR2(12),
tipo_equipo NUMBER(9) NOT NULL,
nmero_agencia NUMBER(12) NOT NULL,
nmero_departamento NUMBER(3) NOT NULL,
PRIMARY KEY (nmero_serie, nmero_agencia)
);
CREATE TABLE TIPO_SERVICIO (
tipo_servicio NUMBER(9) NOT NULL,
desc_servicio VARCHAR2(150),
PRIMARY KEY (tipo_servicio)
);
CREATE TABLE TIPO_TECNICO (
tipo_tcnico NUMBER(9) NOT NULL,
desc_tcnico VARCHAR2(40),
PRIMARY KEY (tipo_tcnico)
);
CREATE TABLE TECNICO (
nmero_tcnico NUMBER(12) NOT NULL,
nombre_tcnico VARCHAR2(30),
inicial VARCHAR2(1),
apellido_paterno VARCHAR2(30),
apellido_materno VARCHAR2(30),
sexo VARCHAR2(1),
email VARCHAR2(40),
telfono NUMBER(15),
nombre_agencia VARCHAR2(30),
nmero_departamento NUMBER(3) NOT NULL,
tipo_tcnico NUMBER(12) NOT NULL,
PRIMARY KEY (nmero_tcnico)
);
CREATE TABLE TIPO_EQUIPO (
tipo_equipo NUMBER(9) NOT NULL,
desc_equipo VARCHAR2(40),
PRIMARY KEY (tipo_equipo)
);
CREATE TABLE DEPARTAMENTO (
nmero_departamento NUMBER(3) NOT NULL,
nombre_departamento VARCHAR2(30),
loc_departamento VARCHAR2(30),
nmero_agencia NUMBER(12) NOT NULL,
PRIMARY KEY (nmero_departamento)
);
/
*==========================================================================*
/
/* Foreign Keys

/
*==========================================================================*
/
ALTER TABLE AGENCIA
ADD FOREIGN KEY (tipo_agencia) REFERENCES TIPO_AGENCIA (tipo_agencia);
ALTER TABLE SERVICIO
ADD FOREIGN KEY (nmero_agencia) REFERENCES AGENCIA (nmero_agencia);
ALTER TABLE SERVICIO
ADD FOREIGN KEY (tipo_servicio) REFERENCES TIPO_SERVICIO (tipo_servicio);
ALTER TABLE MANTENIMIENTO_EQUIPO
ADD FOREIGN KEY (nmero_servicio) REFERENCES SERVICIO (nmero_servicio);
ALTER TABLE MANTENIMIENTO_EQUIPO
ADD FOREIGN KEY (nmero_serie,nmero_agencia) REFERENCES EQUIPO (nmero_serie,
nmero_agencia);
ALTER TABLE MANTENIMIENTO_EQUIPO
ADD FOREIGN KEY (nmero_tcnico) REFERENCES TECNICO (nmero_tcnico);
ALTER TABLE EQUIPO
ADD FOREIGN KEY (tipo_equipo) REFERENCES TIPO_EQUIPO (tipo_equipo);
ALTER TABLE EQUIPO
ADD FOREIGN KEY (nmero_agencia) REFERENCES AGENCIA (nmero_agencia);
ALTER TABLE EQUIPO
ADD FOREIGN KEY (nmero_departamento) REFERENCES DEPARTAMENTO
(nmero_departamento);
ALTER TABLE TECNICO
ADD FOREIGN KEY (nmero_departamento) REFERENCES DEPARTAMENTO
(nmero_departamento);
ALTER TABLE TECNICO
ADD FOREIGN KEY (tipo_tcnico) REFERENCES TIPO_TECNICO (tipo_tcnico);
ALTER TABLE DEPARTAMENTO
ADD FOREIGN KEY (nmero_agencia) REFERENCES AGENCIA (nmero_agencia);

/
*==========================================================================*
/
/* Indexes
/
*==========================================================================*
/
CREATE INDEX IDX_AGENCIA1 ON AGENCIA (tipo_agencia);

CREATE INDEX IDX_SERVICIO1 ON SERVICIO (nmero_agencia);


CREATE INDEX IDX_SERVICIO2 ON SERVICIO (tipo_servicio);
CREATE INDEX IDX_MANTENIMIENTO_EQUIPO1 ON MANTENIMIENTO_EQUIPO
(nmero_servicio);
CREATE INDEX IDX_MANTENIMIENTO_EQUIPO2 ON MANTENIMIENTO_EQUIPO
(nmero_serie, nmero_agencia);
CREATE INDEX IDX_MANTENIMIENTO_EQUIPO3 ON MANTENIMIENTO_EQUIPO
(nmero_tcnico);
CREATE INDEX IDX_EQUIPO1 ON EQUIPO (tipo_equipo);
CREATE INDEX IDX_EQUIPO2 ON EQUIPO (nmero_agencia);
CREATE INDEX IDX_EQUIPO3 ON EQUIPO (nmero_departamento);
CREATE INDEX IDX_TECNICO1 ON TECNICO (nmero_departamento);
CREATE INDEX IDX_TECNICO2 ON TECNICO (tipo_tcnico);
CREATE INDEX IDX_DEPARTAMENTO1 ON DEPARTAMENTO (nmero_agencia);

Drop Tables
/
*==========================================================================*
/
/* DROP SCRIPT
/
*==========================================================================*
/
/* Project Filename: E:\ERDProyectoFinalV3.dez
/* Project Name:
/* Author:Edwin Ortiz
/* DBMS:
Oracle 9i
/* Copyright:
/* Generated on:
11/13/2005 12:03:32 AM
/
*==========================================================================*
/
/
*==========================================================================*
/
/* Drop Indexes
/
*==========================================================================*
/
DROP INDEX IDX_AGENCIA1;
DROP INDEX IDX_SERVICIO1;

DROP INDEX IDX_SERVICIO2;


DROP INDEX IDX_MANTENIMIENTO_EQUIPO1;
DROP INDEX IDX_MANTENIMIENTO_EQUIPO2;
DROP INDEX IDX_MANTENIMIENTO_EQUIPO3;
DROP INDEX IDX_EQUIPO1;
DROP INDEX IDX_EQUIPO2;
DROP INDEX IDX_EQUIPO3;
DROP INDEX IDX_TECNICO1;
DROP INDEX IDX_TECNICO2;
DROP INDEX IDX_DEPARTAMENTO1;
/
*==========================================================================*
/
/* Drop Tables
/
*==========================================================================*
/
DROP TABLE DEPARTAMENTO CASCADE CONSTRAINTS;
DROP TABLE TIPO_EQUIPO CASCADE CONSTRAINTS;
DROP TABLE TECNICO CASCADE CONSTRAINTS;
DROP TABLE TIPO_TECNICO CASCADE CONSTRAINTS;
DROP TABLE TIPO_SERVICIO CASCADE CONSTRAINTS;
DROP TABLE EQUIPO CASCADE CONSTRAINTS;
DROP TABLE MANTENIMIENTO_EQUIPO CASCADE CONSTRAINTS;
DROP TABLE SERVICIO CASCADE CONSTRAINTS;
DROP TABLE TIPO_AGENCIA CASCADE CONSTRAINTS;
DROP TABLE AGENCIA CASCADE CONSTRAINTS;

Vous aimerez peut-être aussi