Informationsarkitektens bokhylla – del 1: Informationsmodelleringens bibel
Om du bara ska välja en bok om informationsmodellering så är det Data Modeling Essentials av Graeme Simsion och Graham Witt. Den är något av en bibel på området.
/Peter Tallungs, IRM 2023-03-23
Många jag möter vill ha lästips för informationsarkitekter. Det finns en uppsjö av böcker, och det är några som i mitt tycke utmärker sig som verkligt värdefulla. Dessa vill jag nu presentera i en serie artiklar under rubriken ”Informationsarkitektens bokhylla”.
Boken som är informationsmodelleringens ”bibel”
Den vanligaste frågan jag brukar få är vilken bok jag vill rekommendera för den som vill bli bättre på informationsmodellering. Och då är det en bok som utmärker sig framför andra. I min mening finns det bara en bok som passar en nybörjare (nåja) och som på samma gång är så gott som heltäckande. Det är Data Modeling Essentials av Graeme Simsion och Graham Witt.
Graeme Simsion gav ut den i sin första utgåva 1992. Sju år senare, 1999, kom andra utgåvan utifrån ett samarbete med Graham Witt. 2005 kom så den tredje och senaste (kanske sista?) utgåvan. Den finns tillgänglig som fysisk bok, med 532 välmatade sidor, på till exempel Amazon. Men man kan också läsa den online eller ladda ner den gratis som PDF på flera ställen.
Vilka är författarna?
Huvudförfattaren Graeme Simsion har en intressant historia. Han är it-konsulten som doktorerade i informationsmodelleringens teori och praktik vid Melbournes tekniska högskola 2007. Hans tes var att informationsmodellering till sin natur är design och inte analys. Det vill säga att resultatet av modelleringen inte är något helt objektivt utan beror på personlig stil. Det finns ingen ”rätt” modell men ett resultat kan vara mer användbart än andra. Om det vore så att det fanns en informationsmodell som är ”rätt” för ett område så vore modellering endast en ritövning.
År 2006 ingick jag i en grupp av försökspersoner i ett av de försök som ledde fram till att Graeme menade sig kunde bekräfta sin tes. Vi fick var och en modellera samma uppgifter där han sedan jämförde resultaten. På så sätt kom han fram till att det fanns skillnader som hade mer med personlig stil att göra än med erfarenhet.
Utöver sin verksamhet som it-konsult, forskare och författare inom informationsmodellering har han jobbat som vinhandlare. Han har dessutom skrivit bästsäljande romaner, noveller, pjäser och filmmanus, varav en del tillsammans med sin fru Anne Buist som är psykiatriker.
Medförfattaren till Data Modeling Essentials, Graham Witt, har också kombinerat praktik och teori med akademiska uppsatser inom informationsmodellering och verksamhetsregler.
Varför ska man läsa boken?
Boken är en veritabel ”tour de force” genom hela området. Författarna går noggrant, systematiskt och pedagogiskt igenom ämne för ämne inom det mesta som har med informationsmodellering att göra. Jag brukar bli belåten så fort jag tar mig tid att läsa något kapitel. Boken har en perfekt balans mellan teori och praktik, och förmedlar kunskap och erfarenhet på ett rakt och enkelt sätt.
Det är kanske inte en bok för en nybörjare. Inte för att den skulle kräva förkunskaper. Tvärtom! Den går noga igenom grunderna inom varje ämne. Inte heller är den svårtillgänglig. Nej, den är tydlig och pedagogisk. Det som gör den bättre lämpad som andra bok än som första är att den är så grundlig och uttömmande att det för en nybörjare kan vara svårt att greppa helheten. Som introduktion behöver man nog helst en bok som gör en lättare överflygning över grunderna, ger en första smak av vad det handlar om. Det tar till exempel 65 sidor innan författarna visar en informationsmodell. Ty först tar författarna nogsamt läsaren genom hela den teoretiska grunden till området.
Vad ska man då läsa som nybörjare? Jag har ingen särskild rekommendation att ge. Jag skulle nog söka någon tutorial på nätet. Men man får då komma ihåg att informationsmodellering vanligen heter ”data modeling” på engelska och inte ”information modeling”. Man kan också gå någon av de nybörjarkurser som finns.
Grundligheten gör som sagt att boken trots allt inte är perfekt som första bok. Den är däremot utmärkt som en andra bok, där du finner det mesta du behöver veta. Sedan har den förutsättningar att bli din trogna kamrat genom hela ditt yrkesliv, den källa du ständigt återvänder till. Så har det i varje fall blivit för mig. Mitt exemplar är fullt med understrykningar, kommentarer och hundöron, efter alla omläsningar. Om du som jag, gillar att läsa med pennan i hand, så rekommenderar jag pappersversionen.
Bokens innehåll
Här följer en grov presentation av vad boken innehåller.
Part I: The Basics (228 sidor)
En gedigen och välskriven genomgång av grunderna. Vad är informationsmodellering? Hur ser en bra struktur ut? (normalisering). Allt om ER-modeller, sub- och supertyper, attribut och primärnycklar. Innehåller även ett avsnitt om utökningar och alternativ till ER-modeller.
Part II: Putting it Together (160 sidor)
Denna del ger dig sammanhangen i vilken modelleringen görs och hur du kan bedriva arbetet. Hur man kan organisera arbetet med informationsmodelleringen, och hur man hanterar krav med hjälp av informationsmodellen, konceptuell modellering, logisk samt fysisk databasdesign.
Part II: Advanced Topics (303 sidor)
Här hittar du fördjupningar. Högre normaliseringsformer, hur man modellerar verksamhetsregler, tidsberoende data, modellering för Data Warehouse, datamodeller för hela verksamheter samt Data Management.
Vad som inte finns med i boken
Jag vill dock inte påstå att boken innehåller precis allt man behöver kunna som informationsmodellerare. Jag saknar hela områden som jag ser som viktiga. Detta får man hitta utspritt i andra böcker, en del som koncentrerar sig på vissa aspekter av informationsmodellering och andra som kommer från helt andra områden. I efterföljande artiklar kommer jag att tipsa om sådana kompletteringar.
Det jag tycker är viktigt och som inte finns i boken, eller som bara berörs flyktigt, är följande:
- Begreppsanalys och definitioner
Informationsmodellering involverar till stor del begreppsanalys, men boken berör detta område mycket ytligt. Det som hanteras bra i boken är hur viktigt definitioner är för entiteter, men det är faktiskt lika viktigt att man definierar övriga begrepp som till exempel attribut, relationer och uppräknade attributvärden.
- Textuella beskrivningar
En informationsmodell är ofullständig så länge den endast är ett diagram. Vi behöver textuella beskrivningar. Hur detta kan göras visas inte riktigt i boken förutom att det nämns i förbigående i samband med definitioner av entiteter och dokumentation av verksamhetsregler.
- Diagramtyper som kompletterar ER-diagram
Boken täcker ER-diagram väl men inte några andra diagramtyper som man behöver för att förmedla verksamhetsregler för struktur och dynamiska beteende. Då tänker jag på Tillståndsdiagram (Statusdiagram eller State Charts) och Förekomstdiagram (Instansdiagram).
- Grafisk gestaltning
Hur man kan strukturera diagram och hur man kan använda linjer, gråskalor, färg och typsnitt för att tydligare förmedla struktur och mening berörs inte alls.
- Modellmönster
Det förekommer några modellmönster i boken för att illustrera olika problem och lösningar, men i stort sett tar man inte upp modellmönster alls.
- Modellering för Analys (Data Warehouse/Business Intelligence)
Ett kapitel på 22 sidor ger en kort introduktion till den typ av modellering som behövs göras i BI-sammanhang. Det är en bra första introduktion men området är stort och behöver hela böcker för att beskriva.
Men man kan inte få allt mellan en och samma pärm. Härmed rekommenderas boken på det varmaste. Den kommer att vara din ovärderliga guide i många år.
Vilket är ditt tips?
Har du något tips om någon bok som du tycker är mer eller mindre heltäckande om informationsmodellering?
/Peter Tallungs, IRM
Välkommen att maila mig på peter.tallungs(at)irm.se eller kommentera artikelns post på IRM:s linkedin.
Vill du prenumerera på denna artikelserie? Det innebär att du får ett nyhetsbrev, samtidigt som vi publicerar en ny artikel i ämnet informationsarkitektur, med länk till den senaste artikeln. Skriv ett mail till info@irm.se med namn och e-postadress. Skriv IA-artikelserie i ämnesraden.