1. Si il vincolo è rispettato, perché si rispetta la chiave primaria di R2,
ovvero ogni elemento di B di R1 compare come chiave in R2
2. Si, compaiono tutte le tuple, proprio perché vincolo di integrità
referenziale
3. Si, selezione e join natural-join
1. Sono delle relazioni che permettono di legare pazienti-ricoveri-reparto-
medici.
Chiavi: in pazienti Cod, in ricoveri Paziente + inizio e fine, in medici
Matr, in reparti Cod.
2. Vincoli di integrità referenziale ricoveri:pazienti ; medici:reparti
(medici, primario); ricoveri:reparto (cod reparto)
3. Si vanno bene.
1. A sigma_categoria=”sulfamidico”(sostanze)
faccio equi-join tra farmaci e sostanze (Nome Sostanza e principio
attivo) e tra questa nuova relazione e produttori (impongo
codProduttore = Produttore )
Proietto “nomeFarmaco” “Nome”.
NB. L’equi-join si fa nel momento in cui 2 attributi presentano nomi
diversi
1) 1. Selezione:
- CittaPart=Milano intersezione CittArr=Roma
- GiornSett=Martedì or Giovedì
2. Join naturale tra tabella che ho appena creato e tab AEREO
3. Selezione:
- NumPasseggeri>200
4. Proiezione: IdVolo
2)
1. Selezione:
-( CittaArr==Parigi intersezione 0am<OraPart<8am)
2. equi-join(CittaPart==Città)
3. sottrazione Aeroporto – Aeroporti appena scovati con voli x Paris prima delle
8!!
3)
Proiezione (Città, NumPiste)
1) 1. Equi-Join (CodReparto==IDreparto)
2. Selezione: NomeReparto==Cardiologia intersezione
(dataInizio<=29/06/2016<=DataFine)
3. Proiezione : CodPazienti
2) 1. Selezione (CodPaziente==P7…)
2. natural-join (CodReparto) con medici
3. equi-join (CodReparto==IDreparto) con reparti
4. proiezione: NomeReparto, Nome, Cognome
3) Selezione: Cognome==Rossi (Medici)
Natural-join: medici*ricoveri =B
Equi-join: B*pazienti (IDmed==IDprim)
Proiezione: IDpazienti
1. Selezione: DataPrelievo==2016 01/01/2016 – 31/12/2016
Equi-join: Cliente=Codice
Proiezione: Nome, Indirizzo, Città, Codice
Devo riuscire a confrontare le tuple della stessa relazione, sfruttando una
finta nuova relazione. Creo una duplica della relazione di partenza
sfruttando la ridenominazione.
NB. Nell’equi-join posso combinare uguaglianze e disuguaglianze.
1. a. Selezione: costo < 2000 (PRODOTTO)
b. Natural join: CodiceP=CodiceP (Prodotto, Catalogo) =B
c. Proiezione da B: Nome, Marca, Modello
2. a. Selezione: marca=’Affluent’ (PRODOTTO) = A
b. Natural Join: A*Catalogo =B
Proiezione: CodiceP =C
equi join: C*fornitore =D
c. Proiezione da D di ‘Nome’
3. Proiezione: CodiceP =A
Ridenominazione: CodiceP1= B
Natural join: A-Catalogo-fornitore=C, B-Catalogo-fornitore=H;
Ridenominazione: CodiceF1= D
E=natural join(C.CodiceF =! D.CodiceF AND CodiceP1 = CodiceP)
F=Proiezione:CodiceP(E)
CRITTOGRAFIA
Crittografia: a chiave simmetrica o a chiave asimmetrica (utilizzati inoltre per
confermare l’integrità e quindi l’autenticità dei messaggi)
Algoritmo RSA A chiave pubblica asimme