modelo conceptual de bd

16
Universidad Técnica Particular de Loja BASE DE DATOS PRIMER BIMESTRE Ing. Juan Carlos Morocho Alumna: Marilyn Jaramillo 2009

Upload: marilyn-jaramillo

Post on 04-Jul-2015

492 views

Category:

Documents


1 download

DESCRIPTION

Diseño Conceptual de la base de datos

TRANSCRIPT

Page 1: Modelo conceptual de BD

Universidad Técnica Particular de Loja

BASE DE DATOS

PRIMER BIMESTRE

Ing. Juan Carlos Morocho

Alumna: Marilyn Jaramillo

2009

Page 2: Modelo conceptual de BD

1 Cree un modelo conceptual de los datos y compruebe que soporta las transacciones

requeridas, para ello utilice cualquiera de los dos métodos estudiados en el capítulo 1 Diseño Conceptual de la base de datos

ENTIDADES

Factura Pago de factura Consejero

Estudiante Residencia Curso

Pariente Contrato Inspeccion

Empleado Habitacion

DIAGRAMA CONCEPTUAL

2 Genere el modelo de datos lógico a partir del modelo conceptual:

DIAGRAMA FISICO

envia

tieneF

tiene

pertenece

Relationship_8realiaza

perteneceR

Relationship_11

realiza

FACTURA

num_factura

num_A

semestre

tipo_pago

<pi> Variable characters (5)

Variable characters (5)

Variable characters (10)

Float

<M>

num_factura <pi>

PAGO

num_pago_factura

fecha_pago

modo_pago

fecha_recordatorio

<pi> Variable characters (5)

Date

Variable characters (10)

Date

<M>

num_pago_factura <pi>

ESTUDIANTE

id_estudiante

num_matricula

nombre_estudiante

apellido_estudiante

fecha_nac_empleado

sexo_empleado

categoria_empleado

nacionalidad

estado_fumador

estado_actual

curso

necesidades

comentarios

Variable characters (10)

Variable characters (5)

Variable characters (25)

Variable characters (25)

Date

Variable characters (2)

Variable characters (30)

Variable characters (15)

Variable characters (6)

Variable characters (15)

Variable characters (15)

Variable characters (50)

Variable characters (50)

<M>

<M>

CONTRATO

num_A

tiempo

inicio_Alq

final_alq

periodo_min

Variable characters (5)

Variable characters (15)

Variable characters (15)

Date

Date

<M>

PARIENTE

id_pariente

relacion

direccion

num_fono

<pi> Variable characters (10)

Variable characters (25)

Variable characters (30)

Variable characters (15)

<M>

id_pariente <pi>

CURSOS

num_curso

titulo_curso

id_empleado

<pi> Variable characters (5)

Variable characters (25)

Variable characters (10)

<M>

num_curso <pi>

Empleado

id_empleado

nombre_empleado

apellido_empleado

fecha_nac_empleado

sexo_empleado

categoria_empleado

<pi> Variable characters (10)

Variable characters (25)

Variable characters (25)

Date

Variable characters (2)

Variable characters (30)

<M>

Identifier_1 <pi>

RESIDENCIA

id_residencia

nombre_residencia

direccion_residencia

num_telefono

Variable characters (5)

Variable characters (25)

Variable characters (30)

Variable characters (15)

<M>

HABITACION

num_identificacion_habitacion

num_habitacion

importe_mensual

<pi> Variable characters (5)

Integer

Float

num_identifiacion_habitacion <pi>

PISO

num_apartamento

capacidad_estudiantes

direccion_apartamento

num_habitacion

<pi> Variable characters (5)

Integer

Variable characters (30)

Integer

<M>

num_apartamento <pi>

INSPECCION

id_inspeccion

fecha_inspeccion

estado_inmueble

comentarios

<pi> Variable characters (5)

Date

Variable characters (15)

Variable characters (50)

<M>

id_inspeccion <pi>

Page 3: Modelo conceptual de BD

/*==============================================================*/

/* DBMS name: Sybase SQL Anywhere 10 */ /* Created on: 11/05/2009 17:22:14 */ /*==============================================================*/

