Torna in homepage www.vincenzomanzoni.com
Homepage personale e blog di Vincenzo Manzoni
 
 FAQFAQ   CercaCerca   Cerca con GoogleCerca con Google   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati   Feed AtomFeed
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

[SISINFO2]ultima esercitazione

 
Questo forum è chiuso: Non puoi inserire, rispondere o modificare gli argomenti.   Quest'argomento è chiuso: Non puoi inserire, rispondere o modificare i messaggi.    Indice del forum -> Men at work
Precedente :: Successivo  
Autore Messaggio
abaddon
Utente adulto
Utente adulto


Registrato: 05/04/04 16:32
Messaggi: 2033

MessaggioInviato: Gio Dic 16, 2004 5:25 pm    Oggetto: [SISINFO2]ultima esercitazione Rispondi citando

Ho provato a rifare gli esercizi che ci ha dato oggi.... ma su alcune cose sono dubbioso...

provate a darci un'occhiata va..

Es. 3
Citazione:

Struttura DB:

Produzione_mi=∂(TipoParte=”keyword”) produzione
Produzione_to=∂(TipoParte=”screen”) produzione
Produzione_roma=∂(TipoParte=”CPU”) produzione
Produzione_na=∂(TipoParte=”cable”) produzione

Prelievo_mi=prelievo ∞ (numeroserie=numeroserie) Produzione_mi
Prelievo_to=prelievo ∞ (numeroserie=numeroserie) Produzione_to
Prelievo_roma=prelievo ∞ (numeroserie=numeroserie) Produzione_roma
Prelievo_na=prelievo ∞ (numeroserie=numeroserie) Produzione_na

Cliente_mi=∂(Citta=”milano”) Cliente
Cliente_to=∂(Citta=”torino”) Cliente
Cliente_roma=∂(Citta=”roma”) Cliente

Venditore_mi=∂(citta=”milano”) Venditore
Venditore_to=∂(citta=”torino”) Venditore
Venditore_roma=∂(citta=”roma” OR citta=”napoli”) Venditore

(l'ultima riga non ne son certo)


Es. 4

Citazione:

1)
SELECT qta FROM Produzione_mi WHERE Numeroserie=”77y6878”
IF EMPTY
SELECT qta FROM Produzione_mi UNION SELECT qta FROM Produzione_to UNION SELECT qta FROM Produzione_roma UNION SELECT qta FROM Produzione_na WHERE Numeroserie=”77y6878”

2)
SELECT cliente FROM prelievo_mi UNION SELECT cliente FROM prelievo_to UNION SELECT cliente FROM prelievo_roma UNION SELECT cliente FROM prelievo_na WHERE venditore=”bianchi”

3)
SELECT macchina FROM produzione_mi INNER JOIN prelievo_mi ON produzione_mi.numeroserie=prelievo_mi.numeroserie WHERE prelievo.venditore=rossi.


4)
UPDATE venditore_mi SET citta='roma', indirizzo='viale trastevere 5' WHERE citta='milano' AND indirizzo='via Po 4'

CREATE TRIGGER mod_db ON venditore_mi
BEFORE UPDATE
IF((SELECT citta FROM INSERTED)<>'milano' AND (SELECT citta FROM INSERTED)='roma')
BEGIN
INSERT INTO venditore_roma VALUES ((SELECT * FROM INSERTED))
DELETE FROM venditore_mi WHERE nome=(SELECT nome FROM DELETED)
END
IF((SELECT citta FROM INSERTED)<>'milano' AND (SELECT citta FROM INSERTED)='torino')
BEGIN
INSERT INTO venditore_to VALUES ((SELECT * FROM INSERTED))
DELETE FROM venditore_mi WHERE nome=(SELECT nome FROM DELETED)
END

qua ho fatto un trigger... altrimenti come si fa a spostare un dato da un db ad un altro?



il 5 prossimamente... devo essere in forze per quello Razz
Top
Profilo Invia messaggio privato HomePage
vinz
Amministratore
Amministratore


