Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
MODIFICA DEI DATI IN SQL
-inserimeto
La sintassi per l’inserimento dei dati in una tabella una riga alla volta è la seguente:
INSERT INTO "nome_della_tabella" ("colonna_1", "colonna_2", ...)
VALUES ("valore_1", "valore_2", ...);
-cancellazione
delete from NomeTabella [where Condizione]
quando where non viene specificato viene cancellate tutte le righe della tabella
-modifica UPDATE
Il comando serve a modificare dati già inseriti nelle tabelle del database. La sua
sintassi è la seguente:
UPDATE nome_tabella
SET nomeCampo1 = <valore1> [,nomeCampoX = <valoreX>]*
[ WHERE predicato ]
PROGETTAZIONE DI BASI DI DATI
La progettazione di una base di dati costituisce solo una delle componenti del processo di
sviluppo di un sistema informatico complesso e va quindi inquadrata in un contesto più
ampio, quello dei cicli di vita dei sistemi informativi.
Cicli di vita:
-studio di fattibilità: stabilisce i costi delle alternative possibili e per le proprietà di
realizzazione delle varie componenti del sistema
-raccolta e analisi dei requisiti: si produce una descrizione completa ma informale con i
dati coinvolti e le operazioni effettuate (con previsioni sulla frequesza)
-progettazione: descrizione formale dei dati e delle applicazioni
-implementazione/realizzazione: si realizza quello che è stato progettato
-validazione e collaudo: fase di test
-funzionamento e manutenzione: sistema informatico diventa operativo
Metodologie di progettazione:
una metodologia di progettazione consiste in
-decomposizione in passi successivi indipendenti tra lorop
-criteri di scelta in caso di alternative
-modelli di riferimento per la rappresentazione di dati
proprietà che una metodologia deve rispettare:
-generalità rispetto alle applicazioni e ai sistemi in gioco
-qualità del prodotto in termini di correttezza, completezza ed efficienza rispetto alle
risorse impiegate
-facilità d'uso delle strategie e dei modelli di riferimento
Metodologia di progetto divisa in 3 fasi da effettuare in cascata:
-progettazione concettuale (cosa rappresentare in una base di dati): descrizione astratta,
cioè senza tener conto degli aspetti implementativi, della realtà. Viene rappresentato il
contenuto informativo della base di dati attraverso uno schema concettuale.
-progettazione logica: traduzione dello schema concettuale definito nella fase
precendente, in termini del modello di rappresentazione dei dati adottato dal sistema di
gestione di basi di dati. Si produce uno schema logico, le scelte progettuali si basano su
criteri di ottimizzazione delle operazioni. Si usano tecniche di verifica della qualità:
normlizzazione del modello relazione.
-progettazione fisica: lo schema logico viene implementato. Questa fase dipende dal
sistema di gestione scelta.
Nella progettazione concettuale si fa uso doprattutto delle specifiche sui dati mentre nella
progettazione logica delle specifiche sulle operazioni per fare previsioni sul carico
applicativo e per ottenere uno schema logico che renda le operazioni efficienti.
modello E-R (entità-relazione)
modello concettuale di dati che fornisce una serie di strutture, dette costrutti, adatte a
descrivere la realtà di interesse in una maniera facile da comprendere e indipendente dai
criteri di organizzazione dei dati nei calcolatori.
Costrutti principali:
-Entità: classe di oggetti dell'applicazione d'interesse che proprietà comini con esistenza
"autonoma". Un'occorrenza di un'entità non è un valore che identifica l'oggetto ma
l'oggetto stesso.Ogni entità ha un nome che la identifica univocamente, rappresentata con
un rettangolo.
-Relazioni (associazioni): rappresentano legami logici, significativi per l'applicazione di
interesse, tra 2 o piu entità. Un'occorrenza di relazione è un'ennupla (doppia se relazione
binaria) costituita da occorrenze di entità, una per ciascuna delle entità coinvolte. Ogni
relazione ha un nome che la identifica univocamente. Si utilizzano nomi espressivi,
singolari e sostantivi (non verbi per non portare il verso della relazione). Si rappresentano
con rombi. L'insieme delle occorrenze di una relazione è un sottoinsieme del loro prodotto
cartesiano. Questo significa che tra le occorrenze di una relazione non ci possono essere
ennuple ripetute. È possibile avere relazioni ricorsive: relazioni tra unentità e se stessa.
-Attributi: Descrivono le proprietà elementari di entità o relazioni che sono di interesse ai
fini dell'applicazione. Un attributo associa a ciascuna occorrenza di entità (o relazione) un
valore appartenente a un insieme (detto dominio), che contiene i valori ammissibili per
l'attributo. I domini non vengono riportati nello schema ma nella documentazione. Può
risultare cmodo raggruppare attributi di una medesima entità (o relazione) che
rappresentanoaffinità nel loro significato o uso: l'insieme di attributi viene detto attributo
composto.
-cardinalità relazioni: vengono specificate per ciascuna rappresentazione di entità a una
relazione e descrivono il numero minimo e massimo di occorrenze di relazione a cui una
occorrenza dell'entità può partecipare. Si può utilizzare qualsiasi valore intero non
negativo ma per semplicità si usano 3 simboli: -cardinalità minima 0 = rappresenzaione
opzionale 1 = rappresentazione obbligatoria. - cardinalità massima n = associazione con
un numero arbitrario di occorrenze dell'altra entità.
Osservando le cardinalità massime è possibile classificare le relazioni binarie:
- uno a uno: entrambi cardinalità massima pari a 1
- uno a molti: un'entità cardinalità uno e l'altra n
-molti a molti: entrambi cardinalità pari a n
Cardinalità attributi: possono essere specificati per gli attributi di entità o relazioni e
descrivono il numero minimo e il numero massimo di valori dell'attributo associati
all'occorrenza di entità o relazione. Di solito è (1,1) e viene omessa. Un attributo con
cardinalità minima pari a zero è opzionale, pari a uno è obbligatorio. Un attributo con
cardinalità massima pari a n è multivalore. Spesso vengono modellati con entità a se
legate da relazioni uno a molti con l'entità cui si riferiscono. Viene specificata per indicare
opzionalità e multivalori.
Identificatori entità: vengo specificati per ciascuna entità e descrivono i concetti (attributi
e/o entità) dello schema che permettono di identificare in maniera univoca le occorrenze
delle entità. In molti casi, uno o più attributi di un'entità sono sufficienti a individuare un
identificatore: si parla si identificatore interno (chiave). Alcune volte gli attributi di un'entità
non sono sufficienti a identificare le sue occorrenze. Un'entità "E" può essere identificata
da altre entità solo se tali entità sono coinvolte in una relazione a cui "E" partecipa con
cardinalità (1.1). si parla di identificatore interno. Nei casi in cui l'identificatore di un'entità è
ottenuta utilizzando altre entità si parl di identificatore esterno
GENERALIZZAZIONI
Rappresenta legami logici tra un'entità "E" detta generalizzazione e una o più entità
E1...En dette entità figlie. Si dice che "E" è generalizzazione di E1...En e che le entità
E1...En sono specializzazioni dell'entità "E".
Proprietà:
-ogni occorrenza di un'entità figlia è anche occorrenza dell'entità genitore
-ogni proprietà (attributo, relazioni...) del genitore è anche dell'entità figlia (ereditarietà)
Classificazione generalizzazioni:
-Totale: se ogni occorrenza dell'entità genitore è un'occorrenza di almeno una delle entità
figlie, altrimenti è parziale.
-Esclusiva: se ogni occorrenza dell'entità genitore è al più un'occorrenza di una delle entità
figllie, altrimenti è sovrapposta.
Consideriamo solo generalizzazioni esclusive (non si perde generalità. Al massimo si crea
generalizzazioni dovute alle intersezioni). Una generalizzazione può essere composta in
più generalizzazioni diverse. Possono esserci generalizzazioni su più livelli: si parla di
gerarchia di generalizzazioni. Una generalizzazione può avere una sola entità figlia: si
parla in questo caso di sottoinsieme.
RAPPRESENTAZIONE DI CONCETTI
Per rappresentare i concetti nelle specifiche:
- Se un concetto ha proprietà significative e/o descrive classi di oggetti con esistenza
autonoma, è opportuno rappresentarla con un'entità.
- Se sono state individuate due (o più) entità e nei requisiti compare un concetto che
associa, questo concetto può essere rappresentato da una relazione
- Se uno o pi concetti risultano essere casi particolari di un altro, è opportuno
rappresentarli facendo uso di una generalizzazione.
PROGETTAZIONE CONCETTUALE
la progettazione concettuale di una basse di dati consiste nella costruzione di uno schema
E-R in grado di descrivere al meglio le specifiche sui dati di un'applicazione.
Raccolta dei requisiti: completa individuazione dei problemi che tale applicazione da
realizzare deve risolvere e le caratteristiche che tale applicazione dovrà avere.
Principali fonti d'informazione: utenti dell'applicazione (mediante interviste),
documentazione esistente, realizzazioni preesistenti.
Per ottenere una specifica dei requisiti precisa senza ambiguità: scegliere il corretto livello
di astrazione, standardizzare la struttura delle frasi, evitare frasi contorte, individuare
sinonimi/omonimi e unificare i termini, rendere esplicito il riferimento tra i termini, costruire
un glossario dei termini.
Criteri generali di rappresentazione:
-se un concetto ha proprietà significative e/o descrive classi di oggetti rilevanti con
esistenza autonoma, è opportuno rappresentarlo con un'entità
-se un conceto ha una struttura semplice e non possiede proprietà rilevanti associate, è
opportuno rappresentarlo con un attributo di un altro concetto a cui si riferisce.
-se sono state individuate due o più entità e nei requisiti compare un concetto che le
associa, questo concetto può essere rappresentato da una relazione.
-se uno o più concetti sembrano essere uno o più casi particolari di un altro, è opportuno
rappresentar