Universidad Técnica Particular de Loja
BASE DE DATOS
PRIMER BIMESTRE
Ing. Juan Carlos Morocho
Alumna: Marilyn Jaramillo
20...
1 Cree un modelo conceptual de los datos y compruebe que soporta las transacciones
requeridas, para ello utilice cualquier...
/*==============================================================*/
/* DBMS name: Sybase SQL Anywhere 10 */
/* Created on: ...
delete foreign key FK_PAGO_TIENEF_FACTURA
end if;
if exists(select 1 from sys.sysforeignkey where role='FK_PARIENTE_TIENE_...
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='CU...
) then
drop index ESTUDIANTE.ENVIA_FK
end if;
if exists(
select 1 from sys.sysindex i, sys.systable t
where i.table_id=t.t...
if exists(
select 1 from sys.systable
where table_name='HABITACION'
and table_type in ('BASE', 'GBL TEMP')
) then
drop tab...
) then
drop index PARIENTE.TIENE_FK
end if;
if exists(
select 1 from sys.sysindex i, sys.systable t
where i.table_id=t.tab...
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.t...
/*==============================================================*/
/* Index: REALIZA_FK */
/*=============================...
);
/*==============================================================*/
/* Index: RELATIONSHIP_11_FK */
/*==================...
/*==============================================================*/
/* Table: FACTURA */
/*================================...
constraint CKC_COMENTARIOS_INSPECCI check (COMENTARIOS is null or
(COMENTARIOS between '0' and '30' and COMENTARIOS = lowe...
ID_PARIENTE ASC
);
/*==============================================================*/
/* Index: TIENE_FK */
/*============...
/* Index: REALIAZA_FK */
/*==============================================================*/
create index REALIAZA_FK on RE...
alter table FACTURA
add constraint FK_FACTURA_ENVIA2_ESTUDIAN foreign key (ID_ESTUDIANTE)
references ESTUDIANTE (ID_ESTUDI...
Upcoming SlideShare
Loading in …5
×

Modelo conceptual de BD

636 views
560 views

Published on

Diseño Conceptual de la base de datos

1 Comment
0 Likes
Statistics
Notes
  • HOLA UN BUEN TRABAJO
    ME GUSTARIA QUE ME AYUDES CON UN TAREA ES SOBRE LOS MODELOS CONCEPTUALES DEL DISEÑO DE BASE DE DATOS ORIENTADOS A OBJETOS
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
636
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
23
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Modelo conceptual de BD

  1. 1. Universidad Técnica Particular de Loja BASE DE DATOS PRIMER BIMESTRE Ing. Juan Carlos Morocho Alumna: Marilyn Jaramillo 2009
  2. 2. 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_8 realiaza 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>
  3. 3. /*==============================================================*/ /* 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>
  4. 4. 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(
  5. 5. 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'
  6. 6. ) 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;
  7. 7. 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'
  8. 8. ) 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;
  9. 9. 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 );
  10. 10. /*==============================================================*/ /* 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
  11. 11. ); /*==============================================================*/ /* 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 );
  12. 12. /*==============================================================*/ /* 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)
  13. 13. 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 (
  14. 14. 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 ); /*==============================================================*/
  15. 15. /* 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;
  16. 16. 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.

×