Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

La relazione EFFETTUATA è di tipo molti a molti con partecipazione obbligatoria,

si traduce come una R-relazione che ha per attributi gli identificatori di

MANUTENZIONE e AUTO.

La relazione APPLICAZIONE è di tipo molti a molti con partecipazione

obbligatoria, si traduce come una R-relazione che ha per attributi gli identificatori di

PEZZI DI RICAMBIO e TIPI AUTO.

La relazione UTILIZZO è di tipo molti a molti con partecipazione opzionale, si

traduce come una R-relazione che ha per attributi gli identificatori di

MANUTENZIONE e PEZZI DI RICAMBIO.

La relazione (FATTURA)DI è di tipo molti a molti con partecipazione obbligatoria,

si traduce come una R-relazione che ha per attributi gli identificatori di FATTURA e

MANUTENZIONE.

 RICHIESTA (CF, CodMan)

 EFFETTUATA (CodMan, Targa)

 APPLICAZIONE (Modello, Costruttore,CodRic)

 UTILIZZO (CodMan, CodRic)

 (FATTURA)DI (NumFatt, CodMan)

In base alla traduzione delle entità e delle relazioni, giungiamo allo schema logico

completo per l’autofficina.

CLIENTE (CF,Cognome, Nome, Indirizzo)

MANUTENZIONE (Codice, Costo Manodopera)

AUTO(Targa, Autoepoca, Annoimmatricolazione, CF, Modello, Costruttore)

FATTURA (NumFatt, Data, Importo, CF)

PEZZI DI RICAMBIO (Codice, Nome, Costo)

TIPIDIAUTO (Modello, Costruttore, Cilindrata, Informazioni Tecniche)

TELEFONO (NumTel, CF)

RICHIESTA (CF, CodMan)

EFFETTUATA (CodMan, Targa)

APPLICAZIONE (Modello, Costruttore,CodRic)

UTILIZZO (CodMan, CodRic)

(FATTURA)DI (NumFatt, CodMan)

7. IMPLEMENTAZIONE DELLE OPERAZIONI

Passiamo all’implementazione delle operazioni che sono state qui definite per

l’autofficina.

7.1 Creazione delle tabelle

CREATE TABLE "CLIENTE"