if exists(select 1 from sys.sysforeignkey where role='FK_CONTRATO_REALIZA_ESTUDIAN') then

alter table CONTRATO delete foreign key FK_CONTRATO_REALIZA_ESTUDIAN end if;

if exists(select 1 from sys.sysforeignkey where role='FK_CURSOS_PERTENECE_ESTUDIAN') then

alter table CURSOS delete foreign key FK_CURSOS_PERTENECE_ESTUDIAN end if;

if exists(select 1 from sys.sysforeignkey where role='FK_EMPLEADO_RELATIONS_ESTUDIAN') then

alter table EMPLEADO delete foreign key FK_EMPLEADO_RELATIONS_ESTUDIAN end if;

if exists(select 1 from sys.sysforeignkey where role='FK_ESTUDIAN_ENVIA_FACTURA') then alter table ESTUDIANTE delete foreign key FK_ESTUDIAN_ENVIA_FACTURA

end if; if exists(select 1 from sys.sysforeignkey where role='FK_FACTURA_ENVIA2_ESTUDIAN') then

alter table FACTURA delete foreign key FK_FACTURA_ENVIA2_ESTUDIAN end if;

if exists(select 1 from sys.sysforeignkey where role='FK_PAGO_TIENEF_FACTURA') then alter table PAGO

FK_ESTUDIAN_ENVIA_FACTURAFK_FACTURA_ENVIA2_ESTUDIAN

FK_PAGO_TIENEF_FACTURA

FK_PARIENTE_TIENE_ESTUDIAN

FK_CURSOS_PERTENECE_ESTUDIAN

FK_PISO_RELATIONS_HABITACI

FK_REALIAZA_REALIAZA2_PISO

FK_REALIAZA_REALIAZA_INSPECCI

FK_RESIDENC_PERTENECE_ESTUDIAN

FK_EMPLEADO_RELATIONS_ESTUDIAN

FK_CONTRATO_REALIZA_ESTUDIAN

FACTURA

num_factura

id_estudiante

num_A

semestre

tipo_pago

varchar(5)

varchar(10)

varchar(5)

varchar(10)

float

<pk>

<fk>

PAGO

num_pago_factura

num_factura

fecha_pago

modo_pago

fecha_recordatorio

varchar(5)

varchar(5)

date

varchar(10)

date

<pk>

<fk>

ESTUDIANTE

id_estudiante

num_factura

num_matricula

nombre_estudiante

apellido_estudiante

fecha_nac_empleado

sexo_empleado

categoria_empleado

nacionalidad

estado_fumador

estado_actual

curso

necesidades

comentarios

varchar(10)

varchar(5)

varchar(5)

varchar(25)

varchar(25)

date

varchar(2)

varchar(30)

varchar(15)

varchar(6)

varchar(15)

varchar(15)

varchar(50)

varchar(50)

<pk>

<fk>

CONTRATO

id_estudiante

num_A

tiempo

inicio_Alq

final_alq

periodo_min

varchar(10)

varchar(5)

varchar(15)

varchar(15)

date

date

<fk>

PARIENTE

id_pariente

id_estudiante

relacion

direccion

num_fono

varchar(10)

varchar(10)

varchar(25)

varchar(30)

varchar(15)

<pk>

<fk>

CURSOS

num_curso

id_estudiante

titulo_curso

id_empleado

varchar(5)

varchar(10)

varchar(25)

varchar(10)

<pk>

<fk>

RESIDENCIA

id_estudiante

id_residencia

nombre_residencia

direccion_residencia

num_telefono

varchar(10)

varchar(5)

varchar(25)

varchar(30)

varchar(15)

<fk>

<ak>

HABITACION

num_identificacion_habitacion

num_habitacion

importe_mensual

varchar(5)

integer

float

<pk>

PISO

num_apartamento

num_identificacion_habitacion

capacidad_estudiantes

direccion_apartamento

num_habitacion

varchar(5)

varchar(5)

integer

varchar(30)

integer

<pk>

<fk>

INSPECCION

id_inspeccion

fecha_inspeccion

estado_inmueble

comentarios

varchar(5)

date