Registrato: 12/12/03 12:56
Messaggi: 6648
Residenza: San Pellegrino Terme (Bergamo)

MessaggioInviato: Gio Dic 16, 2004 6:34 pm    Oggetto: Re: [SISINFO2]ultima esercitazione Rispondi citando

abaddon ha scritto:
Ho provato a rifare gli esercizi che ci ha dato oggi.... ma su alcune cose sono dubbioso...

provate a darci un'occhiata va..

Bravo adabbon! Cool
Prometto, prometto che appena passato domani (esame di Automazione) ci guardo bene,
_________________
Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla
Top
Profilo Invia messaggio privato HomePage
abaddon
Utente adulto
Utente adulto


Registrato: 05/04/04 16:32
Messaggi: 2033

MessaggioInviato: Ven Dic 17, 2004 1:32 pm    Oggetto: Rispondi citando

ecco le bombe sull'ultimo esercizio a oggetti...

Citazione:

A)

Create type ciclista (
nome varchar(30),
cognome varchar(30),
citta varchar(30),
squadra ref(squadra))
)
not final
ref is system generated

create type squadra(
nome varchar(30),
sede varchar(30)
)
not final
ref from nome

create type tappa(
inizio varchar(30),
fine varchar(30),
vincitore ref(ciclista),
capo_classifica ref(ciclista),
piazzati ciclista array[3]
)
not final
ref is system generated

create table squadra of squadra
(ref is nome derived)

create table ciclista of ciclista
(ref is id_ciclista system generated)

create table tappa of tappa
(ref is id_tappa system generated)

1)select fine FROM tappa WHERE vincitore->id_ciclista<> capo_classifica->id_ciclista AND vincitore->squadra->nome = capo_classifica->squadra->nome
2)SELECT piazzati->nome FROM tappa WHERE inizio=fine AND piazzati->squadra->nome='telekom'

(NON SO COME SI GESTISCONO GLI ARRAY NEI SELECT PER LA SECONDA QUERY)

B)

create type cantante(
nome varchar(30),
cognome varchar(30),
genere ref(ciclista))
)
not final
ref is system generated

create type concerto(
citta varchar(30),
data date,
cantante ref(cantante))
not final
ref is system generated

create table cantante of cantante
(ref is id_cantante system generated)

create table concerto of concerto
(ref is id_concerto system generated)

1)SELECT cantante->nome FROM concerto WHERE citta='milano'
2)SELECT data, cantante->nome FROM concerto WHERE citta='milano'

(nella seconda query, la seconda metà l'ho tolta essendo troncata)

C)

create type locale(
nome varchar(30),
citta varchar(30),
indirizzo varchar(30),
telefono int,
)
not final
ref is system generated

create type albergo(
camere_libere int,
camere_tot int
categoria varchar(30)
under locale
)
not final

create type ristorante(
menu varchar(30) ,
posti_tot int
categoria varchar(30)
under locale
)
not final

create type bed_breakfast(
posti int,
menu varchar(30),
costo int
under locale
)
not final

create table locale of locale
(ref is id_locale system generated)

create table albergo of albergo
under locale

create table ristorante of ristorante
under locale

create table bed_breakfast of bed_breakfast
under locale

1)SELECT nome FROM albergo WHERE citta='milano' AND indirizzo in(SELECT indirizzo FROM ristorante WHERE categoria='1a' AND citta='milano')
2)SELECT nome FROM ristorante UNION SELECT nome FROM albergo WHERE ristorante.categoria>'2a' OR albergo.categoria>'1a'
2bis)SELECT nome FROM ristorante WHERE categoria>'2a' UNION SELECT nome FROM albergo WHERE categoria>'1a'

non so quale delle ultime 2 sia giusta...
nella C mi sono dato alla sperimentazione... non so quanto sia giusto...
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Questo forum è chiuso: Non puoi inserire, rispondere o modificare gli argomenti.   Quest'argomento è chiuso: Non puoi inserire, rispondere o modificare i messaggi.    Indice del forum -> Men at work Tutti i fusi orari sono GMT 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it