15
© 2007 Gallo Odorisio – [email protected] Introduzione a Oracle 9i Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected] Introduzione a Oracle 9i Parte I

Embed Size (px)

Citation preview

Page 1: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

Introduzione a Oracle 9i

Introduzione a Oracle 9i

Parte I

Page 2: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

• 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

IntroduzioneDatabase e DBMS: definizioni

Page 3: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

• 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.

IntroduzioneDatabase e DBMS: definizioni

I linguaggi di programmazione che permettono al DBMS di interfacciarsi con l’utente si dividono in tre categorie:

Page 4: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

• 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.

IntroduzioneI tre livelli di astrazione

I tre livelli di astrazione:

Page 5: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

Il modello Entità-Relazione (ER) è un modello concettuale basato su:

• entità

• attributi

• relazioni

IntroduzioneIl modello entità 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.

Page 6: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneIl modello entità relazioni

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à

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:

Page 7: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneIl 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à

AttributoRelazioneEntità Rapporti

Page 8: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneIl 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 Matricola Nome

Voti Studenti

Pagelle

MaturandiIS-A

Page 9: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneIl 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

Page 10: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneIl 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), ...}

Page 11: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneIl 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.

Page 12: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneGli operatori relazionali

Applicando a delle relazioni di base degli ‘operatori’ è possibile ricavare delle relazioni virtuali.

Operatori booleani:

Operatori relazionali:

• unione

• intersezione

• differenza

• complemento

• selezione

• proiezione

• join

Page 13: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneGli operatori relazionali

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

Ope

rato

ri bo

olea

ni

Page 14: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneGli 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

Ope

rato

ri re

lazi

onal

i

Page 15: © 2007 Gallo Odorisio – odorisiogallo@email.it Introduzione a Oracle 9i Parte I

© 2007 Gallo Odorisio – [email protected]

IntroduzioneLa 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’