+ All Categories
Home > Documents > Corso Informatica di Base - Pop.itsvariando.it/infobase/lezione9.pdf · Il Sistema Informatico •...

Corso Informatica di Base - Pop.itsvariando.it/infobase/lezione9.pdf · Il Sistema Informatico •...

Date post: 17-Feb-2019
Category:
Upload: vuongngoc
View: 216 times
Download: 0 times
Share this document with a friend
43
Corso Informatica di Base Basi di Dati
Transcript

CorsoInformaticadiBase

BasidiDati

Dicosacioccuperemo…

• Basididati• Strutturadiunabasedidati• Funzionalitàdeiprogrammidigestionedibasididati

• Esempiopratico:Access

IlSistemaInformativo

Éilsottosistemadiunaorganizzazionechegestisce• acquisizione• elaborazione• conservazione• produzionedelleinformazionidiinteresse,alfinedigestireecontrollarel’attivitàaziendalenelsuocomplesso.

L’esistenzadelsistemainformativoèindipendentedallasuaautomazione(sistemainformatico)

IlSistemaInformatico

• Gestisceunsistemainformativoinmodoautomatizzato

• Garantiscecheidatisianoconservatiinmodopermanentesuidispositividimemorizzazione

• Permetteunrapidoaggiornamentodeidatiperriflettererapidamentelelorovariazioni

• Rendeidatiaccessibilialleinterrogazionidegliutenti

IlSistemaInformatico

Glielenchidelleutenzetelefoniche,isaldideiconticorrentibancari,l’elencodegliiscrittiaduna

universitàsonoesempididatiindispensabilipergestiredelleattivitàumane.

Nelleattivitàstandardizzatedeisistemiinformativicomplessi,sonostateintrodottecoltempoformediorganizzazioneecodificadelleinformazioni

Adesempio,neiservizianagrafici.

InformazioneeDatoLeinformazionivengonorappresentateecodificateinmodo

essenzialeattraversodatiIdati devonoessereinterpretatiperrecuperarel‘informazione

Informazione.Notizia,datooelementocheconsentediavereconoscenzapiùomenoesattadifatti,situazioni,modidiessere.

Dato. Ciòcheèimmediatamentepresenteallaconoscenza,primadiognielaborazione;(ininformatica)elementidiinformazionecostituitidasimbolichedebbonoessereelaborati.

EsempioSiconsideriundatorappresentatodalnumero3:taledatononfornisceineffettinessunainformazione

Viceversa,direche3èilnumerodegliannidelcorsodiprimolivelloinpitturaall’AccademiadiBelleArtidiCataniaèun’informazione

Quindiunodegliobiettivifondamentalidiunsistemadigestionedatièdifornireuncontestointerpretativodeidati,inmododaconsentireunaccessoefficacealleinformazionidaesserappresentate.

Basididati(Database)

UnSistemadiGestionediBasididatioDBMS(DataBaseManagementSystem)èunsistemasoftwareingradodigestirecollezionididati

Unabasididatièunacollezionedidati,gestitadaunDBMS,utilizzatiperrappresentareleinformazionidiinteresseperunaopiùapplicazionidiunaorganizzazione

Basididati

IDBMSgarantiscono• Affidabilità,cioèlacapacitàdiconservareintattoilcontenutodellebasididatiincasodimalfunzionamentohardwareesoftware

• Privatezzadeidati,cioèsonodotatidimeccanismidiautorizzazione.

Basididati

Lebasididatipossonoessere:1.Grandi:possonogestiredatisenzaporrelimitialledimensioni,apartequellefisichedeidispositivi

2.Condivise:applicazioniedutentidiversipossonoaccedereaidaticomuni.Ciòriducelaridondanzadeidati.

3.Persistenti:hannotempodivitanonlimitatoall’esecuzionedeiprogrammicheloutilizzano.

4.Accessibili:mediantetransazioni

Basididati:qualiapplicazioni?• Anagrafe- Anagrafestudenti• Servizibancari- Conticorrenti- Bancomat- Cartedicredito

• Elenchidelleutenzetelefoniche• Orariferroviari• Prenotazionivoli• Catalogoprodotti(CD,…)- E-commerce• Cataloghidibiblioteche• Cartellecliniche• ..............

FileSystem

Pergestiregrandiquantitàdidatiinmodopersistenteecondiviso,sarebbepossibilericorreall’usodifilesystem.

Softwareapplicativo

DBMS

Sistemaoperativo

SoftwareApplicativo

Sistemaoperativo

File Distinti Database

(unico)

FileSystem• Povertàdell’astrazionepermodellareidati• Imeccanismidicondivisionelimitati• NonsonodisponibiliiservizioffertidaunDBMSInoltretuttiiprogrammicheaccedonoafile,contengonounadescrizionedellastrutturadelfilestesso,coniconseguentirischidiincoerenzafraledescrizioni(ripetuteinciascunprogramma)eifilestessi.