varchar(15)

varchar(50)

<pk>

realiaza

id_inspeccion

num_apartamento

varchar(5)

varchar(5)

<pk,fk1>

<pk,fk2>

Page 4: Modelo conceptual de BD

delete foreign key FK_PAGO_TIENEF_FACTURA

end if; if exists(select 1 from sys.sysforeignkey where role='FK_PARIENTE_TIENE_ESTUDIAN') then

alter table PARIENTE delete foreign key FK_PARIENTE_TIENE_ESTUDIAN end if;

if exists(select 1 from sys.sysforeignkey where role='FK_PISO_RELATIONS_HABITACI') then alter table PISO

delete foreign key FK_PISO_RELATIONS_HABITACI end if;

if exists(select 1 from sys.sysforeignkey where role='FK_REALIAZA_REALIAZA_INSPECCI') then alter table REALIAZA delete foreign key FK_REALIAZA_REALIAZA_INSPECCI

end if; if exists(select 1 from sys.sysforeignkey where role='FK_REALIAZA_REALIAZA2_PISO') then

alter table REALIAZA delete foreign key FK_REALIAZA_REALIAZA2_PISO end if;

if exists(select 1 from sys.sysforeignkey where role='FK_RESIDENC_PERTENECE_ESTUDIAN') then

alter table RESIDENCIA delete foreign key FK_RESIDENC_PERTENECE_ESTUDIAN end if;

if exists( select 1 from sys.sysindex i, sys.systable t

where i.table_id=t.table_id and i.index_name='REALIZA_FK' and t.table_name='CONTRATO'

) then drop index CONTRATO.REALIZA_FK end if;

if exists( select 1 from sys.systable

where table_name='CONTRATO' and table_type in ('BASE', 'GBL TEMP') ) then

drop table CONTRATO end if;

if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

and i.index_name='PERTENECE_FK' and t.table_name='CURSOS' ) then

drop index CURSOS.PERTENECE_FK end if;

if exists(

Page 5: Modelo conceptual de BD

select 1 from sys.sysindex i, sys.systable t

where i.table_id=t.table_id and i.index_name='CURSOS_PK' and t.table_name='CURSOS'

) then drop index CURSOS.CURSOS_PK end if;

if exists( select 1 from sys.systable

where table_name='CURSOS' and table_type in ('BASE', 'GBL TEMP') ) then

drop table CURSOS end if;

if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

and i.index_name='RELATIONSHIP_11_FK' and t.table_name='EMPLEADO' ) then

drop index EMPLEADO.RELATIONSHIP_11_FK end if;

if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

and i.index_name='EMPLEADO_PK' and t.table_name='EMPLEADO' ) then

drop index EMPLEADO.EMPLEADO_PK end if;

if exists( select 1 from sys.systable where table_name='EMPLEADO'

and table_type in ('BASE', 'GBL TEMP') ) then drop table EMPLEADO

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='PERTENECER_FK'

and t.table_name='ESTUDIANTE' ) then drop index ESTUDIANTE.PERTENECER_FK

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='ENVIA_FK'

and t.table_name='ESTUDIANTE'

Page 6: Modelo conceptual de BD

) then

drop index ESTUDIANTE.ENVIA_FK end if;

if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

and i.index_name='ESTUDIANTE_PK' and t.table_name='ESTUDIANTE' ) then

drop index ESTUDIANTE.ESTUDIANTE_PK end if;

if exists( select 1 from sys.systable where table_name='ESTUDIANTE'

and table_type in ('BASE', 'GBL TEMP') ) then drop table ESTUDIANTE

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='ENVIA2_FK'

and t.table_name='FACTURA' ) then drop index FACTURA.ENVIA2_FK

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='FACTURA_PK'

and t.table_name='FACTURA' ) then drop index FACTURA.FACTURA_PK

end if; if exists(

select 1 from sys.systable where table_name='FACTURA' and table_type in ('BASE', 'GBL TEMP')

) then drop table FACTURA end if;

if exists( select 1 from sys.sysindex i, sys.systable t

where i.table_id=t.table_id and i.index_name='HABITACION_PK' and t.table_name='HABITACION'

) then drop index HABITACION.HABITACION_PK end if;

