Presentasjon
Følgende .h2-overskrifter representerer powerpoint-slides som skal brukes i workshoppen.
Velkomstslide (1 min)
Agenda
Intro til datamodellering
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 stabilisere seg
Man bruker tankeeksperiment underveis for å teste hypoteser
Kan lage prototyper i det fysiske dersom nødvendig
Ta gjerne utgangspunkt i prosessene som modellen skal underbygge
Relasjonell paradigmet
Optimaliserer for integritet, konsistens og gjenbruk
DRY
Handler om hvordan informasjonen henger sammen uavhengig av applikasjoner
Kraftig spørrespråk som transformerer data på vei ut fra databasen
Vanlige misoppfatninger
Det er dyrt å joine
Databasen må beskyttes fra kompliserte spørringer pga skaleringsproblematikk
Ytelse
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
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
Lage case
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
Ekstra godbiter?
Hvordan modellere matematiske strukturer
Tre
Kjede (1:1 egenrelasjon)
Matrise
Like akser
Forskjellige akser
Flere enn 2 dimensjoner
Hvordan modellere vekk NULL-verdier
Dummyverdier
1:1-normalisering