Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Presentasjon

Følgende .h2-overskrifter representerer powerpoint-slides som skal brukes i workshoppen.

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

Er mye bra å hente fra https://cmpct.info/~calvin/Papers/Data and Reality.pdf her knyttet til det mer filosofiske aspektet om hva datamodellering dreier seg om.

Det relasjonelle paradigmet

  • Flat (ikke nøstet) struktur

  • DRY (normalisering – “én ting på ett sted“)

  • Hvordan informasjonen henger sammen, uavhengig av applikasjoner

  • Optimaliserer for integritet, konsistens og gjenbruk

  • 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 verdier

  • Kraftig spørrespråk som kan transformere data på vei ut av databasen

Vanlige feiloppfatninger

  • Dårlig ytelse

    • Databasen må beskyttes fra kompliserte spørringer pga skaleringsproblematikk

    • Det er dyrt å joine (må denormalisere for å få det til å gå rundt)

  • Kompleksitet

    • "Det er for vanskelig å tenke prinsipielt – må konsentrere oss om det vi trenger "

    • Object-relational mismatch gjør det unødvendig komplisert å utvikle mot

  • “Big design up front“

    • Bruker altfor mye tid i starten uten å få gjort noe fornuftig

Lenker

Case: Filmer i Sikt(e)

Starte med enkelt IMDB-case (i prosa)

  • Entiteter

    • Film

    • Kritikk (antall stjerner i sikte)

    • Regissør

    • Distributør

  • 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

Godbiter hvis tid?

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

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

  • No labels