Page 7: Modelo conceptual de BD

if exists(

select 1 from sys.systable where table_name='HABITACION' and table_type in ('BASE', 'GBL TEMP')

) then drop table HABITACION end if;

if exists( select 1 from sys.sysindex i, sys.systable t

where i.table_id=t.table_id and i.index_name='INSPECCION_PK' and t.table_name='INSPECCION'

) then drop index INSPECCION.INSPECCION_PK end if;

if exists( select 1 from sys.systable

where table_name='INSPECCION' and table_type in ('BASE', 'GBL TEMP') ) then

drop table INSPECCION end if;

if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

and i.index_name='TIENEF_FK' and t.table_name='PAGO' ) then

drop index PAGO.TIENEF_FK end if;

if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

and i.index_name='PAGO_PK' and t.table_name='PAGO' ) then

drop index PAGO.PAGO_PK end if;

if exists( select 1 from sys.systable where table_name='PAGO'

and table_type in ('BASE', 'GBL TEMP') ) then drop table PAGO

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='TIENE_FK'

and t.table_name='PARIENTE'

Page 8: Modelo conceptual de BD

) then

drop index PARIENTE.TIENE_FK end if;

if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

and i.index_name='PARIENTE_PK' and t.table_name='PARIENTE' ) then

drop index PARIENTE.PARIENTE_PK end if;

if exists( select 1 from sys.systable where table_name='PARIENTE'

and table_type in ('BASE', 'GBL TEMP') ) then drop table PARIENTE

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='RELATIONSHIP_8_FK'

and t.table_name='PISO' ) then drop index PISO.RELATIONSHIP_8_FK

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='PISO_PK'

and t.table_name='PISO' ) then drop index PISO.PISO_PK

end if; if exists(

select 1 from sys.systable where table_name='PISO' and table_type in ('BASE', 'GBL TEMP')

) then drop table PISO end if;

if exists( select 1 from sys.sysindex i, sys.systable t

where i.table_id=t.table_id and i.index_name='REALIAZA2_FK' and t.table_name='REALIAZA'

) then drop index REALIAZA.REALIAZA2_FK end if;

Page 9: Modelo conceptual de BD

if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='REALIAZA_FK'

and t.table_name='REALIAZA' ) then drop index REALIAZA.REALIAZA_FK

end if; if exists(

select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='REALIAZA_PK'

and t.table_name='REALIAZA' ) then drop index REALIAZA.REALIAZA_PK

end if; if exists(

select 1 from sys.systable where table_name='REALIAZA' and table_type in ('BASE', 'GBL TEMP')

) then drop table REALIAZA end if;

if exists( select 1 from sys.sysindex i, sys.systable t

where i.table_id=t.table_id and i.index_name='RESIDENCIA_AK' and t.table_name='RESIDENCIA'

) then drop index RESIDENCIA.RESIDENCIA_AK end if;

if exists( select 1 from sys.systable

where table_name='RESIDENCIA' and table_type in ('BASE', 'GBL TEMP') ) then

drop table RESIDENCIA end if;

/*==================================================== ==========*/ /* Table: CONTRATO */ /*==============================================================*/

create table CONTRATO ( ID_ESTUDIANTE varchar(10),

NUM_A varchar(5) not null, TIEMPO varchar(15), INICIO_ALQ varchar(15),

FINAL_ALQ date, PERIODO_MIN date );

Page 10: Modelo conceptual de BD

/*==============================================================*/

/* Index: REALIZA_FK */ /*==============================================================*/ create index REALIZA_FK on CONTRATO (

ID_ESTUDIANTE ASC );

/*==============================================================*/ /* Table: CURSOS */ /*==============================================================*/

create table CURSOS ( NUM_CURSO varchar(5) not null,

ID_ESTUDIANTE varchar(10), TITULO_CURSO varchar(25), ID_EMPLEADO varchar(10),

constraint PK_CURSOS primary key (NUM_CURSO) );

/*==============================================================*/ /* Index: CURSOS_PK */ /*==============================================================*/

