Anteprima
Vedrai una selezione di 9 pagine su 38
Appunti di Basi di dati Pag. 1 Appunti di Basi di dati Pag. 2
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti di Basi di dati Pag. 6
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti di Basi di dati Pag. 11
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti di Basi di dati Pag. 16
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti di Basi di dati Pag. 21
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti di Basi di dati Pag. 26
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti di Basi di dati Pag. 31
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti di Basi di dati Pag. 36
1 su 38
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

HAVING, WHERE, GROUP BY, UNION, INTERSEZIONE - Esercizio di SQL

La sintassi completa di un'interrogazione SQL è:

SELECT attributi
FROM tabella
WHERE condizione
GROUP BY attributi
HAVING condizione
UNION
INTERSEZIONE

Nell'esercizio, la prima cosa da fare è calcolare la somma dei salari degli impiegati negli ultimi 100 anni, selezionando solo quelli che non hanno mai cambiato azienda. La condizione è che la somma dei salari sia superiore a una determinata cifra.

SELECT SUM(salario)
FROM impiegato
WHERE anni = 100
GROUP BY noCS
HAVING SUM(salario) > 720

Successivamente, si selezionano i nomi degli impiegati con il cognome "Rossi" che hanno avuto un aumento di stipendio di almeno il 25% negli ultimi 5 anni.

SELECT nome, cognome
FROM impiegato
WHERE cognome = 'Rossi'
GROUP BY nome
HAVING AVG(stipendio) > 1.25 * AVG(stipendio)

Infine, si selezionano le persone con età superiore a 30 anni che hanno un figlio con nome "Paternità" e un reddito medio superiore a 720. Si raggruppano per nome del figlio e si selezionano solo quelli che hanno almeno 20 persone con lo stesso nome.

SELECT nome, età, figlio
FROM Persone
WHERE età > 30 AND figlio = 'Paternità'
GROUP BY figlio
HAVING AVG(reddito) > 720

L'operatore UNION viene utilizzato per unire due insiemi di tuple, eliminando i duplicati. Questo porta a selezionare solo le tuple che hanno lo stesso numero di colonne e sono compatibili tra loro.

L'operatore INTERSEZIONE è equivalente all'intersezione tra due tabelle. Le tabelle devono essere due e devono essere compatibili rispetto all'intersezione. Vengono eliminate eventuali tuple che non sono presenti in entrambe le tabelle.

vengonoduplicatiè noninun sopportatooperatore genereeamo i 55DIFFERENZA vieneindicatocon EXCEPTl'operatoregricato èunoperatorenoningeneresopportatoei inomi tolgoprendo e cognomiConclusioni 56DEFINIZIONE e MANIPOLAZIONE dei DATISQL: Structured Query LanguageSQL: Alcune Notazioni 57Creazione di una Tabella createtable schemacreaunodivuoto relazioneservepercreareioschemadiunatabella danometabelia formatoesserepuolettereonumenidevema necessariamenteletterainiziareconunadi chevalevincolounvincono dominiosottantoperanenospeciticoattribut cattributoctassoe'un chevincolovinconoditabellal'interatupial'interatabenacoinvolge 1000sectassoanorastipendio ilvincoloandareaverificareperil piu'didevesistema guardareattributoun latoreigneeyèunuincolodiEsempio tabella.no chedevoverificaretutteleistanzedianceattributosianocontenuteneniattributodiunattratabenaetnea chiaveprimariaNomentano IstringadiocaratterifissaIiè amanimolungaro

Il tuo compito è formattare il testo fornito utilizzando tag html. ATTENZIONE: non modificare il testo in altro modo, NON aggiungere commenti, NON utilizzare tag h1; Il testo formattato con i tag html è il seguente:

aurdideraulteunuacoreaediceseionon perconoscoe attributonumericodas aneuatupiailvalorediance8 può un gliavere attributo perassegnovacordiacaanaj cannone diunvaloreconvenzionei defaultchiavecoanomeenomee'una mainonpotrò inserireLenereaerenziaienomedipartimentounoiaineanesanaturiaimpiegatoguardaresolamentean'internodenatasena dianiicaipartimentononc'presentenenaATTENZIONE !!! tabenaaipatimentoanimaisenenatabenanoidipartimentodipatimentinermenatabenanonpossoimpiegatoinserinciatupiacheènelunaUnaprimaryeeupertaben lchiavecnenonammetteil non58Domini è dila memorizzarepossibilità chenatuplaimmaginitestivideo nomecognomefotografiaSQL: Domini Predefinitibyteinpiùasempreperlarappresentazione Ma esenzacon segnosegno numerisonorealiesamie s 59definitisono conantissaesponentedoppiaprecisionetuttolutto predefinitocampo annomesegiornooraminutosecondoDomini introdotti in SQL ( 1999 ) 60tabellaDomini definiti dall’utente aenasingolaseio

