Telemat Lab's home page


Copyrigtht © 1996, 1997 Universita' di Firenze. All rights reserved.

Free license available.

 

Database Relazionali & Internet

Database Relazionali

a cura di: Alessandro Fiorenzi
Revisori:
Prof. F.Pirri, Ing. M. Lunghi, Ing. C. Vestri

 


HYPER HOME Indice Locale

 

Introduzione

   
Indice gen.
Indice DB & Internet
Successiva
Testo Correlato

 

Il modello relazionale è stato proposto da E. F. Codd nel suo lavoro "A Relational Model of Data for Large Shared Data Banks" pubblicato nel 1970. Lo scopo era quello di definire uno schema concettuale di database indipendente dalle modalità di memorizzazione.

Sin dall'inizio ha attirato un notevole interesse per l'idea innovativa di rappresentare le informazioni per mezzo di una struttura, chiamata relazione o tabella, che ha come fondamento un concetto molto semplice della teoria matematica degli insiemi.

 

 

Il Modello Relazionale

   
Indice gen.
Indice DB & Internet
Prima Slide
Precedente
Successiva
Testo Correlato

 

I dati sono rappresentati tramite tabelle, chiamate relazioni. Ogni relazione è definita dalle colonne di cui è composta e contiene tutte le n-uple (o righe) dello stesso tipo contenute nel database. Le colonne della tabella rappresentano i campi o proprietà della tabella; ogni riga corrisponde a un record in un linguaggio di programmazione, e raggruppa i valori che queste proprietà assumono in una n-upla. Le colonne possono contenere solo dati di tipo elementari: stringhe, interi, reali. Un grande vantaggio dei DB relazionali è di avere definito un linguaggio di accesso cumune, SQL (Structured Query Language). Questo linguaggio permette a un Relational DataBase Management System (RDBMS) di interagire con DB relazionali di produttori diversi.

 

 

Concetti del Modello Relazionale

   
Indice gen.
Indice DB & Internet
Prima Slide
Precedente
Successiva
Testo Correlato

 

Per poter dare la definizione di relazione è necessario prima ricordare alcuni concetti matematici sugli insiemi:

Un dominio è una collezione di valori.

Il prodotto cartesiano A1×A2×...An di n domini A1, A2, ..., An, non necessariamente distinti, è l'insieme di tutte le possibili n-uple (a1, a2, ..., an) tali che a1 appartiene all'insieme A1, a2 appartiene all'insieme A2, ..., an appartiene all'insieme An.

