1. INTRODUZIONE ALLE BASI DI DATI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1. INTRODUZIONE ALLE BASI DI DATI"

Transcript

1 1.INTRODUZIONEALLEBASIDIDATI 1.1SISTEMAINFORMATIVOESISTEMAINFORMATICODIUN ORGANIZZAZIONE Unsistemainformativoèuninsiemeorganizzatodiprocedureedirisorseumaneemateriali utilizzateperlaraccolta,l archiviazione,l elaborazioneelacomunicazionediinformazioni necessarieadun organizzazionepergestiresialeattivitàoperativechequelledigoverno. Ilsistemainformaticoèilsottoinsiemedelsistemainformativodedicatoallagestione automaticadelleinformazioniechefausodimaterialiditipoinformatico 1.2TREREALTÀCAMPIONEESCENARISIGNIFICATIVI 1.2.1LAREALTÀAZIENDALEESSENZIALE:ARTICOLI,ORDINI,CLIENTI,FATTURE 1.2.2LAREALTÀDELLEPRENOTAZIONIAEREE 1.2.3LAREALTÀDIUNABIBLIOTECA 1.3TERMINOLOGIAECONCETTIESSENSIALISULLEBASIDIDATI 1.3.2DATI,INFORMAZIONIECONOSCENZA Idatirappresentanodeifattidellarealtàinesame.Undatocostituisceinformazionesoloseè ingradodimodificarelaconoscenzadellarealtàdichiloriceve. Interminipiùesplicitii dati sonoindefinitivadellesequenzebinariesuuncertosupporto dimemoria,mentreleinformazionisonolaconoscenzasuifattidellarealtàchepossono essererappresentatidaidati STRUTTURADEIDATI Affinchéidatipossanocostituireinformazione(cioèavereunsignificato)devonoessere corredatidaunachiavediinterpretazione.inparticolaresicercadidareunastrutturaaidati cherendapossibileunalorocorrettainterpretazioneindipendentementedallorovolume. Unodeimodipiùsempliciepiùcomunièquellodistrutturareidatiinunaopiùtabelle ILCONCETTODIMODELLODEIDATI Inprimaapprossimazioneunmodellodeidatièunostrumentolinguisticoingradodi attribuireuna struttura aidati. Esistonotrecategoriedimodellideidati,corrispondentiatrelivellidecrescentidiastrazione suidati:

2 modelliconcettuali(osemantici):vengonoutilizzatenozionidilivellomoltoalto,cioè vicinoalmododipensaredell uomo.ilpiùnotoediffusoèilmodelloer(entity Relationship). modellilogici:vengonoutilizzatenozionidilivellointermedio.inparticolareviene utilizzatalanozionedirecord(registrazione).ilpiùnotoediffusoèilmodello relazionale. modellifisici:vengonoutilizzatenozionitipichedellivellodeifileedellememoriedi massa.piùchedimodellisiparladiorganizzazionifisichedeidati(odimetodidi accesso):sequenziale,sequenzialeconindice,tabellahash,ab + albero,ecc VINCOLIDIINTEGRITÀ Ingenereidatinonpossonoerre liberi,maperrappresentaredavverolarealtàinesame devonosottostareadeivincolidivarianaturachiamativincolidiintegrità.essisidividonoin: univocitàrispettoaunachiave restrizionesuldominiodiunattributo integritàreferenziale vincoliparticolari(quellichenonricadonodelleprecedenticategorie) 1.3.5SCHEMADEIDATIEDDL Unoschemadeidatièunadescrizionedellastrutturadeidatiedeivincolidiintegritàcheessi devonosoddisfre. Perdescrivereunoschemaognimodellodeidatimetteadisposizioneunlinguaggio classificatocomeddl(datadefinitionlanguage) OCCORRENZEDIBASEDIDATI.INTENSIONE/ESTENZIONE Unaoccorrenza(oistanza)dibasedidatiDèuninsiemedidatistrutturatosecondouno schemas,chevienedettointensionedid.inversamentesidicechedèunapossibile estensionedelloschemas. Inparticolarel intensionediuninsiemeditabelleè,letteralmente, ciòchesiintende con quelletabelle CONCETTODIBASEDIDATI Inprimaapprossimazionepotremmodefinireunabasedidaticomeunoggettoingradodi contenereinogniistanteunaparticolareestensionediunoschema(occorrenzadibasedi dati) Bisognaperòtenercontodidiverseesigenzepratichecomel accessoconcorrenteela sicurezzadeidati.

3 1.3.8MANIPOLAZIONEDEIDATIEDML Unmodellodeidatifornisceanchestrumentipermanipolareidati,oltreastrutturarlie vincolarli.permanipolazionediintendel applicazionedioperazionivoltea: estrarreinformazionedallabasedidati modificarelabasedidati Inquestosenso,unabasedidatinonvienepiùvistasemplicementecomeuncontenitore strutturatodeidati,macomeunsistemaingradodipermettereosservazionidelsuostatoedi modificarneilsuostato. Inpratica,piùcheuninsiemedioperazioni,vienespessomessoadisposizionedegliutenti dellabasedidatiundml(datamanipulationlanguage). UnDMLpuòessereunlinguaggiodausarsiautonomamenteoad immersione inun linguaggiodiprogrammazionetradizionale DMLPROCEDURALIENON PROCEDURALI(QUERYLANGUAGES) UnDMLvieneclassificatoproceduraleseperesprimeredelleinterrogazionisullabasedidati sideve,ingenerale,esprimereunaseriedicomandidaeseguirsisuccessivamenteper reperireidatirichiesti.incasocontrariovieneclassificatocomenon procedurale(oquery language) CONDIVISIONEDEIDATI,ACCESSOCONCORRENTEETRANSAZIONI Unanecessitàchesipresentaèquelladiprevederel accessoalsistemainformaticodapiù utenti,doveper utente siintende,nontantoononsolounapersonafisica,quantoun processocheaccedeaidatiinconcorrenzaconaltriprocessi. Lasoluzioneaquestiproblemiconsistenelchiederechelemodificheeleinterrogazioni soggetteadinterrogazioneconcorrentesianoeseguitecometransazioni. Unatransazioneèunasequenzadiazionidiunaprocedurachesiproponedimodificareod osservarelabasedidaticonlaproprietàdiatomicità:ovengonoeseguitedeltuttocome un unicaazioneelementareeindivisibile,ononvengonoeseguiteaffatto:eventualieffetti parzialidevonoquindiessereannullati SICUREZZADEIDATIEAUTORIZZAZIONI Siponeperognibasedidatiilproblemadiproteggereidati,assicurandolanecessaria sicurezzadeidatiattraversounsistemadiautorizzazioni. Ilproprietariohalanecessitàdi: riservareesclusivamentepersécertiusideidatie/odiunaloroparte autorizzareparticolariutentiadeffettuaredeterminatiusideidatiodiunaloroparte Inaltriterminihalanecessitàdidifendersidatretipidiusifraudolentideidati:

4 furtodiinformazioni manomissionedeidati distruzionedeidati Occorrequindicheesistanodeimeccanismiperladifesa,oltreaquellifornitidalsistema operativo.tipicamentesifaràusodiidentificazionedegliutenti,dipasswordeditecnichedi crittografia INTEGRITÀERIPRISTINODEIDATI Ènecessarioinoltreproteggersidamalfunzionamentihardwareosoftwarechepotrebbero fareassumereunostatoinconsistente,cioèunostatoincuiidatinonsonocoerentifraloro. Conl espressioneripristinodeidatisiintendequell attivitàmediantelaqualesiripristinauno stato integro oconsistentedellabasedidati DEFINIZIONEDIBASEDIDATI Unabasedidati(odatabase)èuncontenitoredidaticherispondealmenoaiseguenti requisiti: idatisonoorganizzatiinaccordoadunprecisoschemadiunmodellodeidati idatisonoutilizzabiliperdiverseapplicazioni,eventualmenteinconcorrenzafraloro, dautentiogruppidiutentidiversiinteressaticiascunoasottoinsiemideidatipresenti esisteunaintegrazionedeidati,inmododarendereminimalalororidondanza.non esistecioèunaincontrollataduplicazionedeidatidipendentedalnumeroedaltipo dellaapplicazioni esistonomeccanismiperlasicurezzadeidatichenegarantisconolariservatezzaeli proteggonodaaccessinonautorizzatifraudolentioaccidentali esistonomeccanismiperilripristinodeidatiodiloroinconsistenzeprovocateda guastihardwareosoftware SISTEMIDIGESTIONEDIBASIDIDATI(DBMS)ESOTTOSCHEMI IlDBMS(DataBaseManagementSystem)osistemadigestionedibasididatièuncomplesso dimodulisoftwarecherisolveiproblemipostidalrispettodeirequisitidellabasedidati. Essoconsentedi: definireloschemalogicodellabasedidati,atalepropositovienefornitoilddl(data DefinitionLanguage) accederee/omodificareidatidiunabasedidati,atalepropositovienefornitoildml (DataManipulationLanguage) definiresottoschemicheconsentonoaciascunprogrammatorediun applicazionedi limitarel attenzioneallapartedelloschemachelointeressa definirealcuniparametriqualitativiequantitatividellestrutturefisichedi memorizzazionedellabasedidati,atalescoposiusaunlinguaggiodettodmcl (DeviceMediaControlLanguage)oDSL(DeviceStorageLanguage)