• NeiDBMS,esisteunaporzionedellabasedidatichecontieneunadescrizionecentralizzatadeidati,chepuòessereutilizzatadaivariprogrammi.

Architettura

SchemaLogico

SchemaFisico

DB

descrizione della base di dati nel modello logico(es, la struttura della tabella)

rappresentazione dello schema logico per mezzo di strutturememorizzazione (file)

Software Applicativo

Modellodeidati

Unmodellodeidatièl’astrazionelogicadialtolivellochepermetteall’utentediinteragireconildatabase.

• Permetteinfattiditrattareidatiadunlivellologicosenzapreoccuparsidellivellofisicoovverodicomeidatisonoeffettivamenteelaboratiememorizzati.

Peraccedereaidatinonènecessarioconoscerelestrutturefisicheconcuisonorealizzati

ModelloRelazionale

Ilmodellopiùdiffusoèilmodellorelazionalebasatosulconcettomatematicodirelazione.

Unarelazioneèsostanzialmenteuninsiemedirecordomogeneidefinitisucampi.

Unarelazionevienespessorappresentatapermezzodiunatabellalecuirigherappresentanospecificirecordelecuicolonnecorrispondonoaicampideirecord

ModelloRelazionale

Adognicampoèassociatounnomedettoattributochedescriveilruologiocatodaldominiocheèl’insiemedeipossibilivalorichepuòavereunattributo

LinguaggiperlebasididatiL’accessoaidatipuòavveniremediante:1.LinguaggiTestualiInterattivi(esSQL)2.Comandi(comequellidellinguaggiinterattivo)immersiinunlinguaggioospite(Pascal,C,Cobol,ecc)

3.Comandi(comequellidellinguaggiointerattivo)immersiinunlinguaggioadhoc,conanchealtrefunzionalità(peresempiograficiostampe)strutturate,ancheconl’ausiliodistrumentidisviluppo(peresempioperlagestionedimaschere)

4.Interfacceamichevoli(es.linguaggigrafici)

EsempioSQL

Definizionediunatabella(relazione)CREATETABLEorario(insegnamentoCHAR(20),docenteCHAR(20),aulaCHAR(4),oraCHAR(5))

Insegnamento Docente Aula Ora

Tabella Orario

EsempioSQL

Interrogazione• SELECTInsegnamento,Docente• FROMOrario• WHEREinsegnamento=‘Basididati’(relazione)chesoddisfailcriterio(clausolaWHERE)

Insegnamento Docente

BasediDati Pippo

InterfacceAmichevoli

Strutturadiunabasedidati

• Struttura• Tipididati• Valorinulli• VincolidiIntegrità• Chiavi• Vincolidiintegritàreferenziale

Struttura

Inognidatabaseabbiamoduecomponenti:1.LoSchema:E’ laparteinvariabiledeidatichedescrivela

strutturachedebbonoavere:haun’intestazionedatadalnomedellarelazioneseguitadaisuoiattributi(campi)Es:CLIENTI(Nome,Cognome,Indirizzo,Telefono)

2)Istanze :Checostituisconoivalorieffettivi(record)

Nome Cognome Indirizzo Telefono

Anna Bianchi ViaEtnea 095278492

Giuseppe Rossi ViaLeopardi 095778822

Giovanni Verdi ViaReclusorio 095855563

Schema

Istanze

Struttura

Perorganizzaredatirilevantispessononèsufficienteunasingolarelazione.

Unabasedidatièingenerecostituitadapiùrelazioniicuirecordpossonocontenerevaloricomunipercuiènecessariostabiliredellecorrispondenze.

Esempio:supponiamodiavereleseguentirelazioni:

Esempio

TipididatiIvalorichepossiamoinserireinunrecorddebbonofarpartedeldominiocioèdell’insiemedeipossibilivalorichesiscelgonodurantelacreazione.

Ivalorichepossiamoinseriredipendonodaltipodidatochepuòessere

1.Testo2.Numeri3.Date4.Boleani5.altri

ValoriNulliAvvolteidatidisponibilinoncorrispondonoalformatoprevisto.Potrebbeadesempiononesseredisponibileilvalorediuncampoinqualcherecord.

Siintroduceunvalorenullo(NULL)chedenotal’assenzadiinformazionesulvalorediunattributoperunrecord

Ilvalorediunattributopuòmancareperché• èsconosciuto• èrealmenteinesistente(l’attributononèapplicabileadundatorecord)

• èsenzainformazione(nonsisaseesisteomeno)

ValoriNulli

Seinveceriteniamoildatoimportante,senzailqualeilrecordnonavrebbesenso,possiamodurantelacreazioneimpostareilcampoconlapropriètàNOTNULL,cheimpediscedinoninserirequeldato(Adesilcodice)

Nome Cognome Indirizzo Telefono

Anna Bianchi ViaEtnea NULL

Giuseppe Rossi ViaLeopardi 095778822

Giovanni Verdi ViaReclusorio 095855563