ununsingoloattributodefinisco etàetà valechemidice vincoloeiovincolo questo tabellaetà dentroquellal'attributosoltantoper basesepoimenostessa dic'èetà eIIIIdove nuovodevovoglioimaggiorennidi etànuovoscrivere 18C DOMAREATE IN èilmotivofondamentale etaattributoperquest'altropiuche idati pulitiesono realtàconlaconsistentiECRE T NMADOA I definireundominioCHEC K 61Modifica e Cancellazione di domini fatteemodifica cancellazionevengonoalterdomain averinserito datigiàin igeneredoposetDEFAULTDROPDEFAULTaddconstraintconstraintdropdomaindrop restrict cascadeCancellazione di domini definiti dall'utente ildominio etacancellarevoglio impiegatilo cancello neveseildominioeraunizzatotrabene letabellesononone la delvuoteallora scelta sistemaè lanon cancellazionepermetteforzarequestasceltamaposso sicheetaritornidifaquestointerotipo 62Modifica di domini definiti dall'utente si forzarepuò

cancellazionequestamavarie qualicescelte avevatacendo ildi nonilsostituire con valoredefault dièil defaultvalore unsaseil valoresistemaèo unvalorevero

VINCOLI di INTEGRITÀ igati chelabasidiserveagarantire ladatisiaconsistenteconsemanticadell'applicazionedefinitisullasingolarelazione tabellecoinvolgonotabellatabellareferenziaun'altrauna 63VINCOLI PREDEFINITI sugli ATTRIBUTITABLECREATENOTNULLNULL aneepaunawaanumauauniKEYPRIMARYUNIQUE UNIQUE didiversisu attributiuninsiemeygyyyy.ee nonsigniticachepreseanetuple esseredevonoqueste glitutti attributidiversesubastachesianodiversemaREFERENCES suunodianestisevouvaveciacrinitos nomeecognomeanomaniorossinenastessabasidiaatipossoavereancneGiovannirossiemaniobianchi

VINCOLI PREDEFINITI sulla TABELLACREATE TABLEKEYPRIMARYUNIQUEFOREINGKEY 64NOT NULL e DEFAULTDEFAULT stringadi variabilelunghezzaal solungamassimo nanononpuoessereµnaaastringadi variabilelunghezzaciao al solungamassimonanopuòessere

cippovaloredidefaultèunintero etàcioèCHIAVI Candidate e PrimarieUNIQUEKEYPRIMARY definire èlachiave nonprimaria obbligatorioin èuna disai ma regola progettolacioèper tabellavadefinitaogni tabellaunachiaveprimariapercheènel unmultinsiemedefinita Dbms onee essercipertantopotrebberotupleugualiQuindiper altreevitare equestocosee unafortemente definireconsigliatochiaveprimaria inveceèPerlaprogettazione obbligatoriotabellapuòinquestapertanto LuciaMariounaunessercisonoecc lase LuciahannoMarioestessaeta 25anninonpossonostarcientrambi 65inseritivengonoanatine acainiscogliattributisaeniniswiaprimaryceyvinsiemedicenticomeattributicacientiaementearneagglifinitelesiuniavecomevinsiemedialtriIl divoravainvecevavincolo alladefinizionemessoaccantodell'attributoperchésiriferisceaanenospecificoattributocomesetosseunaPrimarie nonpossono ci esserepossonoa esseresiamaniorossilian sianmariorossilieneRossiGiovanniRossiGiovanni

66Vincoli di FOREIGN KEY: una tabella fa riferimento ad un'altra tabella e una o più campi o una tabella referenziante devono avere valori presenti nel sottoinsieme della tabella a cui la chiave è referenziata. REFERENCES.

67Inserimento dei dati in una tabella: la base una volta progettata, le tabelle possono essere create e i valori possono essere inseriti utilizzando la sintassi INSERT INTO. Non è possibile specificare i valori delle colonne in un insieme di valori, ma è necessario elencare le colonne e i valori corrispondenti nella definizione della tabella. Al momento dell'inserimento, è possibile omettere colonne se non si desidera specificare un valore per quella colonna. Quella colonna avrà il valore di default o sarà NULL se non è stata definita alcuna regola di default.

68I valori devono essere completi e devono essere inseriti nell'ordine in cui sono specificati.

69Cancellazione di Tuple: per cancellare tutte le tuple che si desidera da una tabella, è necessario specificare una condizione nella clausola WHERE.

cancellazione valutata viene Aggiornamento di Tuple

UPDATE SET E

WHERE UPDATE 70

Garantire l' INTEGRITÀ REFERENZIALE essenaoonesiafiglioenegemiton reaerenzianoiatasenapersonase ovienemodificata cancellatauna diriga personabisognapermantenenevintegritaineterenzialeespopone genitore

Giovanna Giovannapossoiancenareaanatabenagenitorièauenaconservativa smantengoiatoreianneyvalida IngagentaupeinmicompareÉaatureactionno ietabenee'una càmitàntentistrategiae onestaapplicandoisana suaNOACTION0

71apronomangiati ivalorichesonomodificatiacambiare diil valoremettiamosul defaultdeletee JackDELETEFROM nullanonsuccedesmaniaè noactiongenitor

Dettagli
Publisher
A.A. 2022-2023
38 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher NikyD00 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à Università degli Studi di Roma La Sapienza o del prof Catarci Tiziana.