create unique index CURSOS_PK on CURSOS ( NUM_CURSO ASC );

/*==============================================================*/ /* Index: PERTENECE_FK */

/*==============================================================*/ create index PERTENECE_FK on CURSOS ( ID_ESTUDIANTE ASC

); /*==============================================================*/

/* Table: EMPLEADO */ /*==============================================================*/ create table EMPLEADO

( ID_ESTUDIANTE2 varchar(10) not null, ID_ESTUDIANTE varchar(10),

NOMBRE_EMPLEADO varchar(25), APELLIDO_EMPLEADO varchar(25), FECHA_NAC_EMPLEADO date,

SEXO_EMPLEADO varchar(2), CATEGORIA_EMPLEADO varchar(30) constraint CKC_CATEGORIA_EMPLEAD_EMPLEADO check (CATEGORIA_EMPLEADO is

null or (CATEGORIA_EMPLEADO between '30' and '30' and CATEGORIA_EMPLEADO = lower(CATEGORIA_EMPLEADO))), constraint PK_EMPLEADO primary key (ID_ESTUDIANTE2)

); /*==============================================================*/

/* Index: EMPLEADO_PK */ /*==============================================================*/ create unique index EMPLEADO_PK on EMPLEADO (

ID_ESTUDIANTE2 ASC

Page 11: Modelo conceptual de BD

);

/*==============================================================*/ /* Index: RELATIONSHIP_11_FK */

/*==============================================================*/ create index RELATIONSHIP_11_FK on EMPLEADO ( ID_ESTUDIANTE ASC

); /*==============================================================*/

/* Table: ESTUDIANTE */ /*==============================================================*/ create table ESTUDIANTE

( ID_ESTUDIANTE varchar(10) not null, NUM_FACTURA varchar(5),

NUM_MATRICULA varchar(5) not null, NOMBRE_ESTUDIANTE varchar(25), APELLIDO_ESTUDIANTE varchar(25),

FECHA_NAC_EMPLEADO date, SEXO_EMPLEADO varchar(2), CATEGORIA_EMPLEADO varchar(30)

constraint CKC_CATEGORIA_EMPLEAD_ESTUDIAN check (CATEGORIA_EMPLEADO is null or (CATEGORIA_EMPLEADO between '30' and '30' and CATEGORIA_EMPLEADO = lower(CATEGORIA_EMPLEADO))),

NACIONALIDAD varchar(15), ESTADO_FUMADOR varchar(6), ESTADO_ACTUAL varchar(15),

CURSO varchar(15), NECESIDADES varchar(50), COMENTARIOS varchar(50)

constraint CKC_COMENTARIOS_ESTUDIAN check (COMENTARIOS is null or (COMENTARIOS between '0' and '30' and COMENTARIOS = lower(COMENTARIOS))), constraint PK_ESTUDIANTE primary key (ID_ESTUDIANTE)

); /*==============================================================*/

/* Index: ESTUDIANTE_PK */ /*==============================================================*/ create unique index ESTUDIANTE_PK on ESTUDIANTE (

ID_ESTUDIANTE ASC );

/*==============================================================*/ /* Index: ENVIA_FK */ /*==============================================================*/

create index ENVIA_FK on ESTUDIANTE ( NUM_FACTURA ASC );

/*==============================================================*/ /* Index: PERTENECER_FK */

/*==============================================================*/ create index PERTENECER_FK on ESTUDIANTE ( ID_ESTUDIANTE ASC

);

Page 12: Modelo conceptual de BD

/*==============================================================*/ /* Table: FACTURA */ /*==============================================================*/

create table FACTURA ( NUM_FACTURA varchar(5) not null,

ID_ESTUDIANTE varchar(10), NUM_A varchar(5), SEMESTRE varchar(10),

TIPO_PAGO float, constraint PK_FACTURA primary key (NUM_FACTURA) );

/*==============================================================*/ /* Index: FACTURA_PK */

/*==============================================================*/ create unique index FACTURA_PK on FACTURA ( NUM_FACTURA ASC

); /*==============================================================*/

/* Index: ENVIA2_FK */ /*==============================================================*/ create index ENVIA2_FK on FACTURA (

ID_ESTUDIANTE ASC );

