Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

PROGETTAZIONE LOGICA

Per definire lo schema relazionale bisogna tradurre lo schema E/R, al fine di ottenere

un insieme un insieme di relazioni. La fase alta della progettazione logica, ovvero

quella indipendente dal modello dei dati scelto, prevede l’analisi delle ridondanze,

l’eliminazione delle gerarchie, il partizionamento /riaccorpamento di entità relazioni

e la scelta degli identificatori principali. Lo schema E/R non presenta ridondanze se

non che l’attributo vittoria in pilota potrebbe essere ricavato dalla tabella

partecipazione, ma in pratica è necessario tener memoria anche delle vittorie fatte in

passato dal pilota.

Eliminazione delle gerarchie Codice Nome Cogn. Data nascita Indirizzo

Nazionalità

MEMBRO TEAM

(0,1) (0,1)

(0,1) (0,1) Tipo

Tipo

Tipo

Tipo (1,1) (1,1) (1,1) (1,1) Ind_GiroVeloce Nome Data Luogo Giro Veloce

Posizione

) )

(0,N (0,2

Partecipazione

Collaudatore

Ingegnere Meccanico Pilota GARA

)

(0,N

Vittorie Vittprec Mondiali

Specializz. Specializz. )

(1,1 )

(1,1 AUTOVETTURA

Assegnazione Nome Sigla Potenza Motore Descrizione

Fig2 : Schema E/R ristrutturato

Schema logico

Membro_Team (codice, nome, cognome, data_nascita, nazionalità,indirizzo)

Ingegnere (membro, specializz.)

col vincolo di integrità referenziale tra l’attributo membro nell’entità Ingegnere e l’attributo

codice in Membro_Team

Meccanico(membro, specializz.)

col vincolo di integrità referenziale tra l’attributo membro nell’entità Meccanico e l’attributo

codice in Membro_Team

Collaudatore(membro, autovettura)

col vincolo di integrità referenziale tra l’attributo membro nell’entità Collaudatore e l’attributo

codice in Membro_Team e col vincolo di integrità referenziale tra l’attributo autovettura e

l’attributo sigla in autovettura

Pilota(membro, vittorie, mondiali)

col vincolo di integrità referenziale tra l’attributo membro nell’entità Pilota e l’attributo

codice in Membro_Team

Autovettura(nome, sigla, potenza, motore, descrizione)

Gara(nome, data, luogo, giro_veloce)

Partecipazione(pilota, gara, autovettura, ind_giroveloce, posizione)

col vincolo di integrità referenziale tra l’attributo pilota e l’attributo membro nell’entità Pilota,

tra l’attributo gara e l’attributo nome nell’entità Gara, tra l’attributo autovettura e l’attributo sigla

nell’entità Autovettura

Definizione dello schema in SQL Oracle

Nello script di installazione il tablespace, concetto logico usato da Oracle per rappresentare un’area

di memoria in grado di contenere tabelle , è stato allocato con procedura automatica , tenendo conto

del carico a regime e della crescita del database che in questo semplice data base è trascurabile. Si è

fatto riferimento alla seguente espressione :

{ }

SpazioMemoriaIniziale=1.2 Dim Num

(byte)

i * tuple_regime

dove la somma va estesa al numero di attributi presenti in tabella.

********************************************************************

CREATE TABLE "TEMPES04"."MEMBRO_TEAM" ("CODICE" NUMBER(2)

NOT

NULL, "NOME" VARCHAR2(20 byte) NOT NULL, "COGNOME"

VARCHAR2(20 byte) NOT NULL, "DATA_NASCITA" DATE NOT NULL,

"INDIRIZZO" VARCHAR2(40 byte) NOT NULL, "NAZIONALITA"

VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "PK_MEMBRO_TEAM" PRIMARY KEY("CODICE")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 5 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

****************************************************

CREATE TABLE "TEMPES04"."INGEGNERE" ("MEMBRO" NUMBER(2) NOT

NULL,

"SPECIALIZZ" VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "FK_INGEGNERE_MEMBRO_TEAM" FOREIGN

KEY("MEMBRO")

REFERENCES "TEMPES04"."MEMBRO_TEAM"("CODICE"),

CONSTRAINT "PK_INGEGNERE" PRIMARY KEY("MEMBRO")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 20 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

***************************************************

CREATE TABLE "TEMPES04"."MECCANICO" ("MEMBRO" NUMBER(2) NOT

NULL,

"SPECIALIZZ" VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "FK_MECCANICO_MEMBRO_TEAM" FOREIGN

KEY("MEMBRO")

REFERENCES "TEMPES04"."MEMBRO_TEAM"("CODICE"),

CONSTRAINT "PK_MECCANICO" PRIMARY KEY("MEMBRO")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 5 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

**************************************************

CREATE TABLE "TEMPES04"."COLLAUDATORE" ("MEMBRO" NUMBER(2)

NOT NULL, "AUTOVETTURA" VARCHAR2(2 byte) NOT NULL,

CONSTRAINT "FK_COLLAUDATORE_MEMBRO_TEAM" FOREIGN

KEY("MEMBRO"),

CONSTRAINT "FK_COLLAUDATORE_AUTOVETTURA" FOREIGN

KEY("AUTOVETTURA")

REFERENCES "TEMPES04"."AUTOVETTURA"("SIGLA"),

CONSTRAINT "PK_COLLAUDATORE" PRIMARY KEY("MEMBRO")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 5 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

************************************************

CREATE TABLE "TEMPES04"."PILOTA" ("MEMBRO" NUMBER(2) NOT

NULL,

"VITTORIE" NUMBER(3) NOT NULL, "MONDIALI" NUMBER(2) NOT

NULL,

"VITTPR" NUMBER(2),

CONSTRAINT "FK_PILOTA_MEMBRO_TEAM" FOREIGN

KEY("MEMBRO")

REFERENCES "TEMPES04"."MEMBRO_TEAM"("CODICE"),

CONSTRAINT "PK_PILOTA" PRIMARY KEY("MEMBRO")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 5 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

**************************************************

CREATE TABLE "TEMPES04"."AUTOVETTURA" ("NOME" VARCHAR2(10 byte)

NOT NULL, "SIGLA" VARCHAR2(2 byte) NOT NULL, "POTENZA"

VARCHAR2(20 byte) NOT NULL, "MOTORE" VARCHAR2(20 byte) NOT

NULL, "DESCRIZIONE" VARCHAR2(50 byte) NOT NULL,

CONSTRAINT "PK_AUTOVETTURA" PRIMARY KEY("SIGLA")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 5 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

************************************************

CREATE TABLE "TEMPES04"."GARA" ("NOME" VARCHAR2(20 byte) NOT

NULL,

"DATA" DATE NOT NULL, "LUOGO" VARCHAR2(20 byte) NOT NULL,

"GIRO_VELOCE" VARCHAR2(10 byte) NOT NULL,

CONSTRAINT "PK_GARA" PRIMARY KEY("NOME")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 5 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

************************************************

CREATE TABLE "TEMPES04"."PARTECIPAZIONE" ("PILOTA" NUMBER(2)

NOT

NULL, "GARA" VARCHAR2(20 byte) NOT NULL, "AUTOVETTURA"

VARCHAR2(2 byte) NOT NULL, "IND_GIROVELOCE" NUMBER(1) NOT

NULL, "POSIZIONE" NUMBER(2) NOT NULL,

CONSTRAINT "AUTOVETTURA_UNICA" UNIQUE("GARA",

"AUTOVETTURA")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255,

CONSTRAINT "BOOL_PARTECIPAZIONE" CHECK(ind_giroveloce=0 or

ind_giroveloce=1 ),

CONSTRAINT "FK_PARTECIPAZIONE_AUTOVETTURA" FOREIGN

KEY("AUTOVETTURA")

REFERENCES "TEMPES04"."AUTOVETTURA"("SIGLA"),

CONSTRAINT "FK_PARTECIPAZIONE_GARA" FOREIGN KEY("GARA")

REFERENCES "TEMPES04"."GARA"("NOME"),

CONSTRAINT "FK_PARTECIPAZIONE_PILOTA" FOREIGN

KEY("PILOTA")

REFERENCES "TEMPES04"."PILOTA"("MEMBRO"),

CONSTRAINT "GIRO_VELOCE_UNICO" UNIQUE("GARA",

"IND_GIROVELOCE")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255,

CONSTRAINT "PK_PARTECIPAZIONE" PRIMARY KEY("PILOTA",

"GARA")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255,

CONSTRAINT "POSIZIONE_UNICO" UNIQUE("GARA", "POSIZIONE")

USING INDEX

TABLESPACE "USERS"

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255)

TABLESPACE "USERS" PCTFREE 5 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING

Operazioni 1

E ( ,’ ’,’ ’, _ , );

XEC MYINSERT PILOTA NOMEGARA AUTOVETTURA IND GIROVELOCE POSIZIONE

Operazione 2

, , _ , ,

SELECT NOME COGNOME DATA NASCITA INDIRIZZO NAZIONALITA

_

FROM MEMBRO TEAM

_ . =10

WHERE MEMBRO TEAM CODICE

Operazione 3

. , .

SELECT M NOME M COGNOME

_ ,

FROM MEMBRO TEAM M PARTECIPAZIONE P

. = . . ='G S M '

WHERE M CODICE P PILOTA AND P GARA P AN ARINO AND

. ='C4' ;

P AUTOVETTURA

Operazione 4

. , . _

SELECT P GARA G GIRO VELOCE

,

FROM PARTECIPAZIONE P GARA G

. = . . =1 . _ =1;

WHERE P GARA G NOME AND P PILOTA AND P IND GIROVELOCE

Operazione 5

,

SELECT GARA POSIZIONE

FROM PARTECIPAZIONE

=2 ;

WHERE PILOTA

Operazione 6

. , .

SELECT M NOME M COGNOME

_ ,

FROM MEMBRO TEAM M MECCANICO ME

. = . ='G ' ;

WHERE M CODICE ME MEMBRO AND SPECIALIZZ OMMISTA

. , .

SELECT M NOME M COGNOME

_ ,

FROM MEMBRO TEAM M INGEGNERE I

. = . ='T ' ;

WHERE M CODICE I MEMBRO AND SPECIALIZZ ELEMETRIA

Operazione 7 , ,

SELECT POTENZA MOTORE DESCRIZIONE

,

FROM AUTOVETTURA A PARTECIPAZIONE P

. = .

WHERE P AUTOVETTURA A SIGLA AND

. ='G G ';

P GARA P ERMANIA

Operazione 8

. , .

SELECT M NOME M COGNOME

_ ,

FROM MEMBRO TEAM M COLLAUDATORE C

. = . . ='C2' ;

WHERE M CODICE C MEMBRO AND C AUTOVETTURA


ACQUISTATO

1 volte

PAGINE

16

PESO

261.95 KB

AUTORE

Sara F

PUBBLICATO

+1 anno fa


DETTAGLI
Esame: Basi di Dati
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2002-2003

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Basi di Dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Napoli Federico II - Unina o del prof Chianese Angelo.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Basi di dati

Esercitazione Basi di dati
Esercitazione
Basi di Dati
Dispensa
Basi di Dati – Campionato di calcio
Appunto
Basi di Dati -SQL EMBEDDED
Dispensa