Relationele theorie is wiskunde gebaseerd op verzamelingenleer (set-theory) en predikatenlogica. Het centrale begrip uit die theorie is relatie. Een relatie kan voorgesteld worden als een tabel met een kopregel:

           +--------+------------+------+
patient | patid | bdat |gender|
+========+------------+------+
| 100001 | 1963-04-05 | 1 |
| 100103 | 1985-12-22 | 2 |
| 100305 | 1954-06-30 | 2 |
| 100507 | 2003-03-04 | 1 |
+--------+------------+------+

Elke kolom (attribute) heeft een naam en is van een bepaald type. Het type bepaalt welke waarden in elke kolom valide ingevuld kunnen worden. De kopregel kan gelezen worden als het predikaat van de relatie. Elke regel (tuple) in de relatie bevat een ware propositie, die een invulling is van het predikaat van de relatie.

Relationele algebra beschrijft bewerkingen die je kunt uitvoeren met relaties, zoals project, select, cartesisch product, join, union en intersect.

Het relationele model is ontwikkeld door EJ Codd, werkzaam bij IBM in de 1960's en 1970's. In 1981 ontving hij hiervoor de Turing Award ("nobel prijs" voor informatica). De primaire literatuurreferentie is:

Codd, E.F. (1970). A relational model of data for large shared data banks.
Communications of the ACM 13 (6), 377-387.
http://www.acm.org/classics/nov95/toc.html

Het klassieke leerboek is: CJ Date. An Introduction to Database Systems, Eighth Edition 2004

SQL is een gestandaardiseerde taal (ANSI/ISO) waarin relationele ideeën verwerkt zijn, maar de taal is geen nauwkeurige implementatie van het relationele model.

Ondanks de standaard zijn databases die ontwikkeld zijn met verschillende producten (bv IBM DB2, Oracle, MS Access, MS SQLServer, MySQL, PostgreSQL) niet eenvoudig uitwisselbaar.

De SQL-mantra luidt: SELECT FROM WHERE
SELECT de kolommen die je wilt hebben
FROM de tabellen waar ze uit moeten komen
WHERE alleen regels die voldoen aan bepaalde voorwaarden

Andere keywords:

(DDL) CREATE DROP
(DML) INSERT UPDATE DELETE
(DCL) GRANT REVOKE

Een goede inleiding in MySQL is: Paul Dubois, MySQL. 3rd ed. 2005

Datawarehousing

Datawarehousing is een gespecialiseerde toepassing van database technologie. In een datawarehouse worden gegevens uit verschillende operationele systemen samengebracht, met elkaar geïntegreerd, en beschikbaar gesteld voor nader onderzoek of rapportage.
IADB gebruikt gegevens van meer dan 50 apotheken, aangevuld met geneesmiddelinformatie van en regionale bevolkingsgevens van

Datamodel iadb

Het vereenvoudigde datamodel van IADB zier er als volgt uit:

tabel popschat
jaar int pk kalenderjaar
ltg int pk leeftijdsgroep
Ntot int totale populatie
Nman int aantal mannen
Nvrw int aantal vrouwen

tabel patient
patid int pk anonieme persoons_identifier
bdat date geboortedatum
gender int geslacht (1=man, 2=vrouw)

tabel recept
recno int pk receptnummer (bevat verwijzing naar bronbestand)
patid int fk persoons_identifier
afldat date afleverdatum
drugid int fk identifier voor geneesmiddelprodukt
aantal float aantal voorgeschreven eenheden
dagdos float aantal voorgeschreven eenheden dagelijks gebruik
cost float kosten

table middel
drugid int pk geneesmiddelprodukt, incl sterkte en toedieningsvorm
atc char atc-kode
dddb float aantal ddd's per eenheid produkt
name char produktnaam