5 1.3.15DIZIONARIODEIDATI Ildizionariodeidaticostituisceunaspeciedibasedidatisullabasedidati.Essocontienein particolaretutteleinformazionisulloschemachepossonoessererichiestedaldbmsatempo diesecuzioneperoperaresuidati.serveinoltreairesponsabilidelsiperladefinizione inizialedelloschemaedeisottoschemieperlaloromanutenzione MODODIOPERAREDIUNDBMS Ognirichiestadioperaresullabasedidati(attraversoilDML)sitraduceinunacomplessa seriedioperazioniabassolivelloperindividuareesattamenteidatirichiestiepergarantire unesitoautorizzato,corretto,edefficiente.

6 1.3.17INDIPENDENZALOGICAEFISICA Lastrutturaatrelivelli(esterno,logico,interno)serveagarantiredueimportantiproprietà perundbms: indipendenzalogica,cioèlapossibilitàdimodificareloschemalogicodiunabasedi datisenzadovermodificareiprogrammiapplicativinoninteressatiallamodifica(e viceversa) indipendenzafisica,cioèlapossibilitàdimodificarel organizzazionefisicadeidati senzadovermodificareiprogrammiapplicativi(eviceversa) CLASSIDIUTENZAEDBA AdunSIbasatosuiDBMSsirivolgonotipicamentequattroclassidiutenti: utentisemplici,sonoglioperatoricheusanoleapplicazioniinterattivecostruitedai programmatoridelleapplicazioni utentisofisticati,utenticheintendonoaccedereainformazionidigovernooriservate programmatoridelleapplicazioni,sonocolorocheusanoildmlpercostruire specificheapplicazioni l amministratoredellabasedidatiodba(databaseadministrator),persona(o gruppodipersone)chepartecipaallaprogettazionedelsistemainformaticoeche assolveaicompitifondamentaliperlamanutenzioneelagestionedelsi

7 2.ILMODELLOCONTETTUALEER Ilmodelloconcettualedeidatipiùutilizzatooggièsenz altroilmodelloentità associazionio ER(EntityRelationship). IlmodelloERsibasasull usodiduetipidiastrazioni:leentitàeleassociazioni(fraentità). 2.1ENTITÀETIPODIUN ENTITÀ Un entitàèunaqualsiasicosaconcretaoastrattadistinguibiledallealtre(es.sole,luna,tizio, Caio,odio,amore,ecc.) Ècompitospecificodelprogettistaconcettualeclassificaretutteleentitàdell universodel discorsoinbasealleproprietàchepresentano.cosìsoleelunasarannoclassificatecome esemplari(oistanze)diastro.questoprocessomentalevoltoaindividuarelesomiglianzedi diverseentitàastraendodallelorospecifichedifferenzeènotoappuntocomeclassificazione. ASTRO,PERSONA,SENTIMENTOsononomiditipidientità,anchesesiusasemplicementeil nomeentità. L introduzionediun entitàeinunoschemaconcettualestaasignificarechenellarealtàpuò esistereuninsiemedientitàdiqueltipo,indicatocomeestensionedie ATTRIBUTIECHIAVI Diognientitàilprogettistadeveindividuareleproprietàrilevanti. Siassumecheogniproprietàpossaessererappresentatadaunattributo,caratterizzatodaun nomeedauntipo.nelmodelloersiescludeperòesplicitamentelapossibilitàcheiltipodiun attributopossaessereiltipodiun entità. Vengonodefiniticomesempliciquegliattributiilcuitipovienerappresentatoconlunghezza fissa(integer,real,money,character,boolean,string,date). Avoltepuòesserecomodofareriferimentoaiseguentiattributistrutturati: attributicomposti,cioèaggregazionidialtriattributi(sempliciostrutturati) attributimultipli,cioèsequenzedilunghezzavariabiledisottoattributidellostesso tipo attributiditipounione,quandoiltipodiunattributopuòessereunoqualsiasitraun insiemefinitodipossibilità Ildominiodiunattributoèl insiemedeipossibilivalorichepuòassumerel attributo. Sipuòconsentirecheunattributosiaopzionaleinvececheobbligatorio:ilsuodominioviene idealmenteestesoconilvalorenullo.

8 Èutiledesignarealcuniattributicomecostanti(oreadonly)quandosivuolechenonpossano subireaggiornamentiunavoltachel entitàvienecreata.fraquestivisonovisonoancegli attributiderivati(dettianchecalcolatiovirtuali)ilcuivaloreèfornitodalcalcolodi un espressionecostruitaconaltriattributidell entità CHIAVEDIUN ENTITÀEDENTITÀDEBOLI Unachiave(oidentificatore)diun entitàèuninsiemediattributicheidentificano univocamenteun entitànelmondoconsiderato.ingeneresipretendechelachiavesianon ridondante,altrimentilachiavesidefiniscesuperchiave. Seesistonopiùchiavisiconvienedichiamarechiaveprimariaquelladecisadalprogettista concettuale. Seunachiavenonesistesidicechesitrattadiun entitàdebole(weakentity)altrimentisi parleràdientitàforte(strongentità) RAPPRESENTAZIONEGRAFICADIUN ENTITÀ NeidiagrammiERleentitàvengonorappresentateconiloronomiracchiusiall internodi rettangoliabordosingoloodirettangoliabordodoppiosesitrattadientitàdeboli. Gliattributi(edeventualmenteillorotipo)vengonotalvoltaracchiusientrocontorniellittici. Siconvieneinoltresisottolinearegliattributicheformanolachiaveprimariaediriportarneil tipo. Seperòloschemaècomplessoe/oleentitàhannomoltiattributisipreferisceriportarequesti ultimiinsedeseparata: entity ASTRO attributes Nome: STRING(20) Diametro: REAL DistanzaDallaTerra: REAL key Nome 2.1.4ATTRIBUTIDIUNAENTITÀEDIPENDENZEFUNZIONALI Nell individuazionedelleentitàenellasceltadegliattributièutileseguiredueprincipi:

9 ogniattributononchiavediuntipodientitàdevedipenderefunzionalmentedatutti gliattributidellachiave(enondaunapartediessi) perognitipodientitànonvisonoattributichedipendonofunzionalmentedaattributi nonchiave Ilrispettodiquestiduesemplicicriterigarantiscequasisempreunacorrettamodellazione dellarealtà. 2.2ASSOCIAZIONI 2.2.1ASSOCIAZIONIBINARIEFRAENTITÀ Un associazione(relationship)binariatradueentitàaebrappresentaunarelazione,insenso matematico,traunpossibileinsiemedientitàditipoaeunpossibileinsiemedientitàditipo B,cioèuninsiemedicoppie(a,b). Dopoaverintrodottoun associazionebinariartradueentitàaeb,lasideveclassificarein: associazioneditipouno a uno(1:1) associazioneditipouno a molti(1:n) associazioneditipomolti a molti(n:m) 2.2.2PARZIALITÀ/TOTALITÀDELLEASSOCIAZIONI Inunarelazionenonèdettochetuttiglielementidell insiemeasianoinrelazionecongli elementidell insiemeb.sidicealloracherèparzialerispettoada(altrimentisidiràtotale rispettoada). Inqualchecasosipossonoporredeilimitiprecisi,noticomevincolidicardinalità,sulnumero dielementidibchepossonoessereassociatiaunelementodia(oviceversa) ATTRIBUTIDELLEASSOCIAZIONI Ancheleassociazionipossonoaveredegliattributichedescrivonoqualcheproprietàdei legami.

10 Primadiintrodurreunattributoinun associazioneconvieneperòchiedersisel attributonon rappresentiinrealtàlachiavediun entità.intalcasosipasseràadassociazioninonbinarie RAPPRESENTAZIONIGRAFICHEDELLEASSOCIAZIONI Leassociazionibinarievengonoconvenzionalmentedisegnatecomerombicheriportanoil loronomeeconduedeisuoiverticicollegatialleentitàcoinvolte.eventualiattributivengono riportaticonlastessatecnicausataperleentità. Nonesisteungeneraleaccordosulmododirappresentaregraficamenteiltipoelaparzialità diunassociazione. Perindicarelaparzialitàsiusainveceuntrattino,semancailtrattinosiintendechela relazioneètotalerispettoaquellaentità.

