Introduzione a Oracle 9i
Introduzione a Oracle 9i
Parte I
© 2007 Gallo Odorisio – [email protected]
Introduzione
Database e DBMS: definizioni
•
Database: un archivio di dati, riguardanti uno stesso
argomento o più argomenti correlati tra loro, strutturato in
modo tale da consentire la gestione dei dati stessi da parte
di applicazioni software (l'inserimento, la ricerca, la
cancellazione ed il loro aggiornamento)
•
DBMS: Data Base Management System è un sistema
software per la gestione delle basi dati
© 2007 Gallo Odorisio – [email protected]
Introduzione
Database e DBMS: definizioni
I linguaggi di programmazione che permettono al DBMS di
interfacciarsi con l’utente si dividono in tre categorie:
•
DDL (Data Description Language): definisce la struttura
degli archivi
•
DML (Data Manupulation Language): si occupa
dell’elaborazione e della modifica delle informazioni
registrate
•
QL (Query Language): permette di effettuare delle
interrogazioni, cioè delle ricerche sugli archivi.
© 2007 Gallo Odorisio – [email protected]
Introduzione
I tre livelli di astrazione
I tre livelli di astrazione:
•
Il livello fisico: è formato dalle strutture di memoria di
massa e dai dati che esse contengono, inclusi quegli
elementi che consentono l’accesso ai dati stessi, come
indici, puntatori ecc.
•
Il Livello concettuale: corrisponde alla definizione della
struttura logica dell’archivio mediante un modello astratto.
È il livello mediante il quale il DBMS s’interfaccia all’utente.
Il modello è formato da entità. Ogni entità possiede degli
attributi.
•
Il Livello esterno: che consente al DBMS di gestire gli
accessi e le autorizzazioni ai dati.
© 2007 Gallo Odorisio – [email protected]
Introduzione
Il modello entità relazioni
Il modello Entità-Relazione (ER) è un modello concettuale basato su:
•
entità
•
attributi
•
relazioni
Un’entità è un soggetto reale che si vuole rappresentare da un
punto di vista concettuale; un insieme di entità correlate tra loro
costituisce un ‘set di entità’. Ciascuna entità possiede inoltre delle
proprietà caratteristiche, chiamate attributi, il cui valore varia
all’interno di un particolare dominio, chiamato range. Tra due entità
è possibile individuare delle relazioni, cioè dei legami che le
uniscono.
© 2007 Gallo Odorisio – [email protected]
Introduzione
Il modello entità relazioni
La chiave è quindi un meccanismo che garantisce l’identificazione
delle varie occorrenze delle entità, indicando col termine
occorrenza il valore assunto dagli attributi in un particolare istante
cioè quello che, nel linguaggio del modello ER, viene indicato col
termine tupla. A tal fine, la chiave deve rispondere a due requisiti
fondamentali:
1. univocità: in qualunque istante non devono esistere due tuple
che presentano lo stesso valore della chiave
2. minimalità: l’attributo o l’insieme di attributi non deve poter
essere ridotto di un attributo senza che venga persa la
caratteristica di univocità
© 2007 Gallo Odorisio – [email protected]
Introduzione
Il modello entità relazioni
Il simbolismo del modello Entità Relazioni prevede l’utilizzo di
quattro oggetti:
1. il rettangolo per indicare le entità
2. il rombo per le relazioni
3. l’ellisse per gli attributi
4. le frecce per indicare i rapporti tra le relazioni e le entità
Entità
© 2007 Gallo Odorisio – [email protected]
Relazione
Attributo
Rapporti
Introduzione
Il modello entità relazioni
Fra i rapporti è importante quello che specifica che un’entità B è un
tipo particolare di un’altra entità A (rapporto IS-A, “È un…”); questo
tipo di rapporto implica che B erediti tutti gli attributi di A, ma può
anche possederne alcune caratteristiche che A non possiede.
Matricola
Tabella voti
Voti
Nome
Studenti
Pagelle
© 2007 Gallo Odorisio – [email protected]
Matricola
IS-A
Maturandi
Introduzione
Il modello relazionale
Il Modello Relazionale (E. F. Codd ) è un modello concettuale che
permette di descrivere nuove entità partendo da entità primarie; si
ha così la suddivisione del problema in molteplici strutture logiche in
grado di soddisfare le diverse esigenze dell’utente
Eliminazione della ridondanza, cioè l’eliminazione delle informazioni
duplicate
© 2007 Gallo Odorisio – [email protected]
Introduzione
Il modello relazionale
Il modello di E. F. Codd trova il suo fondamento nella teoria degli
insiemi secondo cui una ‘relazione’ è un sottoinsieme del prodotto
cartesiano di una lista di domini astratti.
Dati tre attributi definiti nel seguente modo:
A = (a1, a2, a3)
B = (b1, b2)
C = (c1, c2, c3)
Il prodotto cartesiano sarà:
ABC = {(a1 b1 c1), (a1 b1 c2), (a1 b1 c3), (a1 b2 c1), (a1 b2 c2), ...}
© 2007 Gallo Odorisio – [email protected]
Introduzione
Il modello relazionale
La ‘relazione’ nel modello relazionale è un sottoinsieme del prodotto
cartesiano ne deriva che:
•
la relazione è una tabella
•
ogni tabella è formata da righe (tuple) e colonne; l’intestazione
delle colonne rappresentano gli attributi, mentre l’insieme degli
attributi costituisce lo schema della relazione (c.d. schema
relazionale);
•
ogni attributo può avere, di volta in volta, un particolare valore
previsto da un particolare dominio astratto (range);
•
il dominio attivo è formato dall’insieme di tutti i valori delle tuple.
© 2007 Gallo Odorisio – [email protected]
Introduzione
Gli operatori relazionali
Applicando a delle relazioni di base degli ‘operatori’ è possibile
ricavare delle relazioni virtuali.
Operatori booleani:
Operatori relazionali:
© 2007 Gallo Odorisio – [email protected]
•
unione
•
intersezione
•
differenza
•
complemento
•
selezione
•
proiezione
•
join
Introduzione
Gli operatori relazionali
Operatori booleani
Si dice unione di r con s la relazione formata da tutte le tuple
appartenenti a r e a s
Si dice intersezione di r con s la relazione formata solo dalle tupe
comuni sia a r che a s (ricordando che tuple uguali vengono
considerate una sola volta).
Si dice differenza fra r e s la relazione formata da tutte e solo le
tuple appartenenti ad r ma non a s
Si dice complemento di una relazione r, la relazione formata da
tutte e solo le tuple appartenenti al dominio di r ma non a r
© 2007 Gallo Odorisio – [email protected]
Introduzione
Gli operatori relazionali
Operatori relazionali
Si dice selezione su una relazione r in base alla condizione Y la
relazione formata da tutte e solo le tuple appartenenti a r il cui
attributo A corrisponde alla condizione Y(A)=a1
Si dice proiezione della relazione r sullo schema P la relazione p
dello schema P composta da tutte le tuple appartenenti a r secondo
lo schema P
Si dice join fra le relazioni r1,r2,…..rn aventi uno o più attributi in
comune la relazione formata dal prodotto cartesiano tra le tuple
delle n relazioni di partenza i cui attributi comuni verificano una
condizione Y
© 2007 Gallo Odorisio – [email protected]
Introduzione
La normalizzazione
La normalizzazione è il processo mediante il quale gradualmente si
tende ad eliminare le duplicazioni all’interno di una relazione.
•
Una relazione è in Prima Forma Normale (1NF) se e solo se tutti
i suoi attributi sono valori atomici.
•
La 2NF (Second Normal Formal) stabilisce che gli attributi di
una relazione non devono essere ridondanti
•
La 3FN impone che un attributo non può dipendere da un
attributo che non sia a sua volta ‘chiave primaria’
© 2007 Gallo Odorisio – [email protected]
Scarica

relazioni - ScuolaSI