/*==============================================================*/
/* DBMS name:      Microsoft SQL Server 2005                    */
/* Created on:     08-05-2008 18:19:01                          */
/*==============================================================*/


alter table ADENDA
   drop constraint FK_ADENDA_REFERENCE_PROCESSO
go

alter table ADENDA
   drop constraint FK_ADENDA_REFERENCE_UTILIZAD
go

alter table DOCUMENTO
   drop constraint FK_DOCUMENT_REFERENCE_UTILIZAD
go

alter table IMAGEM
   drop constraint FK_IMAGEM_REFERENCE_PROCESSO
go

alter table IMAGEM
   drop constraint FK_IMAGEM_REFERENCE_UTILIZAD
go

alter table PROCESSO
   drop constraint FK_PROCESSO_REFERENCE_UTILIZAD
go

alter table SECCAO
   drop constraint FK_SECCAO_REFERENCE_PROCESSO
go

alter table SECCAO
   drop constraint FK_SECCAO_REFERENCE_SECCAO
go

alter table SECCAO
   drop constraint FK_SECCAO_REFERENCE_UTILIZAD
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('ADENDA')
            and   name  = 'REFERENCE_1_FK'
            and   indid > 0
            and   indid < 255)
   drop index ADENDA.REFERENCE_1_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('ADENDA')
            and   type = 'U')
   drop table ADENDA
go

if exists (select 1
            from  sysobjects
           where  id = object_id('CONTACTO')
            and   type = 'U')
   drop table CONTACTO
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DOCUMENTO')
            and   type = 'U')
   drop table DOCUMENTO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('IMAGEM')
            and   name  = 'REFERENCE_2_FK'
            and   indid > 0
            and   indid < 255)
   drop index IMAGEM.REFERENCE_2_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('IMAGEM')
            and   type = 'U')
   drop table IMAGEM
go

if exists (select 1
            from  sysobjects
           where  id = object_id('PROCESSO')
            and   type = 'U')
   drop table PROCESSO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('SECCAO')
            and   name  = 'REFERENCE_4_FK'
            and   indid > 0
            and   indid < 255)
   drop index SECCAO.REFERENCE_4_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('SECCAO')
            and   name  = 'REFERENCE_3_FK'
            and   indid > 0
            and   indid < 255)
   drop index SECCAO.REFERENCE_3_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('SECCAO')
            and   type = 'U')
   drop table SECCAO
go

if exists (select 1
            from  sysobjects
           where  id = object_id('UTILIZADOR')
            and   type = 'U')
   drop table UTILIZADOR
go

/*==============================================================*/
/* Table: ADENDA                                                */
/*==============================================================*/
create table ADENDA (
   ID_ADENDA            numeric              not null,
   ID_PROCESSO          numeric              not null,
   ID_UTILIZADOR        numeric              not null,
   TITULO               varchar(50)          not null,
   OBSERVACOES          varchar(2000)        not null,
   ULTIMA_ACTUALIZACAO  datetime             not null,
   constraint PK_ADENDA primary key nonclustered (ID_ADENDA)
)
go

/*==============================================================*/
/* Index: REFERENCE_1_FK                                        */
/*==============================================================*/
create index REFERENCE_1_FK on ADENDA (
ID_PROCESSO ASC
)
go

/*==============================================================*/
/* Table: CONTACTO                                              */
/*==============================================================*/
create table CONTACTO (
   ID_CONTACTO          numeric              not null,
   NOME                 varchar(50)          not null,
   TIPO                 varchar(50)          null,
   MORADA               varchar(80)          null,
   NUMERO_TELEFONE_PRI  varchar(15)          null,
   NUMERO_TELEFONE_SEC  varchar(15)          null,
   NUMERO_FAX           varchar(15)          null,
   EMAIL                varchar(40)          null,
   OBSERVACOES          varchar(500)         null,
   constraint PK_CONTACTO primary key nonclustered (ID_CONTACTO)
)
go

/*==============================================================*/
/* Table: DOCUMENTO                                             */
/*==============================================================*/
create table DOCUMENTO (
   ID_DOCUMENTO         numeric              not null,
   ID_UTILIZADOR        numeric              not null,
   TITULO               varchar(40)          not null,
   NOME_FICHEIRO        varchar(40)          not null,
   DATA_ENTRADA         varchar2(10)         not null,
   DESCRICAO            varchar(500)         null,
   constraint PK_DOCUMENTO primary key nonclustered (ID_DOCUMENTO)
)
go