11 2.2.5ASSOCIAZIONIRICORSIVE Visonodeicasiincuiledueentitàdiun associazionebinariacoincidono.questeassociazioni vengonochiamatericorsive ASSOCIAZIONINONBINARIE IlconcettodiassociazionenelmodelloERnonsilimitaalcasobinario.Ingeneraleleentità coinvoltepossonoesserenconn 2(associazionen arie). PerdeterminareiltipodiunarelazioneternariaRsuA,B,Csiprocedecomesegue: siimmaginiditener fissi unelementobdibeunocdic.selarealtàinesamepretendeche rimangaassociatoununicoelementoasuadiremocheillatoadellarelazionereditipouno altrimenticheèditipomolti. PerdecidereiltipodeglialtriduelatiBeCdellarelazionesiprocedeinmodoanalogo.

12 2.2.7ASSOCIAZIONIEGERARCHIEISA IlmodelloERnellasuaversioneestesa(ExtendedERoEER)comprendeanchestrumentia supportodiquelprocessodiastrazionenotocomegeneralizzazione.talistrumenti consentonodiclassificaregerarchicamenteitipidientità. Lostrumentopiùsempliceèl associazioneisasemplice(dall inglese IS A cioè èun ).Siusa quandosivuolemodellareilfattochenellarealtàuncertoinsiemedientitàrisultaessereun sottoinsiemediunaltro(gerarchiapersottoinsieme). Avoltec èlanecessitàdirappresentareilfattochediversitipidientitàconcorronoaformare untipodientitàpiùgenerale.questavienechiamataassociazioneisaripartita(gerarchiaper generalizzazione). 2.3DOMANDEERISPOSTESULLAPROGGETTAZIONECONCETTUALEER 2.4ESEMPIDIMODELLAZIONEER 2.4.1ILDIAGRAMMAERPERLAMICROREALTÀAZIENZDALE 2.4.2ILDIAGRAMMAERPERLAREALTÀDIUNACOMPAGNIAAEREA 2.4.3ILDIAGRAMMAERPERLAREALTÀDIUNABIBLIOTECA

13 2.5INTEGRAZIONEDISOTTOSCHEMI Quandosiaffrontaunarealtàcomplessa,suddivisibileintantepiùsemplici,puòessere convenienteaffrontareseparatamentelamodellazionedellesingolesottorealtàeintegrare poiisottoschemiottenuti. L integrazionedischeminonèsemplicementela fusione disottoschemi,maunloro adattamentoragionatovoltoaeliminareiconflittieleinconsistenzedivariogenere.

14 3.ILMODELLORELAZIONALE Lasecondaimportantefasedelprogettodiunsistemainformaticoèlaprogettazionelogica. Oggiilmodellologicodeidatipiùdiffusoèilmodellorelazionale.Allabasediquestomodello c èilconcettodi tabella. 3.1RELAZIONIESCHEMIRELAZIONALI 3.1.1RELAZIONIETUPLE Ilmodellorelazionaleprevedeununico,elementaremeccanismodistrutturazionedeidati costituitodalla relazione,intesainsensomatematico. Larelazionerappresentatainfiguraèl insiemediterne: R {(a,b,c ),(a,b,c ),(a,b1,c ),(a,b,c )} UnarelazioneRsuunasequenzadiinsiemi(Domini)D1,D2,,Dn(nonnecessariamente distinti)èunsottoinsiemedelloroprodottocartesiano: R D1 D2 Dn Ilnumeronèdettogradodellarelazione.GliinsiemiD1,D2,,Dnsonodettidominidella relazione.ciascunodiessicoincideconuninsiemedivaloridiuntipoatomico(caratteri, stringe,numeri,ecc.)ocomunquenonstrutturato. Adifferenzadellerelazionimatematiche,nelmodellorelazionaleadognidominiodiuna relazionevieneassociatounnome,dettoattributo(ocampo)dellarelazione,cheloidentifica univocamenterispettoaglialtriattributidellastessarelazione. DaunpuntodivistamatematicoglielementidiunarelazioneRsonodelleennuple(d1,d2,, dn)cond1 D1,d2 D2,d3 D3,meglionotecometuple.

15 Inunarelazionenonvipossonoesseretupleuguali(nonsonoammessiduplicati). Relazionietuplevengonochiamaterispettivamentetabelleerighe. R X Y Z a b c a b c a b c a b c Unabasedidatirelazionalenonèaltrocheuninsiemeditabellecomequellaprecedente CHIAVIDIUNARELAZIONE L unicapossibilitàoffertaalprogettistaèquelladistabilirecheuncertoinsiemedegli attributicostituisceunachiavecandidata(o chiave ). UnachiavecandidatadiunarelazioneRèuninsiemeK {a1,a2,,an}nonvuotodinomidi attributidirchegodedelleseguentidueproprietà: Univocità:dataunaqualsiasiestensionediK,cioèun assegnazionedivalori {v1,v2,,vn}agliattributidik,inogniistanteesistealmassimounatupladirchehatali valoriincorrispondenzadegliattributidik Non rindondanza:laproprietàdiunivocitàvienemenosesitoglieunoquasiasidegli attributidik Inaltreparole,gliattributidiunachiavecandidatasonotuttinecessariesufficientiper individuareunatupladiunarelazioner. Uninsiemediattributichesoddisfaallaproprietàdiunivocità(manonnecessariamentea quelladinon rindondanza)vienedettasuperchiave. IngeneralepossonoesisterepiùchiavicandidateperunrelazioneR.Fraquesteneviene sceltauna,solitamenteconilminornumerodiattributi,chevienedesignatacomechiave primariadir SCHEMIDIRELAZIONE,SCHEMIRELAZIONALIEBASIDIDATIRELAZIONALI L intensionediunarelazioneènotacomeschemadirelazioneedècostituitadalleseguenti informazioni: nomedellarelazione elencodegliattributiconillorotipo insiemedegliattributichecostituisconolachiaveprimaria Questeinformazionivengonospessofornitenelseguentemodo: <nomerelazione>(<attr1>[:tipo1],<attr2>[:tipo2],,<attrn>[:tipon]) conlaconvenzionedisottolinearegliattributichecostituisconolachiaveprimaria.

16 Sipossonooradefinireconprecisioneschemarelazionaleebasedidatirelazionale. Unoschemarelazionaleèuninsiemedischemidirelazione. Unabasedidatirelazionaleèuninsiemedirelazioni(variabilineltempo)lecuioccorrenze(o istanze)sonoestensionidiunoschemarelazionale. 3.2TRASFORMAZIONEDASCHEMAERASCHEMARELAZIONALE(ESTESO) 3.2.1TRASFORMAZIONEDELLEENTITÀEDELLEASSOCIAZIONIUNO A MOLTIEUNO A UNO Dinorma,adognientitàforteAsiassociaunarelazioneA chahaglistessiattributielastessa chiave.vipossonotuttaviaesseredegliulterioriattributidovutialfattoche,seesiste un associazioneuno a moltitraun entitàeeda,siapplicalaregoladiaggiungereada gli attributichiavedell entitàe,abitualmentechiamatichiaveesterna(foreignkey). Perquantoriguardaleentitàdeboliènecessariocheognunadiesse dipenda daunentità forte TRASFORMAZIONEDELLEASSOCIAZIONIMOLTI A MOLTI Leassociazionibinariemolti a moltiandrannorappresentateconappositerelazioniaventi comechiavelechiavidelledueentitàcoinvoltepiùglieventualiattributidell associazione.

17 3.2.3TRASFORMAZIONEDELLEASSOCIAZIONIISA PerquantoriguardaleassociazioniISA,visonoduesoluzionichesipossonoprenderein considerazione. NellaprimasirappresentaPconunarelazioneP distintachehalastessachiavedella relazionechevieneassociataadaegliattributiparticolari. Lasecondasoluzionepresentailvantaggiodirichiedereun unicarelazione,maoccorre riconoscereletuplecherappresentanoelementidip.atalescoposiproponediintrodurreun esplicitoattributobooleanoisp SCHEMIRELAZIONALIESTESIEVINCOLIDIINTEGRITÀREFERENZIALE Facendoriferimentoalruolosvoltodallechiaviesternesipuòproporreunaversionegrafica delloschemarelazionalecheverràchiamataschemarelazionaleesteso. Ognichiaveesternasitraducenellapresenzadiun associazioneuno a molti(ouno a unoin qualchecaso)traduerelazionicheverrannochiamaterispettivamenterelazioneprincipalee relazionecorrelata.leassociazionimolti a moltivengonoinvecerappresentatemedianteue associazioniuno a moltinelmodellorelazionaleesteso. LapresenzadiunachiaveesternaKeinunarelazioneRcorr,cioèdellachiavediun altra relazionermain,stainpraticaaindicarecheèpresenteun associazioneuno a molti(ouno auno)traletupledirmaineletupledircorr.

