![Page 1: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/1.jpg)
DATABASE
Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo:
-Semplice;
-Efficiente, nell’ uso del processore e della memoria;
-Efficace;
-Sicuro;
-Solido;
-Condiviso.
Un Sistema Informativo comprende strumenti automatici, risorse umane emateriali, procedure manuali, norme organizzative orientate alla gestione delle informazioni di un’ organizzazione.
Un Sistema Informatico (SI), anche chiamato EDP, è un sottoinsieme del Sist.Informativo e si dedica alla gestione automatica delle informazioni, rappresentate da dati digitali.
Componenti software: Archivio e Applicazione informatica.
1
![Page 2: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/2.jpg)
DATABASE
Possibili accessi multipli
La definizione dei dati e i dati stessi sono salvati all’interno dello stesso DB.
L’ applicazione e i suoi dati sono diventati indipendenti l’uno dall’altro.(Esempio)
Utente
DB
Definizione dati
Applicazione
Applicazione 1 Applicazione 2
Dati applicazione 1
Dati applicazione 2
2
![Page 3: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/3.jpg)
DBMS (DataBase Management System)
La teoria dei DB introduce una nuova metodologia di gestione degli archivi, con l’obiettivo di superare i limiti della metodologia precedente. Presenta caratteristiche di indipendenza logica ed indipendenza della struttura fisica dei dati.
E’ il sistema di gestione del database nel suo complesso. Funzioni:1.Gestire grandi quantità di dati con l’obiettivo dell’efficienza;2.Condivisione= necessità di coordinare gli accessi;3.Persistenza= assicurare l’affidabilità dei dati nel tempo.
3
![Page 4: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/4.jpg)
DBMS (DataBase Management System)
Progettare un DB consta di 5 passi:1.Analisi del problema;2.Progettazione concettuale, utilizzando il modello Entità-Relazione;3.Progettazione logica, utilizzando vari modelli: gerarchico, reticolare, relazionale, a oggetti, XML;4.Progettazione fisica e implementazione;5.Realizzazione applicazioni/ procedure, utilizzando linguaggi di programmazione e di interrogazione.
Modellazione dei dati comprende 1,2 e 3; consiste nella progettazione delle tabelle del DB.Modellazione funzionale comprende 4 e 5; consiste nell’ implementazione delle tabelle e nella creazione delle funzioni che accedono ai dati.
Modello E-R risponde a : ‘COSA deve essere rappresentato?’Modello logico risponde a : ‘COME sono organizzati i dati?’
4
![Page 5: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/5.jpg)
MODELLI LOGICI PER LE BASI DI DATI
Modello Gerarchico
I dati sono organizzati secondo strutture ad albero che rappresentano la gerarchia degli elementi dell’archivio.
La radice è il record principale da cui partono uno o più sottoalberi; ogni elemento è denominato segmento e il tipo di relazione realizzata tra segmenti padri e figli è 1:N (1 a molti).
«ogni padre può avere più figli, ma ogni figlio può avere solo un padre»
Dipendenti
Bianchi
Vittori
Zaccarian
Figli
Claudia
LuigiGiancarlo
MarioSimona
Dipendenti
Bianchi
Vittori
Zaccarian
Figli
ClaudiaClaudia
LuigiGiancarloGiancarlo
MarioSimona
5
![Page 6: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/6.jpg)
MODELLI LOGICI PER LE BASI DI DATI
Modello Reticolare
La base del modello è la struttura a grafo, dove mediante puntatori è possibile accedere ai dati più facilmente rispetto al modello gerarchico.
E’ rappresentato con un insieme di vertici (o nodi) e un insieme di coppie di vertici (o connessioni). È possibile stabilire connessioni N:N realizzate attraverso record connettori.
Paziente
Angelo
Giulio
Antonio
Esame clinico
Radiografia
Ecografia
TAC
6
6
5 6
5
4
![Page 7: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/7.jpg)
MODELLI LOGICI PER LE BASI DI DATI
Modello RelazionaleUsa come struttura dati la relazione (o tabella), che è composta da:-Le colonne sono i Campi (o proprietà);-Ogni riga corrisponde a un Record.L’informazione è contenuta nei campi e non in strutture fisiche come i puntatori. Realizza l’indipendenza dei dati; la rappresentazione logica dei dati non fa alcun riferimento a quella fisica.
ScontrinoNumero Data Importo
1 15/10/2012 5,002 16/10/2012 6,503 17/10/2012 12,00
EntitàCampi
Tracciato record
Record
7
![Page 8: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/8.jpg)
MODELLI LOGICI PER LE BASI DI DATI
Modello a oggetti di database (object-oriented)
Si fondano sugli stessi principi della programmazione ad oggetti, nella quale ogni oggetto può essere caratterizzato da proprietà e da metodi. Quindi memorizzano nel DB non solo i dati ma anche le operazioni che possono essere eseguiti su di essi.
Modello XMLXML è simile al HTML, da cui eredita i tag, che in questo linguaggio non sono preimpostati, sono molteplici e descrivono quanto racchiuso tra le parentesi <>, come definito dal programmatore. Ha una struttura di tipo gerarchico.
<?xml version="1.0" encoding="utf-8" ?><system.serviceModel> <services> <service name="MvcApplication1.RecuperaService"> <host> <baseAddresses> <add baseAddress="http://localhost:8732//RecuperaService/" /> </baseAddresses> </host> </service> </services></system.serviceModel>
8
![Page 9: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/9.jpg)
MODELLO ENTITA’ - RELAZIONE
Entità : oggetto principale di interesse per la realtà che vogliamo modellare. Può essere classificata definendo il tipo di entità attraverso un nome. Viene rappresentata graficamente con un rettangolo, nel quale l’intestazione è il nome dell’entità, mentre le relazioni sono linee che collegano i rettangoli.
Entità forte: non ha bisogno di altre entità per essere identificata.Entità debole: richiede altre entità per essere identificata.Esempio. Paziente --> e. forte; Esame clinico --> e. debole.
Entità associativa: è usata per associare 2 o più entità allo scopo di risolvere un’associazione multipla (es. una relazione N:N).Esempio. Paziente ed Esame clinico; Referto è e.associativa.
Istanza : riferita ad un’entità, consiste in un singolo oggetto descritto dall’entità.E’ l’analogo di un singolo record all’interno di un file.
Attributi : descrivono le entità con le quali sono associati. Una particolare istanza di un attributo è detta valore.
9
![Page 10: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/10.jpg)
MODELLO ENTITA’ - RELAZIONE
Dominio di un attributo : collezione di tutti i possibili valori, omogenei tra loro, che un attributo può avere. I diversi valori assunti dagli attributi determinano le diverse istanze dell’entità. Per ogni attributo è necessario individuare:
1.Il formato;
2.La dimensione;
3.L’ opzionalità a. obbligatorio : esempio è nome di Persona;
a. facoltativo : è ammesso il valore nullo (es. titolo universitario);
Gli attributi sono classificati in :
•Identificatori: sono detti chiavi e permettono di distinguere fra loro le istanze di una stessa entità;
•Descrittori: descrivono una caratteristica non unica di un’istanza di un’entità.
Scontrino
Numero {PK} Data Importo
Entità
Identificatorechiave
Descrittori10
![Page 11: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/11.jpg)
MODELLO ENTITA’ - RELAZIONE
Relazione: rappresenta un’ associazione tra una o più entità. Ha 2 versi con specifici significati. Ogni verso ha un’entità di partenza, una di arrivo e una descrizione dell’ associazione.
Studente Cellulare(E’ posseduto)
Possiede
Le relazioni sono classificate in termini di grado, cardinalità, direzione, esistenza.
Grado: n° di entità associate nella relazione; si ottengono rel. binarie, ternarie, n-arie. Esempio binaria ricorsiva:
Giocatori Capitano
Cardinalità:
1:1
1:N (N grande)
N:N (o M)
Donna Figlio
Atleta Gara
Nazione Capitale
11
![Page 12: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/12.jpg)
MODELLO ENTITA’ - RELAZIONE
Direzione: indica l’entità ‘padre’ da cui trae origine la relazione con l’entità ‘figlio’.
Esistenza: obbligatoria: se un’istanza di un’entità deve necessariamente esserci affinché sia inclusa nella relazione.
opzionale: se l’istanza di un’entità non è richiesta.
Persona Automobile
facoltativa
obbligatoria
I nomi degli attributi devono essere scritti al singolare, così come il nome dell’entità !
Studente Scuola
PadreFiglio
Ospitare
12
![Page 13: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/13.jpg)
CHIAVI PRIMARIE E CHIAVI ARTIFICIALI
13
Una chiave primaria è un attributo o un insieme di attributi che identifica univocamente una specifica istanza di un’entità.
Per identificarla, un attributo deve avere le seguenti caratteristiche:
•Deve essere specificato il suo valore per ogni istanza dell’entità;
•Il valore deve essere unico per ogni istanza dell’entità;
•Il valore non deve cambiare o diventare nullo nel corso del tempo utile.
Le chiave candidate diventano, con la scelta, chiave primaria e chiavi alternative.
Chiave primaria si indica con (pk) a fianco della chiave.
Esempio. (schema relazionale)
Impiegati (CodFiscale(pk), Nome, Telefono)
Impiegati (CodFiscale, Nome, Telefono)
Impiegati (CodFiscale, Nome, Telefono)
Una chiave artificiale è formata da un attributo privo di un significato proprio che viene aggiunto agli altri per ottenere un codice univoco per ogni istanza.Esempio: attributo di tipo contatore.È ammessa quando nessun attributo ha tutte le proprietà di una chiave primaria e quando quest’ultima è grande e complessa.
![Page 14: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/14.jpg)
MIGRAZIONE DI CHIAVI, CHIAVI ESTERNE E COMPOSTE
14
• Migrazione di chiave primaria
Le entità deboli ereditano l’ intera chiave primaria dall’ entità padre.
Scrittura nello schema relazionale: Esami (ID_Esame(pk), ID_Paziente(pk))
Paziente
ID_Paziente(pk)
Esame
ID_Esame(pk)ID_Paziente(pk)
Entità forte Entità debole
Una chiave esterna è un attributo che completa una relazione attraverso l’identificazione dell’ entità padre. Fornisce un metodo per mantenere l’integrità referenziale dei dati e per navigare tra le diverse istanze di un’ entità. Utilizza la notazione (fk) iniziali di «foreign key». Ogni relazione «1 a molti» nel modello deve essere supportata da una chiave esterna.
Una chiave composta è una chiave primaria formata da due o più attributi.
![Page 15: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/15.jpg)
MODELLO ENTITA’ - RELAZIONE
Persona
Cod. Fiscale (pk)NomeCognomeData_NascitaIndirizzo
Automobile
Modello (pk)ProduttoreCilindrataPrezzo_Listino
Acquistare
Data_AcquistoPrezzo_Acquisto
Nome_associazione
attributi_associazione
15
![Page 16: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/16.jpg)
MODELLO ENTITA’ - RELAZIONE
16
L’ entità Acquisto eredita le chiavi primarie di Persona e Automobile ed assume significato solo in abbinamento alle altre due entità. Per evitare di avere entità deboli si aggiunge un attributo, in genere un numero progressivo assegnato automaticamente (es.: Contatore).
Persona
Cod. Fiscale(pk)NomeCognomeData_NascitaIndirizzo
Automobile
Modello(pk) ProduttoreCilindrataPrezzo_Listino
Acquisto
Cod.Fiscale(pk)Modello(pk)Data_AcquistoPrezzo_Acquisto
Entità debole
Entità forte Entità forte
![Page 17: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/17.jpg)
CHIAVI ESTERNE
17
Nel caso di chiavi primarie artificiali si scrive: ID + <nome entità>.Nel caso di chiavi esterne artificiali si scrive: id + <nome entità>.
Nel caso di p.k. definita con «codice», la f.k. si scrive: cod + <nome entità>.Nel caso di p.k. definita con un generico codice, la f.k.si scrive: cod + <p.k.>.Esempio: p.k. = alunno; f.k. = codAlunno.
Città
ID_Città(pk)id_Nazione(fk)id_Continente(fk)
Continente
ID_Continente(pk)
appartiene
Nazione
ID_Nazione(pk)id_Continente(fk)appartiene forma
Il tipo di dato, la lunghezza e il formato della chiave esterna devono essere uguali a quelli della corrispondente chiave primaria.
![Page 18: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/18.jpg)
NOMI DELLE CHIAVI
18
Impiegato
ID_Impiegato(pk)
Solo con chiave primaria
Impiegato
ID_Impiegato(pk)id_Reparto(fk)
Con chiave primaria e c. esterna
Entità con chiavi artificiali
Entità con chiavi non artificiali
Impiegato
CodFiscale(pk)
Entità con chiave primaria
Impiegato
CodFiscale(pk)Nazionalità(fk)
Entità con chiave primaria e c. esterna
Schema relazionale Impiegati [ID_Impiegato(pk),……, id_Reparto(fk)]
Schema relazionale Impiegati [CodFiscale(pk),……., Nazionalità(fk)]
Schema relazionale Impiegati [ID_Impiegato,……, id_Reparto*]
Schema relazionale Impiegati [CodFiscale,……, Nazionalità*]
![Page 19: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/19.jpg)
ATTRIBUTI CHE DESCRIVONO RELAZIONI
19
Utente
Utente(pk)
Libro
Libro(pk)
Prende in prestito
Utente
Utente(pk)
Libro
Libro(pk)
Prestito
CodLibro(pk)CodUtente(pk)Data_InizioData_Fine
Eseguire Trattare
![Page 20: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/20.jpg)
Esercizi.1)Descrivere graficamente l’associazione Coordinare tra le entità Docente e Classe, il grado, la cardinalità, la direzione e l’esistenza delle relazioni ed inserendo gli attributi alle entità.2)Descrivere graficamente l’associazione Effettuare tra le entità ContoCorrente e Movimento, il grado, la cardinalità, la direzione e l’esistenza delle relazioni ed inserendo gli attributi alle entità.3)Proporre e descrivere graficamente associazioni valide tra le entità Artista, Città, Museo e Opera, inserendo gli attributi, una chiave primaria per ogni entità, inoltre il grado, la cardinalità, la direzione e l’esistenza delle relazioni.
20
![Page 21: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/21.jpg)
REGOLE PRATICHE PER PROGETTARE UN DATABASE
21
Un’ entità è considerata un qualunque oggetto per il quale è necessario salvare alcuni attributi oppure che deve essere rappresentato in un DB.I nomi delle entità da rappresentare devono:1)essere unici;2)avere un significato per l’ utente finale;3)contenere un numero minimo di parole per la descrizione.
Gli attributi sono oggetti che descrivono un’ entità. Devono essere atomici, ovvero presentare un singolo fatto o una singola informazione.
MATRICI TRA ENTITA’ E ATTRIBUTI•Matrice entità – entità: indica le relazioni occorrenti tra le entità selezionate. •Matrice entità – attributo: indica l’assegnazione degli attributi alle entità. E’ possibile individuare il tracciato record.
A partire dalla matrice e-e si devono individuare le relazioni tra entità e classificarle in termini di: cardinalità, opzionalità, direzione, dipendenza (grado).
![Page 22: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/22.jpg)
LE REGOLE DI LETTURA
OGNI +
<nome dell’entità di partenza> + { deve ; può } +
<nome dell’associazione> + { un solo ; uno o più } +
<nome dell’entità di arrivo>.
Esempio.
Persona AutomobileAcquistare
Ogni persona può acquistare una o più automobili.
Ogni automobile deve essere acquistata da una sola persona.
EntitàOpzionalitàCardinalità
22
![Page 23: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;](https://reader035.vdocuments.net/reader035/viewer/2022062404/5542eb4b497959361e8b8ce8/html5/thumbnails/23.jpg)
AFFINARE LO SCHEMA DI BASE
23
1) Le entità devono partecipare alle relazioni
2) Unificare le relazioni uno a uno: esempio Cittadino – Tessera Sanitaria
3) Semplificare le relazioni molti a molti: sostituirle con un’entità associativa;
esempio Utente – Libro.
4) Eliminare le relazioni ridondanti: esempio Città – Nazione – Continente.
5) Trasformare relazioni complesse in relazioni binarie: sostituirle con un’entità
associativa, le entità originali vengono relazionate a questa nuova entità.
Conoscenza Progettonecessita
Impiegato
possiede impegna
Conoscenza ProgettoImpiegato
Conos/Impieg/Prog