Segue la definizione di relazione:

  • Dati n insiemi, non necessariamente disgiunti, D1, D2, ..., Dn una relazione R definita sugli insiemi D1, D2, ..., Dn è un qualunque sottoinsieme del prodotto cartesiano D1×D2×...Dn. Gli insiemi D1, D2, ..., Dn sono detti domini della relazione. Il numero n dei domini di una relazione è detto arietà (o arità, o grado) della relazione.
  • Gli elementi di una relazione sono detti tuple. Ogni tupla è costituita da tanti valori quanti sono i domini della relazione (cioè quanto è l'arietà della relazione stessa). In una tupla <v1, v2, ...,vk> di una relazione di arietà k, il generico valore vi appartiene al dominio Di. Poiché una relazione è un insieme, l'ordine secondo il quale sono elencate le tuple di una relazione non ha importanza.

    Il numero delle tuple di una relazione è detto cardinalità della relazione.

    Una relazione può essere rappresentata sotto forma di tabella usando le seguenti convenzioni:

    ogni riga della tabella corrisponde ad un tupla della relazione
    ogni colonna della tabella corrisponde ad un dominio di definizione della relazione.

    Di norma, quando si usa la rappresentazione tabellare di una relazione, si associa ad ogni colonna della tabella un nome, detto attributo, che qualifica i valori descritti in quella colonna

    Può accadere che un valore componente una tupla di una relazione non sia per qualche motivo conosciuto. In questa situazione è ammessa la rappresentazione del valore non conosciuto con un valore speciale detto valore nullo.

    Si può dare una seconda definizione di relazione:

    "Una relazione di grado n è un insieme di tuple t, dove t è una funzione t: AiDi (i= 1, 2, ..,n)
    che assegna ad ogni nome di attributo Ai un valore del dominio Di"

    Lo schema di una relazione è la lista dei nomi degli attributi usati per la rappresentazione tabellare di quella relazione. Se una relazione ha nome R e gli attributi di R sono A1, A2, ..., Ak, lo schema della relazione è di solito rappresentato come: R(A1, A2, ..., Ak). L'ordine secondo il quale sono descritti gli attributi non ha importanza.

    La chiave primaria di una relazione è un sottoinsieme K degli attributi della relazione che soddisfa le seguenti proprietà:

    Proprietà della identificazione univoca:

  • i valori descritti negli attributi della chiave primaria K identificano univocamente una tupla della relazione; quindi, due tuple diverse non possono avere gli stessi valori negli attributi di K.
  • Proprietà della non ridondanza:

  • nessun sottoinsieme di K può essere, a sua volta, una chiave primaria.
  • Una relazione ha sempre almeno una chiave primaria, ne può avere anche più di una e devono soddisfare la seguente proprietà di integrità: gli attributi di K non devono avere valori nulli nelle tuple della relazione. Sia K un insieme di attributi di R1(X) e di R2(Y), con K chiave di R1(X). Allora K è una foreign key di R2(Y).

     

     

    Rappresentazione di un DataBase

       
    Indice gen.
    Indice DB & Internet
    Prima Slide
    Precedente
    Successiva
    Testo Correlato

     

    Un database è rappresentato nel modello relazionale esclusivamente per mezzo di relazioni. Le relazioni possono rappresentare informazioni o corrispondenze.

    Una corrispondenza dalle relazioni A1, A2, ..., Ai nelle relazioni B1, B2, ..., Bj è rappresentata per mezzo di una relazione R e gli attributi della relazione sono tutti e soli gli attributi che costituiscono le chiavi primarie effettive delle relazioni A1, A2, ..., Ai, B1, B2, ..., Bj. Le tuple di R sono costituite da tutti e soli quei valori <a1, a2, ..., ai, b1, b2, ..., bj> tali che a1, a2,..., ai e b1, b2, ..., bj sono i valori che appaiono, rispettivamente, nelle chiavi di una tupla di A1×A2×...Ai e nelle chiavi di una tupla di B1×B2×...Bj che sono associate tra di loro dalla corrispondenza considerata.

    L'insieme degli schemi delle relazioni usate per rappresentare le informazioni e le corrispondenze è detto schema relazionale del database.

     

     

    Livelli di Astrazione di un DataBase

       
    Indice gen.
    Indice DB & Internet
    Prima Slide
    Precedente
    Successiva
    Testo Correlato

     

    Una delle caratteristiche essenziali di un DataBase Relazionale, è la presenza di un DataBase Management System (DBMS). Si tratta di una struttura che si pone ad organizzatore degli accessi alla base di dati, fornendo una vista particolare del Database, in relazione all'utenza. Ad esempio, in una grande azienda dove il Database aziendale raccolga dati di contabilità generale, del personale e di magazzino, ogni utente, in relazione alle proprie funzionalità avrà visione solo di una parte dell'intero Database ignorando l'esistenza degli altri dati a cui non potrebbe comunque accedere.Il magazziniere non potrà in alcun modo accedere ai dati di contabilità.

     

     

    Funzionalità del DBMS

       

     

    Lo schema rapprenta la tipica struttura di un DBMS
    Caratteristiche che distinguono un DBMS da altri sistemi di programmazione sono:

     

     

    Ultimo Aggiornamento23 Settembre 1998


    Telemat Lab's home page

    HYPER HOME Indice Locale