/*==============================================================*/ /* Table: HABITACION */ /*==============================================================*/

create table HABITACION ( NUM_IDENTIFICACION_HABITACION varchar(5) not null,

NUM_HABITACION integer not null, IMPORTE_MENSUAL float, constraint PK_HABITACION primary key (NUM_IDENTIFICACION_HABITACION)

); /*==============================================================*/

/* Index: HABITACION_PK */ /*==============================================================*/ create unique index HABITACION_PK on HABITACION (

NUM_IDENTIFICACION_HABITACION ASC );

/*==============================================================*/ /* Table: INSPECCION */ /*==============================================================*/

create table INSPECCION ( ID_INSPECCION varchar(5) not null,

FECHA_INSPECCION date, ESTADO_INMUEBLE varchar(15), COMENTARIOS varchar(50)

Page 13: Modelo conceptual de BD

constraint CKC_COMENTARIOS_INSPECCI check (COMENTARIOS is null or

(COMENTARIOS between '0' and '30' and COMENTARIOS = lower(COMENTARIOS))), constraint PK_INSPECCION primary key (ID_INSPECCION) );

/*==============================================================*/ /* Index: INSPECCION_PK */

/*==============================================================*/ create unique index INSPECCION_PK on INSPECCION ( ID_INSPECCION ASC

); /*==============================================================*/

/* Table: PAGO */ /*==============================================================*/ create table PAGO

( NUM_PAGO_FACTURA varchar(5) not null, NUM_FACTURA varchar(5),

FECHA_PAGO date, MODO_PAGO varchar(10), FECHA_RECORDATORIO date,

constraint PK_PAGO primary key (NUM_PAGO_FACTURA) );

/*==============================================================*/ /* Index: PAGO_PK */ /*==============================================================*/

create unique index PAGO_PK on PAGO ( NUM_PAGO_FACTURA ASC );

/*==============================================================*/ /* Index: TIENEF_FK */

/*==============================================================*/ create index TIENEF_FK on PAGO ( NUM_FACTURA ASC

); /*==============================================================*/

/* Table: PARIENTE */ /*==============================================================*/ create table PARIENTE

( ID_PARIENTE varchar(10) not null, ID_ESTUDIANTE varchar(10),

RELACION varchar(25), DIRECCION varchar(30), NUM_FONO varchar(15),

constraint PK_PARIENTE primary key (ID_PARIENTE) );

/*==============================================================*/ /* Index: PARIENTE_PK */ /*==============================================================*/

create unique index PARIENTE_PK on PARIENTE (

Page 14: Modelo conceptual de BD

ID_PARIENTE ASC

); /*==============================================================*/

/* Index: TIENE_FK */ /*==============================================================*/ create index TIENE_FK on PARIENTE (

ID_ESTUDIANTE ASC );

/*==============================================================*/ /* Table: PISO */ /*==============================================================*/

create table PISO ( NUM_APARTAMENTO varchar(5) not null,

NUM_IDENTIFICACION_HABITACION varchar(5), CAPACIDAD_ESTUDIANTES integer, DIRECCION_APARTAMENTO varchar(30),

NUM_HABITACION integer, constraint PK_PISO primary key (NUM_APARTAMENTO) );

/*==============================================================*/ /* Index: PISO_PK */

/*==============================================================*/ create unique index PISO_PK on PISO ( NUM_APARTAMENTO ASC

); /*==============================================================*/

/* Index: RELATIONSHIP_8_FK */ /*==============================================================*/ create index RELATIONSHIP_8_FK on PISO (

NUM_IDENTIFICACION_HABITACION ASC );

/*==============================================================*/ /* Table: REALIAZA */ /*==============================================================*/

create table REALIAZA ( ID_INSPECCION varchar(5) not null,

NUM_APARTAMENTO varchar(5) not null, constraint PK_REALIAZA primary key clustered (ID_INSPECCION, NUM_APARTAMENTO) );

/*==============================================================*/ /* Index: REALIAZA_PK */

