Netværksdatabase
(eller: CODASYL-database, DBTG-database).
Betegnelsen for databasesystemer, der følger et sæt regler, defineret af undergruppen til CODASYL-komiteen: DataBase Task Group (DBTG). Reglerne blev endeligt færdiggjort i 1971, men var i en vis udstrækning blevet offentliggjort fra 1969.
I korthed er en netværksdatabase opbygget af "poster", organiseret i "post-typer". Mellem to post-typer kan der defineres en "set-type", hvor den ene post-type er "owner", og den anden post-type er "member". På en set-type kan der defineres et antal forskellige betingelser, der skal gælde, f.eks. sortering, éntydighed, hvordan søgning skal foregå, om sletning skal videreføres fra owner til member, og om en ny post kan indsættes i member uden kontrol af nøglen mod owner.
Reglerne følger desuden i en vis udstrækning anbefalingerne i ANSI/SPARC's tre-skema arkitektur.
Der er et "schema" (skema), der svarer til ANSI/SPARC's begrebsmæssige skema. Det beskrives i et "schema data description language" (schema DDL). Her beskrives hele netværksdatabasen.
Der er et "subschema", der svarer til ANSI/SPARC's eksterne skema. Det beskrives i "subschema data description language" (subschema DDL). Her beskrives, hvordan data i databasen skal benyttes i en konkret sammenhæng, f.eks. af et program.
Sidst er der et "storage schema", der svarer til ANSI/SPARC's interne skema. Det beskrives i "Data Storage Description Language" (DSDL). Her beskrives, hvorledes databasen er implementeret i en konkret edb-installation.
For at bruge databasen benyttes et "Data Manipulation Language" (DML), der giver mulighed for at søge, læse og skrive data i databasen.
Med en netværksdatabase kan data organiseres i meget komplekse strukturer. Den giver en større frihedsgrad end de tidligere hierarkiske databaser, fordi data kan knyttes sammen på mange flere måder end blot i "forældre-børn"- sammenhænge. Med de komplekse strukturer gives også mulighed for at skrive meget effektive forespørgsler/programmer. Til gengæld kræver det stor indsigt i princippet og i den konkrete databases organisation, hvis databasen skal benyttes korrekt og effektivt.
