SISTEMI INFORMATIVI
     D’AZIENDA
   dott. ing. Francesco Guerra
   guerra.francesco@unimo.it
SISTEMI INFORMATIVI D’AZIENDA




                                     Il modello relazionale




                        ...
SISTEMI INFORMATIVI D’AZIENDA

                                                                                     Il mod...
SISTEMI INFORMATIVI D’AZIENDA

                                                              Relazione e tabelle: un esemp...
SISTEMI INFORMATIVI D’AZIENDA

                                                                                     Il mod...
SISTEMI INFORMATIVI D’AZIENDA

                                                                                      Tabel...
SISTEMI INFORMATIVI D’AZIENDA

                                                                                   Relazion...
SISTEMI INFORMATIVI D’AZIENDA

                                                      Informazione incompleta e valori null...
SISTEMI INFORMATIVI D’AZIENDA

                                                                                           ...
SISTEMI INFORMATIVI D’AZIENDA

                                     Esempio: modellazione di un sito di e-commerce

      ...
SISTEMI INFORMATIVI D’AZIENDA

                                     Esempio: modellazione di un sito di e-commerce

      ...
SISTEMI INFORMATIVI D’AZIENDA

                                     Esempio: modellazione di un sito di e-commerce




   ...
SISTEMI INFORMATIVI D’AZIENDA

                                       Esempio: modellazione di un sito di e-commerce

    ...
SISTEMI INFORMATIVI D’AZIENDA

                                                                   Esempio: prestito in bib...
SISTEMI INFORMATIVI D’AZIENDA

                                                                                           ...
SISTEMI INFORMATIVI D’AZIENDA

                                                                                        Bib...
Upcoming SlideShare
Loading in …5
×

2 Siadb

519
-1

Published on

slide delle lezioni

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
519
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2 Siadb

  1. 1. SISTEMI INFORMATIVI D’AZIENDA dott. ing. Francesco Guerra guerra.francesco@unimo.it
  2. 2. SISTEMI INFORMATIVI D’AZIENDA Il modello relazionale dott. ing. Francesco Guerra 2 2 DB
  3. 3. SISTEMI INFORMATIVI D’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 3 2 DB
  4. 4. SISTEMI INFORMATIVI D’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 4 2 DB
  5. 5. SISTEMI INFORMATIVI D’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 5 2 DB
  6. 6. SISTEMI INFORMATIVI D’AZIENDA Tabella di un DB Attributo Nome Cognome Data di nascita Professione n-upla Francesco Guerra 21/05/1973 Contrattista Giulia Montanari 01/01/1979 Studente Erika Rossi 02/02/1983 Impiegata dott. ing. Francesco Guerra 6 2 DB
  7. 7. SISTEMI INFORMATIVI D’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 7 2 DB
  8. 8. SISTEMI INFORMATIVI D’AZIENDA Informazione incompleta e valori nulli La rappresentazione del modello relazionale impone che le informazioni siano rappresentate con tuple di dati omogenee: le relazioni possono infatti rappresentare tuple corrispondenti alle relazioni stesse: 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 8 2 DB
  9. 9. SISTEMI INFORMATIVI D’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 9 2 DB
  10. 10. SISTEMI INFORMATIVI D’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 10 2 DB
  11. 11. SISTEMI INFORMATIVI D’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 11 2 DB
  12. 12. SISTEMI INFORMATIVI D’AZIENDA Esempio: modellazione di un sito di e-commerce dott. ing. Francesco Guerra 12 2 DB
  13. 13. SISTEMI INFORMATIVI D’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 13 2 DB
  14. 14. SISTEMI INFORMATIVI D’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 14 2 DB
  15. 15. SISTEMI INFORMATIVI D’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 15 2 DB
  16. 16. SISTEMI INFORMATIVI D’AZIENDA Bibliografia Atzeni, Ceri, Paraboschi, Torlone: Basi di dati: Modelli e linguaggi di interrogazione, McGraw-Hill Beneventano, Bergamaschi, Vincini: Progetto di basi di dati relazionali, Pitagora Editrice Bologna dott. ing. Francesco Guerra 16 2 DB
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×