CODASYL
| CODASYL | ||
|---|---|---|
|
| ||
| Chlap | organizace | |
CODASYL (také hláskovaný Codasyl ) je zkratka pro " Conference on Data Systems Languages ", konsorcium počítačového průmyslu vytvořené v roce 1959 za účelem regulace vývoje standardního programovacího jazyka , který by mohl být použit na mnoha počítačích. Ze všech těchto snah vzešel jazyk COBOL .
Členové CODASYL patřili k průmyslovým odvětvím a vládním institucím souvisejícím se zpracováním dat. Jejím hlavním cílem bylo podpořit analýzu, návrh a implementaci nejefektivnějších datových systémů. Organizace v průběhu času pracovala na různých jazycích, ale nikdy nezavedla žádný standard, což je proces, který přenechala ANSI .
V roce 1965 CODASYL vytvořil Task Force List Processing Task Force (ve španělštině Grupo de Trabajo para el Procesado de Listas ). Tato skupina se věnovala vývoji rozšíření jazyka COBOL pro zpracování kolekcí záznamů; název vznikl díky systému IDS (Integrated Data System) vyvinutému Charlesem Bachmanem (systém, který představoval největší technický přínos projektu), a který řídil různé vztahy pomocí řetězců ukazatelů. V roce 1967 byla skupina přejmenována na Database Working Group a její první zpráva z ledna 1968 nesla název COBOL extensions to handle databases . V říjnu 1969 DBTG zveřejnila první specifikace pro síťový databázový model , který vešel ve známost jako Codasylský model. Tyto specifikace samy o sobě definovaly několik samostatných jazyků: jazyk popisu dat (DDL) pro definování databázového schématu , další DDL pro vytvoření jednoho nebo více podschémat pro definování databázových pohledů v aplikacích. a jazyk pro manipulaci s daty (DML), který definoval klíčová slova tak, aby zahrnovala databázová volání a aktualizace v kódu COBOL. Přestože se práce vždy soustředila na COBOL, začala se objevovat myšlenka samostatného jazyka, která byla vyvolána pokusy IBM použít PL/I jako náhradu za COBOL.
V roce 1971 , převážně v reakci na potřebu nezávislosti nového programovacího jazyka, byla práce reorganizována: vývoj DDL pokračoval Výborem pro jazyk popisu dat , zatímco vývoj COBOL DML převzal COBOL Jazykový výbor . Při zpětném pohledu mělo toto rozdělení neblahé následky. Tyto dvě skupiny nebyly nikdy schopny synchronizovat své specifikace, což přinutilo prodejce k nápravě problémů způsobených rozdíly mezi nimi. Konečně se nevyhnutelně objevil nedostatek interoperability mezi implementacemi.
Některé společnosti implementovaly databázové produkty zhruba odpovídající specifikacím DBTG, z nichž nejznámější jsou: Honeywell Integrated Data Store (IDS/2), Cullinet Integrated Database Management System ( IDMS ), Univac DMS-1100 nebo Digital Equipment Corporation DBMS32.
Model CODASYL
Model Codasyl definoval řadu základních prvků, které definovaly jeho datovou strukturu. Jsou to následující:
- Datový prvek.- Nejmenší datová jednotka, na kterou lze odkazovat. Může být různých typů a může být definován jako závislý na hodnotách jiných prvků (odvozených dat).
- Agregace dat. - Je podobná polím souboru nebo atributům jiných modelů.
- Registr.- Pojmenovaná kolekce datových prvků. Základní přístupová a manipulační jednotka. Podobá se záznamům v souborech a entitách v E/R modelu.
- Set (SET).- Pojmenovaná kolekce dvou nebo více typů záznamů, která mezi nimi vytváří vazbu. Původ mnoha omezení. Vztahy 1:N jsou zde reprezentovány SET.
- Oblast.- Pojmenované pododdělení adresovatelného prostoru databáze, který obsahuje výskyty záznamů.
- Databázový klíč jedinečný interní identifikátor pro každý výskyt záznamu.
Zadejte svou adresu do databáze. Je to překážka k dosažení logické / fyzické nezávislosti. Při reorganizaci databáze bylo problematické znovu použít klíč.
CODASYL: SESTAVY
Množina je jedním z nejdůležitějších prvků modelu Codasyl, protože tvoří základní prvek pro reprezentaci vzájemných vztahů. Prostřednictvím SET jsou hierarchické vztahy (1:N) vytvořeny na dvou úrovních. Kořenový uzel je vlastníkem a podřízené uzly (mohou být různého typu) jsou členy.
ZÁKLADNÍ CHARAKTERISTIKA MODELU CODASYL
Základní charakteristiky modelu lze shrnout do:
- SET je pojmenovaná kolekce dvou nebo více typů záznamů, které představují typ vztahu 1:N (proto také 1:1).
- Každá SET bude mít typ záznamu vlastníka a jeden nebo více typů záznamu člena.
- Počet SETů, které lze v systému deklarovat, je neomezený.
- Jakýkoli záznam může být vlastníkem jednoho nebo několika SETů.
- Každý záznam může být členem jedné nebo několika SETů.
- Mohou existovat singulární SETy, ve kterých je vlastníkem systém (entita je propojena sama se sebou).
- Navzdory skutečnosti, že entita je členem SET, existuje možnost, že určité výskyty této entity nejsou spojeny se SET, takže by neměly vlastníka a zůstaly by nepropojené s daným SET.
PŘIROZENÁ OMEZENÍ MODELU CODASYL.
Když jsme mluvili o obecném síťovém modelu, řekli jsme, že je to velmi flexibilní model za cenu toho, že nemá vlastní omezení. Tato absence omezení velmi ztěžuje implementaci a z dlouhodobého hlediska má tendenci hlásit špatný výkon, takže jak jsme také řekli, nejde o nic víc než o teoretický model.
Model Codasyl vychází z obecného síťového modelu, ale na rozdíl od něj jde o model používaný. To je způsobeno skutečností, že Codasyl zahrnul vlastní omezení, která umožňují jeho implementaci a že je dosaženo vysokého výkonu systému.
Omezení jsou následující:
- Podporovány jsou pouze dvouúrovňové hierarchické typy vztahů (vlastník a člen). Zda je podporováno kombinování více sad pro generování víceúrovňových hierarchií.
- Na úrovni vlastníka je povolen pouze jeden typ záznamu.
- Ve stejném SETu nesmí být záznam zároveň vlastníkem i členem, není povolena reflexivita. Ačkoli toto omezení bylo časem odstraněno, produkty na bázi Codasylu jej stále používají.
- Stejný výskyt člena nemůže patřit více než jednomu vlastníkovi ve stejném typu SET. To zjednodušuje fyzickou implementaci SET, protože jejich výskyty mohou být organizovány jako řetězec.
Reference
- Přístup Codasyl ke správě databáze. T. William Olle. Wiley, 1978. ISBN 0-471-99579-7 .
- Model Codasyl. JS Knowles a DMR Bell, v Databáze - Role a struktura , ed. P.M. Stocker, P.M.D. Gray a M.P. Atkinson, C.U.P., 1984. ISBN 0-521-25430-2