18 SidicechesussisteunvincolodiintegritàtraunarelazioneRcorr(relazionecorrelata)eduna relazionermain(relazioneprincipale),rispettoadunachiaveesternake,seesolose,perogni tupladircorrilvaloredellachiaveesterna(relativaarmain)èpresentecomechiaveprimariain unatupladirmain. Sipuòanchedirechelachiaveesternainunatupladiunarelazionecorrelataèunriferimento (un puntatore simbolico)adunatuplaesistentedellarelazioneprincipale. Insostanza,imporreilvincolodiintegritàreferenzialesignificapredisporredeicontrolli affinchésia: proibitoinserireunatuplainunarelazionecorrelataconunachiaveesterna inesistentenellacorrispondenterelazioneprincipale proibitomodificareunachiaveesternanellarelazionecorrelatasostituendolaconuna inesistentenellacorrispondenterelazioneprincipale proibitocancellareunatuplainunarelazioneprincipalelacuichiavecomparecome chiaveesternaintuplediunaopiùrelazionicorrelate proibitomodificarelachiaveprimariadiunatupladiunarelazioneprincipaleche comparecomechiaveesternainunaopiùrelazionicorrelate Iltentativodicompiereunaqualsiasidiquesteazionicomportailsollevamentodi un eccezioneilcuisignificatoèappunto violazionedell integritàreferenziale. 3.3ALGEBRARELAZIONALE(INTERROGAZIONIMEDIANTE) Ilmodellorelazionaleèstatointrodottopensandoadunamanipolazionedeidatimolto elegantedalpuntodivistamatematico. Sonostatipropostidueapprocci: approccioalgebrico,incuiilrisultatodiunainterrogazioneèunarelazioneottenuta comevalutazionediun espressionecostituitaconoperatoridiun algebrarelazionale approcciologico,incuiilrisultatodiunainterrogazionevienedescrittacomela relazionechesoddisfaunaformuladilinguaggiologicosullerelazionidellabasedi dati(approccionotocomecalcolorelazionale)