/*==============================================================*/
/* Table: IMAGEM                                                */
/*==============================================================*/
create table IMAGEM (
   ID_IMAGEM            numeric              not null,
   ID_PROCESSO          numeric              not null,
   ID_UTILIZADOR        numeric              not null,
   NOME_FICHEIRO        varchar(50)          not null,
   LEGENDA              varchar(50)          null,
   ORDEM                numeric              not null,
   ULTIMA_ACTUALIZACAO  datetime             not null,
   constraint PK_IMAGEM primary key nonclustered (ID_IMAGEM)
)
go

/*==============================================================*/
/* Index: REFERENCE_2_FK                                        */
/*==============================================================*/
create index REFERENCE_2_FK on IMAGEM (
ID_PROCESSO ASC
)
go

/*==============================================================*/
/* Table: PROCESSO                                              */
/*==============================================================*/
create table PROCESSO (
   ID_PROCESSO          numeric              not null,
   ID_UTILIZADOR        numeric              not null,
   NUMERO_PROCESSO      varchar(20)          not null,
   FICHEIRO_REQUERIMENTO varchar(50)          null,
   DATA_ENTRADA         datetime             not null,
   DATA_CONCLUSAO       datetime             null,
   IS_FINISHED          bit                  null,
   OBSERVACOES          varchar(2000)        null,
   ULTIMA_ACTUALIZACAO  datetime             not null,
   constraint PK_PROCESSO primary key nonclustered (ID_PROCESSO)
)
go

/*==============================================================*/
/* Table: SECCAO                                                */
/*==============================================================*/
create table SECCAO (
   ID_SECCAO            numeric              not null,
   ID_SECCAO_PAI        numeric              null,
   ID_PROCESSO          numeric              not null,
   ID_UTILIZADOR        numeric              not null,
   ORDEM                numeric              not null,
   TITULO               varchar(50)          not null,
   DESCRICAO            varchar(2000)        null,
   NOTAS                varchar(1000)        null,
   ULTIMA_ACTUALIZACAO  datetime             not null,
   constraint PK_SECCAO primary key nonclustered (ID_SECCAO)
)
go

/*==============================================================*/
/* Index: REFERENCE_3_FK                                        */
/*==============================================================*/
create index REFERENCE_3_FK on SECCAO (
ID_PROCESSO ASC
)
go

/*==============================================================*/
/* Index: REFERENCE_4_FK                                        */
/*==============================================================*/
create index REFERENCE_4_FK on SECCAO (
ID_SECCAO_PAI ASC
)
go

/*==============================================================*/
/* Table: UTILIZADOR                                            */
/*==============================================================*/
create table UTILIZADOR (
   ID_UTILIZADOR        numeric              not null,
   NOME                 varchar(50)          not null,
   PASSWORD             varchar(50)          not null,
   CARGO                varchar(20)          null,
   NUMERO_TELEFONE      varchar(15)          null,
   NUMERO_TELEMOVEL     varchar(15)          null,
   EMAIL                varchar(40)          null,
   IS_ADMIN             bit                  null,
   constraint PK_UTILIZADOR primary key nonclustered (ID_UTILIZADOR)
)
go

alter table ADENDA
   add constraint FK_ADENDA_REFERENCE_PROCESSO foreign key (ID_PROCESSO)
      references PROCESSO (ID_PROCESSO)
go

alter table ADENDA
   add constraint FK_ADENDA_REFERENCE_UTILIZAD foreign key (ID_UTILIZADOR)
      references UTILIZADOR (ID_UTILIZADOR)
go

alter table DOCUMENTO
   add constraint FK_DOCUMENT_REFERENCE_UTILIZAD foreign key (ID_UTILIZADOR)
      references UTILIZADOR (ID_UTILIZADOR)
go

alter table IMAGEM
   add constraint FK_IMAGEM_REFERENCE_PROCESSO foreign key (ID_PROCESSO)
      references PROCESSO (ID_PROCESSO)
go

alter table IMAGEM
   add constraint FK_IMAGEM_REFERENCE_UTILIZAD foreign key (ID_UTILIZADOR)
      references UTILIZADOR (ID_UTILIZADOR)
go

alter table PROCESSO
   add constraint FK_PROCESSO_REFERENCE_UTILIZAD foreign key (ID_UTILIZADOR)
      references UTILIZADOR (ID_UTILIZADOR)
go

alter table SECCAO
   add constraint FK_SECCAO_REFERENCE_PROCESSO foreign key (ID_PROCESSO)
      references PROCESSO (ID_PROCESSO)
go

alter table SECCAO
   add constraint FK_SECCAO_REFERENCE_SECCAO foreign key (ID_SECCAO_PAI)
      references SECCAO (ID_SECCAO)
go

alter table SECCAO
   add constraint FK_SECCAO_REFERENCE_UTILIZAD foreign key (ID_UTILIZADOR)
      references UTILIZADOR (ID_UTILIZADOR)
go

