Está en la página 1de 9

PRUEBA DE ENSAYO BASE DE DATOS

El caso de estudio University Accommodation Office.

17.9.- Basndose en el modelo lgico de los datos desarrollado en el Ejercicio 16.10, cree
un diseo fsico la base de datos para el caso de estudio University Accommodation Office
(descrito en el Apndice B1) basndose en el SGBD del que disponga.

Caso de estudio University Accommodation Office

Estudiantes
Los datos almacenados sobre cada estudiante a tiempo completo incluyen: el nmero de
matrcula, el nombre y apellido, la direccin personal (calle, ciudad, cdigo postal), la
fecha de nacimiento, el sexo, la categora de estudiante (por ejemplo, estudiante de
primer ao, estudiante de postgrado), la nacionalidad, una indicacin de si es o no
fumador, las necesidades especiales que pueda tener el estudiante, los comentarios
adicionales, el estado actual (alojado/en espera) y el curso que est estudiando.

La informacin almacenada sobre los estudiantes se refiere a aquellos que ya estn


alquilando una habitacin y a aquellos que estn en la lista de espera. Los estudiantes
pueden alquilar una habitacin en una residencia universitaria o en un piso de
Estudiantes.

Cuando un estudiante ingresa en la Universidad, se le asigna a un empleado, que acta


como consejero curricular. El consejero curricular es responsable de supervisar si el
estudiante se encuentra adecuadamente atendido y de controlar tambin su progreso
acadmico mientras permanece en la Universidad. Los datos que se almacenan sobre el
consejero (Advisor) de un estudiante incluyen el nombre completo, su categora, el
nombre del departamento, el nmero de telfono interno y su nmero de habitacin.

Residencias de estudiantes.
Cada residencia de estudiantes tiene un nombre, una direccin, un nmero de telfono y
un director que supervisa el funcionamiento de la residencia. Las residencias slo
proporcionan habitaciones individuales, que tienen un nmero de habitacin, un nmero
de identificacin y un importe de alquiler mensual.

El nmero de identificacin de la habitacin identifica unvocamente a cada habitacin


entre todas las residencias controladas por el departamento de alojamientos, y se utiliza a
la hora de alquilar una habitacin a un estudiante.

Pisos de estudiantes.
El Departamento de alojamientos tambin ofrece pisos de estudiantes. Estos pisos estn
completamente amueblados y proporcionan habitaciones individuales para grupos de
tres, cuatro o cinco estudiantes. La informacin que se almacena sobre los pisos de
estudiantes incluye el nmero de apartamento, la direccin y el nmero de habitaciones

FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
individuales disponibles en cada apartamento. El nmero de apartamento identifica
unvocamente cada piso.

Cada habitacin de un apartamento tiene un importe mensual de alquiler asociado, un


nmero de habitacin y un nmero de identificacin que es unvoco para todas las
habitaciones disponibles en todos los pisos de estudiante; este nmero de identificacin
se utiliza a la hora de alquilar una habitacin a un estudiante.

Contratos.
Un estudiante puede alquilar una habitacin en una residencia o en un piso de
estudiantes durante varios periodos de tiempo. Los nuevos contratos de alquiler se
negocian al principio de cada ao acadmico, siendo el periodo mnimo de alquiler de un
semestre y el periodo mximo de un ao, lo que incluye los semestres l y 2 y el semestre
de verano. Cada contrato de alquiler individual entre un estudiante y el departamento de
alojamientos se identifica de manera unvoca utilizando un nmero de contrato.

Los datos almacenados sobre cada contrato incluyen el nmero de contrato, la duracin
del contrato (en semestres), el nombre y nmero de matrcula del estudiante, el nmero
de identificacin y nmero de habitacin, los detalles relativos a la direccin de la
residencia del piso de estudiantes y la fecha en la que el estudiante quiere comenzar a
vivir en esa habitacin, as como la fecha en la que piensa abandonarla (si es que se
conoce).

Facturas.
Al principio de cada semestre, se enva a cada estudiante una factura para el siguiente
periodo de alquiler. Cada factura tiene un nmero de factura unvoco.

Los datos almacenados sobre cada factura incluyen el nmero de factura, el nmero de
contrato, el semestre, el pago que hay que realizar, el nombre completo y nmero de
matrcula del estudiante, el nmero de habitacin y nmero de identificacin de la
habitacin, y la direccin de la residencia o piso de estudiantes. Tambin se almacenan
datos adicionales sobre el pago de la factura, lo que incluye la fecha en la que se pag la
factura, el modo de pago (cheque, efectivo, Visa, etc.), y la fecha en que se han enviado el
primer y segundo recordatorio (en caso necesario).

Inspecciones de los pisos de estudiantes.


Los pisos de estudiantes son inspeccionados por los empleados de manera peridica para
garantizar que los alojamientos estn adecuadamente conservados. La informacin que se
registra para cada inspeccin es el nombre del empleado que lleva a cabo la inspeccin, la
fecha en la que se llev a cabo, una indicacin de si el inmueble estaba en condiciones
satisfactorias o no y, posiblemente, una serie de comentarios adicionales.

Personal del departamento de alojamientos.


Tambin se almacena informacin sobre los empleados del departamento de
alojamientos, lo que incluye el nmero de empleado, el nombre y apellidos, la direccin

FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
personal (calle, ciudad, cdigo postal), la fecha de nacimiento, el sexo, la categora (por
ejemplo, Director de residencia, Asistente administrativo, Limpiador) y la ubicacin (por
ejemplo, departamento de alojamientos o residencia).

Cursos.
El departamento de alojamientos guarda tambin una cantidad limitada de informacin
sobre los cursos ofrecidos por la Universidad, incluyendo el nmero de curso, el ttulo del
curso (lo que incluye el ao), la persona que imparte el curso, el nmero de telfono
interno, el nmero de habitacin y el nombre del departamento. Cada estudiante es
asociado con un nico curso.

