university accommodation office diseÑo fÍsico

26

Upload: angel-feijo

Post on 01-Jun-2015

1.663 views

Category:

Technology


1 download

DESCRIPTION

Se describe como diseñar el modelo físico de la base de datos University Accommodation Office

TRANSCRIPT

Page 1: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO
Page 2: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

Wednesday, April 12, 2023 2

Empleados(#Empleado, NombreE, ApellidoE, DireccionE, Telf, DOB, sexo, categoria, salario)

Estudiantes(cedula, NombreEst, ApellidoEst, DireccionEst, Telf, Sexo, DOB, categoriaEst, estado, Fumador, tipoAlojamiento, duracionAlojamiento, idCurso)

Departamento(#Dep, NombreD, DireccionD, Telf, noEmp, #HabitacionesD, tipoD)

Habitacion(idHabitacion, #Habitacion, costo, #Dep)

Facturas(#Factura, Semestre, FechaEmision, FechaPago, #Contrato, idPago)

Page 3: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

Wednesday, April 12, 2023 3

Pago(idPago, tipoPago)

Contratos(#Contrato, FechaInicio, FechaSalida, cedula, idHabitacion)

Cursos(idCurso, TituloCurso, Instructor, #Telf, idHabitacion)

Parientes(cedulaPar, NombrePar, RelacionEst, DireccionPar, #Telf, cedulaEst)

InspeccionDepartamento(#Dep, fechaInsp, comentario, estado, #Emp)

Page 4: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

Wednesday, April 12, 2023 4

Page 5: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Estudiante(cedula NUMBER(11) NOT NULL, NombreEst VARCHAR2(30) NOT NULL, ApellidoEst VARCHAR2(30) NOT NULL,DireccionEst VARCHAR2(40) NOT NULL, Telf VARCHAR2(20),sexo CHAR NOT NULL, DOB DATE NOT NULL, CategoriaEst CHAR NOT NULL, estado CHAR NOT NULL, fumador CHAR NOT NULL, tipo CHAR NOT NULL,idCurso NUMBER(8), PRIMARY KEY (cedula),CONSTRAINT cursoToma FOREIGN KEY (idCurso) REFERENCES Curso(idCurso) ON UPDATE CASCADE ON DELETE NO ACTION

);

Page 6: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Departamento(NoDep NUMBER(8) NOT NULL, nombreD VARCHAR2(20) NOT NULL, direccionD VARCHAR2(80) NOT NULL,noHabitaciones NUMBER(2), telf NUMBER(10),tipoD VARCHAR2(15) NOT NULL,PRIMARY KEY (NoDep)

);

Page 7: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Empleados (NoEmpleado NUMBER(10) NOT NULL, NombreE VARCHAR2(30) NOT NULL, ApellidoE VARCHAR2(30) NOT NULL, DireccionE VARCHAR2(80) NOT NULL, Telf VARCHAR2(20) NOT NULL, DOB DATE NOT NULL, sexo CHAR NOT NULL,Categoria VARCHAR2(20) NOT NULL, salario NUMBER(8,2) NOT NULL, PRIMARY KEY (NoEmpleado)

);

Page 8: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE InspeccionDepartamento(NoDep NUMBER(8) NOT NULL, fechaInsp DATE NOT NULL, comentario VARCHAR2(40) NOT NULL, estado CHAR NOT NULL, NoEmpleado NUMBER(8) NOT NULL, PRIMARY KEY (noDep, fechaInsp),CONSTRAINT NoDep FOREIGN KEY (NoDep) REFERENCES Departamento(NoDep) ON UPDATE CASCADE ON DELETE NO ACTION,CONSTRAINT numeroEmpleado FOREIGN KEY (NoEmpleado) REFERENCES Empleados(NoEmpleado) ON UPDATE CASCADE ON DELETE NO ACTION

);

Page 9: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Curso(idCurso NUMBER(8) NOT NULL, tituloCurso VARCHAR2(30), instructor VARCHAR2(20), telefonoCurso NUMBER(10), idHabitacion NUMBER(8) , PRIMARY KEY (idCurso),CONSTRAINT numeroHabitacion FOREIGN KEY

(idHabitacion) REFERENCES Habitacion(idHabitacion) ON UPDATE CASCADE ON DELETE NO ACTION

);

Page 10: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE TipoPago (idPago NUMBER(2) NOT NULL,

tipoPago VARCHAR2(40) NOT NULL,PRIMARY KEY (idPago)

);

Page 11: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Habitacion(idHabitacion NUMBER(8) NOT NULL, NoHabitacion NUMBER(8) NOT NULL, costo NUMBER(6, 2) NOT NULL, NoDep NUMBER(8) NOT NULL, PRIMARY KEY (idHabitacion),CONSTRAINT NumeroDepartamento FOREIGN KEY (NoDep) REFERENCES Departamento(Nodep) ON

UPDATE CASCADE ON DELETE NO ACTION);

Page 12: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Contrato(NoContrato NUMBER(8) NOT NULL, fechaInicio DATE NOT NULL, fechaSalida DATE NOT NULL, cedula NUMBER(11) NOT NULL, idHabitacion NUMBER(8) NOT NULL,PRIMARY KEY (NoContrato), CONSTRAINT estudiante FOREIGN KEY (cedula) REFERENCES Estudiante(cedula) ON UPDATE CASCADE ON DELETE NO

ACTION,CONSTRAINT idHabitacion FOREIGN KEY (idHabitacion)

REFERENCES Habitacion(idHabitacion) ON UPDATE CASCADE ON DELETE NO ACTION);

Page 13: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Factura( NoFactura NUMBER(8) NOT NULL, semestre CHAR NOT NULL, fechaEmision DATE NOT NULL, fechaPago DATE, NoContrato NUMBER(8) NOT NULL, idPago NUMBER(2) NOT NULL,

monto NUMBER(6, 2) NOT NULL,PRIMARY KEY (NoFactura),CONSTRAINT numeroContrato FOREIGN KEY (NoContrato)REFERENCES Contrato(NoContrato),CONSTRAINT metodoPago FOREIGN KEY (idPago)

REFERENCES TipoPago(idPago));

Page 14: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE TABLE Pariente(cedulaP NUMBER(11) NOT NULL, relacionEst VARCHAR2(30), direccionP VARCHAR2(25),

telefonoP NUMBER(10), cedulaEst NUMBER(11), PRIMARY KEY (cedulaP),CONSTRAINT cedEstudiante FOREIGN KEY

(cedulaEst) REFERENCES Estudiante(cedula) ON UPDATE CASCADE ON DELETE NO ACTION);

Page 15: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

a) Presentar un informe que indique el nombre y el número de matricula de todos los estudiantes, junto con los detalles relativos a sus contratos de alquiler.

b) Mostrar los detalles de los contratos de alquiler que estén vigentes el semestre de verano.

c) Mostrar los detalles relativos al alquiler total pagado por un cierto estudiante.

d) Presentar un informe sobre los estudiantes que no hayan pagado sus facturas en una fecha determinada.

 

Page 16: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

Wednesday, April 12, 2023 16

I L A B I L A B I L A B I L A B

EmpleadosEstudiantes x x x

DepartamentosHabitación x

Facturas x x x x

Pago x

Contratos x x

Cursos ParientesInspeccionDepartamentoI = Inserción L = LecturaA = ActualizadoB = Borrado

(A) (B) (C)

Transacción/Relación(D)

Page 17: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO
Page 18: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

SELECT e.cedula, e.nombreEst, e.apellidoEst, f.NoFactura AS NUMERO_FACTURA, c.noContrato, c.fechaInicio, c.fechaSalida, c.idHabitacion

FROM Estudiante e, Contrato c, Factura f WHERE (e.cedula = c.cedula) and c.noContrato =

f.noContrato;

Page 19: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

SELECT e.cedula, e.nombreEst, e.apellidoEst, f.monto AS AlquilerTotal

FROM Estudiante e, Contrato c, Factura fWHERE (e.cedula = c.cedula) and c.noContrato =

f.noContrato;

Page 20: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

SELECT e.cedula, e.nombreEst, e.apellidoEst, f.NoFactura AS NUMERO_FACTURA, c.noContrato, c.fechaInicio, c.fechaSalida, c.idHabitacion

FROM Estudiante e, Contrato c, Factura fWHERE (e.cedula = c.cedula) and c.noContrato =

f.noContrato;

Page 21: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

SELECT * FROM Contrato CWHERE NoContrato = (SELECT NoContrato FROM Factura F WHERE C.NoContrato = F.NoContrato and

F.semestre = 'V');

Page 22: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE UNIQUE INDEX NombreEstudiantes ON Estudiante(nombreEst);

CREATE UNIQUE INDEX ApellidoEstudiantes ON Estudiante(apellidoEst);

CREATE UNIQUE INDEX NombreDepartamento ON Departamento(nombreD);

CREATE UNIQUE INDEX DireccionDepartamento ON Departamento(direccionD);

CREATE UNIQUE INDEX NombreEmpleado ON Empleado(nombreE);

CREATE UNIQUE INDEX ApellidoEmpleado ON Empleado(apellidoE);

Page 23: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

Tabla Índice

EstudianteNombreEst

Apellido Est

Departamento nombreD

direcciónD

Empleado nombreE

direcciónE

Page 24: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO
Page 25: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE VIEW DIRECTOR ASSELECT * FROM EstudianteWHERE estado = 'A';

Page 26: UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

CREATE VIEW EstudianteV ASSELECT e.cedula, e.nombreEst, e.apellidoEst, c.noContrato, c.fechaInicio, c.fechaSalida, c.idHabitacionFROM Estudiante e, Contrato c, Factura fWHERE (e.cedula = c.cedula) and c.noContrato = f.noContrato;