Nome Cognome Indirizzo Telefono

NULL Bianchi ViaEtnea NULL

Giuseppe Rossi ViaLeopardi 095778822

Giovanni Verdi ViaReclusorio 095855563

CHIAVI

Unachiaveèuninsiemedicampiutilizzatoperidentificareunivocamenteirecorddiunarelazione.

Es:IlcampoMatricolaèunachiaveperchénonèpossibiletrovareduenumeridimatricolauguali.Matricola Nome Cognome Indirizzo Telefono

82194809 Anna Bianchi ViaEtnea NULL

89747869 Giuseppe Rossi ViaLeopardi 095778822

66236758 Giovanni Verdi ViaReclusorio

095855563

Poiché possono esserci più chiavi per una relazione la chiave scelta è detta Chiave Primaria

N.B. la chiave primaria non può essere NULL

Vincolidiintegrità

Inmolticasiuninsiemedirecordnonrappresentainformazionicorretteperl’applicazione.

Ilvincolodiintegritàèstatointrodottocomeproprietàchedeveesseresoddisfattadalleistanze.

Essiimpongonol’inserimentodidatiinbaseadeicriteri

Es:Ilvaloredelcampovotodeveesserecompresotra18e30.

Tipidivincoli

Vincolointrarelazionale:E’ definitorispettoadunasingolarelazione.Puòriguardare:• Recordingenerale(es.nonpossonoesistereduerecordconunostessovaloreperunachiave)

• Recordindipendentementegliunidaglialtriivaloriammessiperunattributo(vincolodidominio)

Vincolointerrelazionale:Coinvolgepiùrelazioni

• Vincolidiintegritàreferenziale

VincoliIntrarelazionali

VincoliInterrelazionali

Unvincolodiintegritàreferenzialefrauninsiemedicampidiunarelazioneequellidiun’altraèsoddisfattoseivalorisugliattributidellaprimarelazione(checostituisconolachiaveesterna)compaionocomevaloridellachiaveprimariadellasecondarelazione

Esempio:Supponiamodiavereleseguentirelazioni

VincolidiIntegritàReferenziale

VincolidiIntegritàReferenziale

BasidiDati

EsistonovariDBMSpercrearedellebasididati.Traivariabbiamo:• MicrosoftAccess• MicrosoftWorks• MySql(open-source)• MicrosoftSQLServer• Oracle• Altri

FunzionalitàPrincipali

Gestionedeifile• Gestionedellebasididati:• Creazionedirelazioni• Inserimentodirecord• Cancellazionedirecord• Modificadirecord• Ricercadirecordspecifici

Gestionedeifile

Attraversounprogrammadigestionedibasididatipossiamo:

• CrearenuoviDatabase• AprireDatabaseesistenti• MemorizzareDatabasesuldiscoattribuendogliunnome

• Memorizzareeventualimodifiche• ChiudereiDatabase

GestionedatiAttraversounprogrammadigestionedibasididatipossiamo:

Crearedellerelazioni,anchecorrelatefralorodicuièpossibiledefinirne

• Ilnome• IlnomedeiCampicontenuti• ItipididatideiCampi• Inserireidatiall’internodiquesterelazioni,rispettandoneiltipoedeventualivincoli

• Modificareocancellarerecord.

Query

UnafunzioneimportantedeiDBMSèlaricercadirecordspecificiall’internodiunDatabase.

EsempiodiQuery:Datalaseguenterelazione,vorreiconoscerel’indirizzoeilnumeroditelefonodiGiovanniVerdi

Matricola Nome Cognome Indirizzo Telefono

82194809 Anna Bianchi ViaEtnea NULL

89747869 Giuseppe Rossi ViaLeopardi 095778822

66236758 Giovanni Verdi ViaReclusorio

095855563

Risultato : Via Reclusorio 095855563

Query

EsempiodiQuerysuduetabelle:Dataleseguentirelazioni,vorreiconoscereQualiesamihasuperatoMarioRossi

ProgettazionedeidatabaseLefasidiprogettazionediunDBsonotre:1-ProgettoCONCETTUALE(Schemaconcettuale)2-ProgettoLOGICO(Schemalogico)3-ProgettoFISICO(Schemafisico)1-ProgettoCONCETTUALE .Loschemaconcettualeèlarappresentazionepiù

astratta,lapiùvicinaallalogicaumananelladefinizionedidatierelazioni.Spessovengonousatiimodellientità-relazioni

2-ProgettoLOGICOLoschemalogicodipendefortementedalDBMSedalsuomodellologicodeidati.Nelloschemalogicovengonoprogettateletabelleelerelazioni.

3-ProgettoFISICOLoschemafisicodefiniscecomelestrutturedefinitenelprogettologicovannoimplementatenell’archivioenelfilesystemscelti.

Tipidirelazioni

LarelazioneRchelegaduetabelle(entità)T1eT2puòessereclassificatainbaseallasuacardinalità:


Recommended