Parientes.
Siempre que sea posible, se almacena informacin sobre algn pariente de cada
estudiante, lo que incluye el nombre, la relacin con el estudiante, la direccin (calle,
ciudad, cdigo postal) y el nmero de telfono de contacto.

16.10.- Cree y valide un modelo lgico de los datos a partir del modelo conceptual de los
datos del caso de estudio University Accommodation Office.

DISEO CONCEPTUAL

FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
DISEO LOGICO

MODELO NORMALIZADO

Empleados (NoEmpleado, nombreE, apellidoE, direccionE, telf., DOB, sexo, categora,


salario).

Estudiantes (cedula, nombreEst, apellidoEst, direccinEst, tel, sexo, DOB, categoriaEst,


estado, fumador, TipoAlojamiento, duracinAlojamiento, IdCurso)

Departamento (noDep, nombreD, direccin, telf., noEmp, noHabitaciones, tipoD)

Habitacin (IdHabitacion, noHabitacion, costo, noDep)

Facturas (noFactura, semestre, fechaEmision, fechaPago, noContrato, idPago)

Pago (idPago, tipoPago)

Contratos (noContratos, fechaInicio, fechaSalida, cedula, idHabitacion)

Cursos (idCurso, tituloCurso, instructor, telf., idHabitacion)

Parientes (cedulaPar, nombrePar, relacionesEst, direccionPar, telf., cedulaEst)

FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
InspeccinDepartamento (noDep, fechaInsp, comentario, estado, noEmpleado)

17.10.- Implemente la base de datos para University Accommodation Office utilizando el


diseo fsico creado en el Ejercicio 17.9

/* CREACION TABLA EMPLEADOS*/


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));

/*CREACION TABLA ESTUDIANTES*/


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 );

/*CREACION TABLA DEPARTAMENTO*/


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

FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
tipoD VARCHAR2(15) NOT NULL,
PRIMARY KEY (NoDep) );

/*CREACION TABLA INSPECCION DEPARTAMENTO*/


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 );

/*CREACION TABLA CURSO.*/


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 );

/*CREACCION TABLA TIPO PAGO*/


CREATE TABLE TipoPago (
idPago NUMBER(2) NOT NULL ,
tipoPago VARCHAR2(40) NOT NULL,
PRIMARY KEY (idPago));

/*CREACION TABLA HABITACION*/


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 );

/*CREACCION TABLA CONTRATO*/


CREATE TABLE Contrato(
NoContrato NUMBER(8) NOT NULL,

FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
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 );

/*CREACCION TABLA FACTURA*/


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));

/*CREACCION TABLA PARIENTE*/


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 );

ANALISIS DE TRANSACCIONES

Presentar un informe que indica el nombre y el nmero de matrcula de todos los


estudiantes junto con los detalles relativos a sus contratos de alquiler.

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;
FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
Mostrar los detalles de los contratos de alquiler que estn vigentes el semestre de
verano.

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;

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

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;

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

SELECT * FROM Contrato C WHERE NoContrato = (SELECT NoContrato FROM Factura F


WHERE C.NoContrato = F.NoContrato and F.semestre = 'V');

CREACION DE INDICES

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);

Enumere las potenciales amenazas a las que tendra que enfrentarse y proponga
contramedidas para prevenirlas.

El propsito de este punto es contrarrestar las amenazas que pueden ocasionar desde la
parte externa del sistema de la base de datos, como los posibles accidentes durante su
manejo y ejecucin del sistema.

Esto se podra prevenir siempre y cuando exista una buena implementacin de seguridad
tanto al Software como al Hardware

Hardware

Los cambios climticos pueden ocasionar un apagn o una sobrecarga de energa


elctrica.

FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA
Robo de equipos
Daos fsicos a los equipos
Interferencia electrnica y radiacin

SGBD y Software de aplicacin.

Fallo de los mecanismos de seguridad que proporciona un acceso mayor.


Alteracin de los programas
Robo de los programas

Base de Datos

Modificacin o copia no autorizada de la base de datos.


Robo de los datos
Corrupcin de los datos debido al corte de suministro o sobretensin.

Usuarios

Visualizacin y divulgacin de la base de datos.


Formacin inadecuada del personal
Introduccin del virus
Entrada ilegal por parte de un hacker.

Datos/ Administrador de base de datos

Procedimientos y polticas de seguridad inadecuadas

Las contramedidas para prevenir nuestro sistema en entornos Web seran:

Seguridad a nivel de usuario.- esto quiere decir que los usuarios deben
identificarse y escribir una contrasea para poder realizar cualquier consulta en la
base de datos.
Privilegios.- es el derecho a ejecutar un tipo particular de instruccin SQL o a
acceder a los objetos de otro usuario, hay dos categoras de privilegios: del sistema
y sobre los objetos.
Servidores Proxy.- consiste en que guarda los resultados de todas las solicitudes
durante un cierto tiempo. Y filtra solicitudes lo cual se evita de conjunto de sitios
web que sern visitados por los usuarios.
Cortafuegos.- impide el acceso no autorizado hacia desde una red privada. Este
suele implementarse tanto al software como al hardware. Ejm: filtrado de
paquetes, pasarela de aplicacin (FTP y Telnet).
Certificados digitales.- es un adjunto que se aade a un mensaje electrnico que se
utiliza para propsitos de seguridad. En el momento de enviar un mensaje cifrado
tiene que solicitar un certificado digital a una autoridad de certificacin (AC).
Incluye clave pblica y solicitante.
FAUSTO QUILUMBA
171579825-0
INGENIERIA INFORMATICA

También podría gustarte