CODASIL
| CODASIL | ||
|---|---|---|
|
| ||
| Tipo | organizzazione | |
CODASYL (scritto anche Codasyl ) è l' acronimo di " Conference on Data Systems Languages ", un consorzio di industrie informatiche formato nel 1959 per regolamentare lo sviluppo di un linguaggio di programmazione standard che potrebbe essere utilizzato su molti computer. Da tutti questi sforzi è risultato il linguaggio COBOL .
I membri di CODASYL appartenevano a industrie e istituzioni governative legate all'elaborazione dei dati. Il suo obiettivo principale era promuovere l'analisi, la progettazione e l'implementazione dei sistemi di dati più efficaci. L'organizzazione ha lavorato su varie lingue nel tempo ma non ha mai stabilito alcuno standard, processo che hanno lasciato all'ANSI .
Nel 1965 CODASYL ha formato la List Processing Task Force (in spagnolo, Grupo de Trabajo para el Procesado de Listas ). Questo gruppo è stato dedicato allo sviluppo di estensioni al linguaggio COBOL per l'elaborazione di raccolte di record; il nome è nato a causa del sistema IDS (Integrated Data System) sviluppato da Charles Bachman (sistema che rappresentò il maggior contributo tecnico al progetto), e che gestiva le diverse relazioni attraverso catene di puntatori. Nel 1967 il gruppo fu ribattezzato Database Working Group e il suo primo rapporto datato gennaio 1968 fu intitolato COBOL extensions to handle data bases . Nell'ottobre 1969 il DBTG pubblicò le prime specifiche per il Network Database Model , che divenne noto come Codasyl Model. Queste stesse specifiche definivano diversi linguaggi separati: un linguaggio di descrizione dei dati (DDL) per definire lo schema del database , un altro DDL per creare uno o più sottoschemi per definire le viste del database nelle applicazioni. e un linguaggio di manipolazione dei dati (DML) che ha definito le parole chiave per includere le chiamate e gli aggiornamenti del database nel codice COBOL. Sebbene il lavoro si sia sempre concentrato su COBOL, l'idea di un linguaggio separato ha cominciato a emergere, spinta dai tentativi di IBM di utilizzare PL/I in sostituzione di COBOL.
Nel 1971 , in gran parte in risposta all'esigenza di indipendenza del nuovo linguaggio di programmazione, il lavoro fu riorganizzato: lo sviluppo del DDL fu proseguito dal Data Description Language Committee , mentre lo sviluppo del COBOL DML fu rilevato dal COBOL Language Committee . Con il senno di poi, questa scissione ha avuto conseguenze sfortunate. I due gruppi non sono mai stati in grado di sincronizzare le loro specifiche, costringendo i concessionari a rimediare ai problemi causati dalle differenze tra loro. Infine, l'apparenza di una mancanza di interoperabilità tra le implementazioni è diventata inevitabile.
Alcune aziende hanno implementato prodotti di database approssimativamente conformi alle specifiche DBTG, i più noti dei quali sono: Honeywell Integrated Data Store (IDS/2), Cullinet Integrated Database Management System ( IDMS ), Univac DMS-1100 o Digital Equipment Corporation DBMS32.
Il modello CODASYL
Il modello Codasyl ha definito una serie di elementi di base che ne hanno definito la struttura dei dati. Sono i seguenti:
- Elemento dati.- Unità di dati più piccola a cui è possibile fare riferimento. Può essere di diversi tipi, e può essere definito dipendente da valori di altri elementi (dati derivati).
- Aggregazione dati.- È simile ai campi di un file o agli attributi di altri modelli.
- Registro.- Raccolta nominativa di elementi di dati. Unità di accesso e gestione di base. Assomiglia ai record in file ed entità nel modello E/R.
- Set (SET).- Raccolta denominata di due o più tipi di record che stabilisce un collegamento tra di loro. Origine di molte restrizioni. Le relazioni 1:N sono qui rappresentate da SET.
- Area.- Suddivisione denominata dello spazio indirizzabile del database che contiene occorrenze di record.
- Chiave del database identificatore interno univoco per ogni occorrenza del record.
Fornisci il tuo indirizzo nel database. È un ostacolo al raggiungimento dell'indipendenza logico/fisica. Era problematico riutilizzare una chiave durante la riorganizzazione del database.
CODASYL: SET
L'insieme è uno degli elementi più importanti del modello Codasyl, in quanto costituisce l'elemento base per la rappresentazione delle interrelazioni. Attraverso SET, le relazioni gerarchiche (1:N) sono stabilite a due livelli. Il nodo radice è il proprietario ei nodi discendenti (possono essere di vario tipo) sono i membri.
CARATTERISTICHE FONDAMENTALI DEL MODELLO CODASYL
Le caratteristiche di base del modello possono essere riassunte in:
- UN SET è una raccolta denominata di due o più tipi di record che rappresentano un tipo di relazione 1:N (quindi anche 1:1).
- Ogni SET avrà un tipo di record del proprietario e uno o più tipi di record dei membri.
- Il numero di SET dichiarabili nel sistema è illimitato.
- Qualsiasi record può essere proprietario di uno o più SET.
- Qualsiasi record può essere un membro di uno o più SET.
- Ci possono essere SET singolari in cui il proprietario è il sistema (un'entità è interconnessa con se stessa).
- Nonostante il fatto che un'entità sia un membro di un SET, esiste la possibilità che determinate occorrenze di tale entità non siano collegate al SET, quindi non avrebbero un proprietario e rimarrebbero svincolate rispetto a quel SET.
RESTRIZIONI INTRINSECHE DEL MODELLO CODASYL.
Quando abbiamo parlato del modello di rete generale, abbiamo detto che era un modello molto flessibile a costo di non avere restrizioni intrinseche. Questa assenza di vincoli lo rende molto difficile da implementare, e nel lungo periodo tende a segnalare scarse prestazioni, quindi come abbiamo anche detto non è altro che un modello teorico.
Il modello Codasyl si basa sul modello di rete generale, ma a differenza di esso, è un modello usato. Ciò è dovuto al fatto che Codasyl ha incluso restrizioni intrinseche che ne rendono possibile l'implementazione e che si ottengono elevate prestazioni del sistema.
Le restrizioni sono le seguenti:
- Sono supportati solo i tipi di relazione gerarchica a due livelli (proprietario e membro). È supportata la combinazione di più SET per generare gerarchie multilivello.
- A livello di proprietario, è consentito un solo tipo di record.
- Nello stesso SET, un record non può essere sia proprietario che membro, la riflessività non è consentita. Sebbene questa restrizione sia stata rimossa nel tempo, i prodotti a base di Codasyl la utilizzano ancora.
- La stessa occorrenza membro non può appartenere a più di un proprietario nello stesso tipo di SET. Ciò semplifica l'implementazione fisica dei SET, poiché le loro occorrenze possono essere organizzate come una catena.
Riferimenti
- L'approccio Codasyl alla gestione dei database. T. William Olle. Wiley, 1978. ISBN 0-471-99579-7 .
- Il modello Codasyl. JS Knowles e DMR Bell, in Database - Ruolo e struttura , ed. PM Stocker, PMD Gray e MP Atkinson, CUP, 1984. ISBN 0-521-25430-2