SlideShare a Scribd company logo
1 of 29
Download to read offline
SISTEMI INFORMATIVI PER LA
  GESTIONE DELL’AZIENDA
       dott. ing. Francesco Guerra
      francesco.guerra@unimore.it
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                              DB e DBMS

                                                        L’attenzione alle basi di dati ha caratterizzato le applicazioni
                                                        informatiche fino dalle origini: i primi software risalgono
                                                        agli anni ’60.
                                                           Molte applicazioni scritte con il linguaggio COBOL sono tuttora
                                                           utilizzate anche se si devono ritenere come applicazioni legacy
                                                        L’approccio convenzionale sfrutta la presenza di archivi per
                                                        memorizzare i dati in modo persistente sulla memoria di
                                                        massa.
                                                           Un file fornisce solo semplici meccanismi di accesso e di
                                                           condivisione
                                                        Un sistema di gestione di basi di dati (DBMS-Data Base
                                                        Management System) e’ un sistema software per gestire
                                                        grandi quantita’ di dati grandi condivise e persistenti,
                                                        assicurando affidabilita’ e privatezza.
                                                                                dott. ing. Francesco Guerra                  2

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                             DB e DBMS

                                                        Le basi di dati sono grandi nel senso che possono contenere
                                                        Terabyte di dati. Devono essere scalabili perche’ gli archivi
                                                        possono essere anche di poche migliaia di byte
                                                        I db sono condivisi: applicazioni e utenti diversi devono potere
                                                        accedere secondo opportune modalita’ a dati comuni.
                                                           Questa proprieta’ determina la riduzione della ridondanza per
                                                           evitare la possibilita’ di inconsistenze
                                                           Implementazione di un sistema di controllo di concorrenza
                                                        Le basi di dati sono persistenti: il loro tempo di vita non e’
                                                        limitato a quelle delle esecuzione degli applicativi che le
                                                        utilizzano
                                                        I DBMS garantiscono affidabilita’: capacita’ di conservare il
                                                        contenuto di un database in caso di malfunzionamento
                                                           Implementazione di specifiche funzionlita’ di backup e recovery


                                                                               dott. ing. Francesco Guerra                 3

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                               DB e DBMS

                                                        I DBMS garantiscono la privatezza dei dati: ciascun utente
                                                        e’ riconosciuto mediante un account e viene abilitato a
                                                        svolgere solo determinate azioni sulla base di meccanismi
                                                        di autorizzazione
                                                        Un DBMS soddisfa ai principi di
                                                           Efficienza: capacita’ di svolgere le operazioni utilizzando un
                                                           insieme di risorse accettabile per gli utenti
                                                           Efficacia: capacita’ della base di dati di rendere produttive le
                                                           attivita’ degli utenti.




                                                                                 dott. ing. Francesco Guerra                  4

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                                Modelli di dati

                                                        Un modello di dati e’ un insieme di concetti utilizzati per
                                                        organizzare i dati di interesse e descriverne la struttura in
                                                        modo che sia comprensibile a un elaboratore
                                                           Ogni modello dati fornisce dei meccanismi di strutturazione.
                                                        Il modello relazionale dei dati – il piu’ diffuso – permette di
                                                        definire nuovi tipi di dato sulla base del costruttore
                                                        relazione: un insieme di record a struttura fissa
                                                           La relazione e’ rappresentabile mediante una tabella
                                                              Le righe sono gli specifici record
                                                              Le colonne sono i campi del record
                                                              L’ordine delle righe e delle colonne e’ sostanzialmente irrilevante




                                                                                  dott. ing. Francesco Guerra                       5

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                              Il modello dei dati


                                                    Docenti
                                                                  CODICE                             NOME

                                                        1                           Francesco Guerra
                                                        2                           Tizio Caio
                                                        …                           …

                                                    Manifesto
                                                            CDL                    MATERIA                              ANNO

                                                        CGI         Sistemi informativi d’azienda                   1
                                                        EA          Sistemi informativi d’azienda                   3
                                                        ACGF        Controllo e S.I.                                2

                                                                                dott. ing. Francesco Guerra                     6

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                               Schemi e Istanze

                                                        Le basi di dati si compongono di due parti:
                                                           Una parte invariante nel tempo detta schema della base di dati
                                                           che descrive le caratteristiche dei dati
                                                              E’ la componente intensionale
                                                           Una parte variabile costituita dai valori effettivi degli elementi
                                                           rappresentati.
                                                              E’ la componente estensionale




                                                                                 dott. ing. Francesco Guerra                    7

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                               Linguaggi per basi di dati

                                                        I linguaggi per basi di dati si dividono in tre tipologie:
                                                           Data Definition Language: servono per specificare gli schemi
                                                           logici esterni e fisici
                                                           Data Manipulation Language: sono utiulizzati per
                                                           l’interrogazione e l’aggiornamento delle basi di dati
                                                           Data Control Language: sono i comandi per la gestione degli
                                                           utenti e la specificazione dei privilegi di accesso
                                                        I dati possono essere consultati mediante:
                                                           Linguaggi testuali interattivi
                                                           Comandi simili a quelli interattivi immersi in linguaggi di
                                                           programmazione tradizionali
                                                           Interfacce amichevoli che permettono di sintetizzare le
                                                           interrogazioni senza usare un linguaggio testuale


                                                                                dott. ing. Francesco Guerra               8

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                            Riassumiamo

                                                        Un DB è una collezione di dati (ad es. rappresentati in
                                                        forma di tabelle) che rappresentano le informazioni di
                                                        interesse per un’organizzazione
                                                        Progettare un DB significa trovare un “buon modo” per
                                                        strutturare i dati, che rispetti sia i requisiti propri del
                                                        Sistema Informativo dell’organizzazione sia i vincoli che sui
                                                        dati vengono imposti
                                                        Un DBMS è un sistema software che gestisce DB
                                                        Per eseguire operazioni su un DB è necessario scrivere
                                                        istruzioni in un linguaggio (tipicamente dichiarativo: SQL)
                                                        supportato dal DBMS
                                                        Il modo specifico con cui un’istruzione viene eseguita è
                                                        scelto dal modulo ottimizzatore del DBMS sulla base di
                                                        considerazioni di efficienza e considerando quali sono gli
                                                        operatori e i metodi di accesso disponibili
                                                                              dott. ing. Francesco Guerra               9

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA
                                                                                                 La classica architettura a
                                                                                                   tre livelli di astrazione




                                                        Vista

                                                                                                                   Database su
                                                         Vista                                                     dispositivi
                                                                                 Schema logico                     fisici
                                                    Livello esterno

                                                          A livello logico si descrive la base di dati con il modello logico usato
                                                          dal DBMS              Livello logico                    Livello fisico
                                                          A livello fisico si descrive il modo in cui i dati sono organizzati e
                                                          gestiti in memoria di massa (dispositivi fisici): ordinamento, scelta
                                                          dei metodi accesso
                                                          A livello esterno si descrive una parte (una vista) della base di dati
                                                          di interesse          dott. ing. Francesco Guerra                    10

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                   Livelli di astrazione nei DBMS

                                                        Esiste una proposta standardizzata di architettura per
                                                        DBMS articolata su 3 livelli (esterno, logico e interno) per
                                                        ciascuno dei quali esiste uno schema:
                                                           Schema logico: e’ lo schema della intera base di dati per
                                                           mezzo del modello logico adottato dal DBMS (relazionale,
                                                           gerarchico, reticolare, ad oggetti, …)
                                                           Schema interno: si tratta della rappresentazione dello schema
                                                           logico per mezzo delle strutture di memorizzazione
                                                           Schema esterno: costituisce la descrizione di una porzione
                                                           della base di dati di interesse per mezzo dello schema logico.




                                                                               dott. ing. Francesco Guerra              11

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                      Indipendenza fisica e logica

                                                     Un’architettura di questo tipo garantisce:
                                                   Indipendenza fisica
                                                         L’organizzazione fisica dei dati dipende da considerazioni
                                                         legate all’efficienza delle organizzazioni adottate. La
                                                         riorganizzazione fisica dei dati non deve comportare
                                                         effetti collaterali sui programmi applicativi
                                                   Indipendenza logica
                                                         Pur in presenza di uno schema logico integrato non è
                                                         utile o conveniente che ogni utente ne abbia una visione
                                                         uniforme




                                                                            dott. ing. Francesco Guerra           12

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                              Utenti e progettisti

                                                        Ci sono diverse categorie di operatori che lavorano con le
                                                        basi di dati:
                                                           L’amministratore delle basi di dati (DBA): e’ il responsabile
                                                           della progettazione, controllo e amministrazione della base di
                                                           dati
                                                           I progettisti e i programmatori di applicazioni: definiscono e
                                                           realizzano i programmi per accedere alle basi di dati
                                                           utilizzando un DML
                                                           Gli utenti che possono accedere sia per compiere transazioni
                                                           ripetitive e formalizzate sia delle interrogazioni non
                                                           preventivabili a priori




                                                                                dott. ing. Francesco Guerra                     13

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                Vantaggi e svantaggi dei DBMS

                                                        Vantaggi:
                                                          I dati vengono considerati come una risorsa comune di una
                                                          organizzazione
                                                          La base di dati rappresenta un modello unificato e preciso della
                                                          parte di mondo reale di interesse per l’organizzazione
                                                          Con il DBMS e’ possibile la gestione centralizzata dei dati che
                                                          puo’ essere arricchita da forme di standardizzazione e
                                                          beneficiare di economie di scala
                                                          La condivisione permette di ridurre la ridondanza e eventuali
                                                          inconsistenze
                                                          L’indipendenza dei dati favorisce lo sviluppo di applicazioni
                                                          flessibili e facilmente modificabili
                                                        Svantaggi:
                                                          I DBMS sono prodotti costosi e complessi con necessita’ di
                                                          investimenti sia diretti sia indiretti (personale di
                                                          manutenzione)
                                                                               dott. ing. Francesco Guerra              14

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA




                                                        Il modello relazionale




                                                             dott. ing. Francesco Guerra   15

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                        Il modello relazionale

                                                        La maggior parte dei DBMS in commercio si fonda sul
                                                        modello relazionale che e’ stato progettato da Codd nel 1970.
                                                        Il modello relazionale si fonda sul concetto di relazione e di
                                                        tabella
                                                           Dati due insiemi D1 e D2 si definisce prodotto cartesiano di D1 e
                                                           D2 (in simboli D1 x D2) l’insieme delle coppie ordinate (v1, v2)
                                                           tali che v1 e’ un elemento di D1 e v2 e’ un elemento di v2
                                                           Una relazione matematica sugli insiemi D1 e D2 e’ un
                                                           sottoinsieme di D1 x D2
                                                           Le relazioni possono essere rappresentate graficamente in forma
                                                           tabellare.




                                                                               dott. ing. Francesco Guerra                  16

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                 Relazione e tabelle: un esempio

                                                   A={1,2,3}
                                                   B={a,b}

                                                   Prodotto cartesiano:
                                                                                                             1   a
                                                   {(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)}
                                                                                                             1   b
                                                                                                             2   a
                                                                                                             2   b
                                                                                                             3   a
                                                                                                             3   b




                                                                               dott. ing. Francesco Guerra           17

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                        Il modello relazionale

                                                        L’esempio fa riferimento a una relazione composta da due
                                                        insiemi di elementi, ma tali relazioni possono essere
                                                        generalizzate rispetto al numero di insiemi.
                                                           Il numero delle componenti del prodotto cartesiano e’ detto
                                                           grado della relazione
                                                           Il numero di elementi della relazione (n-uple) e’ detto
                                                           cardinalita’ della relazione
                                                        Con riferimento all’uso che si fa delle relazioni per
                                                        organizzare i dati nei DB, ciascuna n-upla contiene dati fra
                                                        loro collegati:
                                                           Non e’ definito alcun ordinamento fra le n-uple
                                                           Le n-uple sono distinte le une dalle altre
                                                        E’ possibile introdurre un nome a ogni occorrenza di
                                                        dominio in una relazione (attributo)
                                                                               dott. ing. Francesco Guerra                  18

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                         Tabella di un DB

                                                                   Attributo



                                                   Nome        Cognome         Data di nascita           Professione
                                                                                                                       n-upla
                                                   Francesco   Guerra          21/05/1973                Ricercatore
                                                   Giulia      Montanari       01/01/1979                Studente
                                                   Erika       Rossi           02/02/1983                Impiegata




                                                                           dott. ing. Francesco Guerra                   19

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                      Relazioni e basi di dati

                                                        Una base di dati e’ un insieme di tabelle correlate
                                                                          Matricola        NomeCorso          Docente         Voto
                                                          esaESAESAMI
                                                             ESAME
                                                                          123              Matematica         Rossi           28




                                                                                 Matricola            Nome            Cognome        Età
                                                                  STUDENTI
                                                               STUDENTE
                                                                                 123                  Anna            Verde          21




                                                                   CORSO  NomeCorso  Anno                      Crediti

                                                                    CORSOCORSOCORSI1
                                                                          Matematica                           5




                                                                                dott. ing. Francesco Guerra                                20

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                         Informazione incompleta e valori nulli

                                                        La rappresentazione del modello relazionale impone che le
                                                        informazioni siano rappresentate con tuple di dati omogenee:

                                                        PERSONE (nome, cognome, indirizzo, n_cellulare)


                                                        il valore dell’attributo n_cellulare potrebbe non essere presente
                                                        per tutte le tuple
                                                           Si potrebbe utilizzare un valore del dominio per identificare
                                                           l’assenza di informazione
                                                              Richiede l’esistenza di tale valore
                                                              L’uso di valori di dominio puo’ generare confusione: la distinzione fra
                                                              valori veri e valori falsi e’ nascosta.
                                                           Esiste un opportuno valore (NULL – valore nullo) che indica
                                                           l’assenza di informazione (intesa come valore sconosciuto, valore
                                                           inesistente o assenza generica di informazione)
                                                                                  dott. ing. Francesco Guerra                    21

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                                Vincoli di integrita’

                                                        Le strutture del modello relazionale ci permettono di
                                                        organizzare le informazioni di interesse per le applicazioni, ma
                                                        non tutte i dati (o le combinazioni di dati) che sono
                                                        rappresentabili dal dominio permettono di descrivere stati
                                                        corretti del database
                                                           Vincolo di integrita’: proprieta’ che deve essere soddisfatta dalle
                                                           istanze che rappresentano informazioni corrette per l’applicazione
                                                              Vincoli di tupla: esprimono condizioni sui valori di ciascuna tupla,
                                                              indipendentemente dalle altre tuple
                                                              Chiavi: e’ l’insieme di attributi minimo che permette di identificare
                                                              univocamente ogni tupla della relazione (ovviamente non e’
                                                              consentito agli attributi della chiave di assumere dei valori nulli)
                                                              Vincoli di integrita’ referenziale: permettono di correlare in maniera
                                                              corretta tuple appartenenti a relazioni diverse assicurando che
                                                              quando in una tupla si utilizza il valore di un attributo per riferirsi a
                                                              un’altra tupla questa deve essere una tupla esistente (chiave esterna)
                                                                                  dott. ing. Francesco Guerra                      22

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                        Esempio: modellazione di un sito di e-commerce

                                                   Si vuole modellare un sito di e-commerce che vende libri.
                                                   I clienti vengono identificati da un login e descritti
                                                   tramite il nome, il cognome e l’e-mail.
                                                   I libri sono identificati dal codice ISBN e per ogni libro
                                                   viene descritto l’autore, il titolo, il numero di pagine e
                                                   il prezzo.
                                                   In una certa data un cliente acquista un certo numero di
                                                   copie di uno o piu’ libri. L’acquisto deve essere
                                                   memorizzato dal DB.

                                                   Per risolvere il problema e’ sufficiente realizzare un DB con tre
                                                   tabelle:
                                                         Una tabella memorizza i clienti
                                                         Una tabella memorizza i libri
                                                         Una tabella memorizza gli acquisti

                                                                             dott. ing. Francesco Guerra           23

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                        Esempio: modellazione di un sito di e-commerce

                                                   Clienti (login, password, nome, cognome, email)
                                                         Chiave: login
                                                   Libro (ISBN, autore, titolo, n_pagine, prezzo)
                                                         Chiave: ISBN
                                                   Acquisto (data, login, ISBN, quantita)
                                                         Chiave (esterna): login (riferisce a Clienti), ISBN (riferisce a Libro)




                                                                                     dott. ing. Francesco Guerra                   24

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                        Esempio: modellazione di un sito di e-commerce




                                                                       dott. ing. Francesco Guerra   25

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                          Esempio: modellazione di un sito di e-commerce

                                                        Secondo la modellazione assunta e considerando le istanze
                                                        inserite nella pagina precedente:
                                                           Si puo’ inserire nel db un altro cliente di nome Francesco,
                                                           cognome Guerra e login fguerra73?
                                                           Si puo’ inserire nel db un altro cliente che abbia login fguerra,
                                                           password 21573 nome Francesco, cognome Guerra, email
                                                           guerra.francesco@unimore.it?
                                                           Un cliente puo’ acquistare due volte lo stesso libro in date
                                                           diverse?
                                                           Il cliente fguerra puo’ acquistare il libro ISBN 88-371 autore:
                                                           Bergamaschi, …?
                                                           Possono essere inseriti clienti nel db senza che abbiano mai
                                                           fatto acquisti?
                                                           Si possono inserire libri che non sono mai stati acquistati?
                                                           Si possono inserire degli acquisti senza la presenza di una
                                                           tupla corrispondente nella tabella libri e nella tabella clienti?
                                                                                dott. ing. Francesco Guerra                26

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                      Esempio: prestito in biblioteca

                                                   Si rappresenti mediante il modello relazionale il funzionamento del db della
                                                   biblioteca. Un utente e’ identificato dal codice fiscale e ha un nome, un
                                                   cognome, un indirizzo. Un libro e’ identificato dal codice, ha un titolo, un
                                                   autore, una casa editrice e un anno.
                                                   Un utente puo’ prendere in prestito piu’ libri con il vincolo che in una certa
                                                   data un utente non posso prendere in prestito piu’ di un libro


                                                   Libro (codice, titolo, autore, casa_editrice, anno)
                                                   Chiave: codice
                                                   Utente (cf, nome, cognome, indirizzo)
                                                   Chiave: cf
                                                   Prestito (codice, cf, data)
                                                   Chiave: codice, cf, data




                                                                                  dott. ing. Francesco Guerra                       27

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                                      Esercizi

                                                   Considerare le informazioni per la gestione dei prestiti di una biblioteca
                                                   personale. Il proprietario presta libri ai suoi amici, che indica semplicemente
                                                   attraverso i nomi o soprannomi (per evitare omonimie) e fa riferimento ai libri
                                                   attraverso i titoli (non possiede due libri con lo stesso titolo).
                                                   Quando presta un libro prende nota della data prevista per la restituzione.
                                                   Definire uno schema di relazione per rappresentare queste informazioni e
                                                   mostrarne un’istanza in forma tabellare. Indicare la chiave (le chiavi) della
                                                   relazione.


                                                   Rappresentare per mezzo di una o piu’ relazioni le informazioni contenute
                                                   nell’orario delle partenze di una stazione ferroviaria: numero, orario,
                                                   destinazione finale, categoria del treno, …




                                                                                 dott. ing. Francesco Guerra                    28

            1                                      DB
SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA


                                                                                                            Bibliografia

                                                        Atzeni, Ceri, Paraboschi, Torlone: Basi di dati: Modelli e
                                                        linguaggi di interrogazione, McGraw-Hill
                                                        Beneventano, Bergamaschi, Guerra, Vincini: Progetto di
                                                        basi di dati relazionali, Pitagora Editrice Bologna, 2007




                                                                              dott. ing. Francesco Guerra             29

            1                                      DB

More Related Content

Similar to 1 Sigda - Database

08 Introduzione All Architettura Di Un D B M S
08  Introduzione All Architettura Di Un  D B M S08  Introduzione All Architettura Di Un  D B M S
08 Introduzione All Architettura Di Un D B M Sguestbe916c
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis nimartini
 
La gestione dei database secondo il GDPR – SQL Server
La gestione dei database secondo il GDPR – SQL ServerLa gestione dei database secondo il GDPR – SQL Server
La gestione dei database secondo il GDPR – SQL ServerDatamaze
 
La gestione dei database secondo il GDPR - SQL Server
La gestione dei database secondo il GDPR - SQL ServerLa gestione dei database secondo il GDPR - SQL Server
La gestione dei database secondo il GDPR - SQL ServerCristiano Gasparotto
 
Strumenti digitali professionisti - Gestione del dato
Strumenti digitali professionisti - Gestione del datoStrumenti digitali professionisti - Gestione del dato
Strumenti digitali professionisti - Gestione del datoFabio Tonini
 
Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...
Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...
Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...Denodo
 
Gestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luceGestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luce3DGIS
 
Nostromo 2.0(11)
Nostromo 2.0(11)Nostromo 2.0(11)
Nostromo 2.0(11)sschito
 

Similar to 1 Sigda - Database (20)

Basi di dati
Basi di dati Basi di dati
Basi di dati
 
08 Introduzione All Architettura Di Un D B M S
08  Introduzione All Architettura Di Un  D B M S08  Introduzione All Architettura Di Un  D B M S
08 Introduzione All Architettura Di Un D B M S
 
Dbms
DbmsDbms
Dbms
 
3 database dbms
3 database dbms3 database dbms
3 database dbms
 
Database introduzione
Database introduzioneDatabase introduzione
Database introduzione
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis n
 
Cloud Computing
Cloud  ComputingCloud  Computing
Cloud Computing
 
Corso access 2010
Corso access 2010Corso access 2010
Corso access 2010
 
01 Intro07
01 Intro0701 Intro07
01 Intro07
 
cloud
cloudcloud
cloud
 
Database Management Intro
Database Management IntroDatabase Management Intro
Database Management Intro
 
La gestione dei database secondo il GDPR – SQL Server
La gestione dei database secondo il GDPR – SQL ServerLa gestione dei database secondo il GDPR – SQL Server
La gestione dei database secondo il GDPR – SQL Server
 
