vuoi
o PayPal
tutte le volte che vuoi
DB• Base di Dati: Raccolta di informazioni strutturate relative ad un determinato dominio di interesse• Oggetti nella Base di Dati: Memorizzano proprietà di “Oggetti” e Relazioni tra Oggetti nel dominio di interesse 9Informatica Generale Maria De Marsico 3
DBMS• Sistemi software in grado di gestire collezioni di dati che sono• Molto grandi• Condivise da più utenti e più applicazioni• Persistenti: il ciclo di vita dei dati non è limitato alle singole esecuzioni dei dati che li usano 10Informatica Generale Maria De Marsico
Condivisione• In una organizzazione ogni componente è interessata ad una porzione del Sistema Informativo• Esempio: listino prezzi (usato dai commessi) e giacenze di magazzino (usato dai magazzinieri) di una società che distribuisce hardware• Queste porzioni possono sovrapporsi• Esempio: un commesso ha bisogno di sapere se un certo pezzo è disponibile• Una base di
dati è una risorsa integrata condivisa da diverse componenti. L'integrazione e la condivisione permettono di ridurre ridondanze (dati parzialmente o totalmente replicati) e conseguenti inconsistenze.
Condivisione:
- La condivisione non è mai completa: occorrono controllo della privacy e regolamentazione degli accessi.
- La condivisione comporta la necessità di gestire accessi contemporanei agli stessi dati: controllo della concorrenza.
Memorizzazione:
I sistemi di basi di dati utilizzano file informati proprietari per memorizzare i dati, ma offrono agli utenti una vista astratta dei dati, in modo da rendere trasparenti i dettagli di memorizzazione e manipolazione.
Ricordiamo ... I record:
- I record sono aggregati di variabili di tipo diverso e permettono di definire nuovi tipi.
- A cosa possono servire ...
- A rappresentare le schede
Nome Autore | Cognome Autore | Titolo | Scaffale |
---|---|---|---|
Maria | De Marsico | Informatica Generale | 14 |
Struttura del record di tipo Scheda_Biblioteca:
Nome Autore | Cognome Autore | Posizione | Costo | Scaffale | Titolo |
---|---|---|---|---|---|
Luciano | Costa | 5012 | 25 | Liberi con l'informatica | |
Richard | Bach | 1520 | 10 | Il gabbiano Jonathan Livingstone | |
Emmanuel | Kant | 115 | 30 | Critica della ragion pura | |
Piergiorgio | Odifreddi | 15015 | 15 | Il matematico impertinente |
Array (Vettore) di record di tipo Scheda_Biblioteca:
Informatica Generale | Maria De Marsico | 5 |
---|
Oggetti e record:
- Un certo tipo di record può servire a memorizzare informazioni di tipo diverso su un certo oggetto appartenente ad una certa classe (studente, automobile, libro, ...)
- I record relativi a oggetti della stessa classe vengono raggruppati in tabelle (la tabella con le informazioni sugli studenti, sulle automobili, sui libri)
La differenza tra un foglio elettronico e una base di dati può essere che una base di dati può essere "interrogata" in diversi modi. Ci torniamo tra poco...
16Informatica Generale Maria De Marsico
I 3 livelli di astrazione di un DB
- Utente
- Schema esterno
- Schema logico
- Schema interno
- Data base
17Informatica Generale Maria De Marsico
I 3 livelli di astrazione di un DB
- Schema fisico: quello che non vediamo proprio mai! Rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione, cioè i file
- Schema logico: descrizione dell'intera base di dati nel modello logico "principale" del DBMS, ad esempio la struttura delle tabelle
- Schema esterno: descrizione di una porzione della base di dati in un modello logico attraverso "viste" parziali, o derivate, che possono prevedere organizzazioni dei dati diverse rispetto a quelle utilizzate nello schema logico, e che riflettono esigenze
privilegi di accesso di particolari tipologie di utenti;ad uno schema logico si possono associare più schemi esterni
Informatica Generale Maria De Marsico
Una vista (schema esterno)
Corsi Aule
Corso Docente Aula Nome Edificio Piano
Basi di dati Rossi DS3 DS1 OMI Terra
Neri N3
Sistemi N3 OMI Terra
Bruni N3
Reti G Pincherle Primo
Bruni G
Controlli SCHEMA LOGICO
Corsi Sedi Corso Aula Edificio Piano
Sistemi N3 OMI Terra VISTA
Reti N3 OMI Terra
Controlli G Pincherle Primo
Informatica Generale Maria De Marsico
Accesso alla Base di Dati
• Gli accessi alla base di dati avvengono solamente attraverso lo schema esterno, che può coincidere completamente con lo schema logico.
Informatica Generale Maria De Marsico
Indipendenza dei dati
• Indipendenza fisica: il livello logico e quello esterno sono indipendenti da quello fisico
• una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (organizzazione dei file e loro allocazione fisica)
realizzazione fisica può cambiare senza che debbano essere modificati i programmi
Informatica Generale Maria De Marsico
Indipendenza dei dati
- Indipendenza logica: il livello esterno è indipendente da quello logico
- Aggiunte o modifiche alle viste non richiedono modifiche al livello logico
- Modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti
Informatica Generale Maria De Marsico
Schemi e istanze
- In ogni base di dati esistono:
- Lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale): nel modello relazionale, le intestazioni delle tabelle = lista di nomi di attributi e loro tipi
- L'istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale): nel modello relazionale, il "corpo" di ciascuna tabella
Informatica Generale Maria De Marsico
Schemi e istanze nel modello relazionale
ANAGRAFICA
NOME COGNOME DATA N LUOGO
SCHEMA
Piero
Napoli 22-10-63 Bari
Marco Bianchi 01-05-54 Roma
Maria Rossi 09-02-68 Milano
Maria Bianchi 07-12-70 Bari
Paolo Sossi 15-03-75 Palermo
ISTANZA 24
Informatica Generale Maria De Marsico 8
Linguaggi per le basi di dati
- data definition language (DDL)
- per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali
- data manipulation language (DML)
- per l'interrogazione e l'aggiornamento di (istanze di) basi di dati
- In SQL i due tipi di funzionalità sono integrate in un unico linguaggio di comandi
Informatica Generale Maria De Marsico
Modello di dati
- strutture da utilizzare per organizzare i dati di interesse e le loro relazioni
- componente fondamentale: costruttori di tipo
- esempio: il modello relazionale prevede il costruttore di relazione: organizza i dati come insieme di record (tipi) omogenei
Informatica Generale Maria De Marsico
Due tipi (principali) di modelli
- modelli logici: indipendenti dalle strutture
- Nodi = record
- Archi = link
- Il più
fisiche madisponibili nei DBMS: es. reticolare (network), gerarchico(hierarchical), relazionale (relational), ad oggetti (object)•
modelli concettuali: indipendenti dalle modalità direalizzazione, hanno lo scopo di rappresentare le entità delmondo reale e le loro relazioni nelle prime fasi dellaprogettazione: es. entità-relazioni (entity-relationship)•
i diagrammi di flusso sono una rappresentazione concettualedi un algoritmo, perché non dipendono dal linguaggio cheuseremo per implementarlo 27Informatica Generale Maria De Marsico 9Modello reticolare•
I dati sono rappresentati come una collezione di recorddi tipo omogeneo•
Le relazioni tra i dati sono rappresentate come link(implementati come puntatori, cioè veri e propriindirizzi di memoria = dipendenza dalla struttura fisicadella base di dati)•
Il modello è rappresentato come una struttura a grafodove :
CODICE | COGNOME | NOME | RUOLO | ASSUNZIONE |
---|---|---|---|---|
COD1 | Rossi | Mario | Analista | 1995 |
tipo“Membro dello Staff”
CODICE | COGNOME | NOME | RUOLO | ASSUNZIONE |
---|---|---|---|---|
COD1 | Rossi | Mario | Analista | 1995 |
COD2 | Bianchi | Pietro | Analista | 1990 |
COD3 | Neri | Paolo | Amministratore | 1985 |
Informatica Generale Maria De Marsico
Esempio di un DB relazionale
STUDENTI | Matric | Cognome | Nome | DataNasci |
---|---|---|---|---|
276545 | Smith | Mary | 25/11/1980 | |
485745 | Black | Anna | 23/04/1981 | |
200768 | Verdi | Paolo | 12/02/1981 | |
587614 | Smith | Lucy | 10/10/1980 | |
937653 | Brown | Mavis | 01/12/1980 |
ESAMI
CORSI | Stud | Voto | CorsoCodice | Titolo | Tutor |
---|---|---|---|---|---|
276545 | C | 0101 | Physics | Grant | |
276545 | B | 0403 | Chemistry | Beale | |
937653 | B | 0104 | Chemistry | Clark | |
200768 | B | 0433 | Informatica Generale | Maria De Marsico |
Esempio di DB relazionale
STUDENTI | Matric | Cognome | Nome | DataNasci |
---|---|---|---|---|
276545 | Smith | Mary | 25/11/1980 | |
485745 | Black | Anna | 23/04/1981 | |
200768 | Verdi | Paolo | 12/02/1981 | |
587614 | Smith | Lucy | 10/10/1980 | |
937653 | Brown | Mavis | 01/12/1980 |
CORSI ESAMI = relazione tra studenti e corsi
Codice | Titolo | Tutor | Stud | Voto | Corso |
---|---|---|---|---|---|
01 | Physics | Grant | 276545 | C | 0103 |
276545 | B | 0404 | Chemistry | Clark | 937653 |