81BliOTHEEK
THE-RC 54908
8~01749
------.
~T.!~j~~INOHOVEN
d!
Technische Hogescl I'
Computing Centre Note 18 Inventarisatie van Data Base Management Systemen en keuze-overwegingen voor het THE-RC Auteur: Th.H. Bruning iY./ 1.-/ ~ (,;-
l
December 1983
INHOUDSOPGAVE O. Inleiding • • • • • • • • • • • • • • • • • • • • • bIz. 1. Toepassingsgebieden van een DBMS. • • • • • • • bIz. 2. Aspecten van data base management systemen. • • • • bIz. 3. Huidige ontwikkelingen binnen de THE. • • bIz. 4. Beperking van de keuzemogelijkheden • • • • bIz. 5. Korte beschrijving van elk der systemen • • • • • bIz. 5.1. DMS II van Burroughs. • • • • • • • • • • bIz. 5.2. SQL/DS van IBM. • • • • • • • • • • • • • bIz. 5.3. IDMS van Cullinane Database Systems, Inc. • • • • bIz. 5.4. ORACLE van Relational Software Incorporated •• bIz. 5.5. RAPPORT van LOGICA. • • • • • • • • • • • •• bIz. 5.6. TOTAL van Cincom Systems, Inc.. • • • • • • • bIz. 5.7. ADABAS, the Adaptable Data Base System. • • • • bIz. 5.8. BASIS, Batelle's Automated Search Information System. bIz. 5.9. MIMER van Savant • • • • • • • • • • • • • • • • • • • bIz. 6. Opmerkingen • • • • • • • • • • • • • • • • • • • • • • bIz. 7. Keuze-overwegingen voor de administratieve automatiserinblz. 8. Samenvatting en conclusies. • • • • • bIz. 9. Aanbevelingen • • • • • • • bIz. Bijlagen • • • • • • • • • • • • bIz.
3 4 5 7 8 9 9 12 13 15 17 19 21 23 26 29 30 32 33 34
THE-RC 54908
o.
bIz.
3
Inleiding In deze Inleiding zijn enlge algemene uitgangspunten geformuleerd. In paragraaf 1 maken we onderscheid, in verband met de eisen die we stellen, tussen data base management systemen ten behoeve van de constructie van informatiesystemen voor administraties en ten behoeve van de ontwikkeling van technisch wetenschappelljke informatlesystemen. In paragraaf 2 laten we de verschillende aspecten van een een data base management systeem de revue passeren. In paragraaf 3 wordt de huidige situatie aan de THE met betrekking tot data base programmatuur ulteen gezet. In paragraaf 4 geven we aan tot welke data base programmatuur we onze keuze beperkt hebben. In paragraaf 5 geven we een beknopt overzicht van de karakteristieken van deze systemen. Tot slot trekken we in paragraaf 6 enige conclusies. De Bijlage geeft in enkele tabellen de belangrijkste aspecten weer. Definities Data base: een grote hoeveelheid data met complexe structuren die logisch gezien bij elkaar horen en die met behulp van speciale software (data base management system) onderhouden wordt. Informatie systeem: een data base voor een specifieke toepassing met de door de gebruiker ontwikkelde bijbehorende programmatuur. Data base (management) systeem: systeemprogrammatuur waarmee data bases gecreeerd, en door meerdere gebruikers tegelijkertijd onderhouden en geraadpleegd kunnen worden. Klassen van data base management systemen De huidige data base systemen kunnen we gemakshalve in drie klassen verdelen te weten: enerzijds de volwaardige systemen waarmee grote (administratieve) informatiesystemen worden gebouwd en die, onder andere ten behoeve van multiple user access, een mainframe vereisen en anderzijds de data base systemen voor micro (en mini)'s ten behoeve van persoonlijke (single user access) administraties (informatiesystemen). De derde categorie zit tussen de bovengenoemde twee in en is speciaal voor mini (en micro) apparatuur met beperkte multiple user access. In de volgende paragrafen worden uitsluitend data base systemen van de eerste categorie beschouwd.
THE-RC 54908
bIz.
4
1. Toepassingsgebieden van een DBMS Technisch wetenschappeIijke toepassingen Bij deze toepassingen zal er over het algemeen sprake zijn van betrekkelijk eenvoudige data bases. Een dergelijke data base wordt gekenmerkt doordat hij slechts uit enkele onderling gerelateerde files bestaat. De files kunnen zeer omvangrijk zijn. Men kan hierbij denken aan data bases voor opslag van bijvoorbeeld meetgegevens. enquetegegevens en projectgegevens. Deze data bases zullen over het algemeen een kleine kring (van gespecialiseerde) gebruikers hebben. Eisen die hier gesteld worden zijn onder andere: data base moet interactief op te zetten en aan te passen zijn. het moet mogelijk zijn om gemakkelijk grote hoeveelheden data in te voeren. het is essentieel dat het systeem beschikt over een gemakkelijk aan te leren. krachtige vraagtaal. enige rapport-faciliteiten zijn wenselijk. Ook Computer Aided Design en Production Control systemen maken gebruik van data bases. CADAM bijvoorbeeld. van Lockeed/IBM beschikt over een interface die het gebruik van willekeurige data base management systemen mogelijk moet maken. Engeneering Data Bases zijn data bases waarvan de data gehanteerd worden in rekenintensieve programma's en waarbij een groot gedeelte van de data-structuur zich in het werkgeheugen bevindt om snel acces mogelijk te maken. Normale data base systemen geven voor dit soort toepassingen een te traag acces. Administratieve toepassingen l~t data base systeem wordt in dit geval gebruikt bij de constructie van omvangrijke informatiesystemen. Deze kenmerken zich door een groot aantal onderling gerelateerde bestanden. die een lange levensduur hebben en waarbij in de loop van de tijd de structuur zal wijzigen. in die zin dat een record met een veld uitgebreid moet worden en/of dat een veld van een record uitgebreid moet worden. Voor een goed functioneren van het informatiesysteem is het belangrijk om over de volgende faciliteiten te beschikken: Geintegreerde Data Dictionary Dit is een gereedschap voor de data base administrator en de programmeur. In de Data Dictionary is zowel de statische informatie over de bestanden opgenomen (bestands definities. authorisatie gegevens en scherm definities). als ook aIle informatie omtrent het gebruik van de bestanden etc. (dynamische informatie). Vraagtaal voor interactief gebruik Dit is een stuk gereedschap waarmee de " ge trainde" eind-
THE-RC 54908
bIz.
5
gebruiker direct vanachter zijn terminal informatie aan het systeem kan onttrekken, meestal in de vorm van tabellen. Dmdat niet verwacht mag worden dat aIle eindgebruikers als "getraind" gekwalificeerd kunnen worden moet het mogelijk zijn om vragen in een bibliotheek op te slaan. Report generator Hiermee kan een automatiseringsdeskundige op een snelle manier overzichten met de gewenste informatie in bijna elke gewenste layout produceren. Software development tool lliermee kan aIle interactieve programmatuur, die noodzakelijk is om administraties te automatiseren, interactief ontwikkeld worden. Screen definitie faciliteit Hiermee kan de layout van screens worden gedefinieerd en gewijzigd onafhankelijk van de programma's die ze gebruiken. Host language interface Voor de administratieve programma's: COBOL en PL/l, voor de technisch wetenschappelijke programma's: FORTRAN en PASCAL. 2. Aspecten van data base management systemen Data base structuren Hierarchische data base Een dergelijke data base bestaat uit een aantal verschillende bestanden waarbij de records uit die bestanden onderling gerelateerd zijn volgens een hierarchische structuur. Deze hierarchie bepaalt tevens het pad waarlangs records zijn te benaderen. Dit is de oudste data base structuur en heeft de beperking dat aIleen relaties in de vorm van boomstructuren mogelijk zijn, hetgeen bij de andere soorten niet het geval is. Netwerk data base Een netwerk data base bestaat uit meerdere bestanden waarbij de records onderling volgens een netwerkstructuur gerelateerd kunnen zijn. Deze relaties worden in zogenaamde (owner member) sets vastgelegd. Voor netwerk data bases is een internationale standaard vastgelegd (Codasyl). De programmeur navigeert door de netwerkstructuur ("record at a time" acces). Relationele data base Bij een relationele data base bestaan aIle bestanden uit tabellen evenals aIle relaties tussen de bestanden. Bij vele theoretische beschouwingen over data bases wordt er van relationele data bases uit gegaan, omdat er overeenkomst bestaat met (wiskundige) verzamelingen. Bij relationele data bases werkt men met opera ties op verzamelingen. Geintegreerdheid van de functies De verschillende functies zoals: data base definitie, data base structuur wijzigen, report generator en de vraagtaal moe ten
THE-RC 54908
bIz.
6
zodanig geintegreerd en op elkaar afgestemd zijn dat de gebruiker gemakkelijk van de ene functie naar de andere kan "switchen". Overdraagbaarheid Een data base management systeem dat op machines van diverse fabrikanten operationeel is, verdient voorkeur boven een systeem dat slechts op een machine te gebruiken is. Met zo'n eerstgenoemd systeem is men onafhankelijk van de hardware-keuze. Daarnaast is het uitermate wenselijk dat ook in de toekomst op lokale mini's hetzelfde data base management systeem is te gebruiken als op het mainframe. Gebruiksgemak Het gebruiksgemak wordt enerzijds bepaald door het gemak waarmee bet gebruik van de verschillende componenten is te leren en anderzijds door de faciliteiten die het systeem biedt met betrekking tot privacy, security en concurrent access. Ten aanzien vande security is het van belang hoe snel na een storing een data base weer operationeel en up-to-date is (door middel van een "roll forward" met "after images" op een logfile of door middel van "roll backward" met "before images") en hoe de data base beheerder uberhaupt detecteert dat er iets niet in orde is met de data base. Systeem beslag CPU, zowel bij online als batch gebruik. Geheugenbeslag (per data base en per actieve gebruiker). Welke terminals zijn bij het data base systeem te gebruiken. Onder welk operating system is het systeem operationeel. Kosten Aanschaf en onderhoud Personeel (systeem programmeurs etc) Documentatie en cursussen Gebruikerservaringen Bij wat voor bedrijven of instellingen is het in gebruik? Hoe complex van structuur en hoe omvangrijk zijn de toegepaste data bases? Welke maatregelen heeft men getroffen om de data bases consistent te houden? Worden er (bedrijfs)standaards door de systeemontwerpers en programmeurs gehanteerd? Hoe zijn de eindgebruikers over het systeem te spreken?
THE-RC 54908
blz.
7
3. Huidige ontwikkelingen binnen de THE Data base management systemen op de THE Op dlt moment wordt op de DEC 20 bij de sfdeling Bedrijfskunde DBMS 20 gebruikt ten behoeve van het practicum bij het college Data Bases van Drs. F. Remmen. DBMS 20 voldoet aan de Codasyl standaard. Voor het practicum is een complexe/en omvangrijke data base voor een fictief ziekenhuis informatiesysteem gecreeerd die met behulp van COBOL programma's wordt bespeeld. Ten behoeve van de studenten administratie wordt gebruik gemaakt van het. door het RC ontwikkelde. MARS systeem. MARS support hierarchisch gestructureerde data bases. die op logisch niveau gerelateerd kunnen zijn. MARS heeft uitsluitend een interface met ALGOL (BEA); multiple user access is aIleen toegestaan voor retrieval programma's; het bezit geen eigen authorisatie faciliteiten en de security maatregelen zijn beperkt (geen roll forward en roll back). MARS beschikt over uitgebreide screenings mogelijkheden en geeft uitgebreide foutmeldingen. Sinds kort beschikken we ook over een zelf ontwikkelde screen formatter (uitsluitend geschikt voor uitvoer). Ten behoeve van de overige administraties die geautomatiseerd zijn wordt er gewerkt met de traditionele bestandsorganisatie. Cluster Voor de universitaire administratieve automatisering heeft de minister de universitaire instellingen in zogenaamde clusters ingedeeld. waarbij elk cluster 1 machine krijgt. Tot nu toe zijn er 3 cluster machines geplaatst, allen IBM 4341, in Leiden, Amsterdam en Nijmegen. De Stichting Universitaire Adminstratieve Automatisering richt zich met haar ontwikkelingen op IBM en het data base management systeem IDMS.
THE-RC 54908
bIz.
8
4. Beperking van de keuzemogelijkheden De keuze van een data base management system met bijbehorende software vindt plaats in het kader van de vervanging van de B7700. Daarom hebben we ons tot de volgende data base pakketten beperkt: 1. DMS II van Burroughs, voor het geval we bij Burroughs apparatuur blijven. 2. SQL/DS van IBM, voor het geval dat we overgaan tot IBM of plug compatible apparatuur. (IMS en DL/1 van IBM komen niet in aanmerking omdat deze systemen teveel computercapaciteit en teveel mankracht vergen. 3. IDMS van Cullinane, aIleen te gebruiken op IBM (compatible) apparatuur. Dit systeem is door een CVDUR werkgroep gekozen om daarmee programmatuur in SUAA verband te ontwikkelen. Om in de toekomst vrij te zijn in de hardware-keuze, en om op lokaal opgestelde apparatuur van ander fabrikaat toch hetzelfde data base systeem te kunnen gebruiken verdient het aanbeveling om naar data base management pakketten te kijken waarvan voor meerdere systemen implementaties bestaan. Daarom komen ook de volgende pakketten in aanmerking: 4. ORACLE van Relational Software, speciaal ontworpen voor wetenschappelijke toepassingen op DEC en IBM apparatuur. 5. RAPPORT van Logica, een relational data base management system geschreven in standaard FORTRAN en (dus) volledig portable (implementaties onder andere op Burroughs, IBM, DEC en PRI}ffi apparatuur). 6. TOTAL van Cincom Systems; een niet-Codasyl netwerk data base management systeem dat op een grote verscheidenheid van machines is geimplementeerd. 7. ADABAS van Software AG; een veel gebruikt data base systeem voor IBM, VAX en PDP 11. 8. BASIS van Batelle, ook op meerdere computers geimplementeerd. De met BASIS gerealiseerde informatiesystemen zijn zonder problemen van de ene op de andere machine over te zetten (portable informatiesystemen). 9. MIMER van Savant is een relationeel data base systeem dat op een groot aantal machines is geimplementeerd. Be langrijk pluspunt is, dat het programma's kan gegeneren voor andere computers. AIle gegevens over de verschillende data base systemen zijn voornamelijk verkregen uit documentatie en voorts uit de literatuur en uit presentaties van fabrikanten.
THE-RC 54908
bIz.
9
5. Korte beschrijving van elk der systemen 5.1. DMS II van Burroughs (In gebruik bij Gist Brocades) Database Management System II (DMS 11) DMS II is een niet-standaard data base management systeem. De database-administrator definieert een data base met behulp van de definitietaal DASDL. Een D~1S II data base is opgebouwd uit een willekeurig aantal data sets (files), waarbij de records van een data set de occurrences zijn van een entiteit. Een record is opgebouwd uit items (maximum record lengte 4K woorden). Een item is van het type alpha, boolean, field, number of real. De records binnen een data set zijn niet geordend. Naast data sets kent DMS II ook nog sets en subsets. Oit zijn additionele files, waarvan de records een sleutel (eventueel een samengestelde sleutel) en een adres van een record in de bijbehorende data set bevatten. Een set bevat voor ieder record in de bijbehorende data set een entry, een subset slechts VQor sommige records. Met deze faciliteiten zijn tabelvormige data bases te definieren. Dankzij het feit dat data sets, sets en subsets ook items mogen zijn van een record van een data set, is het ook mogelijk hierarchisch gestructureerde data bases te definieren. Tenslotte is het mogelijk in een record diverse soorten links te definieren. Een link bevat een adres van een record in een data set. Zodoende is het ook mogelijk om met OMS II data bases met een typische netwerkstructuur te definieren. net herstructureren van een bestaande data base. Met behulp van DASOL is dat mogelijk, mits er maar geen fysieke wijzigingen plaatsvinden in de data sets. Dus toevoegen en verwijderen van hele data sets, sets en subsets kan met DASOL gerealiseerd worden. Voor het wijzigen van de recordbeschrijving, bijvoorbeeld voor het toevoegen en verwijderen van items, moet de utility Data Base Reorganization gehanteerd worden. Beveiliging (audit en recovery) DMS II onderscheidt twee soorten data bases: audited en nonaudited. In het laatste geval moet er handmatig recovery gepleegd worden als de data base opgeblazen is. In het eerste geval is recovery een volledig automatisch gebeuren. Daartoe is het weI noodzakelijk, om consistentie te kunnen garanderen, dat de prograrnmeur het updaten in transacties organiseert.
bIz.
THE-RC 54908
10
Exception handling Bij acces van een data base met behulp van een host language kan een uitzonderingsituatie ondervangen worden door het testen van het resultaat van de data base operatie. Dit is geheel voor de verantwoordelijkheid van de programmeur. Host language interface DMS II bezit een host COBOL68, COBOL74 en PL!I.
language
interface
met
ALGOL(BEA),
Generalized Message Control System (Gemcos) Gemcos is een transactie georienteerd Message Control System dat onder andere de samenwerking met DMS II synchroniseert voor interactieve applicaties, hetgeen vooral van belang is voor de recovery. De belangrijkste faciliteiten van Gemcos zijn: Transaction Control Language Access Control (wie mag op welk station een transactie plegen) Message routing Checkpoint recovery Network Control Utilities Data Base Reorganization Ten behoeve van het verbeteren van de performance en het wijzigen van de data base structuur. Dump Tape Directory Een hulpmiddel bij het handmatig plegen van data base recovery. Loaddump Genereert programma's waarmee data sets geladen kunnen worden vanaf een conventionele file. Data Base Monitor Hiermee kan de data base administrator interactief statistieken met betrekking tot het gebruik van de data base raadplegen en diverse opties en parameters van de data base zetten. Dbanalyzer Een gereedschap voor de data base administrator am de logische en fysieke structuur van de data base te analyseren. Data Dictionary Met de Data Dictionary faciliteit kan een DMS II data base ( de Data Dictionary) gecreeerd worden met informatie over (andere) DMS II data bases, bijbehorende programmatuur en verwijzingen naar documentatie files. Met deze faciliteit kunnen nu rapporten gegenereerd worden die aangeven: welke data bases, programma's en documentatie files bestaan
THE-RC 54908
bIz.
11
welke data bases (items) er door een specifiek programma gebruikt worden welke programma's gebruiken een specifiek item de verschillen tussen twee generaties (update levels) van een bepaalde data base. Inquiry De data base administrator genereert bij een data base een Inquiry programma, waarmee de gehele data base of slechts een gedeelte daarvan, interactief bekeken kan worden. Inquiry bezit naast eenvoudige rapporteringsfaciliteiten ook mogelijkheden om reords toe te voegen, te wijzigen en te verwijderen. De belangrijkste commando's zijn: SELECT Hiermee kunnen records geselecteerd worden, die aan bepaalde criteria voldoen. DISPLAY Hiermee worden de waarden van de geselecteerde records gedisplayd. Met behulp van geneste SELECT's kan Inquiry geneste structuren aan. Reporter lliermee kunnen rapporteringsprogramma's gegenereerd worden voor DMS II data bases, DISK FORTE files en conventionele files. Reporter dient daartoe over een speciale beschrijving (de zogenaamde vocabulary) te beschikken, die aangemaakt wordt met behulp van VOCAL. Als input voor VOCAL kan de DATA DEFINITION van een COBOL programma dienst doen, of de de DASDL beschrijving van een DMS II data base. De generatie van het eigenlijke rapporteringsprogramma vindt in twee fasen plaats. Eerst wordt de rapport definitie gecontroleerd en daarna wordt het eigenlijke rapporteringsprogramma pas gegenereerd. De twee belangrijkste statements in de rapportbeschrijving zijn: INPUT Deze geeft aan hoe de betreffende datastructuren benaderd moeten worden. REPORT Hiermee wordt de layout en de inhoud van een rapport vastgelegd. LINC (Logic and Information Network Compiler) Met LINC kunnen complete on-line, real-time systemen gegenereerd worden. Met behulp van specificaties worden programma's, data base definities en screen layouts gegenereerd inclusief bijbehorend transaction and network management. LINC is te vergelijken met ADS-ONLINE bij IDMS en met lAG bij ORACLE. Voor gebruik van LINC zijn nodig: DMS II. COBOL74, GEMCOS, NDL en CANDE.
bIz.
THE-RC 54908
12
5.2. SQL/OS van IBM Oit is een relational data base system dat de mogelijkheid biedt om interactief bestanden te definieren. te wijzigen en te onderzoeken. Enige eigenschappen Kolommen kunnen van de volgende typen zijn: integer. smallint. decimal(n.m). char(n) en varchar(n). Kolommen kunnen nill-waarden bevatten. tenzij ze NOT NILL gedefinieerd zijn. Oesondanks wordt er bij de selectie geen gebruik gemaakt van drie-waardige logica. Views kunnen gedefinieerd worden: CREATE VIEW •••• AS SELECT • • •• FRO}! •••• WHERE •••• Queries kunnen geparametriseerd opgeslagen worden. Een bestaande tabel kan uitgebreid worden met een nieuwe kolom. Geneste SELECT's zijn mogelijk. Er zijn authorisatie faciliteiten met behulp van de commando's GRANT en REVOKE. De documentatie zegt niets over security faciliteiten. Het is mogelijk data van externe files over te brengen naar tabellen. Report generator Er zijn layout faciliteiten ten behoeve van uitvoer op scherm. die tevens gebruikt kunnen worden voor de printer.
het
Integrated data dictionary De SQL/DS SYSTEM CATALOGS bevatten gegevens met betrekking tot tabellen. kolommen. programma's. gebruikers. tabel gebruik en opgeslagen queries. Host language SQL/OS heeft een host language assembler.
interface
met
COBOL.
PL/1
Gebruikers ervaringen l~t systeem is nog nergens in gebruik in Nederland (Philips is test site).
en
ISA
THE-RC 54908
bIz.
13
5.3. IDMS van Cullinane Database Systems, Inc. (onder andere in gebruik bij TH Delft) IDMS is een netwerk data base management systeem dat voldoet aan de Codasyl standaard. Bij een dergelijk systeem wordt er onderscheidt gemaakt tussen het definieren van een data base enerzijds en het manipuleren anderzijds. Het definieren van een data base geschiedt met behulp van de Data Description Language (DDL) en bijbehorende compilers. De logische structuur van de data base wordt gerealiseerd met behulp van het record type, relaties tussen records worden vast gelegd met behulp van het set type (owner member). De fysieke data base is opgebouwd uit pagina's, waarbij een pagina uit regels bestaat. Een record wordt opgeslagen op een regel van een pagina onder besturing van de gedefinieerde location mode (CALC, VIA, DIRECT of physical sequential). Een record bestaat uit de eigenlijke data en de pointers behorend bij aIle sets waartoe dit record behoort. Een data base wordt in een of meerdere datasets opgeslagen en weI zodanig dat een block van zo'n dataset overeenkomt met een pagina. Het manipuleren van een data base gebeurt met behulp van de Data Manipulation Language die dee I uit maakt van een host language (bijvoorbeeld COBOL). Functies van de DML: READY bij de start van een data base transactie (RETRIEVAL/ UPDATE, PROTECTED/EXCLUSIVE) en FINISH aan het einde. FIND beinvloedt de currents (run unit, record type, set type) en GET waardoor data overgebracht worden van data base naar werkgeheugen. Data modificatie geschiedt met STORE, ERASE, CONNECT (opnemen als member in een set), DISCONNECT en MODIFY. In verband met concurrent access en security bestaan er: KEEP om acces van of update door een ander te voorkomen, COMMIT om een checkpoint aan te geven en ROLLBACK om recovery te plegen. Integrated data dictionary (IDD) De data dictionary accepteert definities van entiteiten zoals: records, files, programma's, users etc. Verder wordt daarin automatisch het gebruik van de data base bijgehouden en kunnen er allerlei rapporten geproduceerd worden. Shared data base system (SDS) Dit systeem maakt het mogelijk dat applicatie programma's verschillende machines een en dezelfde data base accesseren.
op
THE-RC 54908
b~.
14
Teleprocessing monitor IDMS-DC een teleprocessing monitor volledig geintegreerd met IDMS. Universal Communications Facility (UCF) een teleprocessing monitor met een gemeenschappelijke taal voor de DB en TP functies t hiermee kunnen reeds bestaande TP-applicaties worden uitgevoerd en nieuwe TP-applicaties kunnen met IDMS geintegreerd worden. Online Query (OLQ) Speciaal bedoeld als een tool tijdens het ontwikkelen van data base applicaties en voor de data base administrator. OLQ bezit een HELP-functie t report faciliteiten en multiple screen output waardoor browsing forward en backward mogelijk is. Culprit output processor (report generator) Een parameter gestuurd systeem om rapporten IDMS data bases en conventionele files.
te
genereren
van
Application Development System (ADS online) Hiermee kunnen menu gestuurde transacties ontwikkeld worden. Een applicatie wordt dan gezien als een verzameling dialogen t waarbij een dialoog een enkele interactie is met de persoon achter de terminal. 20'n dialoog bestaat uit de volgende onderdelen: data base view t before terminal output proces t screen layout t waarbij screenvelden en elementen uit records met elkaar geassocieerd worden t after terminal output proces t inter dialoog commando's. het aanroepen van niet-ADS programma's. IDMS is geimplementeerd op IBM 360 t 370 t 303x en 4300 systemen.
THE-RC 54908
bIz.
15
5.4. ORACLE van Relational Software Incorporated Oracle is een relational data componenten.
base
system
met
alle
gewenste
Vraagtaal (SQL) SQL vertoont erg veel overeenkomst met SQL van IBM en zal in de toekomst daarmee ook helemaal compatibel zijn. SQL van Oracle beschikt over enkele mogelijkheden die SQL van IBM (nog) niet biedt, waardoor Oracle de voor IBM problematische vragen weI kan beantwoorden. Enige eigenschappen Kolommen kunnen van de volgende typen zijn: number(n,m), char(l) en date, daarnaast kan eventueel nog NOT NULL gespecificeerd worden. Elke kolom kan van een zoek index voorzien worden. Zo'n index kan op elk gewenst moment toegevoegd en zonodig weer verwijderd worden. Tabellen kunnen worden uitgebreid met nieuwe kolommen. Geneste queries zijn (sinds release 3) ook mogelijk (nestingsdiepte =< 16). Oracle kan de occurrences van een tabel in een hierarchische volgorde (boomstructuur) aflopen. Naast de normale join operatie, waarbij 2 tabe11en als het ware worden samengevoegd op grond van een relatie tussen voorkomende kolomwaarden, kent Oracle ook een zogenaamde outer join waarbij tabellen worden samengevoegd op het niet voorkomen van overeenkomstige waarden. Toegangsbeveiliging (data privacy) Ret inloggen, creeren van tabellen en het toekennen van privileges kan afgeschermd worden. Op tabelniveau kunnen de volgende functies a1 dan niet afgeschermd worden: select, insert, update, delete, het uitbr'eiden van tabel1en en het creeren van indexen. Met behulp van views kan op kolom en waarde niveau afgeschermd worden. Integriteit van de data base Een logical unit of work wordt geheel of geheel niet uitgevoerd op de data base. De gebruiker geeft een logical unit of work aan met behulp van een COMMIT WORK (auto COMMIT is mogelijk). Concurrent access De gebruiker kan dit op 2 manieren garanderen, ofwel door een hele tabel te LOCK-en danwel door bij een SELECT de clause FOR UPDATE te samen met CO~lliIT WORK toe te voegen. Er vindt deadlock detectie plaats??? Backup en recovery Er worden before images gelogged en er zijn recovery faciliteiten. Aborted users worden ge-"roll back"-ed.
THE-RC 54908
bIz.
16
User Friendly Interface (UFI) Het interactief bespelen van Oracle vindt plaats via UFI (CANOE van ORACLE). UFI beschikt over editing faciliteiten, uitgebreide HELP-functie en mogelijkheden om scherm uitvoer te formatteren (inclusief sommatie over kolommen). Via UFI kan scherm uitvoer eventueel ook naar een printer gestuurd worden. Interactive Application Generator en Processor behulp van de lAG kunnen interactief (menu-gestuurde) transactie applicaties gedefinieerd worden, die met behulp van de lAP worden uitgevoerd. Binnen de lAG heeft de "programmeur" de volledige beschikking over SQL. Kant en klare definities zijn ook met lAG weer te wijzigen. Men definieert een scherm met velden. waarbij velden (tijdens executie) door de gebruiker gevuld kunnen worden. of. met behulp van door de gebruiker opgegeven waarden. door SQL queries. ~~t
Report Writer (RPT) Hiermee kan vaste tekst met informatie uit een data base worden RPT beschikt over aIle SQL-mogelijkheden en samengevoegd. daarnaast bevat het reken en sequentieringsfaciliteiten. Oracle Data Loader (ODL) Hiermee kan men data uit externe files overhevelen in tabellen. Host language Host language assembler.
interface
met
COBOL.
PL/1.
FORTRAN.
c
en
Integrated data dictionary Er bestaan tabellen. die met SQL geraadpleegd kunnen worden, waarin namen van tabellen, kolommen. views. privileges en indexen automatisch bijgehouden worden. Data base administrator De DBA creeert tabellen in overleg met een ORACLE draagt zorg voor de toegangsbeveiliging.
beheerder
en
Gebruikers ervaringen fret systeem is in gebruik bij onder andere Gasunie en Ministerie van Landbouw en Visserij. ORACLE is geimplementeerd op IBM-, PDP 11- en VAX-systemen.
THE-RC 54908
bIz.
17
5.5. RAPPORT van LOGICA Dit systeem is geschreven in FORTRAN 66 en daardoor op vele systemen operationeel. Ondanks de aanwezigheid van een interactive query facility lijkt het systeem sterk batch georienteerd. Het essentiele mechanisme van RAPPORT is de SEARCH ••• ENDSEARCH constructie waarbij de tussenliggende operaties op elk record dat aan het search criterium voldoet, wordt uitgevoerd. Enige eigenschappen Nesting van SEARCHes is mogelijk. Ret aantal records in 1 file moet < max(integer)/2 zijn. Velden kunnen van het type real of integer zijn (scalar of vector); zonodig kunnen integer velden speciaal voor opslag van karakters dienen. Gewone integer velden kunnen gepacked worden. Meerdere indexen op meerdere velden zijn mogelijk. Volgens de opvatting van LOGICA heeft elke data base een data base administrator nodig die verantwoordelijk is voor de creatie van de tabellen en de performance van het geheel. Er bestaan nogal wat foutcondities, waarmee de programmeur rekening moet houden. Het is mogelijk tabellen te herstructureren, maar dat moet separaat gebeuren, waarna aIle programma's opnieuw gecompileerd moe ten worden. Indien het systeem geen reentrant code kent heeft iedere gebruiker zijn eigen nucleus in gebruik. Data privacy: Er kunnen wachtwoorden gekoppeld worden aan de combinatie van een of meerdere velden en een of meerdere waarden. Ret systeem kent dus geen gebruikers. Concurrent access en data security De programmeur moet hiervoor zeif zorgdragen door het gebruik van TRANSACT ••••• COMMIT. Zowel after images alsook before images kunnen gelogged worden. Bij deadlock detectie wordt een van de schuldigen ge-"backed out" en het is de verantwoordelijkheid van de gebruiker om te testen of hem dat is overkomen. Recovery operaties herstellen de toestand van de data base. maar niet van het programma. Interactive query facility Lijkt erg veel op een programmeertaal met FORTRAN invloeden. Deze taal kent IF ••• THEN •• ELSE •• en WlIILE ••• DO ••• ENDWHILE constructies. formatteringsmogelijkheden voor veld en en faciliteiten voor page headers en footers. Zo'n query-programma wordt bij het intikken uitsluitend op syntax gecontroleerd en pas bij het EXECUTE commando uitgevoerd Ret systeem is bij
bIz.
THE-RC 54908
PHILIPS (ISA/TIS) in toepassingen.
gebruik
voor
18
technisch/wetenschappeIijke
Host language interface Rapport heeft aIleen met FORTRAN t maar in de COBOL een interface.
toekomst
ook
met
Gebruikerservaringen Het systeem is bij Philips in gebruik. Ontwikkelingen in release 4 (medio '83) Host language interface met COBOL en PASCAL. Er komt een nieuwe vraagtaal t die volledig compatible is SQL/nS van IBH t genaamd RASQL. Er komen screen definitie faciliteiten binnen IQL. Er komt een micro-RAPPORT voor 8 en 16 bits micro's. RAPPORT is geimplementeerd op: IBN Burroughs VAX
PDP Prime
ICL CDC Perkin Elmer Honeywell etc.
met
THE-RC 54908
bIz.
19
5.6. TOTAL van Cincom Systems. Inc. TOTAL is een non-Codasyl netwerk data base management system van Cincom Systems. Inc. te Cincinnati. Ohio U.S. TOTAL is op een veelheid van machines geimplementeerd. zowel. maniframes als mini's. Eigenschappen Een TOTAL data base is opgebouwd uit Master files en Variable entry files. Op een Master file is direct acces met behulp van een key mogelijk. waarna via kettingen gerelateerde records in Variable entry files benaderd kunnen worden. Met behulp van de Data Dictionary wordt onder andere het user acces veld-niveau geregeld. TOTAL kent zelf geen I/O operaties en maakt uitsluitend gebruik van de standaard acces methoden van het betreffende computersysteem. Het is op een enigszins moeilijke manier mogelijk om bestaande records met nieuwe velden uit te breiden. Iedere file kan afzonderlijk gewijzigd worden, zonder invloed op andere files in de data base. Dankzij deze onderlinge onafhankelijkheid is de gebruiker in staat zijn data base geleidelijk aan op te bouwen. Na executie van een Data Management Language commando levert het systeem een Status Code aft waaruit de al dan niet succesvolle afloop van de opdracht is af te lezen. Het is de taak van de programmeur hierop te testen. Concurrent access wordt ofweI beveiligd door middel van file reservation. ofweI (in de multi task version) door record level reservation. Het is niet mogelijk een record uit een Master File te verwijderen als niet eerst aIle daarmee gerelateerde records in de Variable Entry Files zijn verwijderd. SOCP~TES
is het batch reporting system met retrieval language. Bij rapportage worden eerst de relevante data aan de data base onttrokken en in een temporary file gedumpt. Vervolgens worden deze data in de gewenste layout geprint. ENVIRON -1 is de TP monitor waarmee tevens recovery gerealiseerd wordt. T-ASK is de on line query faciliteit. Afwisselend commando en gestuurd kan men informatie aan de data base onttrekken. HOST
menu
THE-RC 54908
bIz.
20
language interfaces betstaan er voor COBOL, FORTRAN en PASCAL. MANTIS is het application development system (aIleen operationeel op IBM sysytemen (7». Hiermee kunnen files, screens en programma's interactief gedefinieerd worden. MANTIS bezit een interface met standaard files en TOTAL data bases; interface met bestaande programma's is mogelijk. RAPPORT is geimplementeerd op: IBH Burroughs VAX
PDP ICL CDC Perkin Elmer Honeywell etc.
THE-RC 54908
bIz.
21
5.7. ADABAS. the Adaptable Data Base System Het niet-Codasyl netwerk data base managementsysteem ADABAS wordt geleverd door Sofware AG Inc. te Reston. Virginia. die door Volmac in Nederland vertegenwoordigd wordt. NATURAL is het interactieve software development tool dat gebaseerd is op ADABAS. COM-PLETE is de eigen telecommunicatie monitor. Enkele eigenschappen van ADABAS ADABAS bestaat uit 2 subsystemen: de nucleus en utility modules ten behoeve van onder andere loading en tuning. Alle records en velden kunnen zowel van variabele als vaste lengte zijn; elk veld of elke groep van velden kan per definitie meerdere malen een bijbehorende waarde bevatten (repeating group). De fysieke opslag van de records is altijd ongesorteerd en er vindt nooit chaining plaats. Iedere ADABAS file bestaat uit 2 componenten: + De eigenlijke data records. waarbij ieder record een unique internal sequence number (ISN) heeft. + Een Associator die aIle definities en logische relaties bevat. waaronder: * voor ieder zoekveld een verzameling inverted lists. * een address convertor die het verband legt tussen een ISN een fysiek adres op disk. * een beschrijvingstabel der velden. Twee files heten 'coupled' als ze een veld gemeenschappelijk hebben. hiermee worden verbanden tussen files vastgelegd. Als files coupled zijn gedefinieerd. worden deze verbanden bij updates automatisch in stand gehouden. Dankzij het koppelingsmechanisme zijn complexe vraagstellingen mogelijk. ADABAS kan tot maximaal 80 gekoppelde files aan. Het is mogelijk om een bestaande file met een veld uit te breiden. de records zelf worden pas uitgebreid op het moment dat aan het nieuwe veld ook werkelijk een waarde wordt toegekend. Het is mogelijk een bestaand veld alsnog nieuwe als descriptor aan te wijzen. Het is mogelijk bestaande files koppelen en te te ontkoppelen. Op elk moment kunnen nieuwe files worden toegevoegd. ADABAS kent 15 niveaus van data security. Beveiliging kan plaatsvinden op files en op velden met behulp van wachtwoorden. Alleen met behulp van velden die als descriptor gespecificeerd zijn kan retrieval gepleegd worden. ADABAS
THE-RC 54908
bIz.
22
bepaalt de records die aan een query voldoen uitsluitend met behulp van de inverted lists, daardoor behoeven aIleen de records benaderd te worden die aan de vraag voldoen. Indien sortering van de gevraagde records gewenst is, worden de bijbehorende ISN's gesorteerd. Data protection: + in geval van machine failure vindt er automatisch hers tel van de file plaats, + in geval van een programmafout is het mogelijk de files terug te brengen in de toestand bij de start van het programma, of in de toestand bij de laatste door de gebruikeer gedefinieerde checkpoint, + in geval van diskstoring kan een onleesbaar block hersteld worden met behulp van de back up files. ADABAS heeft een language interface met COBOL, FORTRAN en PL/I. ADASRIPT is de interface module, waarmee ADABAS als een self contained system is te gebruiken. Het software development tool NATURAL NATURAL is opgebouwd uit de volgende interactieve componenten: transaction processor, editor, een terminal en TP onafhankelijke screen map generator voor zowel screen als teletype terminals; controle op velden is mogelijk, compiler, data base language, programming language, report generator, inquiry language en performance management tool. Implementaties ADABAS is in eerste instantie geimplementeerd op IBM systemen. Sinds enige tijd bestaan er ook implementaties op de PDP 11 en V~.
THE-RC 54908
bIz.
23
5.8. BASIS. BateIle's Automated Search Information System BASIS is een Data ~nagement System. waarmee de leverancier bedoelt te zeggen. dat het meer is dan een Data Base Management System. BASIS wordt gebruikt voor opslag van traditionele data sets. maar ook in het bijzonder voor opslag van documenten. BASIS is voor 85% geschreven in FORTRAN IV (Watfor compiler). Bovendien vindt aIle 10 plaats door de standaard systeemsoftware van de machine waarop BASIS geimplementeerd is. Daardoor is een met BASIS gerealiseerd informatiesysteem volledig portable tussen de verschillende machines waarop BASIS operationeel is (IBM. CDC. VAX-II. DEC 10. DEC 20 en Prime). BASIS is opgebouwd uit een kern met daaromheen een aantal (optionele) service modules. De kern draagt zorg voor de opslag en retrieval van data in de data base. Retrieval van data kan zowel sequentieel als direct met behulp van indexverzamelingen plaatsvinden. Voor het onderliggende data base systeem geldt dat het niet tot een van de drie gangbare typen behoort (hierarchisch. netwerk of relationeel). Ret systeem kent data sets en daarnaast indexverzamelingen. die niet aan specifieke data sets gebonden zijn. BASIS is een zogenaamd self-contained system. hetgeen betekent dat het mogelijk is om uitsluitend met behulp van BASIS informatiesystemen te ontwikkelen. Tot de kern van het systeem behoort een Data Definition Language waarmee de data base, met bijbehorende beveiliging. interactief gedefinieerd kan worden. BASIS genereert aan de hand van een data base definitie een zogenaamde run unit. l~t is mogelijk voor verschillende categorieen gebruikers afzonderlijke run units te creeren waarmee delen van de totale data base zijn te accesseren. Er is een QUERY taal waarmee iedere gebruiker (voor zover het gedefinieerde systeem hem dat toestaat) information retrieval kan plegen (sequential searches of searches met behulp van inverted indexen). Beveiliging wordt gerealiseerd door aan iedere gebruiker een password toe te kennen. Iedere gebruiker kan geauthoriseerd worden met be trekking tot het gebruik van de verschillende service modules. Beveiliging van data kan plaatsvinden op record of document niveau, alsook op items of delen van items. Ook afscherming op grond van voorkomende item-waarden in een record is mogelijk. Pogingen tot misbruik worden geregistreerd ten behoeve van de Data Base t~nager. On line update transacties worden niet real time verwerkt. maar tijdelijk opgeslagen in een hold file voor verwerking in een
THE-RC 54908
bIz.
24
separate (over het algemeen nachtelijke) batch run. Het is ook mogelijk, met behulp van speciale zoek commando's, op een hold file information retrieval te plegen. Een hold file voorkomt allerlei problemen, zoals bijvoorbeeld dead lock. De betrouwbaarheid wordt met verschillende back up gewaarborgd.
faciliteiten
BASIS kent de volgende service modules: Monitor Registreert aIle gebruik van de data base ten behoeve van de Data Base Manager. Hierdoor is de nata Base Manager in staat de gebruikers over betere gebruiksmogelijkheden van BASIS te adviseren. Sort Hiermee kan op aIle mogelijke manieren gesorteerd worden. Tevens is het mogelijk om als resultaat van een sortering een nieuwe data set te creeren. Report Hiermee kunnen on-line en off-line rapporten gedefinieerd en geproduceerd worden. Report beschikt over een aantal rekenkundige faciliteiten. Ook niet-BASIS sequential files kunnen geraadpleegd worden ten behoeve van rapportage. Hiermee kan on-line input gescreend en verwerkt worden. Screen Een service module ten behoeve van menu-gestuurde applicaties. Thesaurus Een hulpmiddel ten behoeve van het zoeken in de data base. Thesaurus maakt het mogelijk met synoniemen en dergelijke te werken. Computation Biedt een aantal statistische functies en maakt plotuitvoer (staafdiagrammen etc.) mogelijk. Forms Hiermee kan men batch-invoer verwerken, waarbij de invoer gegevens gescreend worden volgens de data base definities. Invalid data worden bewaard, zodat deze alsnog aangepast kunnen worden. Profile Profile Stelt de gebruiker in staat om een aantal BASIScommando's samen te voegen tot een macro. Zo'n macro kan op elk gewenst tijdstip vanaf een terminal geactiveerd worden, maar ook automatisch door het systeem, bijvoorbeeld indien een item een bepaalde waarde krijgt. Profile biedt ook faciliteiten voor het ontwikkelen van menu-gestuurde applicaties.
THE-RC 54908
bIz.
25
BASIS is geimplementeerd op: IBM onder andere 4300, DEC 10, DEC 20,
VAX, CDC Cyber, CDC 6000, UNIVAC 1100 en PRIME X50 systemen. De aanschafprijs voor het totale systeem bedraagt voor een mainframe f 240.000,- en voor een supermini f 160.000,- met 14% onderhoud per jaar. Aangezien sequentiele bestanden gemakkeIijk in BASIS zijn in te passen, is het mogelijk om bestaande informatiesystemen te bIijven draaien en daarnaast toch reeds te profiteren van de retrieval faciliteiten van BASIS. Vervolgens kan men stap voor stap het bestaande informatiesysteem verder ontwikkelen met BASIS.
THE-RC 54908
bIz.
26
5.9. MIMER van Savant Dit data base systeem is ontworpen door Uppsala Data Centre (UDAC) in Zweden. Het wordt verkocht en gesupport door SAVANT, Lancashire Engeland en sinds kort wordt Savant in Nederland vertegenwoordigd door Software Enterprises Europe B.V. in Rotterdam. UDAC werkte nauw samen met het IBM research team in San Jose. Eigenschappen van het systeem Het is een hardware-onafhankelijk systeem en dus portable. Men beweert in enkele weken tijd een MIMER versie te implementeren op elk gewenst computersysteem. Een relationele data base bestaat uit een verzameling tabellen. MIMER slaat meerdere tabellen op in een zogenaamde databank, die gerepresenteerd wordt op fysieke file. Voor de fysieke opslag van de tabellen wordt gebruik gemaakt van de B* tree techniek. Het is mogelijk secondary indices te definieren op elke kolom van elke tabel. Het systeem kent drie data types, te weten: character, integer en floating point. Ranges voor deze data types zijn afhankelijk van de betreffende computer, MIMER zelf kent geen beperkingen. Concurrency control wordt gerealiseerd met behulp van transacties onder toepassing van de "optimistic concurrency control method". De integriteit van de data base wordt gewaarborgd in geval van systeem of disk crash. Recovery kan stapsgewijze gerealiseerd worden, hetgeen betekent users direct over herstelde fysieke files kunnen beschikken, ook al is de hele data base nog niet hersteld. MIMER modules MIMER/DB Het eigenlijke data base systeem, bevat ook een actieve(?) dictionary, die gegevens bevat omtrent gebruikers, authorisatie gegevens, databanks en tabellen. MIMER/QL Stelt de eindgebruiker in staat om information retrieval en data manipulatie te plegen op data bases. De data base administrator kan hiermee tabellen definieren en bestaande tabellen uitbreiden. Een rij QL-opdrachten die veelvuldig uitgevoerd moeten worden, kunnen als een procedure worden opgeslagen in een MIMER tabel (in de systeem databank PROCDB) en (indien gewenst menu-gestuurd) uitgevoerd worden. geactiveerd worden.
THE-RC 54908
bIz.
27
MIMER/PG }ret prototyping tool, dat tevens een report generator bevat. Hiermee kunnen applicaties (data entry inclusief screening, berekeningen, data manipulatie, data base definitie en herdefinitie) gegenereerd worden zowel in COBOL als in FORTRAN. Applicaties worden in MIMER/PG gespecificeerd met behulp van de Application Specification Language (ASL). Deze taal kent zogenaamde Application Operators, hetgeen te vergelijken is met de declaratie van een procedure. Zo'n Application Operator kan bijvoorbeeld een report specificatie of een data retrieval operatie zijn. Een Application Program is dan een actuele aanroep van zo'n Operator. Zo'n Application Program kan onmiddellijk uitgevoerd worden met behulp van een interpretator (geschreven in LISP), maar er kan ook COBOL of FORTRAN source voor gegenereerd worden. Binnen MIMER/PG beschikt men over identieke query faciliteiten als in QL t maar bovendien kan men de quantoren EXIST en FORALL hanteren. Belangrijk pluspunt van MIMER/PG is dat het mogelijk is op een mainframe COBOL of FORTRAN programma's te genereren voor een computersysteem van een andere fabrikaat. MI~lliR/SH
Met de machine en terminal onafhankelijke screenhandler kunnen screen layouts gedefinieerd worden, die binnen een applicatieprogramma gebruikt kunnen worden. Het is ook mogelijk om validation en inter field controls te definieren. MlMER/Sll kan met de meeste asynchrone terminals overweg en met ICL synchrone en IBM 3270 terminals. MlMER/IR Een stand alone information retrieval systeem speciaal voor het terugzoeken van tekstinformatie, opgeslagen in gestructureerde, danwel ongestructureerde documenten in data bases. MlMER/ST Hiermee kunnen statistische analyses worden uitgevoerd op data. UTILITY PROGRAMS Waarmee onder andere de back up en recovery gerealiseerd kan worden. LANGUAGE INTERFACES MI~lliR kent language interface met: COBOL, FORTRAN, PASCAL en LISP.
THE-RC 54908
bIz.
28
Implementaties MIMER is onder andere op de volgende systemen geimplementeerd: IBM 370. 43xx. 30xx UNIVAC 1100 PRIUE 250. 750 BURROUGHS 6800 DEC VAX 730. 750. 780 DEC PDP 11 DEC 20. DEC 10 CONTROL DATA CYBER. Geplanned is onder andere een implementatie op ICL. Toekomstige ontwikkelingen Voor 1983 staan de volgende uitbreidingen op het programma: Acces beveiliging op tabel- en kolom-niveau. Een UNIX versie van MIMER te beginnen Voor de VAX. Er wordt een link ontworpen tussen MEDUSA CADCAM en MlMER. waardoor het mogelijk is tekeningen en modellen te produceren met behulp van data uit MIMER tabellen.
THE-RC 54908
bIz.
29
6. Opmerkingen Prijsindicatie Voor aIle gewenste software tezamen moet aan een koopprijs 2 en 4 ton gedacht worden.
tussen
Gebruik Ret gebruik van data bases zal in de toekomst toenemen. Bovendien zullen data bases steeds meer een hulpmiddel worden bij het nemen van beleidsbeslissingen. De huidige vraagtalen zijn echter van dien aard dat het formuleren van een complexe vraag een behoorlijke ervaring vraagt. Daarom zal in de nabije toekomst het gebruik van vraagtalen beperkt blijven tot de gebruiker met de nodige programmeerervaring. De gewone gebruiker zal geholpen moe ten worden met speciaal ontworpen menu-gestuurde applicaties of met een bibliotheek van 'standaard' vragen. Data base management systemen en het Informatica onderwijs ledereen zal in de toekomst op de een of andere manier kennis maken met data bases, maar voor de toekomstige informaticus is het van essentieel belang met de verschillende constructieve aspecten van complexe data bases te kunnen experimenteren. Nieuwe functies Het bestaan van data bases brengt nieuwe functies met zich mee waarin voorzien zal moe ten worden. Deze functies zijn: Data base administrator, deze houdt zich bezig met de logische inhoud van een data base en heeft verantwoordelijkheden ten aanzien van zaken als authorisatie etc. Data base beheerder, deze houdt zich bezig met het beheer van de fysieke data base, waartoe het 'tunen' ten behoeve van de performance behoort alsmede aIle activiteiten voor recovery in geval van calamiteiten.
THE-RC 54908
blz.
30
7. Keuze-overwegingen voor de administratieve automatisering Inleiding Nu de aanvraag bij de minister van een B5900 voor de administratieve automatisering is ingetrokken ten gunste van onze apparatuuraanvraag ten behoeve van Onderwijs en Onderzoek lijkt een bezinning op de te kiezen weg wenselijk. Voor onze toekomstige ontwikkelingen is nu de keuze van een Data Base Management System met bijbehorende generatieve software van het grootste belang. In geval men, bij de ontwikkeling van informatiesystemen, gebruik maakt van de host language faciliteiten van een data base systeem (en dus niet van de generatieve software), is het op zich minder belangrijk welk data base systeem gekozen is, veel belangrijker is het dan, dat het gekozen data base systeem zorgvuldig en wel overwogen gehanteerd wordt. Met het oog op voldoende vrijheid in de toekomstige ontwikkelingen op hardware-gebied, is het wel van belang op welke computersystemen het gekozen DBMS operationeel is. Voor de ontwikkeling van geautomatiseerde informatiesystemen is de bij het gekozen DBMS behorende moderne generatieve software veel belangrijker, omdat daarmee geweldige besparingen in de ontwikkeltijd mogelijk zijn. Een belangrijk uitgangspunt voor de DBMS keuze is de apparatuur waarop onze informatiesystemen geimplementeerd zijn en worden. Een ander belangrijk aspect is de ministeriele druk tot samenwerking in SUAA-verband. SUAA heeft voor IBM 4300-apparatuur gekozen en voor IDMS als DBMS-software. Al is dit vanuit geschiedkundig oogpunt bezien een begrijpelijke keuze, desondanks zou SUAA, met het oog op de toekomst, dit standpunt alsnog moeten herzien. SUAA-problematiek Samenwerking tussen twee of meer universitaire instellingen bij de ontwikkeling van geautomatiseerde informatiesystemen kan tot besparingen leiden. Belangrijk uitgangspunt is dan weI dat de samenwerkende partijen niet te zeer in een ongewenst keurslijf gedwongen worden met betrekking tot het gezamenlijke informatiesysteem, alsmede tot de daarmee samenhangende subinformatiesystemen die zelfstandig door elke partij worden gerealiseerd. Daarom is het zeer bevordelijk voor de samenwerking om dergelijke systemen te ontwikkelen met een DBMS dat voldoende faciliteiten biedt en dat op de diverse, reeds bij de participanten aanwezige, computersystemen operationeel is. Bovendien lijkt het wenseiijk om bij die keuze tevens rekening te houden met de mogelijkheid am lokale (pc) systemen te koppelen aan deze centrale systemen.
THE-RC 54908
bIz.
31
Derhalve zou gekozen moeten worden voor een DBMS dat: a. goede generatieve faciliteiten biedt, zodat prototyping mogeli jk is, b. op verschillende fabrikaten operationeel is, c. op mainframes en micro's en alles wat daartussen ligt is geimplementeerd, d. de ontwikkelingen naar data base machines en gedistribueerde data bases voIgt. Het door SUAA gekozen IDMS voldoet aan aIle punten met uitzondering van punt b. En het is juist dat feit, namelijk dat IDMS aIleen operationeel is op IBM-apparatuur, dat het gebruik maken van door SUAA ontwikkelde systemen voor niet-IB~1 instellingen zoveel (en ook financiele) consequenties met zich meebrengt. THE-problematiek AIle centraal geautomatiseerde informatiesystemen op de THE maken gebruik van de B1100 en zijn, met uitzondering van de studentenadministratie, onder toepassing van traditionele bestandstechnieken gerealiseerd met COBOL en/of PL/I programma's. Met betrekking tot bovengenoemde centrale informatiesystemen bestaat er groeiende behoefte aan Information Retrieval faciliteiten. Daarnaast is er ook een groeiende behoefte waarneembaar aan geautomatiseerde lokale administratieve (personal computer) systemen. De studentenadministratie maakt gebruik van het in ALGOL geschreven MARS-pakket en daarbij behorende ALGOL programma's. Met MARS is het interactieve RCDOC-systeem ontwikkeld en van dat systeem is een aantal andere interactieve informatiesystemen afgeleid Gezien de behoefte aan on-line faciliteiten en gezien het feit dat het onderhoud aan deze programmatuur een kostbare zaak is, lijkt overgang op een geavanceerd DBMS met generatieve faciliteiten zeer wenselijk. Beschikbare apparatuur Op dit moment wordt de B1100 zowel ten behoeve van Onderwijs en onderzoek gebruikt als ten behoeve van de administratieve automatisering. Er is bij de minister voor 0&0 een B1900 aangevraagd en tevens zal er VAX-apparatuur aangevraagd gaan worden. Voor de administratieve automatisering staat er een clustermachine (IBM 4300) in Nijmegen beschikbaar, waarvoor de netwerkfaciliteiten op de THE ontbreken.
bIz.
THE-RC 54908
32
Gebruik Burroughs apparatuur Bij het gebruik van de centrale Burroughs-machine, levert voortzetting van het gebruik van de huidige programmatuur absoluut geen problemen op. Ten aanzien van de toekomstige ontwikkelingen kunnen we in principe een keuze doen uit twee mogelijkheden: a. we kiezen voor Burroughs-software (in casu DMS II en LINC) en brengen onszelf daarmee, ten opzichte van de landelijke ontwikkelingen en samenwerkingsmogelijkheden, weer in een geisoleerde positie of b. we kiezen voor niet-Burroughs-software (in dit geval is de keuze beperkt: RAPPORT, TOTAL of MlMER) , zodat samenwerking met andere universitaire instellingen nog mogelijk is. Voor RAPPORT geldt dat het op dit moment nog niet voldoende ver is ontwikkeld. Voor TOTAL geldt dat het een nogal vreemde data base sttuctuur heeft. MI}ffiR verdient, op papier gezien, de voorkeur. Gebrulk IBM-apparatuur Bij gebruikmaking van de clusterfaciliteiten in Nijmegen is het in principe denkbaar om met een ander DBMS dan het door SUAA gekozen IDMS in zee te gaan. Een goede reden voor zo'n afwijkende keuze zou zijn dat een ander DBMS ook op de eigen niet-IB}~apparatuur operationeel is. Maar de hoge kosten bij aanschaf van een DBMS zouden een overwegend bezwaar kunnen zijn. Desalniettemin zouden, bij het gebruik van de clustermachine, de volgende DBNS-en voor een afwijkende keuze In aanmerking kunnen komen: ORACLE (IBN, VAX, DEC en HARRIS) TOTAL (Op zeer veel machines geimplementeerd) BASIS (IBM, VAX, DEC, CDC, PRIME) RAPPORT (Op veel machines geimplementeerd) ADABAS (IBM, VAX, PDP) MI~lliR (IBM, VAX, DEC, CDC, ICL, PRIME, BURROUGHS) 8. Samenvatting en conclusies
De verschillende mogelijkheden voor de THE schema tisch weergeven: 1. IBM 2. IBM 3. VAX 4. BURROUGHS 5. BURROUGHS
+ + + +
kunnen
we
als
voIgt
IntiS
ORACLE/TOTAL/BASIS/RAPPORT/ADABAS/MlMER ORACLE/TOTAL/BASIS/RAPPORT/ADABAS/MlMER RAPPORT/TOTAL/MI}ffiR + DMS II & LINC
Voor deze keuzemogelijkheden geldt: de hoogte van het keuze nummer is recht evenredig met
de
mate
THE-RC 54908
bIz.
33
van isolatie ten opzichte van de ministeriele ontwikkelingen, de hoogte van het nummer is recht evenredig met het gemak van realisatie binnen het THE-RC. keuzemogelijkheid 2 / 3 lijkt ook voor de andere universitaire instellingen een goede keuze, indien we het eens kunnen worden over het te kiezen DBMS. Dit zou zelfs voor SUAA geen onoverkomenlijk probleem behoeven te zijn, gelet op het feit dat er eigenlijk nog geen enkel door SUAA zelf ontwikkeld informatiesysteem operationeel is; een probleem is mogelijk weI het contract met Cullinet. Conclusies 1. Een goede, gernakkelijke en waarschijnlijk goedkope oplossing voor de THE is voortzetting van de huidige en toekomstige ontwikkeling van informatiesystem~n op Burroughs-apparatuur met behulp van LINC en DMS II. 2. Werken met een clustermachine is slechts een overgangsfase naar een eigen IBM-computer voor administratieve automatisering. 3. Werken met IBM-systemen is een kostbare aangelegenheid voor de THE, want dit betekent: a. extra inspanning in de hardwareen systeemsoftware beheerstaak, wegens de onbekendheid met IBM systemen en wegens de complexiteit daarvan; b. dubbele belasting met betrekking tot het beheren van data base systemen, omdat de THE binnen afzienbare tijd ook een data base systeem voor O&o-doeleinden zal moeten aanschaffen. 9. Aanbevelingen Alvorens zonder meer te kiezen voor het gebruik van de clustermachine lijkt het wenselijk om: 1. na te gaan welke netwerkapparatuur in Eindhoven nodig is en wat de aanschaf- en onderhoudskosten zullen zijn, 2. na te gaan welke kosten Nijmegen de THE in rekening zal brengen bij gebruikrnaking van de clustermachine en IDMS, 3. na te gaan hoe de verantwoordelijkheden voor de correcte werking van de systemen worden geregeld, 4. na te gaan wat de problemen zijn, bij exploitatie van aIle bestaande COBOL- en PL/I-prograrnrnatuuur op de clustermachine, S. via SUR en CVDUR er bij SUAA op aandringen om alsnog een ander DBMS als SUAA-standaard te kiezen, waardoor dan gemakkelijker in huis bijkomende administratieve systemen op de eigen apparatuur ontwikkeld kunnen worden. 6. een keuze maken ten behoeve van 0&0 uit ORACLE, MIMER, ADABAS, RAPPORT en BASIS op grond van: prijsopgave gebruikerservaringen
bIz.
THE-RC 54908
34
Bijiagen 1. Relevante systemen Soort
IBM systeem
I Burroughs systeem I
VAX
I I I
MUMPS
---------------------------------------------------------------Hierarchisch
I I I
IMS
t1ARS MUMPS
I I I
---------------------------------------------------------------Netwerk
I IDMS I
I I
TOTAL
ADABAS
I I DMS II
I I
TOTAL
I I I I
TOTAL
ADABAS
---------------------------------------------------------------Relationeel
I SQL/DS I RAPPORT I
I I
RAPPORT
ORACLE
BASIS 111MER
MlMER
I I I I I
RAPPORT ORACLE HIMER
bIz.
THE-RC 54908
35
2. Enige opmerkingen over de systemen
IMS IDMS DMS II TOTAL RAPPORT sQL/DS MUMPS
ORACLE
MARS ADABAS
BASIS HIMER
Wijd verbreid systeem. maar ouderwets en moeizaam hanteerbaar. Dit systeem is door SUAA gekozen voor de administratieve automatisering aan de universitaire instellingen. Voldoet aan de Codasyl standaard. Het (netwerk) data base systeem van Burroughs. waarover de gebruikers zeer tevreden zijn. Geen Codasyl standaard. Is ook geen Codasyl standaard. is betrekkelijk gaedkoop en is op veel plaatsen in gebruik. Is geschreven in een portable subset van FORTRAN 66 en daarom ap zeer veel systemen geimplementeerd. Het cammerciele relational data system van IBM dat pas op de markt is en nag nergens in Nederland in gebruik. Wordt bij bibliotheekantwikkelingen toegepast. Een operating systeem met hierarchische DBMS-faciliteiten. Relationeel data base systeem dat momenteel algemeen geldt als het beste in zijn soort. Een hierarchisch systeem met beperkte mogelijkheden. Onder andere in gebruik ten behoeve van de studentenadministratie. Een veel gebruikt data base management systeem. Een self contained system dat op veel machines is geimplementeerd. Een relationeel data base system met generatieve software voar verschillende computers.
bIz.
THE-RC 54908
36
3. Leveranciers en implementaties
DBMS
Leverancier
I Geimplementeerd op
IMS IDMS DMS II SQL/DS RAPPORT
IBM Cullinane Burroughs IBM Logica
I
ORACLE TOTAL
Relational Software Inc. Cincom System Inc.
ADABAS BASIS
Software AG Inc. Batelle
MlMER
Savant
MARS
THE-RC DEC
------------------------------------------------------------------
MUMPS
I I I I I
IBM IBM Burroughs IBM IBM, Burroughs, ICL, CDC, Perkin Elmer. SEL, VAX, PDP. Univac, Honeywell, Prime ea IBM. VAX IBM. PDP, VAX, ICL. CDC, Univac, Honeywell, Perkin Elmer, Burroughs ea IBM, VAX, PDP IBM. DEC. CDC, Univac, Prime IBM, DEC, VAX, CDC, Burroughs, Prime, Univac Burroughs large systems PDP, B6700, IBM, Prime ea
bIz.
THE-RC 54908
37
4. Overige software van de belangrijke systemen
I Host
I Report
I Generator
I Query
I Facility
I Tool
I+ I I
I I I
COBOL FORTRAN PASCAL
I I
I I I
T-ASK
I I
I ++ I I I
I I I I
COBOL FORTRAN PL/l
I I I I
SQL
I I I
IQL
I I I
I I
OLQ
I
I I I
INQUIRY
Data
TOTAL
I Interactive I Software
II Dictionary IILanguage Interface
I
SOCRATES
I
I Development ~1ANTIS
I
-----------------------------------------------------------------
ORACLE
C
I I I I
RPT
I I
IAF
I
----------------------------------------------------------------RAPPORT I
I I
IDMS
DMS II
I FORTRAN I I ( COBOL) I I (PASCAL) I
+
I +++ I
I
I I
I+ I I
I I
COBOL
COBOL PL/I
I I
CULPRIT
I I I
REPORTER
ADS/ONLINE
I
I I I
LINC
I I
NATURAL
I I I
MlMER!PG
-----------------------------------------------------------------
ADABAS
I
I I I
I I
BASIS
I
~lnlER
I I I
self
COBOL FORTRAN PL/I
I I I
contained
I I I
COBOL FORTRAN PASCAL
I system
I I I
MIMER!PG
I I I
MIMER/IR