(

"CF" VARCHAR2(20 byte) NOT NULL,

"COGNOME" VARCHAR2(50 byte) NOT NULL,

"NOME" VARCHAR2(50 byte) NOT NULL,

"INDIRIZZO" VARCHAR2(10 byte) NOT NULL,

CONSTRAINT "PK_CLIENTE" PRIMARY KEY("CF")

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 "MANUTENZIONE"

(

"CODICE" VARCHAR2(20 byte) NOT NULL,

"COSTOMAN" NUMBER(10 byte) NOT NULL,

CONSTRAINT "PK_CODICE" 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 10 PCTUSED 0 INITRANS 1 MAXTRANS

255

STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING;

CREATE TABLE "PEZZI DI RICAMBIO"

(

"CODICE" VARCHAR2(20 byte) NOT NULL,

"NOME" VARCHAR2(50 byte) NOT NULL,

"COSTO" NUMBER(20) NOT NULL,

CONSTRAINT "PK_PEZZIRICAMBIO" 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 20 PCTUSED 0 INITRANS 2 MAXTRANS

255

STORAGE ( INITIAL 16K NEXT 0K MINEXTENTS 1 MAXEXTENTS

2147483645 PCTINCREASE 0)

LOGGING;

CREATE TABLE “FATTURA"

(

"NUMFATT" NUMBER(10) NOT NULL,

"DATA" DATE NOT NULL,

"IMPORTO" NUMBER(10) NOT NULL,

"CF" VARCHAR2(25 byte) NOT NULL,

CONSTRAINT "FK_FATTURA_CLIENTE" FOREIGN KEY("CF")

REFERENCES "CLIENTE"("CF"),

CONSTRAINT "PK_FATTURA" PRIMARY KEY("NUMFATT")

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 "TIPIAUTO"

( "MODELLO" VARCHAR2(30 byte) NOT NULL,

"COSTRUTTORE" VARCHAR2(50 byte) NOT NULL,

"CILINDRATA" NUMBER(10) NOT NULL,

"INFORMAZIONITECNICHE" VARCHAR2(100 byte) NOT NULL,

CONSTRAINT "PK_TIPIAUTO" PRIMARY KEY("MODELLO",

"COSTRUTTORE")

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 "AUTO"

(

"TARGA" VARCHAR2(20 byte) NOT NULL,

"AUTOEPOCA" VARCHAR2(2 byte) NOT NULL,

"ANNOIMMATRCOLAZIONE" NUMBER(4) NOT NULL,

"CF" VARCHAR2(20 byte) NOT NULL,

"MODELLO" VARCHAR2(20 byte) NOT NULL,

"COSTRUTTORE" VARCHAR2(50 byte) NOT NULL,

CONSTRAINT "CK_AUTOEPOCA" CHECK(AUTOEPOCA='SI' or

AUTOEPOCA='NO'),

CONSTRAINT "FK_AUTO_CLIENTE" FOREIGN KEY("CF")

REFERENCES "CLIENTE"("CF"),

CONSTRAINT "FK_AUTO_TIPIAUTO" FOREIGN KEY("MODELLO",

"COSTRUTTORE")

REFERENCES "TIPIAUTO"("MODELLO", "COSTRUTTORE"),

CONSTRAINT "PK_AUTO" PRIMARY KEY("TARGA")

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 "TELEFONO"

(

"NUMTEL" NUMBER(20) NOT NULL,

"CF" VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "PK_TELEFONO" PRIMARY KEY("NUMTEL", "CF")

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 "RICHIESTA"

(

"CF" VARCHAR2(20 byte) NOT NULL,

"CODMAN" VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "PK_RICHIESTA" PRIMARY KEY("CF", "CODMAN")

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 "EFFETTUATA"

(

"CODMAN" VARCHAR2(20 byte) NOT NULL,

"TARGA" VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "PK_EFFETTUATA" PRIMARY KEY("CODMAN", "TARGA")

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 "APPLICAZIONE"

(

"MODELLO" VARCHAR2(30 byte) NOT NULL,

"COSTRUTTORE" VARCHAR2(50 byte) NOT NULL,

"CODRIC" VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "PK_APPLICAZIONE" PRIMARY KEY("MODELLO",

"COSTRUTTORE", "CODRIC")

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 "UTILIZZO"

(

"CODMAN" VARCHAR2(20 byte) NOT NULL,

"CODRIC" VARCHAR2(20 byte) NOT NULL,

CONSTRAINT "PK_UTILIZZO" PRIMARY KEY("CODMAN", "CODRIC")

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 "FATTDI"

(

"NUMFATT" VARCHAR2(10 byte) NOT NULL,

"CODMAN" VARCHAR2(10 byte) NOT NULL,

CONSTRAINT "PK_FATTDI" PRIMARY KEY("NUMFATT", "CODMAN")

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;

7.2 Query SQL e procedure PL/SQL

Interrogazione O1

INSERT INTO CLIENTE (CF, COGNOME, NOME,INDIRIZZO)

VALUES('MNTMDD34','MONDA','MARIA','VIA ORAZIO 250');

COMMIT;

Interrogazione O2

UPDATE CLIENTE

SET INDIRIZZO='VIA PIAVE 150'

WHERE(CF='MRSMRS' AND COGNOME='IZZO' AND NOME='MARISA');

COMMIT;

Interrogazione O3

INSERT INTO AUTO (TARGA, AUTOEPOCA,

ANNOIMMATRCOLAZIONE,CF, MODELLO, COSTRUTTORE)

VALUES(‘NAF12123’, ‘NO’, ‘1993’,’MNTMDD’,’PANDA’,’FIAT’);

COMMIT;

Interrogazione O4

INSERT INTO PEZZIRICAMBIO (CODICE, NOME, COSTO)

VALUES('17F','AMMORTIZZATORE','200');

COMMIT;

Interrogazione O5

UPDATE PEZZIRICAMBIO

SET COSTO='160’

WHERE (CODICE='16E' AND NOME='FRENI');

COMMIT;

Interrogazione O6

UPDATE MANUTENZIONE

SET COSTOMAN=COSTOMAN*1.1

WHERE CODICE=’1122AA’ ;

COMMIT;

Interrogazione O7

SELECT COGNOME||' '||NOME||' '||NUMFATT||' '||IMPORTO||'

'||CLIENTE.CF INTO FATTURA

FROM CLIENTE JOIN FATTURA

ON (CLIENTE.CF=FATTURA.CF)

WHERE FATTURA.DATA=’02-01-2004’AND

CLIENTE.NOME=’MARISA’ AND

CLIENTE.COGNOME=’IZZO’;

Altri esempi di interrogazioni

SELECT CLIENTE.CF,MODELLO,COSTRUTTORE

FROM CLIENTE JOIN AUTO ON (CLIENTE.CF=AUTO.CF)

WHERE COGNOME='MUTO' AND NOME='VALENTINA';

SELECT *

FROM CLIENTE

WHERE NOME='VALENTINA' AND COGNOME='MUTO';

SELECT TARGA

FROM AUTO

WHERE MODELLO='500L' AND COSTRUTTORE='FIAT';

SELECT *

FROM TIPIAUTO

WHERE MODELLO='MAREA';

SELECT IMPORTO

FROM FATTURA

WHERE CF='MRSMRS';

SELECT NUMTEL

FROM TELEFONO

WHERE CF='MTUVNT80';

SELECT CILINDRATA

FROM TIPIAUTO

WHERE MODELLO='500L' AND COSTRUTTORE='FIAT';

O1 Inserisci un nuovo cliente

CREATE OR REPLACE PROCEDURE MYINSERT01

(

inCF CLIENTE.CF%TYPE,

inCOGNOME CLIENTE.COGNOME%TYPE,

inNOME CLIENTE.NOME%TYPE,

inINDIRIZZO CLIENTE.INDIRIZZO%TYPE

)

AS

BEGIN

INSERT INTO CLIENTE (CF, COGNOME, NOME,

INDIRIZZO)

VALUES(inCF, inNOME, inCOGNOME,inINDIRIZZO);

COMMIT;

END MYINSERT01;

O2 Modifica dati di un cliente .

CREATE OR REPLACE PROCEDURE MYUPDATE02

(

inCF CLIENTE.CF%TYPE,

inCOGNOME CLIENTE.COGNOME%TYPE,

inNOME CLIENTE.NOME%TYPE,

inINDIRIZZO CLIENTE.INDIRIZZO%TYPE)

AS

BEGIN

UPDATE CLIENTE

SET INDIRIZZO=inINDIRIZZO

WHERE(CF=inCF AND COGNOME=inCOGNOME AND

NOME=inNOME);

COMMIT;

END MYUPDATE02;


ACQUISTATO

1 volte

PAGINE

23

PESO

98.97 KB

AUTORE

Sara F

PUBBLICATO

+1 anno fa


DESCRIZIONE APPUNTO

Appunti di Basi di DatiProgetto Autofficina. Nello specifico gli argomenti trattati sono i seguenti: Si vuole rappresentare una base di dati per un’auto officina. I clienti dell’auto officina sono caratterizzati dal codice fiscale, dal nome, e dall’indirizzo. Le automobili dei clienti...ecc.


DETTAGLI
Esame: Basi di Dati
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

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 - Boyce /Codd
Dispensa
Basi di Dati – Campionato di calcio
Appunto