SELECT navn FROM adresseliste WHERE postnummer <=2000
Denne forespørgsel er i databasesproget SQL, og henter oplysninger om personer, der bor i indre København og på Frederiksberg i en tabel som hedder adresseliste forventes at rumme i hvert fald to oplysninger om hver person, nemlig navn og postnummer. Et mere relevant eksempel kunne være:
SELECT rubrik, manchet FROM artikler WHERE forfatter='Martin Jørgensen' SORT BY dato_publiceret
Altså: hent rubrik og manchet fra mine artikler i kronologisk rækkefølge. Hvis nu jeg tilføjede DESC (descending) ville jeg få dem i omvendt kronologisk rækkefølge ligesom jeg selvfølgelig kunne vælge en anden forfatter eller helt udelade kravet om en bestemt forfatter og få alle artikler.
Dette eksempel illustrerer netop hvordan de samme data kan trækkes frem på mange måder, og dermed ikke blot danne én webside, men mange forskellige.
Hvis man skal bruge en database på web skal man binde det sammen med et såkaldt scriptsprog som ASP, PHP eller CGI eller et system som Lotus Notes, der rummer sit eget sprog og sine egne faciliteter. Heri beskriver man hvordan data skal hentes og hvordan resultaterne skal skrives på brugerens skærm i HTML.
I et artikelsystem kunne man forestille sig, at man havde et par felter der hed skjult og publiceres_den. Her kunne man lade scriptet hente de artikler, der ikke var skjult og hvis publiceringsdato var overskredet. På denne måde kunne man altså nemt fjerne en artikel — klikke den på skjult — og have artikler liggende klar i en pipeline, så de blev publiceret efterhånden, som deres dato blev nået. De første er smart, når man finder en graverende fejl, og gerne vil fjerne artikler midlertidigt. Det sidste kunne være praktisk, hvis man var væk et par dage, men danner faktisk fundamentet for mange af de helt store systemer.
Databaserne har yderligere fordele. De er så at sige intelligente lagrer, hvor man kan gemme data, men samtidig forvente, at databasen selv gør noget arbejde for én. På den banale side kan en database for eksempel genkende lovlige datoer, og indstilles til ikke at tillade ulovlige kalenderdage. I den mere avancerede ende kan en database sikre integriteten i data. Lad os for eksempel antage at en bruger skal se på en artikel, der skal betales for. Brugeren taster sine oplysninger ind, systemet godkender brugeren, beløbet debiteres brugerens konto, og siden vises. Men hvad nu hvis siden, der skal vises, er lås af en journalist, så den ikke kan ses? Så har beugeren betalt, men ser ikke artiklen. Den gode database kan så selv tilbegføre systemet, så betalingen ikke længere trækkes. Det programmeres simpelthen ind i systemet.
Træerne vokser selvfølgelig ikke ind i himlen, med mindre man ofrer rigtigt mange ressourcer på udviklingsarbejdet. Det er ikke nogen triviel opgave at lave et databasebaseret system. Og det er ikke noget man som journalist bør kaste sig over med mindre man har en stor nørd gemt inden i — og masser af tid!
SQL-databaser er en familie af databaser fra mange forskellige producenter, der alle (stort set) overholder SQL-standarden. Producenterne tæller Microsoft, Oracle, MySQL og mange andre. SQL har den fordel at det er en anerkendt standard, der har eksisteret i mange år, og er i mine øjne det sikre bud på en database. Hvem der fremstiller den database, man vælger, er et spørgsmål om præferencer og penge.