Index szekvenciális hozzáférési módszer
Az Index Sequential Access Method ( ISAM ) az IBM által a hatvanas évek végén kifejlesztett hozzáférési módszer egy fájl fájlrekordjaihoz, amely (rendezett) szekvenciális és véletlenszerű ( véletlenszerű ) indexalapú hozzáférést egyaránt lehetővé tesz.
Egy fájlnak többféle indexe lehet. Minden index a rekordok eltérő sorrendjét határozza meg , attól függően, hogy milyen információkat keresnek. Például egy ügyfélfájl lehet rendezni ábécé szerint a vezetéknév szerint, vagy számszerűen az irányítószám szerint, feltéve, hogy léteznek megfelelő indexek.
Az adatbázis-rendszerekben is használt index-szekvenciális hozzáférési módszer lehetővé teszi a hozzáférési sebesség optimalizálását a feladattól függően . Az 1970 körüli első COBOL szabványok óta az ISAM része a COBOL nyelv szabványának a fájlkezelő bekezdésben. Az ISAM nagyon korai továbbfejlesztése, szintén az IBM-től, de nem szabványosítva, a virtuális tárhely-hozzáférési módszer (VSAM).
Tárolási szerkezet
Az adatrekordok tömbökbe vagy oldalakba vannak csoportosítva. Egy egyszerű index a fő fájl egyik adatblokkjának legalacsonyabb kulcsára utal , amelyet növekvő sorrendben rendeznek. Egy egyszerű, egyszintű indexfájl olyan indexbejegyzésekből áll, amelyek a fő fájl adatblokkjaira utalnak. Általános szabály, hogy az index többszintű, az indexszintek viszont index-sorrendben szerveződnek.
- Keresés egy ISAM-fájlban: Keresse meg a kulcsot egymás után az indexfájlban, amíg meg nem találja, vagy az index nagyobb lesz, mint a keresett kulcs. A második esetben többszintű index esetén már ismert, hogy a keresett kulcs melyik index oldalon lehet. A keresési folyamat ott folytatódik, amíg a kulcs megtalálható vagy nem található.
- Beszúrás : Először keres , majd ellenőrizze, hogy az új mondat elfér-e az oldalon. Ha igen, szúrja be rendezve, ha nem, akkor helyezzen be új rekordot a következő vagy túlcsorduló oldalra, és frissítse az indexoldalakat.
- Törlés : Először keres , majd jelölje meg a mondatot töröltként . Ha ez volt az első mondat az oldalon, vagy az oldal most üres, állítsa be az indexoldalakat.
Az ISAM fájlszervezés hátránya látható a beszúrás és törlés műveletekből. A fő fájl és az index statikus, az új rekordokat gyakran túlcsorduló blokkokban tárolják, és ez lelassítja a kereséseket. A gyorsan növekvő vagy változó fájlokat ezért rendszeresen át kell szervezni, ami időigényes.
2. módszer
A fenti módszert nem nagyon használták. Az utódlás fa / levélszerkezet alapú módszer volt. Ez néhány összehasonlítással lehetővé tette, hogy a keresett mondatot hová illesszék be vagy kell beilleszteni.
Az Isam fájl kulcsának felépítése (index).
***************************************************************** * BLATT-NR * VATER * ***************************************************************** * * * BLATTINHALT (KEY) * * * ***************************************************************** * LINKER SOHN * RECHTER SOHN * *****************************************************************
Első bejegyzés a fájl elején ( gyökér ).
Példa COBOL
A képen a fájl vezérlörészt ISAM fájlt egy modern COBOL - fordító :
- SELECT ... ASSIGN TO: Külső fájlnév hozzárendelése belső fájlnévhez
- Sűrítéssel | Titkosítással: opcionálisan tömörítéssel vagy titkosítással
- A SZERVEZET INDEXES
- A HOZZÁFÉRÉSI MÓD SOROS | RANDOM | DYNAMIC: alternatív megoldásként a három hozzáférési módszer egyike. Szekvenciálisan, indexenként, vagy mindkettő, azaz H. alkalommal indexen keresztül, egymástól ettől a kiindulási ponttól és fordítva.
- A RECORD KEY IS kulcsnév [= seg-név ...] [[NEM] DUPLIKÁTUMOKKAL]] ...: Az (elsődleges) kulcs több szegmensből állhat, azaz. H. az adatrekord egyes mezõiben megengedett a duplikált kulcs. Azokat a mezőket, amelyeknek csak részei használhatók (részleges) indexként, a COBOL-ban megszokott módon a FÁJL LEÍRÁSBAN kell meghatározni.
- ALTERNATER RECORD KEY IS ...: további indexek definiálhatók.
- A ZÁRMÓD KIZÁRÓLAG | AUTOMATIKUS KÉZIKÖNYV:
- FOGLALÁS {szám} ALTERNÁT TERÜLET:
- A SEQUENCE IS ábécé neve:
ISAM ma
"Az ISAM fájlokat ma is használják, nevezetesen amikor a relációs adatbázis használata nem igazán érdemes (adatmennyiség, szerkezet, teljesítmény, költségek stb.)." Valószínűleg még mindig több adat van tárolva az ISAM fájlokban, mint relációs adatbázisokban. Ez nem csak a COBOL adatok környezetben, de főleg UNIX alatt, az index-szekvenciális hozzáférés már széles körben alkalmazzák az átállás során mainframe UNIX rendszerek bevezetésének köszönhetően a C-ISAM származó Informix . Az ISAM alapján fejlesztették ki a MyISAM adatbázis-rendszert is , amelyet a széles körben használt MySQL adatbázis-kezelő rendszerben valósítanak meg . Ezenkívül a Microsoft Extensible Storage Engine (ESE, más néven Jet Blue ) az ISAM-ra épül. Az ESE szolgálja (e) z. B. a Microsoft Active Directory és az Exchange adatbázisaként .
web Linkek
- C-ISAM programozási kézikönyv (angol; PDF; 2,07 MB)
- A MyISAM tároló motor a MySQL részeként