La gestione dei database secondo il GDPR - SQL Server
La gestione dei database secondo il GDPR - SQL ServerLa gestione dei database secondo il GDPR - SQL Server
La gestione dei database secondo il GDPR - SQL Server
 
Db2 e book_ita
Db2 e book_itaDb2 e book_ita
Db2 e book_ita
 
No Sql Intro
No Sql IntroNo Sql Intro
No Sql Intro
 
Strumenti digitali professionisti - Gestione del dato
Strumenti digitali professionisti - Gestione del datoStrumenti digitali professionisti - Gestione del dato
Strumenti digitali professionisti - Gestione del dato
 
Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...
Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...
Logical Data Management: La chiave per sfruttare al massimo il potenziale dei...
 
Gestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luceGestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luce
 
Brochure dms
Brochure dmsBrochure dms
Brochure dms
 
Nostromo 2.0(11)
Nostromo 2.0(11)Nostromo 2.0(11)
Nostromo 2.0(11)
 

More from Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

More from Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
6
66
6
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 

Recently uploaded

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 

Recently uploaded (9)

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 

1 Sigda - Database

  • 1. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA dott. ing. Francesco Guerra francesco.guerra@unimore.it
  • 2. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA DB e DBMS L’attenzione alle basi di dati ha caratterizzato le applicazioni informatiche fino dalle origini: i primi software risalgono agli anni ’60. Molte applicazioni scritte con il linguaggio COBOL sono tuttora utilizzate anche se si devono ritenere come applicazioni legacy L’approccio convenzionale sfrutta la presenza di archivi per memorizzare i dati in modo persistente sulla memoria di massa. Un file fornisce solo semplici meccanismi di accesso e di condivisione Un sistema di gestione di basi di dati (DBMS-Data Base Management System) e’ un sistema software per gestire grandi quantita’ di dati grandi condivise e persistenti, assicurando affidabilita’ e privatezza. dott. ing. Francesco Guerra 2 1 DB
  • 3. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA DB e DBMS Le basi di dati sono grandi nel senso che possono contenere Terabyte di dati. Devono essere scalabili perche’ gli archivi possono essere anche di poche migliaia di byte I db sono condivisi: applicazioni e utenti diversi devono potere accedere secondo opportune modalita’ a dati comuni. Questa proprieta’ determina la riduzione della ridondanza per evitare la possibilita’ di inconsistenze Implementazione di un sistema di controllo di concorrenza Le basi di dati sono persistenti: il loro tempo di vita non e’ limitato a quelle delle esecuzione degli applicativi che le utilizzano I DBMS garantiscono affidabilita’: capacita’ di conservare il contenuto di un database in caso di malfunzionamento Implementazione di specifiche funzionlita’ di backup e recovery dott. ing. Francesco Guerra 3 1 DB
  • 4. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA DB e DBMS I DBMS garantiscono la privatezza dei dati: ciascun utente e’ riconosciuto mediante un account e viene abilitato a svolgere solo determinate azioni sulla base di meccanismi di autorizzazione Un DBMS soddisfa ai principi di Efficienza: capacita’ di svolgere le operazioni utilizzando un insieme di risorse accettabile per gli utenti Efficacia: capacita’ della base di dati di rendere produttive le attivita’ degli utenti. dott. ing. Francesco Guerra 4 1 DB
  • 5. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Modelli di dati Un modello di dati e’ un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che sia comprensibile a un elaboratore Ogni modello dati fornisce dei meccanismi di strutturazione. Il modello relazionale dei dati – il piu’ diffuso – permette di definire nuovi tipi di dato sulla base del costruttore relazione: un insieme di record a struttura fissa La relazione e’ rappresentabile mediante una tabella Le righe sono gli specifici record Le colonne sono i campi del record L’ordine delle righe e delle colonne e’ sostanzialmente irrilevante dott. ing. Francesco Guerra 5 1 DB
  • 6. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Il modello dei dati Docenti CODICE NOME 1 Francesco Guerra 2 Tizio Caio … … Manifesto CDL MATERIA ANNO CGI Sistemi informativi d’azienda 1 EA Sistemi informativi d’azienda 3 ACGF Controllo e S.I. 2 dott. ing. Francesco Guerra 6 1 DB
  • 7. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Schemi e Istanze Le basi di dati si compongono di due parti: Una parte invariante nel tempo detta schema della base di dati che descrive le caratteristiche dei dati E’ la componente intensionale Una parte variabile costituita dai valori effettivi degli elementi rappresentati. E’ la componente estensionale dott. ing. Francesco Guerra 7 1 DB
  • 8. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Linguaggi per basi di dati I linguaggi per basi di dati si dividono in tre tipologie: Data Definition Language: servono per specificare gli schemi logici esterni e fisici Data Manipulation Language: sono utiulizzati per l’interrogazione e l’aggiornamento delle basi di dati Data Control Language: sono i comandi per la gestione degli utenti e la specificazione dei privilegi di accesso I dati possono essere consultati mediante: Linguaggi testuali interattivi Comandi simili a quelli interattivi immersi in linguaggi di programmazione tradizionali Interfacce amichevoli che permettono di sintetizzare le interrogazioni senza usare un linguaggio testuale dott. ing. Francesco Guerra 8 1 DB
  • 9. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Riassumiamo Un DB è una collezione di dati (ad es. rappresentati in forma di tabelle) che rappresentano le informazioni di interesse per un’organizzazione Progettare un DB significa trovare un “buon modo” per strutturare i dati, che rispetti sia i requisiti propri del Sistema Informativo dell’organizzazione sia i vincoli che sui dati vengono imposti Un DBMS è un sistema software che gestisce DB Per eseguire operazioni su un DB è necessario scrivere istruzioni in un linguaggio (tipicamente dichiarativo: SQL) supportato dal DBMS Il modo specifico con cui un’istruzione viene eseguita è scelto dal modulo ottimizzatore del DBMS sulla base di considerazioni di efficienza e considerando quali sono gli operatori e i metodi di accesso disponibili dott. ing. Francesco Guerra 9 1 DB
  • 10. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA La classica architettura a tre livelli di astrazione Vista Database su Vista dispositivi Schema logico fisici Livello esterno A livello logico si descrive la base di dati con il modello logico usato dal DBMS Livello logico Livello fisico A livello fisico si descrive il modo in cui i dati sono organizzati e gestiti in memoria di massa (dispositivi fisici): ordinamento, scelta dei metodi accesso A livello esterno si descrive una parte (una vista) della base di dati di interesse dott. ing. Francesco Guerra 10 1 DB
  • 11. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Livelli di astrazione nei DBMS Esiste una proposta standardizzata di architettura per DBMS articolata su 3 livelli (esterno, logico e interno) per ciascuno dei quali esiste uno schema: Schema logico: e’ lo schema della intera base di dati per mezzo del modello logico adottato dal DBMS (relazionale, gerarchico, reticolare, ad oggetti, …) Schema interno: si tratta della rappresentazione dello schema logico per mezzo delle strutture di memorizzazione Schema esterno: costituisce la descrizione di una porzione della base di dati di interesse per mezzo dello schema logico. dott. ing. Francesco Guerra 11 1 DB
  • 12. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Indipendenza fisica e logica Un’architettura di questo tipo garantisce: Indipendenza fisica L’organizzazione fisica dei dati dipende da considerazioni legate all’efficienza delle organizzazioni adottate. La riorganizzazione fisica dei dati non deve comportare effetti collaterali sui programmi applicativi Indipendenza logica Pur in presenza di uno schema logico integrato non è utile o conveniente che ogni utente ne abbia una visione uniforme dott. ing. Francesco Guerra 12 1 DB
  • 13. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Utenti e progettisti Ci sono diverse categorie di operatori che lavorano con le basi di dati: L’amministratore delle basi di dati (DBA): e’ il responsabile della progettazione, controllo e amministrazione della base di dati I progettisti e i programmatori di applicazioni: definiscono e realizzano i programmi per accedere alle basi di dati utilizzando un DML Gli utenti che possono accedere sia per compiere transazioni ripetitive e formalizzate sia delle interrogazioni non preventivabili a priori dott. ing. Francesco Guerra 13 1 DB
  • 14. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Vantaggi e svantaggi dei DBMS Vantaggi: I dati vengono considerati come una risorsa comune di una organizzazione La base di dati rappresenta un modello unificato e preciso della parte di mondo reale di interesse per l’organizzazione Con il DBMS e’ possibile la gestione centralizzata dei dati che puo’ essere arricchita da forme di standardizzazione e beneficiare di economie di scala La condivisione permette di ridurre la ridondanza e eventuali inconsistenze L’indipendenza dei dati favorisce lo sviluppo di applicazioni flessibili e facilmente modificabili Svantaggi: I DBMS sono prodotti costosi e complessi con necessita’ di investimenti sia diretti sia indiretti (personale di manutenzione) dott. ing. Francesco Guerra 14 1 DB
  • 15. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Il modello relazionale dott. ing. Francesco Guerra 15 1 DB
  • 16. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Il modello relazionale La maggior parte dei DBMS in commercio si fonda sul modello relazionale che e’ stato progettato da Codd nel 1970. Il modello relazionale si fonda sul concetto di relazione e di tabella Dati due insiemi D1 e D2 si definisce prodotto cartesiano di D1 e D2 (in simboli D1 x D2) l’insieme delle coppie ordinate (v1, v2) tali che v1 e’ un elemento di D1 e v2 e’ un elemento di v2 Una relazione matematica sugli insiemi D1 e D2 e’ un sottoinsieme di D1 x D2 Le relazioni possono essere rappresentate graficamente in forma tabellare. dott. ing. Francesco Guerra 16 1 DB
  • 17. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Relazione e tabelle: un esempio A={1,2,3} B={a,b} Prodotto cartesiano: 1 a {(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)} 1 b 2 a 2 b 3 a 3 b dott. ing. Francesco Guerra 17 1 DB
  • 18. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Il modello relazionale L’esempio fa riferimento a una relazione composta da due insiemi di elementi, ma tali relazioni possono essere generalizzate rispetto al numero di insiemi. Il numero delle componenti del prodotto cartesiano e’ detto grado della relazione Il numero di elementi della relazione (n-uple) e’ detto cardinalita’ della relazione Con riferimento all’uso che si fa delle relazioni per organizzare i dati nei DB, ciascuna n-upla contiene dati fra loro collegati: Non e’ definito alcun ordinamento fra le n-uple Le n-uple sono distinte le une dalle altre E’ possibile introdurre un nome a ogni occorrenza di dominio in una relazione (attributo) dott. ing. Francesco Guerra 18 1 DB
  • 19. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Tabella di un DB Attributo Nome Cognome Data di nascita Professione n-upla Francesco Guerra 21/05/1973 Ricercatore Giulia Montanari 01/01/1979 Studente Erika Rossi 02/02/1983 Impiegata dott. ing. Francesco Guerra 19 1 DB
  • 20. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Relazioni e basi di dati Una base di dati e’ un insieme di tabelle correlate Matricola NomeCorso Docente Voto esaESAESAMI ESAME 123 Matematica Rossi 28 Matricola Nome Cognome Età STUDENTI STUDENTE 123 Anna Verde 21 CORSO NomeCorso Anno Crediti CORSOCORSOCORSI1 Matematica 5 dott. ing. Francesco Guerra 20 1 DB
  • 21. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Informazione incompleta e valori nulli La rappresentazione del modello relazionale impone che le informazioni siano rappresentate con tuple di dati omogenee: PERSONE (nome, cognome, indirizzo, n_cellulare) il valore dell’attributo n_cellulare potrebbe non essere presente per tutte le tuple Si potrebbe utilizzare un valore del dominio per identificare l’assenza di informazione Richiede l’esistenza di tale valore L’uso di valori di dominio puo’ generare confusione: la distinzione fra valori veri e valori falsi e’ nascosta. Esiste un opportuno valore (NULL – valore nullo) che indica l’assenza di informazione (intesa come valore sconosciuto, valore inesistente o assenza generica di informazione) dott. ing. Francesco Guerra 21 1 DB
  • 22. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Vincoli di integrita’ Le strutture del modello relazionale ci permettono di organizzare le informazioni di interesse per le applicazioni, ma non tutte i dati (o le combinazioni di dati) che sono rappresentabili dal dominio permettono di descrivere stati corretti del database Vincolo di integrita’: proprieta’ che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l’applicazione Vincoli di tupla: esprimono condizioni sui valori di ciascuna tupla, indipendentemente dalle altre tuple Chiavi: e’ l’insieme di attributi minimo che permette di identificare univocamente ogni tupla della relazione (ovviamente non e’ consentito agli attributi della chiave di assumere dei valori nulli) Vincoli di integrita’ referenziale: permettono di correlare in maniera corretta tuple appartenenti a relazioni diverse assicurando che quando in una tupla si utilizza il valore di un attributo per riferirsi a un’altra tupla questa deve essere una tupla esistente (chiave esterna) dott. ing. Francesco Guerra 22 1 DB
  • 23. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Esempio: modellazione di un sito di e-commerce Si vuole modellare un sito di e-commerce che vende libri. I clienti vengono identificati da un login e descritti tramite il nome, il cognome e l’e-mail. I libri sono identificati dal codice ISBN e per ogni libro viene descritto l’autore, il titolo, il numero di pagine e il prezzo. In una certa data un cliente acquista un certo numero di copie di uno o piu’ libri. L’acquisto deve essere memorizzato dal DB. Per risolvere il problema e’ sufficiente realizzare un DB con tre tabelle: Una tabella memorizza i clienti Una tabella memorizza i libri Una tabella memorizza gli acquisti dott. ing. Francesco Guerra 23 1 DB
  • 24. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Esempio: modellazione di un sito di e-commerce Clienti (login, password, nome, cognome, email) Chiave: login Libro (ISBN, autore, titolo, n_pagine, prezzo) Chiave: ISBN Acquisto (data, login, ISBN, quantita) Chiave (esterna): login (riferisce a Clienti), ISBN (riferisce a Libro) dott. ing. Francesco Guerra 24 1 DB
  • 25. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Esempio: modellazione di un sito di e-commerce dott. ing. Francesco Guerra 25 1 DB
  • 26. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Esempio: modellazione di un sito di e-commerce Secondo la modellazione assunta e considerando le istanze inserite nella pagina precedente: Si puo’ inserire nel db un altro cliente di nome Francesco, cognome Guerra e login fguerra73? Si puo’ inserire nel db un altro cliente che abbia login fguerra, password 21573 nome Francesco, cognome Guerra, email guerra.francesco@unimore.it? Un cliente puo’ acquistare due volte lo stesso libro in date diverse? Il cliente fguerra puo’ acquistare il libro ISBN 88-371 autore: Bergamaschi, …? Possono essere inseriti clienti nel db senza che abbiano mai fatto acquisti? Si possono inserire libri che non sono mai stati acquistati? Si possono inserire degli acquisti senza la presenza di una tupla corrispondente nella tabella libri e nella tabella clienti? dott. ing. Francesco Guerra 26 1 DB
  • 27. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Esempio: prestito in biblioteca Si rappresenti mediante il modello relazionale il funzionamento del db della biblioteca. Un utente e’ identificato dal codice fiscale e ha un nome, un cognome, un indirizzo. Un libro e’ identificato dal codice, ha un titolo, un autore, una casa editrice e un anno. Un utente puo’ prendere in prestito piu’ libri con il vincolo che in una certa data un utente non posso prendere in prestito piu’ di un libro Libro (codice, titolo, autore, casa_editrice, anno) Chiave: codice Utente (cf, nome, cognome, indirizzo) Chiave: cf Prestito (codice, cf, data) Chiave: codice, cf, data dott. ing. Francesco Guerra 27 1 DB
  • 28. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Esercizi Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso i nomi o soprannomi (per evitare omonimie) e fa riferimento ai libri attraverso i titoli (non possiede due libri con lo stesso titolo). Quando presta un libro prende nota della data prevista per la restituzione. Definire uno schema di relazione per rappresentare queste informazioni e mostrarne un’istanza in forma tabellare. Indicare la chiave (le chiavi) della relazione. Rappresentare per mezzo di una o piu’ relazioni le informazioni contenute nell’orario delle partenze di una stazione ferroviaria: numero, orario, destinazione finale, categoria del treno, … dott. ing. Francesco Guerra 28 1 DB
  • 29. SISTEMI INFORMATIVI PER LA GESTIONE DELL’AZIENDA Bibliografia Atzeni, Ceri, Paraboschi, Torlone: Basi di dati: Modelli e linguaggi di interrogazione, McGraw-Hill Beneventano, Bergamaschi, Guerra, Vincini: Progetto di basi di dati relazionali, Pitagora Editrice Bologna, 2007 dott. ing. Francesco Guerra 29 1 DB