Principi Fondamentali di Organizzazione dei File e Sistemi di Database

Classificato in Informatica

Scritto il in italiano con una dimensione di 7,52 KB

Programma Applicativo e Strutture Dati Fondamentali

Un Programma Applicativo deve essere in grado di eseguire le seguenti operazioni sui dati:

  • Ordinamento dei file
  • Ricerca
  • Aggiunta di record
  • Eliminazione di record
  • Aggiornamento di record
  • Copia di record

Definizioni di Base

ENTITY (Entità)
Oggetti reali del mondo.
VALORI
Informazioni relative al soggetto.
FILE
Data warehouse (magazzino dati).
ATTRIBUTI (di oggetti o zone)
Dati relativi al soggetto; sono le unità logiche di dati più piccole.
Record Logico
Rappresentazione di un'entità formata da un sottoinsieme di campi.

Organizzazione dei File e Record

FILE
Elenco o raccolta di record logici che rappresentano un insieme di entità che hanno qualcosa in comune e sono organizzati in un determinato modo.
Record Fisico
Blocco di uno o più record logici che possono essere letti o scritti su un supporto esterno in lettura/scrittura.
Campo Chiave
Il campo il cui valore identifica in modo univoco un'entità.

L'Organizzazione dei file dipende da diversi fattori: dispositivo di archiviazione, modalità di aggiornamento e di query, numero di chiavi e esigenze economiche.

Organizzazione Sequenziale (Sequenza)

I record sono memorizzati uno dopo l'altro. Sono utili quando si gestiscono grandi volumi di dati con pochi aggiornamenti. Possono o non possono avere un campo chiave.

Operazioni nell'Organizzazione Sequenziale

  • Inserimento (Allegati): I nuovi record sono posti dopo l'ultimo. Se i record sono classificati in ordine, il file viene copiato fino al punto di inserimento e quindi si copia il resto.
  • Cancellazione (Clear): Si effettua una copia omettendo il record da cancellare.
  • Modifiche (Alterazioni): Le dimensioni del record possono essere allungate o accorciate. Il processo si comporta come nel caso precedente (richiede la ricopiatura).

Tutte le operazioni sono lente. È necessario raggrupparle tutte in un unico file conosciuto come un file temporaneo, utilizzato per ottenere il primo aggiornamento, chiamato master file.

Organizzazione Indicizzata

Questa organizzazione è una sequenza che permette di accedere direttamente ai record tramite un indice e attraverso un campo chiave. È divisa in 3 aree: Indici, Area Primaria e Area di Overflow.

L'accesso può essere fatto in modo sequenziale o casuale. L'accesso sequenziale è simile all'organizzazione sequenziale, ma si può accedere in sequenza da un record specifico.

Nell'accesso casuale, lo sviluppatore fornirà il valore della chiave del record e l'indice si occuperà di trovarlo. Per questo tipo di organizzazione, il campo chiave è obbligatorio (numerico o alfanumerico).

Struttura e Funzionamento

  • I record sono situati nell'area primaria e sono scritti in ordine crescente del campo di chiave primaria all'interno della zona.
  • L'Area Indici è un insieme di note, dove ogni record contiene il valore del campo chiave superiore che si può trovare in essa e il relativo indirizzo. Ci sono 2 ingressi (normale e anello in caso di overflow).
  • Di solito si utilizza un indice a 2 livelli:
    • Master Index: Contiene l'attributo chiave e il cilindro (si trova nel registro traccia).
    • Cylinder Index: Un altro indice all'interno di ciascun cilindro contenente la zona in cui si trova la maggior parte dei record.
  • L'Area di Overflow: I record che non rientrano nell'area principale vengono memorizzati qui.

Organizzazione Diretta

Esiste un rapporto diretto tra il valore della chiave e la posizione fisica del record sull'hardware. Il valore della chiave non è un campo del record, ma una posizione di memoria (di tipo numerico).

Ci sono due metodi di base per l'indirizzamento: Diretto e Indiretto (Hashing).

Metodo Diretto (LIVE)

Il programmatore fornisce l'indirizzo hardware del disco per recuperare o conservare il record. Il valore della chiave deve essere un intero positivo, assoluto o relativo. Se necessario, si ottiene il valore assoluto in cui archiviare o trovare il record.

L'indirizzo si compone di tre valori: numero del cilindro, numero della traccia e settore (password).

Metodo Indiretto (Hashing/Suggerimento)

Consiste nell'applicazione di una serie di trasformazioni alla chiave (funzione di hashing) al fine di ottenere un valore che si avvicina al numero effettivo di record che avrà il file. Esistono molti metodi per convertire la chiave in un indirizzo.

Sistemi Informativi e Basi di Dati (DB)

Per memorizzare i dati in un sistema informativo devono essere definite due caratteristiche:

  1. Progettazione Logica: A livello di progettazione per gli utenti. Gli utenti del sistema visualizzano e gestiscono i dati.
  2. Progettazione Fisica: A livello di implementazione. Definisce dove i dati vengono memorizzati sui dischi. Ci sono due tipi di archiviazione: file di dati e banche dati (gestione della ridondanza).

Concetti Fondamentali del Database

Database (DB)
Collezione o magazzino di dati integrati, conservati su un supporto secondario controllato. I dati devono rimanere indipendenti e devono supportare un modello di dati che consenta di cogliere le interrelazioni e le restrizioni nel mondo reale.
Database Management System (DBMS)
Un insieme di programmi che consentono l'accesso, l'attuazione e il mantenimento del database. Insieme al database e agli utenti, costituiscono il Sistema di Database.

Benefici dell'Utilizzo dei Database

  • Indipendenza dei dati dal trattamento e viceversa.
  • Maggiore disponibilità dei dati.
  • Maggiore efficienza nella raccolta, codifica e ingresso nel sistema.
  • Risultati più coerenti e informativi, documentazione più standardizzata.
  • Accesso più veloce e facile per gli utenti finali.
  • Maggiore flessibilità per soddisfare le mutevoli esigenze.
  • Facilità di condivisione dei dati tra tutti gli utenti.

Proprietà Fondamentali dei Dati (Sicurezza, Integrità, Disponibilità)

Integrità e Sicurezza

L'Integrità è la protezione del database contro operazioni che introducono incoerenze nei dati. Si riferisce alla correttezza, validità o esattezza dei dati in un DB.

Disponibilità

È necessario assicurare la disponibilità dei dati per gli utenti che hanno il diritto di accedervi, fornendo meccanismi per recuperare il database da guasti (failures) logici o fisici che distruggono i dati, in tutto o in parte.

L'obiettivo è garantire che il database rimanga in uno stato coerente. A tal fine, vengono create unità di esecuzione chiamate Operazioni (Transazioni). Una sequenza di operazioni deve essere eseguita atomicamente: o tutte le operazioni che compongono l'operazione complessiva vengono eseguite, oppure nessuna viene eseguita.

Riservatezza

Il sistema deve identificare e autenticare l'utente. Il gestore o titolare dei dati deve specificare i privilegi che un utente autorizzato ha sugli oggetti del database.

Voci correlate: