<ul><li>Empleados( #Empleado , NombreE, ApellidoE, DireccionE, Telf, DOB, sexo, categoria, salario) </li></ul><ul><li>Estu...
<ul><li>Pago( idPago , tipoPago) </li></ul><ul><li>Contratos( #Contrato , FechaInicio, FechaSalida, cedula, idHabitacion) ...
Tuesday, May 26, 2009
CREATE TABLE Estudiante ( cedula NUMBER(11) NOT NULL,  NombreEst VARCHAR2(30) NOT NULL,  ApellidoEst VARCHAR2(30) NOT NULL...
<ul><li>CREATE TABLE Departamento ( </li></ul><ul><li>NoDep NUMBER(8) NOT NULL,  </li></ul><ul><li>nombreD VARCHAR2(20) NO...
<ul><li>CREATE TABLE Empleados  ( </li></ul><ul><li>NoEmpleado NUMBER(10) NOT NULL,  </li></ul><ul><li>NombreE VARCHAR2(30...
<ul><li>CREATE TABLE InspeccionDepartamento ( </li></ul><ul><li>NoDep NUMBER(8) NOT NULL,  </li></ul><ul><li>fechaInsp DAT...
<ul><li>CREATE TABLE Curso ( </li></ul><ul><li>idCurso NUMBER(8) NOT NULL,  </li></ul><ul><li>tituloCurso VARCHAR2(30),  <...
<ul><li>CREATE TABLE TipoPago  ( </li></ul><ul><li>idPago NU MBER(2) NOT NULL ,  </li></ul><ul><li>tipoPago VARCHAR2(40) N...
<ul><li>CREATE TABLE Habitacion ( </li></ul><ul><li>idHabitacion NUMBER(8) NOT NULL,  </li></ul><ul><li>NoHabitacion NUMBE...
<ul><li>CREATE TABLE Contrato ( </li></ul><ul><li>NoContrato NUMBER(8) NOT NULL,  </li></ul><ul><li>fechaInicio DATE NOT N...
<ul><li>CREATE TABLE Factura ( </li></ul><ul><li>  NoFactura NUMBER(8) NOT NULL,  </li></ul><ul><li>semestre CHAR NOT NULL...
<ul><li>CREATE TABLE Pariente ( </li></ul><ul><li>cedulaP NUMBER(11) NOT NULL,  </li></ul><ul><li>relacionEst VARCHAR2(30)...
<ul><li>Presentar un informe que indique el nombre y el número de matricula de todos los estudiantes, junto con los detall...
Tuesday, May 26, 2009
 
SELECT e.cedula, e.nombreEst, e.apellidoEst, f.NoFactura AS NUMERO_FACTURA, c.noContrato, c.fechaInicio, c.fechaSalida,  c...
SELECT e.cedula, e.nombreEst, e.apellidoEst, f.monto AS AlquilerTotal  FROM Estudiante e, Contrato c, Factura f WHERE (e.c...
SELECT e.cedula, e.nombreEst, e.apellidoEst, f.NoFactura AS NUMERO_FACTURA, c.noContrato, c.fechaInicio, c.fechaSalida,  c...
SELECT * FROM Contrato C WHERE NoContrato = (SELECT NoContrato FROM Factura F WHERE C.NoContrato = F.NoContrato and F.seme...
CREATE UNIQUE INDEX NombreEstudiantes ON Estudiante(nombreEst); CREATE UNIQUE INDEX ApellidoEstudiantes ON Estudiante(apel...
Tabla Índice Estudiante NombreEst Apellido Est Departamento nombreD direcciónD Empleado nombreE direcciónE
 
CREATE VIEW DIRECTOR AS SELECT *  FROM Estudiante WHERE estado = 'A';
CREATE VIEW EstudianteV AS SELECT e.cedula, e.nombreEst, e.apellidoEst, c.noContrato, c.fechaInicio, c.fechaSalida,  c.idH...
Upcoming SlideShare
Loading in …5
×

UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

1,868 views
1,773 views

Published on

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

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,868
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
74
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO

  1. 2. <ul><li>Empleados( #Empleado , NombreE, ApellidoE, DireccionE, Telf, DOB, sexo, categoria, salario) </li></ul><ul><li>Estudiantes( cedula , NombreEst, ApellidoEst, DireccionEst, Telf, Sexo, DOB, categoriaEst, estado, Fumador, tipoAlojamiento, duracionAlojamiento, idCurso) </li></ul><ul><li>Departamento( #Dep , NombreD, DireccionD, Telf, noEmp, #HabitacionesD, tipoD) </li></ul><ul><li>Habitacion( idHabitacion , #Habitacion, costo, #Dep) </li></ul><ul><li>Facturas( #Factura , Semestre, FechaEmision, FechaPago, #Contrato, idPago) </li></ul>Tuesday, May 26, 2009
  2. 3. <ul><li>Pago( idPago , tipoPago) </li></ul><ul><li>Contratos( #Contrato , FechaInicio, FechaSalida, cedula, idHabitacion) </li></ul><ul><li>Cursos( idCurso , TituloCurso, Instructor, #Telf, idHabitacion) </li></ul><ul><li>Parientes( cedulaPar , NombrePar, RelacionEst, DireccionPar, #Telf, cedulaEst) </li></ul><ul><li>InspeccionDepartamento( #Dep, fechaInsp , comentario, estado, #Emp) </li></ul>Tuesday, May 26, 2009
  3. 4. Tuesday, May 26, 2009
  4. 5. 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 );
  5. 6. <ul><li>CREATE TABLE Departamento ( </li></ul><ul><li>NoDep NUMBER(8) NOT NULL, </li></ul><ul><li>nombreD VARCHAR2(20) NOT NULL, </li></ul><ul><li>direccionD VARCHAR2(80) NOT NULL, </li></ul><ul><li>noHabitaciones NUMBER(2), </li></ul><ul><li>telf NUMBER(10), </li></ul><ul><li>tipoD VARCHAR2(15) NOT NULL, </li></ul><ul><li>PRIMARY KEY (NoDep) </li></ul><ul><li>); </li></ul>
  6. 7. <ul><li>CREATE TABLE Empleados ( </li></ul><ul><li>NoEmpleado NUMBER(10) NOT NULL, </li></ul><ul><li>NombreE VARCHAR2(30) NOT NULL, </li></ul><ul><li>ApellidoE VARCHAR2(30) NOT NULL, </li></ul><ul><li>DireccionE VARCHAR2(80) NOT NULL, </li></ul><ul><li>Telf VARCHAR2(20) NOT NULL, </li></ul><ul><li>DOB DATE NOT NULL, </li></ul><ul><li>sexo CHAR NOT NULL, </li></ul><ul><li>Categoria VARCHAR2(20) NOT NULL, </li></ul><ul><li>salario NUMBER(8,2) NOT NULL, </li></ul><ul><li>PRIMARY KEY (NoEmpleado) </li></ul><ul><li>); </li></ul>
  7. 8. <ul><li>CREATE TABLE InspeccionDepartamento ( </li></ul><ul><li>NoDep NUMBER(8) NOT NULL, </li></ul><ul><li>fechaInsp DATE NOT NULL, </li></ul><ul><li>comentario VARCHAR2(40) NOT NULL, </li></ul><ul><li>estado CHAR NOT NULL, </li></ul><ul><li>NoEmpleado NUMBER(8) NOT NULL, </li></ul><ul><li>PRIMARY KEY (noDep, fechaInsp), </li></ul><ul><li>CONSTRAINT NoDep FOREIGN KEY (NoDep) REFERENCES Departamento(NoDep) ON UPDATE CASCADE ON DELETE NO ACTION, </li></ul><ul><li>CONSTRAINT numeroEmpleado FOREIGN KEY (NoEmpleado) REFERENCES Empleados(NoEmpleado) ON UPDATE CASCADE ON DELETE NO ACTION </li></ul><ul><li>); </li></ul>
  8. 9. <ul><li>CREATE TABLE Curso ( </li></ul><ul><li>idCurso NUMBER(8) NOT NULL, </li></ul><ul><li>tituloCurso VARCHAR2(30), </li></ul><ul><li>instructor VARCHAR2(20), </li></ul><ul><li>telefonoCurso NUMBER(10), </li></ul><ul><li>idHabitacion NUMBER(8) , </li></ul><ul><li>PRIMARY KEY (idCurso), </li></ul><ul><li>CONSTRAINT numeroHabitacion FOREIGN KEY (idHabitacion) REFERENCES Habitacion(idHabitacion) ON UPDATE CASCADE ON DELETE NO ACTION </li></ul><ul><li>); </li></ul>
  9. 10. <ul><li>CREATE TABLE TipoPago ( </li></ul><ul><li>idPago NU MBER(2) NOT NULL , </li></ul><ul><li>tipoPago VARCHAR2(40) NOT NULL, </li></ul><ul><li>PRIMARY KEY (idPago) </li></ul><ul><li>); </li></ul>
  10. 11. <ul><li>CREATE TABLE Habitacion ( </li></ul><ul><li>idHabitacion NUMBER(8) NOT NULL, </li></ul><ul><li>NoHabitacion NUMBER(8) NOT NULL, </li></ul><ul><li>costo NUMBER(6, 2) NOT NULL, </li></ul><ul><li>NoDep NUMBER(8) NOT NULL, </li></ul><ul><li>PRIMARY KEY (idHabitacion), </li></ul><ul><li>CONSTRAINT NumeroDepartamento FOREIGN KEY (NoDep) REFERENCES Departamento(Nodep) ON UPDATE CASCADE ON DELETE NO ACTION </li></ul><ul><li>); </li></ul>
  11. 12. <ul><li>CREATE TABLE Contrato ( </li></ul><ul><li>NoContrato NUMBER(8) NOT NULL, </li></ul><ul><li>fechaInicio DATE NOT NULL, </li></ul><ul><li>fechaSalida DATE NOT NULL, </li></ul><ul><li>cedula NUMBER(11) NOT NULL, </li></ul><ul><li>idHabitacion NUMBER(8) NOT NULL, </li></ul><ul><li>PRIMARY KEY (NoContrato), </li></ul><ul><li>CONSTRAINT estudiante FOREIGN KEY (cedula) REFERENCES Estudiante(cedula) ON UPDATE CASCADE ON DELETE NO ACTION, </li></ul><ul><li>CONSTRAINT idHabitacion FOREIGN KEY (idHabitacion) REFERENCES Habitacion(idHabitacion) ON UPDATE CASCADE ON DELETE NO ACTION </li></ul><ul><li>); </li></ul>
  12. 13. <ul><li>CREATE TABLE Factura ( </li></ul><ul><li> NoFactura NUMBER(8) NOT NULL, </li></ul><ul><li>semestre CHAR NOT NULL, </li></ul><ul><li>fechaEmision DATE NOT NULL, </li></ul><ul><li>fechaPago DATE, </li></ul><ul><li>NoContrato NUMBER(8) NOT NULL, </li></ul><ul><li>idPago NUMBER(2) NOT NULL, </li></ul><ul><li>monto NUMBER(6, 2) NOT NULL, </li></ul><ul><li>PRIMARY KEY (NoFactura), </li></ul><ul><li>CONSTRAINT numeroContrato FOREIGN KEY (NoContrato) </li></ul><ul><li>REFERENCES Contrato(NoContrato), </li></ul><ul><li>CONSTRAINT metodoPago FOREIGN KEY (idPago) REFERENCES TipoPago(idPago) </li></ul><ul><li>); </li></ul>
  13. 14. <ul><li>CREATE TABLE Pariente ( </li></ul><ul><li>cedulaP NUMBER(11) NOT NULL, </li></ul><ul><li>relacionEst VARCHAR2(30), </li></ul><ul><li>direccionP VARCHAR2(25), </li></ul><ul><li>telefonoP NUMBER(10), </li></ul><ul><li>cedulaEst NUMBER(11), </li></ul><ul><li>PRIMARY KEY (cedulaP), </li></ul><ul><li>CONSTRAINT cedEstudiante FOREIGN KEY (cedulaEst) REFERENCES Estudiante(cedula) ON UPDATE CASCADE ON DELETE NO ACTION </li></ul><ul><li>); </li></ul>
  14. 15. <ul><li>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. </li></ul><ul><li>Mostrar los detalles de los contratos de alquiler que estén vigentes el semestre de verano. </li></ul><ul><li>Mostrar los detalles relativos al alquiler total pagado por un cierto estudiante. </li></ul><ul><li>Presentar un informe sobre los estudiantes que no hayan pagado sus facturas en una fecha determinada. </li></ul><ul><li>  </li></ul>
  15. 16. Tuesday, May 26, 2009
  16. 18. 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;
  17. 19. SELECT e.cedula, e.nombreEst, e.apellidoEst, f.monto AS AlquilerTotal FROM Estudiante e, Contrato c, Factura f WHERE (e.cedula = c.cedula) and c.noContrato = f.noContrato;
  18. 20. 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;
  19. 21. SELECT * FROM Contrato C WHERE NoContrato = (SELECT NoContrato FROM Factura F WHERE C.NoContrato = F.NoContrato and F.semestre = 'V');
  20. 22. 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);
  21. 23. Tabla Índice Estudiante NombreEst Apellido Est Departamento nombreD direcciónD Empleado nombreE direcciónE
  22. 25. CREATE VIEW DIRECTOR AS SELECT * FROM Estudiante WHERE estado = 'A';
  23. 26. CREATE VIEW EstudianteV AS SELECT e.cedula, e.nombreEst, e.apellidoEst, 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;

×