19 Idueapproccisisonodimostratiequivalentidalpuntodivistadellapotenzaespressiva:per ogniinterrogazionefattainunapproccioèpossibiletrovarneunaequivalentenell altro. Diseguitoèpresentatal algebrarelazionale OPERAZIONIPRIMITIVE Unionedirelazioni DetteRedSduerelazionicompatibili,l unionedirconsèlarelazioneottenutadall unione insiemisticadelleduerelazioni: R S {t t R t S} Differenzadirelazioni DetteReSduerelazionicompatibili,ladifferenzafraRedSèlarelazioneottenutadalla differenzainsiemisticadelleduerelazioni: R S {t t R t S} Siosservichel operazionedifferenzapotrebbeessereutilizzatapercostituirel intersezionedi duerelazioni:r S=R (R S) Prodottodirelazioni SianoA1,A2,,An1eB1,B2,,Bn2gliattributi(tuttidiversi)diduerelazioniqualsiasiRedS rispettivamentedim1edm2tuple.sidefinisceprodotto(oprodottocartesiano)traredsla relazioneconattributia1,a2,,an1,b1,b2,,bn2digradon1+n2costituitadallem1 m2 tupleottenute concatenando ognitupladirconognitupladis: R S {t t=rconcs r R s S} Vaprecisatoilconcettodiconcatenazionedituple:dateduetuple(x1,x2,,xn1)e(y1,y2,, yn2)laloroconcatenazioneèlatupla((x1,x2,,xn1,y1,y2,,yn2). Proiezioneiunarelazione Questaoperazioneconsentediselezionaresolodeterminatecolonnedaunatabella.Più precisamente,dataunarelazioneredunsottoinsiemea={a1,a2,,ak}deisuoiattributi,si definisceproiezionedirsualarelazionedigradokchesiottienedarignorandogliattributi (colonne)nonpresentiina. Laproiezionevieneabitualmentedenotatacon: ΠA1,A2, Ak(R) Restrizionediunarelazione L operazionedirestrizione(oselezione)consentediestrarredelletuple(cioèdellerighe)da unarelazionerinbaseaduncertocriteriop: σp(r)

20 IlcriterioPpuòessereespressocomecondizionesempliceocomposta(coniconnettivi and e or).unacondizionesempliceèdellaforma: A operatore_di_confronto B doveaebsononomidiattributidir,oppurecostantioespressioni; operatore_di_confronto èunodeglioperatori=,,>,,<,. Ridenominazionediunattributo Traleoperazioniprimitiveènecessarioconsiderareanchel operazionediridenominazionedi unattributo.lasintassisaràlaseguente: rename A as B in R chehal effettodirestituireunarelazioneidenticaadrconl attributoarinominatocomeb GIUNZIONIDIRELAZIONI Traleoperazioniderivate,quellecherivestonomaggioreutilitàpraticasonoquelledi giunzione(join)checonsentonodicostruireunarelazione,partendodaduerelazioni,sulla basediqualchecriterio. Equigiunzione(equijoin) L equigiunione(equijoin)diduerelazionireds,rispettoadunattributoadiredun attributobdis,èdefinitocomesegue: R A=BS σa=b(r S) VienefattocioèilprofottotraRedSesimantengonosoloquellerigheincuirisultanougualii dueattributiaeb. L equigiunzioneèuncasoparticolarediunaoperazionepiùgeneralechiamataθ joinincuiθè unoperatorediconfronto(<,>,=,ecc.)chevieneapplicatosuidueattributiaeb.asuavolta θ joinèuncasoparticolaredigiunzioneinterna(innerjoin),incuiilcriteriodiselezionedelle tupler Svienestabilitodaunaqualsiasicondizione.Siosservi,daquestopuntodivista,che ilprodottocartesianopuòesserevistocomeuncasoparticolaredigiunzioneinternaincuisi specificalacondizione true. Giunzionenaturale(naturaljoin) SianoRedSduerelazioniesifaccial ipotesichevisiaunsoloattributoaincomune.la giunzionenaturale(naturaljoin)trareds,puòesseredefinitacon: R S Π<tuttigliattributidiRedS>(R (renameaasa ins)) Inaltritermini:sirinominal attributocomuneinunadelleduerelazioni,sifal equijoin rispettoaidueattributiesieliminaunadellecolonnecherisultanouguali. Semi giunzione(semi join) Lasemi giunzione(semi join)diduerelazioniredsècomelagiunzionenaturale,conla differenzachesiproiettanosologliattributidir:

21 R S Π<gliattributidiR>(R S) InaltriterminisipuòdirechevengonorestituiteletuplediRchepartecipanoallagiunzione naturaledireds ASSOCIAZIONITRAENTITÀEALGEBRARELAZIONALE 3.3.4GIUNZIONIESTERNE(OUTER JOIN)EASSOCIAZIONIISA Legiunzioniesterne(outerjoin)sonogiunzioni,nonderivabilidalleoperazioniprimitive,che appaionocomedelleestensionidellagiunzionenaturale.tornanocomodoquandosivogliono uniretabelle preservando,nelrisultato,tutteleinformazionipresentisuunoosuentrambe letabelledipartenza. Siconsideranonormalmente3tipidigiunzioniesterne: L R leftouterjoin: si preservano letupledil L R rightouterjoin: si preservano letupledir L R fullouterjoin: si preservano sialetupledilchedir Legiunzioniesternetornanoutiliquandosivuolerispondereaparticolariinterrogazioniche rappresentanoassociazioniisa. 3.4DIPENDENZEFUNZIONALIEFORMENORMALI Unapproccioingenuoalmodellorelazionale,comequellodiaverepocherelazioni,portaad averedeglischemicherisultanoinefficientineiconfrontidellospaziooccupatoeche presentanospiacevoliinconvenientisulleoperazionidimodificadellabasedidati. Èconsuetudineriferirsiaquestasituazionedicendoche loschemanonènormalizzato.si osservi,tuttavia,cheseloschemaerè buono,leregoleditrasformazionedaschemaera schemarelazionaleportano automaticamente alladefinizionedischeminormalizzati ILFENOMENODELLEANOMALIE Gliinconvenientichesipossonoverificareinrelazioninonnormalizzatesonochiamati anomalie. Alcuneanomaliechesipossonopresentaresonoleseguenti: anomaliaininserimento anomaliaincancellazione anomaliainaggiornamento Leanomalieincancellazioneedaggiornamentosonounadirettaconseguenzadella ridondanzadialcunidati.

22 Èevidentecheall attopraticoènecessarioprogettareunabasedidatirelazionalechesia esentedaanomalie DIPENDENZEFUNZIONALI Lateoriadellebasididatirelazionalifaspessoriferimentoalconcettodidipendenza funzionale: SianoX {X1,X2,,Xk}eY {Y1,Y2,,Yn}dueinsiemidiattributidiunoschemadi relazioner.diremocheydipendefunzionalmentedax(ochexdeterminay)scrivendo: X1,X2,,Xk Y1,Y2,,Yn seesolose,perogniestensionedellarelazionernellarealtàconsiderata,ivaloridegli attributidixdeterminanounivocamenteivaloridegliattributidiy. Inaltritermini,sipuòdirecheseinogniestensionediR,due(opiù)tuplehannoglistessi valoridegliattributix1,x2,,xkalloralestessetupledevonoaverenecessariamenteanchegli stessivaloridiy1,y2,,yn.questaproprietàdeveesseregodutapertuttelepossibili estensionidirnellarelatàconsiderata. Siusadistingueretradipendenzaparzialeedipendenzacompleta(odipendenzapiena)diY dauninsiemediattributix.nelprimocasosignificacheydipendesolodaunsottoinsieme propriox dix.nelsecondosiintendechetalesottoinsiemenonesiste:sedaxsieliminaun qualsiasiattributoessonondeterminapiùunivocamentey FORMENORMALIENORMALIZZAZIONE Lerelazioninonnormalizzatehannoildifettodiessereespostealfenomenodelleanomalie, cioèdinonpossederecerteproprietàrispettoalledipendenzefunzionali.inaltreparole esistonodeglischemidirelazionechenonrisultanoinopportunaforma normale. Lostandard minimo prevedechelerelazionisiamo(almeno)interzaformanormale. Laprimaformanormale(1NF)èquellaincuigliattributisonoditiposemplice. LoschemadirelazioneRèinsecondaformanormale(2NF)quando: Rèinprimaformanormale(1NF) perognipossibilechiavecandidatadirnonesistonoattributinonchiaveche dipendonoparzialmentedallachiave LoschemadirelazioneRèinterzaformanormale(3NF)quando: Rèinsecondaformanormale(2NF) perognipossibilechiavecandidatadirnonesistonoattributinonchiaveche dipendonotransitivamentedallachiave,cioèattraversounachiave intermedia L attivitàchesicompieperarrivareadunoschemainformanormalesichiama normalizzazionedelloschema.essapuòesserecondottamanualmenteoconl aiutodi procedureautomatiche.

23 4.FONDAMENTIDISQL Ilgrandesuccessodelmodellorelazionalesidevesoprattuttoallapossibilitàdiesprimerele interrogazioniinmodonon procedurale.unodeiprimidiquestilinguaggièstatocertamente SQL(StructuredQueryLanguage). SQLnonèsolounlinguaggiodiinterrogazione,maunveroepropriolinguaggioperbasidi dati:sipuòdefinireloschema,delleviste(qualcosadisimileaisottoschemi),alterarelabase didati,definireleautorizzazioni,ecc.. 4.1UNO,CENTO,(DIECIMILA?)SQL Inrealtànonesiste unsql perchéogniproduttoredidbmsproponeunpropriodialetto SQL.QuestosaràpiùomenorispettosodeglistandardANSIchevengonoperiodicamente aggiornatisottolaspintadicontinuenuoveesigenze. MoltidialetticommercialidiSQLsidiscostanosempredipiùdainuovistandardchevengono proposti,accettandolisoloinparteeaggiungendodellepropriefunzionalità.lapartein comunedituttiidialettisqlcoincideingranparteconsql/ SQLDIRETTO:UNABREVEINTRODUZIONE Sonostateprevistediversemodalitàd uso(o bindingstyles )sisql.lemodalitàpiù flessibiliprevedonochesqlvengausato( incorporato )all internodialtrilinguaggidi programmazionediusogenerale. TuttaviaquellapiùnotaèchiamataSQLdiretto(directSQL)eprevedechel utentefornisca interattivamenteun istruzionesqlallavoltaaduninterpretechelaesegueerispondecon opportunevisualizzazioniomessaggi. AgrandilineeleistruzioniSQLsipossonodividerenelleseguenticategorie: istruzioniperladefinizioneolamodificadelloschemarelazionale istruzionidiinterrogazionedellabasedidati(querylanguage stretto ) comandiperlamodificadellabasedidati altricomandi(sicurezza,concorrenza,ecc.) InSQLleistruzionipossonoserviresiaadichiararequalcosa(DDL)siaainterrogareo modificarelabasedati(dml). OccorreinnanzituttoprecisarechenellaterminologiaSQLlerelazionisichiamanotabelle,le tuplesichiamanorigheegliattributisichiamanocolonne. Sidistinguetratabelledibase(lenormalirelazioni,memorizzaterigaperrigasudiscoo altro)eviste(viewedtables)chesonodelletabellevirtualiincuigliattributisonoottenuti sullabasediattributiditabelledibaseodialtreviste.

24 4.3LADICHIARAZIONEDISCHEMIEDIVINCOLIDIINTEGRITÀ Comandidicreazione create table peraggiungereunoschemadirelazione,convincolidiintegrità suchiaviprimarie,chiavicandidateechiaviesterne,nonchéaltri vincoliparticolariall internodellatabella create assertion perdefinireunvincolodiintegritàchecoinvolgepiùtabelle create view perdefinireunavista create domain perdefinireundominio(comesottoinsiemediuntipoesistente) Comandidimodifica/cancellazionedelloschema alter table drop table drop view drop domain peraggiungere/toglierecolonnedaunatabellabase percancellareunatabellabaseeilsuoschema percancellareunavista percancellareundominio 4.3.1ITIPIDISQLELEESPRESSIONI CHARACTER CHARACTER(n) VARCHAR(n) Stringhedicaratteri equivalenteachar(1) stringhedicaratterelungheesattamenten stringhedicaratteridilunghezzavariabiletra1edn Stringhedibit BIT(n) BIT VARYING(n) stringhedibitlungheesattamenten stringhedibitdilunghezzavariabiletra1edn Tipinumericiesatti INTEGER SMALLINT NUMERIC(p,q) NUMERIC(p) DECIMAL(p,q) DECIMAL(p) intero(laprecisioneè implementationdefined ) interopiccolo(laprecisioneè implementationdefined ) numerodipcifredecimalidicuiqdopoilpunto equivalenteanumeric(p,0) numerodialmenopcifredecimalidicuiqdopoilpunto equivalenteadecimal(p,0) Tipinumericiapprossimati FLOAT(p) FLOAT REAL DUBLE PRECISION invirgolamobileconlaprecisionedialmenopcifrebinarie equivalenteafloat(p1)conp1 implementationdefined equivalenteafloat(p2)conp2 implementationdefined equivalenteafloat(p3)conp3 implementationdefined Dateeore(consemplificazioni) DATE TIME TIMESTAMP data ora data+ora

25 4.3.2CONDIZIONIEILVALORENULL Leespressionibooleanesononaturalmentepermesse.Tuttavia,acausadell assenzadeltipo BOOLEAN,vengonoclassificatenelgergoSQLcome condizioni o,piùprecisamente, espressionicondizionali. confrontomedianteunoperatorerelazionale: operando1 oprel1 opreando2 doveoprelèunodeiseiclassicioperatoridiconfronto:<,>,=,<>,<=,>=ounodegli operatorispecialicomelikeealtri predicatodiappartenenzaadunintervallo: operando between operando1 and operando2 deltuttoequivalentea: operando >= operando1 and operando <= operando2 predicatodiappartenenza(ononappartenenza)aduninsieme: operando [not] in ((elenco_valori query_colonna)) dove query_colonna èunatabellaottenutacomerisultatodiuninterrogazione cherestituisceun unicacolonna predicatoditabellavuota(ononvuota): [not] exists (tabella) dovetabellaèsolitamenteilrisultatodiunainterrogazioneconcomandoselect sipuòinoltreutilizzareilpredicato: espressione is [not] null cheèsoddisfatto(ononsoddisfatto)quando espressione vale null ( valore nullo ) LecondizionipossonoessereutilizzateinSQL/92perdisporredelleespressionicondizionali. Lasintassigeneraleèlaseguente: case { when condizione then espressione } else espressione end Siosservichesisfruttal ipotesichelecondizionivenganotestateesattamentenell ordinein cuisonoelencatefinoatrovarequellasoddisfattaofinoaraggiungereelse LACREAZIONEDIDOMINI Esistelapossibilitàdiassegnareunnomeadundominioconilcomando: create domain nome_dominio [as] tipo [check (condizione)].incuisiassumecheivaloridel nome_dominio sianotuttivaloridel tipo specificato chesoddisfanola condizione.nellacondizionesiusalaparolariservata value per riferirsialgenericovalorescalareinquestione.

26 4.3.4ILCOMANDOCREATETABLE Ilcomandodicreazionetabellapermettedicreareunatabellabasevuotaconunoschemadi relazioneealcunitipidivincolidiintegrità. create table tabella-base( colonna (tipo dominio) [not null] {,colonna (tipo dominio) [not null]} {,vincolo} ) Unvincolopuòessereunodeiseguenti: primary key (lista-colonne) perdichiararelachiaveprimaria unique (lista-colonne) perdichiarareunachiavecandidata foreign key (lista-colonne) perdichiarareunachiaveesterna references tabella-base check (condizione) perdichiarareunvincolointernoallatabella 4.3.5LADEFINIZIONEDIVINCOLIPARTICOLATI(ASSERZIONI) Quandosivoglionospecificaredeivincolidiintegritàparticolaridicomplessitàarbitrariache coinvolgonolerighedipiùtabelleochenonpossonoessereespressimedianteglistrumenti giàdescritti,sipuòricorrerealcomando: create assertion nome-vincolo check (condizione) Lacondizionerichiedel usodiuncomando select piùomenocomplessosulletabelle coinvolte.il nome-vincolo servesiacomemessaggiodiriferimentoincasodiviolazione siaperpoterlorimuoveresuccessivamente COMANDIDIMODIFICAEDICANCELLAZIONEDELLOSCHEMA Unavoltacreatounoschemadirelazioneèpossibilemodificarlosuccessivamenteanchecon datigiàcaricatinellabasedidatimedianteilcomandoalter table. aggiungereunacolonna: alter table tabella-base add nome-colonna (tipo dominio) rimuovereunacolonna: alter table tabella-base drop nome-colonna cancellaretuttalatabella: drop table tabella-base rimuovereun asserzione: drop assertion nome-vincolo 4.3.7LACREAZIONEDIVISTE

27 UnavistainSQLèunatabelladefinitainfunzioneditabelledibaseodialtreviste.Idatinon sonoquindieffettivamentememorizzati,mapiuttostoottenutidalletabellebasemedianteun processodi mapping. Ingenerelasintassiè: create view tabella-vista as query dove query èun interrogazionefattaconselect. Percancellareunavistapossiamoricorrerealcomando: drop view tabella-vista 4.4INTERROGAZIONIINSQL:L ISTRUZIONESELECT 4.4.1LAFORMABASEESUAINTERPRETAZIONENELL ALGEBRARELAZIONALE Leinterrogazionipiùfrequentiassumonolaseguenteformabase: select [distinct] espr 1,espr 2,esp 3 from tab 1,tab 2,...,tab n [where condizione] Note: senonsispecificalaparola distinct,larelazionerichiestapotràconteneredelle righeduplicate selaclausola where nonèpresentenonvienefattaalcunarestrizione nellaclausola select èpossibileusareilsimbolo*perspecificare tuttigli attributi,cioèpereliminarel operazionediproiezione.èanchepossibilespecificare l insiemedituttigliattributidiunatabella tab conlanotazione tab.* icasidiomonimiadiattributipossonoessererisolticonlanotazionepuntata (qualificazionedegliattributi): nome_relaz.nome_attributo 4.4.2ESEMPIELEMENTARI(SUUNASOLATABELLA) 4.4.3PARAMETRIZZAZIONEDELLEINTERROGAZIONI InalcunidialettidiSQLèpossibileparametrizzareun interrogazionefacendoprecederela stessadalcomando parameters (altridialettiprevedonoaquestoscopolostrumento delleprocedure). parameters par 1,par 2 select espr 1,espr 2,esp 3 from tab 1,tab 2,...,tab n where espr 1 > par 1 and espr 2 < par 2

28 4.4.4PATTERNMATCHINGSUSTRINGHE:L OPERATORELIKE Unapossibilitàmoltoutileèquelladelconfrontotrastringheper patternmatching. espressione like pattern cheèsoddisfattose espressione èunastringachesiconformaal pattern (o modello)specificato. Inunpatternsispecificanodeicaratteri jolly chehannoloscopodirappresentare particolaricategoriedisottostringhe. % (indicaunaqualsiasistringa) _ (indicaunqualsiasicarattere) 4.4.5INTERROGAZIONISUPIÙTABELLE(MEDIANTEGIUNZIONI) Sipuòfarusodipiùtabellesfruttandoleassociazionifradiesseimplicitamente rappresentateconlatecnicadellechiaviesterne. select tab 1.attrib 1,tab 2.attrib 2,tab 2.attrib 3 from tab 1,tab 2,...,tab n where tab 1.attrib 1 = tab 2.attrib OPZIONIDIORDINAMENTO SQLmetteadisposizioneunacomodaclausolaaggiuntivacheassumelaseguentesintassi: order by attrib 1 [asc desc], attrib 2 [asc desc], attrib n [asc desc] 4.4.7FUNZIONIDIAGGREGAZIONE Visonocontestipraticiincuil informazionerichiestaèditiposintetico(conteggi,minimo, massimo,media,ecc.).atalescoposqlmetteadisposizionedellefunzionidiaggregazione chesiapplicanoadunacolonnadiunatabella. Lasintassiprevistaè: OpAggreg ([distinct]attrib) dove OpAggreg puòessere: count:numerodeglielementi min:valoreminimo max:valoremassimo sum:somma avg:mediaaritmetica Lafunzione count conteggiaancheeventualicampiconvalore null.questinonvengono invecepresiinconsiderazionedatullelealtre.

29 4.4.8IRAGGRUPPAMENTI:LACLAUSOLAGROUPBY Lefunzionidiaggregazionetrovanoapplicazionesoprattuttoincombinazioneconl usodella clausoladiraggruppamentochesipuòinserire(dopolaclausola where,sepresente): group by attrib 1,attrib 2,,attrib n [having condizione-gruppo] Intalcasolerighechesiottengonodopoilprodottodelletabellespecificatenellaclausola from elarestrizioneimpostadall eventualeclausola where,vengono raggruppate (partizionate)secondoilseguentecriterio: duerighestannonellostessogrupposeesolesehannoglistessivaloridegliattributi: attrib 1,attrib 2,,attrib n L eventualeclausola having haloscopodiescludereigruppichenonsoddisfanounacerta condizione-gruppo. Datocheconlaclausola group by ilrisultatoèuninsiemedigruppidirighe,nonsipuò specificarenellaclausola select unaqualsiasilistadiattributidaproiettare,masolo: attributichecompaiononellalista group by chiamateallefunzionidiaggregazionesuglialtriattributi count(*) cioèilnumerodirighechevisononelgruppo Questivincolidevonoessererispettatianchedallaclausola having ANNIDAMENTIDISELECT(SOTTO INTERROGAZIONI) Esistelapossibilitàdiannidarefralorole select,cioèdiintrodurredellesottointerrogazioni(subqueries). Essepossonoinfatticomparire,concertivincoli: comeattributinellaclausola select comeoperandoinun operazionescalare(es.aritmetica,diconfronto)

30 comeargomentichedefinisconouninsieme,nelleclausole where e having,dove uninsiemeèrappresentatodaivaloridiunacolonna comeargomentodelpredicato exists RIDENOMINAZIONEDITABELLE,USODIVARIABILIESELF JOIN Sipuòsfruttarelapossibilitàdicambiarenome(ridenominare)unatabellanellaclausola from comeadunmodoperintrodurrevariabililogicheditipotupla. select X.attrib 1, Y.attrib 1 from tab 1 as X, tab 1 as Y where X.attrib 1 = Y.attrib 1 Inquestocasovienefattaunagiunzionefra tab 1 esestessa(self join)rispettoa attrib L USODIOUTERJOIN(GIUNZIONIESTERNE) Traivaritipidigiunzioneprevisti(giunzionenaturale,equijoin,oaltritipidigiunzione interna)visonolegiunzioniesterne. select espr 1, espr 2 from tab 1 (left right full) outer join tab 2 on cond L effettodiuna left outer join (giunzioneinternasinistra)traduerelazioniaeb (l ordineèimportante)disqlsuunacertacondizione cond èl unionedidueinsiemidi righe: lerighecherisultanodallagiunzioneinternatraaebsullacondizione cond lerighediaesclusedallagiunzione,esteseconvalorinulliperognicampodib 4.5COMANDIPERLAMODIFICADELLABASEDIDATI OgniSQLprevedeuncomandoperciascunodeitretipidimodificachesipossonoeffettuare adunatabelladiunabasedidatirelazionale:inserimentodirighe,aggiornamentodiattributi dirighe,cancellazionedirighe. Perl inserimentovienemessoadisposizioneilcomando: insert into tabella [(elenco-colonne)] sorgente doveelenco colonne,sepresente,siriferisceacolonnedellatabellaspecificata.semanca,si intendechesiassumel elencodituttelecolonnedellatabellanell ordineincuisonostate dichiarate. Nelcasopiùsemplicelasorgenteassumelaforma: values (elenco-espressioni) chehal effettodiinserireunasingolariga.l elenco-espressioni (scalari)deveaverela stessalunghezzadell elenco-colonne eiltipodiogniespressionedeveessere

31 compatibileconiltipodiappartenenzadellacorrispondentecolonna.eventualicampiassenti vengonoinizializzaticon null,oconivalorididefault. Alsolito,l inserimentopuòfalliresesitentadiviolareunodeivincolidiintegritàimpostisulla tabella. L aggiornamentodelletabellepuòavvenireconuncomandochiamato searchedupdate : update tabella set colonna = espressione-scalare {, colonna = espressione-scalare} [where condizione] Lasemanticaèlaseguente:inognirigadella tabella chesoddisfala condizione specificata(eintuttelerighesela condizione vieneomessa)sostituisciognicampo colonna specificatoconlacorrispondente espressione-scalare postaadestradel simbolo=. Nelleespressionisipuòfareriferimentoaivaloridegliattributidellarigacorrente. Lacancellazionedirighedaunatabellaavvieneconuncomandochiamato searcheddelete : delete tabella [where condizione] Siintendechevengonocancellatetuttelerighedella tabella chesoddisfanola condizione specificata(etuttelerighesequestaèomessa). Tutteleoperazionidimodificasullabasedidatipossonoportareallaviolazionedivincolidi integritàequindiessererespinte. SullabasediquestaconsiderazionealcunidialettiSQLprevedonolapossibilitàdidefiniredei trigger,cioèprocedurechevengonoautomaticamenteattivatedopoun operazionedi modificaperintraprenderedelleazionichehannoloscopodimantenereconsistentelabase didati. 4.6PROCEDUREPERMANENTIETRIGGER SQLèstatoconcepitoconl ideadipoteressereutilizzatoinalmenoduemodi:direttoo embedded cioèincorporatoinlinguaggidiprogrammazione.questosièresonecessarioper duemotivi: alcuneinterrogazioninonpossonoesseresvolteinsqldiretto esistelanecessitàdiinterfacciarel ambientechegestiscelabasedidaticonaltri ambienti Loschemadiunabasedidatinonèquindicostituitosolodaschemirelazionalievincolidi integritàparticolari,maanchedaprocedureefunzioniraccolteinmodulidiprogrammazione chefannoparteintegrantedelloschemadellabasedidati. IsottoprogrammicontenutineimodulidiunoschemaSQLsichiamanoprocedure permanenti.

32 Perlalorodefinizionediusalasintassi: create procedure nome-procedura ((in out) :par 1 tipo-parametro, (in out) :par 2 tipo-parametro, (in out) :par n tipo-parametro); declare variable nome-variabile 1 tipo-variabile; declare variable nome-variabile 2 tipo-variabile; begin istruzioni-sql end Perservirsidellaprocedura: call nome-procedura (par 1,par 2,,par n ) Assiemealleprocedurepermanenti,moltidialettiSQLpermettonolapossibilitàdiassociare deitriggeradunatabella.lasintassipercrearlièlaseguente: create trigger nome-trigger for nome-tabella (before after)(insert update delete) begin istruzioni-sql end Untriggerverràinvocatoprima(before)odopo(after)ognioperazionedimodificadel tipospecificatosullatabella nome-tabella. Il nome-trigger servesoloperpoterlorimuovereomodificaresuccessivamente. Ingenereèbeneattenersiallaregoladifareseguireaitriggerdellecosemoltobrevipernon rallentaretroppol operazionedimodifica. Inoltre,nelcorpoèpossibilefareriferimentoaivaloridiuncampo c precedentee successivoallamodificacondellenotazionideltipo: old.c e new.c 4.7LAPROGRAMMAZIONECONICURSORI Tuttiicomandiprecedentementevistisonoditipo setoriented,cioèleoperazioni,sia rispettoaidaticheairisultatisiriferisconoainsiemidirighe. Innessunadiesseperònonesistonoiconcettidi rigacorrente edi cursore usatonei linguaggidimanipolazione recordoriented. Pervenireincontroall esigenzadiprendereinconsiderazionequestapossibilità,sqlha messoadisposizioneparticolaricomandiriservati,cioèchenonpossonoessereinvocati quandosièinmodalitàdiretta. Talicomandifannoriferimentoalconcettodicursoreesiripromettonodifarvedereletabelle comedeicontenitoriattraversabilimediantecursori.

33 UncursoreinSQLèrappresentatodaunpuntatore(oindice)adunarigadiunatabella, chiamatarigacorrente.sidiceanchecheuncursoreèposizionatosullarigarsepuntaalla rigar. L ordinedellerighedeveritenersicasualeamenochelatabellanonsiailrisultatodiuna select conlaclausola order by. LepossibilioperazionichefannoriferimentoaicursoriSQLsonoiseguenti: declare cursor open fetch update posizionata delete posizionata close dichiarauncursoreperunatabella apreuncursore avanzailcursoreecaricaicampicorrentiinvariabili aggiornaicampidellarigacorrente cancellalarigacorrente chiudeilcursore Uncursoredeveprimaesseredichiarato: declare nome-cursore cursor for tabella conilseguentesignificato: nome-cursore èuncursoreabilitatoallavisitadella tabella specificata.sipossonoaprirediversicursorisuunastessatabella. Occorrequindi aprirlo con: open nome-cursore Aquestopuntoilcursoresitrova prima dellaprimariga.perposizionarlosullaprimarigao comunquesullarigasuccessivaaquellacorrente,siusailcomando: fetch nome-cursore into :var 1, :var 2,, :var n cheanchel effettodiassegnareallevariabilispecificateicalorideicampidellarigacorrente. SQLinponechelevariabilidiinterfacciamentoconillinguaggioospitesianoprecedutedai duepunti: :identificatore echesianodichiarateinunaappositasezione.

34 Èpossibileaggiornareunoopiùcampidellarigacorrentemedianteilcomandodi aggiornamentoposizionato( positionedupdate ),unavariantedelcomando update: update tabella set colonna = espressione-scalare {, colonna = espressione-scalare} current of nome-cursore Analogamenteèpossibilecancellarelarigacorrentecon: delete from tabella curren of nome-cursore Infineilcursoredeveessere chiuso con: Lavisualizzazionepotrebbeesserefattaattraversounachiamataesterna,cioèscrittainun linguaggiodiprogrammazionediversodasql. InSQL/92siprevedelapossibilitàdimuovereliberamenteilcursoredichiarando scroll cursor (invecedi cursor). Ilcomando fetch puòalloraassumerelaseguente: fetch nome-selezione from cursore into elenco-variabili dove modo-selezione puòessereunadelleseguenti: next muoveilcursoresullarigasuccessivaaquellacorrente prior muoveilcursoresullarigaprecedenteaquellacorrente first muoveilcursoresullaprimariga last muoveilcursoresull ultimariga absolute n muoveilcursoresull n esimariga relative n muoveilcursore n righedopoquellacorrente(oprimase n <0) Siosserviinfineche,sesiapportanodellemodificheallatabella,glieffettisuicursoriaperti possonoesserepocochiarioindesiderati.inognicasoèbeneattenersi,perquantopossibile, allaregoladinonmodificareunatabellaquandolasistaattraversandoconunoopiùcursori.

35 5.MIGLIORAREL EFFICIENZA:GLIINDICI 5.1METODIDIACCESSOEOTTIMIZZAZIONE OgniDBMSeffettuapreliminarmenteunprocessodiottimizzazioneeditraduzioneinun codicedipiùbassolivello,dettopianod accesso.inultimaistanza,l interrogazioneviene infattitradottainunaseriediaccessiafilerelativitramiteprimitivedelsistemaoperativo. L ottimizzatoresibasasulleseguentiinformazioni: formadell interrogazione statistichesulletabellecoinvoltenell interrogazione metodid accessopermessiaciascunatabellacoinvoltanell interrogazione L AmministratoredellaBasediDatipuòinterveniresuimetodid accessoperrendere accettabiliitempidicerteinterrogazioni PRINCIPALIMETODID ACCESSO Inlineadimassimaimetodid accessoprevistidaidbmsrientranoinunadiquestetre categorie: accessosequenziale,sibasasullapossibilitàdiscandiresequenzialmentelerighedella tabella accessoconindice,sibasasull ideadiusareunastrutturaausiliariachefacciadaindice accessohash,sibasasull ideadiricavarelaposizionedellarigacontenentelachiavek daricercareattraversouncalcolosuibitchelacompongono Imetodid accessovengonoconfrontatirispettoalcasomedioealcasopessimoperiseguenti tipidiinterrogazioni: ricercaindividuale,cioèdiunparticolarevaloredellachiavediricerca ricercaperintervallo,cioèdivaloridellachiavecompresitraduelimiti elencoordinato,cioèsidesideraprodurreunelencodirighediunatabellaordinate secondol ordinediunacertachiavediricerca 5.1.2OTTIMIZZAZIONEDELLEINTERROGAZIONI L operazionefondamentaleepiùcritica,dalpuntodivistadell efficienza,èquelladi giunzione. Gliottimizzatoricercanodi: anticipareprimapossibileleoperazionidiselezione eliminareprimapossibilelecolonnenonnecessarie sostituire,sepossibile,unagiunzioneconunasemi giunzione

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Il linguaggio SQL è stato originariamente dichiarativo, diventando nel tempo sempre

Dettagli

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia: Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

Dettagli

SQL Sintassi Dei Comandi

SQL Sintassi Dei Comandi SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la

Dettagli

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli

----------------------------------------------------------------------------

---------------------------------------------------------------------------- APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

Dettagli

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE SQL e ACCESS Prof. Salvatore Multazzu (salvatoremultazzu@tiscali.it) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Documentazione SQL Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Definizione tabella Definizione dominio Specifica di valori

Dettagli

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

Dettagli

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

SQL: definizione schema

SQL: definizione schema Si Clienti(codice,nome,indirizzo,p_iva) scriva il SQL che definisce il seguente schema relazionale Prodotti(codice,nome,descrizione,prezzo) SQL: definizione schema Fatture(codice,cliente,data) RigheFattura(codice,fattura,prodotto,quantità,prezzo)

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare

Dettagli

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date; CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione

Dettagli

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL PER LA DEFINIZIONE DI BASI DI DATI SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Linguaggio SQL Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012 2012 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Lezione 3 Structured Query Language

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null Capitolo 4 Esercizio 4.1 Ordinare i seguenti domini in base al valore massimo rappresentable, supponendo che integer abbia una rappresentazione a 32 bit e smallint a 16 bit: numeric(12,4), decimal(10),

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

Dettagli

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Istituto di Istruzione Superiore Alessandrini - Marino 1 Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Descrizione Un azienda commerciale che vende prodotti IT (computers,

Dettagli

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi di Dati e Sistemi Informativi. Structured Query Language Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio

Dettagli

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Il primo punto richiede l analisi e lo sviluppo del progetto

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language 1 Il linguaggio SQL Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova SQL: Structured Query Language 2 Generalita Linguaggio di interrogazione per le basi di dati. Sviluppato presso i

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 4 Giugno 2007 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

Il linguaggio SQL. ing. Alfredo Cozzi 1

Il linguaggio SQL. ing. Alfredo Cozzi 1 Il linguaggio SQL ing. Alfredo Cozzi 1 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

SQL - Tipi di Dato Tipi numerici Pagina 1

SQL - Tipi di Dato Tipi numerici Pagina 1 SQL - Tipi di Dato Tipi numerici Pagina 1 SQL - TIPI DI DATO I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined Ci concentreremo sui tipi predefiniti (i tipi

Dettagli

Basi di dati e sistemi informativi I

Basi di dati e sistemi informativi I Basi di dati e sistemi informativi I mod. laboratorio Alessandro De Luca Università degli Studi di Napoli Federico II Lezione, 11 marzo 2015 Soluzione 1, creazione CREATE TABLE Impiegato ( Cod NUMBER(4),

Dettagli

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3 Lo Standard SQL Il linguaggio SQL è un linguaggio non procedurale (o di tipo dichiarativo), divenuto, ormai da tempo, il linguaggio

Dettagli

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 1 INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 SQL Dopo aver eseguito l installazione del DBMS e di uno o più database: Accesso al DBMS Interpretazione di uno script Descrizione dello schema

Dettagli

Laboratorio di Basi di Dati Introduzione a SQL

Laboratorio di Basi di Dati Introduzione a SQL Laboratorio di Basi di Dati Introduzione a SQL Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it evoluzione e standards 1970 - E.F. Codd, A Relational Model of Data for Large Shared Data

Dettagli

SQL Manuale introduttivo

SQL Manuale introduttivo SQL Manuale introduttivo SOMMARIO INTRODUZIONE... 3 TIPI DI DATI... 3 STRINGHE DI CARATTERI... 3 NUMERI... 3 DATA/ORA... 4 COSTANTI STRINGA... 4 COSTANTI NUMERICHE... 4 COSTANTI DATA/ORA... 5 NOTE SULLA

Dettagli

DATA BASE MANAGEMENT SYSTEM

DATA BASE MANAGEMENT SYSTEM DATA BASE (1) Problematica gestione dati: oggetti delle elaborazioni, difficili da gestire, memorizzare, reperire, modificare; talvolta ridondanti/incongruenti; non sufficientemente protetti; spesso comuni

Dettagli

Stringhe di caratteri

Stringhe di caratteri Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]

Dettagli

Il linguaggio SQL: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

SQL. Storia e standard

SQL. Storia e standard SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli

Dettagli

SQL. Alcune note sulla definizione dei dati

SQL. Alcune note sulla definizione dei dati SQL Alcune note sulla definizione dei dati Domini Domini elementari (predefiniti) Domini definiti dall'utente (riutilizzabili, possono servire per specificare vincoli di dominio propri di una certa applicazione)

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 1 Luglio 2008 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

16. IL LINGUAGGIO SQL

16. IL LINGUAGGIO SQL 16. IL LINGUAGGIO SQL Il linguaggio SQL (Structured Query Language) è un linguaggio non procedurale (in quanto non richiede la descrizione dei passi elementari di elaborazione) o di tipo dichiarativo (in

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

SQL, un linguaggio per la gestione dati: un po di storia. SQL, un linguaggio per la gestione dati: un po di storia

SQL, un linguaggio per la gestione dati: un po di storia. SQL, un linguaggio per la gestione dati: un po di storia AA 1999/2000 Facolta' di Ingegneria - Corso di Laurea in Ingegneria Informatica Insegnamento di Basi di dati Prof. Maristella Agosti Introduzione a SQL Indice dei contenuti: SQL, un linguaggio per la gestione

Dettagli

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Structured Query Language Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

Dettagli

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

Dettagli

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO Seconda prova scritta Ministero dell Istruzione, dell Università e della Ricerca M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO Indirizzo: PROGRAMMATORI Tema di: INFORMATICA GENERALE

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE Quattro parti: Gestione dati Client-Server Logica + interfaccia Logica + interfaccia Business rules Sistema di comunicazione Logica applicativa DBMS:

Dettagli

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Domini elementari in SQL

Domini elementari in SQL SQL SQL è un acronimo per Structured Query Language. Fu sviluppato originalmente come linguaggio per il DBMS System R dall IBM Research Laboratory (San Jose, California) nei tardi anni settanta. Al giorno

Dettagli

SQL. Structured Query Language

SQL. Structured Query Language Structured Query Language fields seleziona i campi (colonne) da visualizzare table specifica la tabella da cui leggere i dati WHERE condizione seleziona i record (righe) da visualizzare expression è possibile

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture L approccio tradizionale: uso di un linguaggio PLSQL 1.1

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Data management a.a. 2009-2010. Il linguaggio SQL

Data management a.a. 2009-2010. Il linguaggio SQL Data management a.a. 2009-2010 Il linguaggio SQL 1 Modello di database E' un database generico con anagrafica e movimenti di uso molto frequente: per esempio, clienti e fatture, studenti ed esami sostenuti,

Dettagli

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 10 GIUGNO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTECodFiscale, Cognome,

Dettagli

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo. Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2003-2004 1. Schema concettuale della base di dati Lo schema

Dettagli

Nella relazione CINEMA, Nome è chiave secondaria. Nella relazione FILM, CodRegista, e CodProtagonista sono chiavi esterne sulla tabella PERSONE.

Nella relazione CINEMA, Nome è chiave secondaria. Nella relazione FILM, CodRegista, e CodProtagonista sono chiavi esterne sulla tabella PERSONE. Si consideri il seguente schema relazionale, relaivo ad una base di dati per gestire la programmazione cinematografica giornaliera in un certo insieme di cinema: CINEMA(CodC, Nome, Indirizzo, Tel, NSale)

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1 Il linguaggio SQL Structured Query Language SQL è un linguaggio di interrogazione per database proge

Dettagli

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Tool Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 1 / 26 Gli strumenti che vedremo Basi

Dettagli

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) AA 2003-04 Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DDL Domini I domini

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a un sito di affitto

Dettagli

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Basi di dati: appello 16/02/10 i consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ai partecipanti a gare podistiche in Lombardia CORSA (Codice, Nome, IndirizzoPartenza,

Dettagli

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione Data base relazionale ed SQL Modello relazionale dei data base e il linguaggio standard per la loro gestione Contenuti Modello relazionale Cenni sulla progettazione di un data base Normalizzazione delle

Dettagli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli Attività svolta 1. UNITÀ DI APPRENDIMENTO 1: RIPASSO E APPROFONDIMENTO DEGLI ARGOMENTI PRECEDENTI 1.1. Concetti elementari di informatica Algoritmo, Dato, Informazione Campi di applicazione e classificazione

Dettagli

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria. Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

Linguaggio SQL. Structured Query Language

Linguaggio SQL. Structured Query Language Linguaggio SQL Structured Query Language Creato negli anni 70 presso IBM Inizialmente solo linguaggio di interrogazione Ora linguaggio di riferimento per DB relazionali Standardizzato grazie al lavoro

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console

Dettagli