Appendice A – Comandi SQL per la creazione del database
Creazione dell’utente
(Per creare un utente bisogna connettersi ad Oracle come amministratore. Per default il nome dell’utente amministratore è SYSTEM, mentre la sua password è MANAGER)
CREATE USER "UTENTE"
IDENTIFIED BY "password"
DEFAULT TABLESPACE "USER_DATA"
TEMPORARY TABLESPACE "USER_DATA"
PROFILE DEFAULT
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "UTENTE";
GRANT "RESOURCE" TO "UTENTE";
GRANT UNLIMITED TABLESPACE TO "UTENTE";
ALTER USER "UTENTE" DEFAULT ROLE ALL;
Cluster CART_CLU
CREATE CLUSTER CART_CLU (
NPRAT NUMBER(6,0),
ANNO NUMBER(4,0)
) INDEX;
Cluster SPATIAL_CLU
CREATE CLUSTER SPATIAL_CLU (
OGGETTO NUMBER(2,0),
RELX NUMBER(2,0),
RELY NUMBER(2,0)
) INDEX;
Indice sul cluster CART_CLU
CREATE INDEX "PK_CART_CLU" ON CLUSTER "CART_CLU";Tabella ASSOCIAZIONECREATE TABLE ASSOCIAZIONE (NPRAT NUMBER(6,0) NOT NULL,
ANNO NUMBER(4,0) NOT NULL,
CODFISC VARCHAR2(16) NOT NULL,
COGNOME VARCHAR2(30),
NOME VARCHAR2(20),
DATA_NASC DATE,
CONSTRAINT PK_ASSOC UNIQUE (CODFISC),
CONSTRAINT UNQ_ASSOC UNIQUE (NPRAT, ANNO)
) CLUSTER CART_CLU (NPRAT, ANNO);
Tabella DENUNCE
CREATE TABLE DENUNCE ( NPRAT NUMBER(6,0) NOT NULL, ANNO NUMBER(4,0) NOT NULL, MALATTIA VARCHAR2(30) NOT NULL, DATA DATE, CONSTRAINT PK_DENUNCE PRIMARY KEY (NPRAT, ANNO, MALATTIA) USING INDEX,
CONSTRAINT PK_DENASS FOREIGN KEY (NPRAT, ANNO) REFERENCES ASSOCIAZIONE(NPRAT, ANNO))
CLUSTER CART_CLU (NPRAT, ANNO);
Tabella ESAMI
CREATE TABLE ESAMI (
CODICE VARCHAR2(7) NOT NULL CONSTRAINT PK_ESAMI PRIMARY KEY USING INDEX,
NOME_ESAME VARCHAR2(150) NOT NULL,
DESCRIZIONE VARCHAR2(700) NULL,
TARIFFA NUMBER NULL,
NOTA CHAR NULL,
CONSTRAINT CHECK1 CHECK (NOTA='R' OR NOTA='H' OR NOTA='*')
);
Tabella PAZIENTI
CREATE TABLE PAZIENTI( CODFISC CHAR(16) NOT NULL CONSTRAINT PK_PAZIENTI PRIMARY KEY USING INDEX,LUOGO_NASC VARCHAR2(35),
SESSO CHAR CHECK (SESSO='M' OR SESSO='F'),
LUOGO_RES VARCHAR2(35),
INDIRIZZO VARCHAR2(60),
PROV_RES VARCHAR2(2),
REGIONE VARCHAR2(21) CHECK (REGIONE IN (
'SICILIA', 'SARDEGNA', 'CALABRIA',
'BASILICATA', 'PUGLIA', 'CAMPANIA',
'MOLISE', 'LAZIO', 'ABRUZZO', 'UMBRIA',
'MARCHE', 'TOSCANA', 'EMILIA ROMAGNA',
'LIGURIA', 'PIEMONTE', 'LOMBARDIA',
'VENETO', 'FRIULI VENEZIA GIULIA',
'TRENTINO ALTO ADIGE', 'VALLE D''AOSTA')),
TEL VARCHAR2(20),
PROV_NASC VARCHAR2(2),
PADRE VARCHAR2(20),
PROFESS VARCHAR2(30),
STATO_CIV VARCHAR2(15),
NOME_CF VARCHAR2(20),
COGNOME_CF VARCHAR2(30),
DATA_NASC_CF DATE,
LUOGO_NASC_CF VARCHAR2(35)
);
Tabella ACCETTAZIONI
CREATE TABLE ACCETTAZIONI( NPRAT NUMBER(6,0) NOT NULL, ANNO NUMBER(4,0) NOT NULL, NMODULO NUMBER(4,0), DATA DATE, MEDICO VARCHAR2(50), DIAGNOSI VARCHAR2(240), ESAME_OB VARCHAR2(1600),
ANAMNESI VARCHAR2(2000),
CONSTRAINT PK_ACCET PRIMARY KEY(NPRAT, ANNO, NMODULO)
USING INDEX);
Tabella DIARIO_CLINICO
CREATE TABLE DIARIO_CLINICO( NPRAT NUMBER (6,0) NOT NULL, ANNO NUMBER(4,0) NOT NULL, NMODULO NUMBER(3,0) NOT NULL,COD_ESAME VARCHAR2(7),
DATA_ESAME DATE,
NOTE VARCHAR2(200),
IMMAGINE VARCHAR(50),
CODREF NUMBER(7,0) NOT NULL CONSTRAINT PK_DIARIO PRIMARY KEY USING INDEX ,
CONSTRAINT FK_DIAACC FOREIGN KEY (NPRAT, ANNO, NMODULO)
REFERENCES ACCETTAZIONI (NPRAT, ANNO, NMODULO))
CLUSTER CART_CLU (NPRAT, ANNO);
Tabella SPATIAL_REL
CREATE TABLE SPATIAL_REL ( VIID NUMBER(7,0), OGGETTO NUMBER(2,0), RELX NUMBER(3,0), RELY NUMBER(3,0), CONSTRAINT PK_SPREL PRIMARY KEY(VIID, OGGETTO) USING INDEX );
Tabella GEOMORPH
CREATE TABLE GEOMORPH ( VIID NUMBER(7,0) NOT NULL, AREA NUMBER(10,4) NULL, DENSITA NUMBER(10,4) NULL, ASIMMETRIA NUMBER(10,6) NULL, ORIENTAZIONE NUMBER(10,7) NULL, SPREADNESS NUMBER(10,5) NULL, UNIFORMITA NUMBER(10,5) NULL,CONVESSITA NUMBER(1,0) NULL,
FILEBMP VARCHAR2(30) NULL,
SIZEX NUMBER(4,0) NULL,
SIZEY NUMBER(4,0) NULL,
CONSTRAINT PK_VIID UNIQUE (VIID)
);
Tabella CANONICI
CREATE TABLE CANONICI ( VIID NUMBER(2,0) NOT NULL, FILEBMP VARCHAR2(50) NOT NULL,DESCRIZIONE VARCHAR2(70) NOT NULL,
SIZEX NUMBER(4,0) NOT NULL,
SIZEY NUMBER(4,0) NOT NULL,
CONSTRAINT PK_CAN UNIQUE (VIID)
);
Tabella RISULTATI
DISTANZA NUMBER(10,5) NULL
);
Inserimento nella tabella canonici dei valori relativi alle immagini usate nell’applicazione
insert into canonici values(1,'polmonedx.bmp','polmone destro',92 ,138);
insert into canonici values(2,'polmonesx.bmp','polmone sinistro',92,138);
insert into canonici values(3,'cavasup.bmp','vena cava superiore',12,14);
insert into canonici values(4,'vbrdx.bmp','vena branchio cefalica destra',10,14);
insert into canonici values(5,'confbr.bmp','confluenze vene branchio',32,27);
insert into canonici values(6,'vbrsx.bmp','vena branchia cefalica sinistra',35,13);
insert into canonici values(7,'cuore.bmp','cuore',70,50);
insert into canonici values(8,'arcoaort.bmp','arco aortico',22,28);
insert into canonici values(9,'diaframma.bmp','diaframma',26,25);
insert into canonici values(10,'carotide.bmp','carotide',13,13);
insert into canonici values(11,'colvert.bmp','sezione colonna vertebrale',33,28);
insert into canonici values(12,'trachea.bmp','trachea',9,11);
insert into canonici values(13,'esofago.bmp','esofago',8,7);
insert into canonici values(14,'succlavia.bmp','succlavia',12,12);
insert into canonici values(15,'aortadisc.bmp','aorta discendente',21,21);
insert into canonici values(16,'cranioin.bmp','cranio inferiore',184,222);
insert into canonici values(17,'craniosu.bmp','cranio superiore',184,225);
insert into canonici values(18,'ventdes.bmp','ventricolo destro',20,32);
insert into canonici values(19,'ventsin.bmp','ventricolo sinistro',22,32);