1
In tro du zio ne
Sistemi informativiSistemi informativiInformazioniInformazioniDatiDati DBMSborsa
DBMSorari
2
Sis tem a in for m ativ o
Sottosistemadi unaorganizzazionechegestisce
acquisizione
elaborazione
conservazione
produzionedelleinformazioniinformazionidi interesse
Ogni organizzazione ha un sistema informativo
Le informazioni sono un “bene”
L’esistenza del sistema informativo èindipendente dalla sua automazione (sistema informaticosistema informatico)
Sis tem a in for m atic o
Gestisce un sistema informativo in modo automatizzato
Garantisce che i dati siano conservati in modo permanente sui dispositivi di memorizzazione
Permette un rapido aggiornamento dei dati per riflettere rapidamente le loro variazioni
Rende i dati accessibili alle interrogazioni degli utenti
Può essere distribuito sul territorio
Ancheprima di essereautomatizzati, moltisistemiinformativisisonoevolutiversounarazionalizzazionerazionalizzazione
e e prodecestadurelleneiozazdizarndceproduiolledenezazdizarndstare e e delldell
’’deniioazmforinorglleioazanneizzioazmforinazioorglledeanizzneni
Ge stio ne de lle in for m azio ni
Modo di gestire e comunicare le informazioniaccesso, elaborazione, trasmissioneaccesso, elaborazione, trasmissione
lingua scritta e parlata
disegni, grafici, schemi
codici e numeri
Modo di memorizzare l’informazione
ricordata a memoria
copia cartacea
in formato elettronico
5
Sis tem i p er la g est io ne di info rm azio ni
Nelleattivitàstandardizzatedeisistemiinformativicomplessi, sonostateintrodottecol tempoforme di forme di organizzazioneorganizzazione
ee codificacodificadelledelleinformazioniinformazioni
Ad esempio, neiserviziservizianagraficianagraficisièiniziatocon registrazionidiscorsivee poi
nomee cognome
estremianagrafici
codicefiscale.... unachiavechiaveper tutti!
6
In for m azio ni e da ti
Le informazionivengonorappresentatee codificateinmodoessenzialeattraversodatidati
I datidevonoessereinterpretatiper recuperarel‘informazione
info rm azio ne info rm azio ne ..
Notizia, dato o elementocheconsentedi avereconoscenzapiùo menoesattadi fatti, situazioni, modidi essere.datodato
ti.boliinformazionecostitua simitidchedebbonoessereelabora formdi entilema) eaticin inzionoralabniei oga dprime; ( ..entecheèimmediatamCiòpresenteallanoscenza, co
Da i d ati all’in for m azio ne
Mario Rossi 0577233601
Numero di telefono di Mario Rossi Numero Mario Rossi L‘informazioneèottenutainterpretandoe correlandofraloroi dati
Un es em pio : la r ub ric a t ele fon ica
DatiNome Cognome Indirizzo Telefono
Operazioni
•Cercare un numero dato il nome•Inserire un nuovo numero•Modificare un indirizzo•…... Mario Rossi Via Garibaldi 10 05773576373
9
Ba se di da ti
E’una collezione di daticollezione di datiutilizzata per rappresentare le informazioni di interesse in un sistema informativo
L’elemento chiave èil dato
La rappresentazioneprecisadi forme piùricchedi informazionee conoscenzaèdifficile
I daticostituisconospessounarisorsastrategica, perchépiùstabilistabili nelnel tempotempodi altre componenti(processi, tecnologie, ruoliumani)
I datirimangonoglistessinellamigrazionemigrazioneda unsistemaal successivo
10
Ba si d i d ati: qu ali ap pli ca zio ni?
Anagrafe -anagrafe studenti
Servizi bancari -conti correnti -bancomat -carte di credito
Elenchi delle utenze telefoniche
Orari ferroviari
Prenotazioni voli
Catalogo prodotti (CD,…) -E-commerce
Cataloghi di biblioteche
Cartelle cliniche
..............
Ba si d i d ati: co m e s i a cce de ?
in modo distribuito (Sportelli bancomat, POS negozi...)
da Internet (Orari FFSS, siti di e-commerce, cddb, ....)
da terminali dedicati (Agenzie di viaggio, biblioteche,anagrafe...)
sul proprio personal (database personali)
......
Ge stio ne di ba si d i d ati
Utilizzare un linguaggio di programmazione generico (C, C++, COBOL, Java) memorizzando i dati sufilefilesu disco
Applicazioni specifiche
Duplicazione dei dati
Incoerenza dei dati condivisi
Utilizzare un sistema di gestione di basi di dati(Database Management SystemDatabase Management System
--DBMSDBMS)
Sistema software progettato per gestire dati
Capacitàdi gestire collezioni di datigrandigrandi, condivisecondivise, persistentipersistenti
13
Ca rat ter isti ch e d ei D BM S
grandi dimensionigrandi dimensioni
Possono avere dimensioni di Terabyte
Fanno uso della memoria secondaria
condivisionecondivisione
accesso di piùutenti/applicazioni a dati comuni
si riduce la ridondanza dei dati e la possibilitàdi inconsistenze
Il DBMS deve disporre del controllo di concorrenzacontrollo di concorrenza
persistenzapersistenza
i dati hanno una vita che va oltre quella dell’esecuzione delleapplicazioni che li utilizzano
14
Re qu isit i d ei D BM S
affidabilitaffidabilit àà
capacitàdi non perdere i dati in caso di malfunzionamentohardware o software (backupbackupe recoveryrecovery)
privatezzaprivatezza
ciascun utente èriconosciuto da un usernamee una password
un utente ha autorizzazione solo per certe operazioni
efficienzaefficienza
capacitàdi svolgere le operazioni in tempo ragionevole e con risorse di calcolo e memoria accettabili
dipende dall’implementazione
può imporre dei vincoli sull’hardware
15
DB MS vs fil esy ste m [1 ]
La gestionedi insiemidi datigrandie persistentièpossibileancheattraversosistemipiùsemplici
ilfilefile systemsystemdel sistemaoperativo
I filesystemprevedonoforme di condivisionetuttotutto
o o nienteniente. NeiDBMS c’èmaggioreflessibilità
I DBMS estendonole funzionalitàdel filesystem, fornendopiùserviziedin manieraintegrata
Comunque, i DBMS, a causa dellavarietàdi funzioni, non sononecessariamentepiùefficientideifilesystem
16
DB MS vs fil esy ste m [2 ]
Neiprogrammitradizionalicheaccedonoa file, ogniprogrammacontieneunadescrizionedescrizionedelladellastrutturastrutturadel del filefile
stesso, con i conseguentirischidi incoerenzafrale descrizioni(ripetutein ciascunprogramma) e i filestessi.
NeiDBMS, esisteunaporzionedellabasedi dati(il catalogocatalogoo dizionariodizionario) checontieneunadescrizionecentralizzatadeidati, chepuòessereutilizzatadaivariprogrammi.
17
De scr izio ne de i d ati ne i D BM S
Livellidiversidi descrizionee rappresentazionedeidati
permettonol’indipendenzaindipendenza
deidei datidati
dallarappresentazionefisica
i programmifannoriferimentoalla strutturaa livellopiùalto
le rappresentazionisottostantipossonoesseremodificatesenzanecessitàdi modificadeiprogrammi
Si introduceil concettodimodellomodellodeideidatidati
modalitàusataper organizzarei datie descrivernela struttura
offremeccanismidi strutturazionesimiliaicostruttoridi tipodeilinguaggidi programmazione
18
I m od elli de i d ati
atiiddeneioazizzanrgl’o modellilogiciir modellilope-untiiste esMSDBgictinzatilizei
utilizzatidaiprogrammi
indipendentidallestrutturefisiche
atemsisniogda ntedeendipinood min modelliconcettualiettncmodellicoettonuali-patii dentarsepreermdi orap
cercanodi descriverei concettidel mondoreale
sonoutilizzatinellefasipreliminaridi progettazione
ModelloEntity-Relationship(E-R)
I m od elli lo gic i d ei da ti
Esistono vari modelli (logici) di dati proposti
modellogerachicomodellogerachico
((‘‘
60)60)
Basato sull’uso di strutture ad albero (gerarchie).
modello reticolare modello reticolare --CODASYL (CODASYL (‘‘70)70)Basato sull’uso di grafi.
modello relazionale (modello relazionale (
‘‘7070 --’’
80)80)
Basato sull’uso del concetto di relazione.
modello ad oggetti (modello ad oggetti (
‘‘80)80)
Evoluzione del modello relazionale. Basato sulle idee dellaprogrammazione ad oggetti.
Permette di organizzare in insiemi di record a record a struttura fissastruttura fissa(concetto di relazione)
Una relazione èspesso rappresentata per mezzo di una tabellatabella
Il m od ello re la zio na le
NomeCognomeIndirizzoTelefonoMarioRossiVia Verdi 50577234567MarcoBianchiVia Righi 730577456783AnnaDatiVia Romeo 40578345234 record
relazione campo
21
Sc he m i e d is tan ze
SchemaSchema )nalesiotenin)(conalesioteninntenepom --Parati d deileiabvarinte enzialmstansote i
IstanzaIstanza
sionaleenest(co)nalesioenestntenepom --atvaloo)ri effettivi conunteti nella base di dati (st e,Ifonele,TzoirizndRUmnooge,ComA(NICBRo)
MarioRossiVia Verdi 50577234567MarcoBianchiVia Righi 730577456783AnnaDatiVia Romeo0578345234
22
Sc he m i e as tra zio ne
utente(applicazioni)DB schema logico
schema fisico descrizionedellabasedi datinelmodellologico(es, la strutturadellatabella)rappresentazionedelloschemalogicoper mezzodi strutturememorizzazione(file)il livellologicoèindipendenteda quellofisicounatabellaèutilizzatanellostessomodoqualunquesiala suarealizzazionefisica(chepuòanchecambiareneltempo)
Arc hit ett ura A NS I/ SP AR C
DB schema logico
schema fisico Architettura a3 livelli 3 livelli proposta dall’’ANSI/SPARCANSI/SPARCStudyStudyGroup on DBMSGroup on DBMSutenteutenteutenteutenteutente schema esternodescrizione di una porzionedella base di dati per mezzodel modello logico(punto di vistavistadi certi utenti)viste parziali/derivateviste parziali/derivate
Arc hit ett ura de tta gli ata
vista logica vista Avista B
DBMStrasformazionelogica/fisica trasformazioneesterna/logica A trasformazioneesterna/logica B
database memorizzato (fisico) schemaesterno A schemaesterno B
schemalogico
definizionedella strutturadi memorizzazione Linguaggiohost+DSL Linguaggiohost+DSL Linguaggiohost+DSL utente A1utente B1utente B2
DatabaseDatabaseAdministratorAdministrator DBADBA
25
Le vis te est ern e
MatricolaCorsoAnnoNomeTasse MatricolaNomeCorsoEntrate Vista A(segreteria Ingeneria) Vista B(amministrazione)
Schema logico selezione dei record conCorso = Ingegneriae uso solo dei campiMatricola e Nome collezione dei recordper valore del campo Corsoe calcolo di Entrate come sommadel campo Tasse in ogni gruppo
26
Il Da taB ase Ad m inis tra tor
E’la persona (o gruppo di persone) responsabile di
progettazione (logica/fisica)
definizione delle politiche di sicurezza (autorizzazioni)
amministrazione (backup, monitoraggio delle prestazioni)della base di dati
Media le esigenze degli utenti mantenendo un controllocentralizzato sui dati
Configura il DBMS per garantire sufficienti prestazioni
Assicura l’affidabilitàdel sistema
Gestisce le autorizzazioni di accesso.
Ute nti di u n D BM S
Progettisti e programmatori di applicazioniProgettisti e programmatori di applicazioni
realizzazione di programmi che accedono alla base di dati
uso di linguaggi convenzionali (C, Java, PHP, ..) o linguaggi proprietari specifici del sistema con funzionalitàspecifiche(generazione di grafici, stampe, maschere sul video)
uso di strumenti di sviluppo per la creazione di interfacce versola base di dati
Utenti finaliUtenti finali
interazione basata su transazionitransazioni(attivitàfrequenti epredefinite) utilizzando formo programmi guidati da menu(applicazioni sviluppate ad hoc dai programmatori)
oppure uso di linguaggi interattivi e interrogazioni casuali(non predefinite)
Tra ns azio ni
Programmicherealizzanoattivitàfrequentiepredefinite, con poche eccezioni, previstea priori
Esempi:
versamentopressounopressosportellobancario
emissionedi certificatoanagrafico
prenotazioneaerea
Le transazionisonodi solitorealizzatecon programmiinlinguaggioospite(tradizionaleo ad hoc)
Il terminetransazionetransazioneha un’altraaccezione, piùspecifica: sequenzaindivisibiledi operazioni(o vengonoeseguitetutteo nessuna)
29
Lin gu ag gi pe r b asi di da ti
Linguaggi per ladefinizione dei datidefinizione dei datiData Data DefinitionDefinitionLanguagesLanguages
oessacc fisici di ionzaztoriz auellei e dgici,i loemschegli ne dniziodefi DDL--LDD
Linguaggi di manipolazione dei datimanipolazione dei datiData Data ManipulationManipulationLanguagesLanguages
--DMLDML
interrogazione e aggiornamento delle basi di datiAlcuni linguaggi come SQLSQL(StructuredStructuredQueryQueryLanguageLanguage) presentanointegrate funzioni di entrambe le categorie
30
SQ L c om e D DL
Definizione di una tabella (relazione)CREATE TABLEorario (insegnamentoCHAR(20) ,docente CHAR(20) ,aula CHAR(4) ,ora CHAR(5) )insegnamentodocenteaulaora
orario
SQ L c om e D M L
InterrogazioneSELECTInsegnamento, DocenteFROMOrarioWHEREinsegnamento = ‘Basi di dati’
insegnamentodocenteBasi di datiMaggini Produce una tabella(relazione) che soddisfail criterio (clausola WHERE)
Lin gu ag gi pe r b asi di da ti
Disponibilitàdi varilinguaggi, interfaccediverse e supportoalla scritturadi programmi
linguaggitestualiinterattivi(CommandCommandLine Interface CLILine Interface CLI, adesempiobasatesuSQL)
comandiimmersiin unlinguaggioospiteospite(es.SQLJSQLJjavaembeddedSQL)
disponibilitàdi libreriedi interfacciacol DBMS per linguaggidi programmazionegenerici(es. JDBCJDBC-Java DataBaseConnectivity)
comandiin unlinguaggioad hoc, anchecon funzionalitàspecifiche(es. per graficio stampestrutturate)
con interfacceamichevoli(senzalinguaggiotestuale)
33
SQ LJ Ja va em be dd ed SQ L
Supportatoda Oracle, IBM, Sybase, Tandem, JavaSoft, Microsoft, Informix, XDB
Implementazionehttp://www.oracle.com/st/products/jdbc/sqlj
E‘unlinguaggiosemplicee coincisoper inglobarecomandiSQL in programmiJava
Lostandardgarantiscela portabilitàfradiversiDBMS
Si inserisconoi comandiSQL nelprogramma
i comandiSQLJ inizianocon“#sql”e terminanocon“;”
sipuòfar riferimentoallevariabiliJava usandoilprefisso“:”
iltestoSQL èpostofraparentesigraffe“{..}”
34
SQ LJ vs JD BC
JDBC (
Java Java DataBaseDataBaseConnectivityConnectivity) mettea disposizioneunalibreriadi classiper accedereal DBMS eseguendocomandiSQL
//SQLJ
intn;
#sql{INSERTINTOemp
VALUES(:n)}; // JDBC
intn;
Statementstmt=
conn.prepareStatement
(“INSERTINTOempVALUES(?)”);
stmt.setInt(1,n);
stmt.execute();
stmt.close(); classe della libreriajava.sqlvariabileJava
variabileJavanell’sqlj
Da SQ LJ a J av a
Il filesorgenteSQLJ deveesseretradottoin unsorgenteJava purochepuòesserecompilatoin unfileclass
SQ LJ T ra nsl ato r
Foo.sqljFoo.javaFoo.class
Ja va C om pil er
In ter azio ne gr afic a
37
Str utt ura di un D BM S
schemi etrasformazioni(sorgente e oggetto)metadati richiesteottimizzategestore diesecuzione Ottimizzatore richiestecompilate ProcessoreDML Processoredi query ProcessoreDDL richiesteDML nonpianificate
datimetadati verifica lasicurezza ei vincoli diintegrità
dizionario dei dati(dati sui dati)
38
Org an izz azio ne dis trib uit a
reteapplicazioniDBMS
client server
L‘applicazionedatabasepuòessereorganizzatacol modelloclient/server
Il cliente il sever(DBMS) possonoessereeseguitisumacchinediverse
Uno stessoserverpuòservirepiùclient
Unclientpuòutilizzarepiùservers(databasedistribuito)
Va nta gg i e sv an tag gi de i DB MS
Pro
daticome risorsacomunea disposizionedi tuttal‘organizzazione
gestionecentralizzatacon possibilitàdi standardizzazione
disponibilitàdi serviziintegrati
riduzionedi ridondanzee inconsistenzegraziealla condivisione
indipendenzadeidati(favoriscelosviluppoe la manutenzionedelleapplicazioni) Contro
costodeiprodottie dellatransizioneversodi essi(strutture, hardware, personale)
non scorporabilitàdi alcuniservizinon utili(con riduzionedi efficienza)