/*==============================================================*/ create unique clustered index REALIAZA_PK on REALIAZA ( ID_INSPECCION ASC,

NUM_APARTAMENTO ASC );

/*==============================================================*/

Page 15: Modelo conceptual de BD

/* Index: REALIAZA_FK */

/*==============================================================*/ create index REALIAZA_FK on REALIAZA ( ID_INSPECCION ASC

); /*==============================================================*/

/* Index: REALIAZA2_FK */ /*==============================================================*/ create index REALIAZA2_FK on REALIAZA (

NUM_APARTAMENTO ASC );

/*==============================================================*/ /* Table: RESIDENCIA */ /*==============================================================*/

create table RESIDENCIA ( ID_ESTUDIANTE varchar(10),

ID_RESIDENCIA varchar(5) not null, NOMBRE_RESIDENCIA varchar(25), DIRECCION_RESIDENCIA varchar(30),

NUM_TELEFONO varchar(15), constraint AK_ID_RESIDENCIA_RESIDENC unique (ID_RESIDENCIA) );

/*==============================================================*/ /* Index: RESIDENCIA_AK */

/*==============================================================*/ create unique index RESIDENCIA_AK on RESIDENCIA ( ID_RESIDENCIA ASC

); alter table CONTRATO

add constraint FK_CONTRATO_REALIZA_ESTUDIAN foreign key (ID_ESTUDIANTE) references ESTUDIANTE (ID_ESTUDIANTE) on update restrict

on delete restrict; alter table CURSOS

add constraint FK_CURSOS_PERTENECE_ESTUDIAN foreign key (ID_ESTUDIANTE) references ESTUDIANTE (ID_ESTUDIANTE) on update restrict

on delete restrict; alter table EMPLEADO

add constraint FK_EMPLEADO_RELATIONS_ESTUDIAN foreign key (ID_ESTUDIANTE) references ESTUDIANTE (ID_ESTUDIANTE) on update restrict

on delete restrict; alter table ESTUDIANTE

add constraint FK_ESTUDIAN_ENVIA_FACTURA foreign key (NUM_FACTURA) references FACTURA (NUM_FACTURA) on update restrict

on delete restrict;

Page 16: Modelo conceptual de BD

alter table FACTURA add constraint FK_FACTURA_ENVIA2_ESTUDIAN foreign key (ID_ESTUDIANTE) references ESTUDIANTE (ID_ESTUDIANTE)

on update restrict on delete restrict;

alter table PAGO add constraint FK_PAGO_TIENEF_FACTURA foreign key (NUM_FACTURA) references FACTURA (NUM_FACTURA)

on update restrict on delete restrict;

alter table PARIENTE add constraint FK_PARIENTE_TIENE_ESTUDIAN foreign key (ID_ESTUDIANTE) references ESTUDIANTE (ID_ESTUDIANTE)

on update restrict on delete restrict;

alter table PISO add constraint FK_PISO_RELATIONS_HABITACI foreign key (NUM_IDENTIFICACION_HABITACION)

references HABITACION (NUM_IDENTIFICACION_HABITACION) on update restrict on delete restrict;

alter table REALIAZA add constraint FK_REALIAZA_REALIAZA_INSPECCI foreign key (ID_INSPECCION)

references INSPECCION (ID_INSPECCION) on update restrict on delete restrict;

alter table REALIAZA add constraint FK_REALIAZA_REALIAZA2_PISO foreign key (NUM_APARTAMENTO)

references PISO (NUM_APARTAMENTO) on update restrict on delete restrict;

alter table RESIDENCIA add constraint FK_RESIDENC_PERTENECE_ESTUDIAN foreign key (ID_ESTUDIANTE)

references ESTUDIANTE (ID_ESTUDIANTE) on update restrict on delete restrict;

3. Basándose en el caso de esdio, identifique las potenciales amenaas a las que tendría que

enfrentarse y proponga contramedidas para prevenirlas Las vulneravilidades que se podrian presentar es que el acceso a la base de datos no sea controlada a tiempo y que datos muy importantes como informacion de estudiante y tutores esten

disponible para todo tipo de usuario, llegando a la conclucion de que los datos puedes ser robados o modificados.