...
Velkomstslide (1 min)
Agenda
Intro til datamodellering (noe skal kanskje => lyntale?)
Modellering vs implementasjon
Raske iterasjoner
Visuelt paradigme som gjør det enkelt å involvere ikke-tekniske
Målet er i første omgang å lære så mye som mulig så fort som mulig
Man må forvente radikale endringer i modellene etterhvert som man lærer
Man øker først detaljnivået etterhvert som strukturene stabiliserer seg
Jo mindre stabilt, jo dyrere er det å detaljere (for ikke å snakke om programmere)
Man bruker tankeeksperiment underveis for å teste hypoteser
Kan lage fysiske prototyper dersom nødvendig (først og fremst som innspill til logisk modell)
Ta gjerne utgangspunkt i prosessene som modellen skal underbygge
...
Optimaliserer for integritet, konsistens og gjenbruk
DRY (“én ting på ett sted“)
Handler om hvordan informasjonen henger sammen, uavhengig av applikasjoner
Verdi- vs. objektsemantikk (naturlige vs. kunstige nøkler)
Relasjonsmodellen er laget for det første
Analogt med funksjonell vs. objektorientert programmering
En tabell er en funksjon fra nøkkel til ikke-nøkkel
Kraftig spørrespråk som kan transformere data på vei ut av databasen
...
https://aws.amazon.com/blogs/aws/a-decade-of-ever-increasing-provisioned-iops-for-amazon-ebs/
https://www.enterprisedb.com/blog/performance-comparison-major-PostgreSQL-versions
Case: Filmer i Sikt(e)
Forvaltning over tid
Out of scope
Kontinuerlige endringer
Notater
Flette inn fra ymse kilder
Hente fra diskusjon (2024-02-27)
Hente fra eksempeldata (2024-04-23)
Hente fra prinsipper for datamodellering
Lage intro
...
Rekapitulere prinsipper
...
)
...
Relasjonsmodellen er laget for det første
Analogt med funksjonell vs. objektorientert programmering
En tabell er en funksjon fra nøkkel til ikke-nøkkel
...
Starte med enkelt IMDB-case
Entiteter
Film
Kritikk (antall stjerner)
Regissør
Distributør
Metodikk – valg
Prosa?
UML?
Innhold
N:M-kobling
Kodetabell
Rolle (flere relasjoner til samme entitet)
Introdusere tillegg etterhvert
Subtyping/roller
Entiteter – Person
Produsent
Skuespiller
Metodikk
Hva er forskjellen på subtyping og roller?
Alt-i-ett (roller krever denormalisering)
Bladnoder (subtyping krever triggerlogikk)
Alle noder (subtyping krever triggerlogikk)
Konseptuelt => logisk nivå
Lage ferdige alternative case – samme modell med:
Naturlige nøkler
Kunstige nøkler
Konsekvenser
Konsistens/integritet
Spørremønstre
Forvaltning over tid
Out of scope
Kontinuerlige endringer
Notater
Flette inn fra ymse kilder
Hente fra diskusjon (2024-02-27)
Hente fra eksempeldata (2024-04-23)
Hente fra prinsipper for datamodellering
Ekstra godbiter?
Hvordan modellere matematiske strukturer
...