WEBVTT Kind: captions; language: nb-no NOTE Treffsikkerhet: 92% (H?Y) 00:00:00.000 --> 00:00:06.400 Hei! Og velkommen til denne ukas andre video hvor vi skal introdusere og motivere det andre hovedtema i 00:00:06.400 --> 00:00:13.900 dette kurset, nemlig datamodellering. Vi skal igjen starte med motivasjon, og fors?ke ? besvare hvorfor datamodellering er nyttig. 00:00:13.900 --> 00:00:20.600 F?r vi deretter mot slutten skal snakke litt om hva datamodellering egentlig er, men f?r vi kan 00:00:20.600 --> 00:00:26.600 begynne ? snakke om datamodellering, s? er det viktig ? skille mellom data og informasjon. Som vi husker 00:00:26.600 --> 00:00:34.200 fra forrige video, s? er innholdet i en database - data, for eksempel s? kan man i en kolonne vekt ha verdien 00:00:34.200 --> 00:00:42.800 142,3 som vi ser her til h?yre, men dette tallet sier oss egentlig ingenting, for eksempel er det heis nummer 3 som veier 00:00:42.800 --> 00:00:52.800 142,3 kg, eller er det tre heiser som har makskapasitet 142,3 kg, eller kanskje heis nummer 3 har makskapasitet 142,3 tonn, eller 00:00:52.800 --> 00:00:58.950 kanskje at heiser kan ta tre personer som veier hver 142,3 kg. NOTE Treffsikkerhet: 93% (H?Y) 00:00:58.950 --> 00:01:06.800 Vi m? alts? vite hvordan dataene skal tolkes, for at de skal gi oss noe informasjon, for eksempel hvilken m?leenhet 00:01:06.800 --> 00:01:14.200 som er brukt, hva er det vekten p?? Er det faktisk vekt eller maks vekt osv, s? informasjon det er alts? data + 00:01:14.200 --> 00:01:20.500 regler om hvordan dataene skal tolkes. S? hvorfor er dette skillet mellom data og informasjon viktig? 00:01:20.500 --> 00:01:27.500 Fordi vi ?nsker at en database skal inneholde data om et domene, for eksempel skattedomenet eller 00:01:27.500 --> 00:01:34.300 nettbutikk, sykehus, universitet osv, men et domene inneholder jo informasjon, for eksempel innen skattedomenet 00:01:34.300 --> 00:01:40.400 s? kan man ha informasjon "Per tjener 500 kroner" eller innen universitetsdomenet kan man ha at Ola veileder 00:01:40.400 --> 00:01:47.400 Kari, s? man m? alltid trekke ut de interessante dataene fra den informasjon f?r vi kan representere de i en 00:01:47.400 --> 00:01:54.800 database. Det er mange m?ter ? gj?re dette p?, alts? det er mange m?ter representere dataene til en gitt mengde 00:01:54.800 --> 00:01:59.850 informasjon p?. Noen representasjoner er gode, men andre er d?rlige. Datamodellering NOTE Treffsikkerhet: 91% (H?Y) 00:01:59.850 --> 00:02:06.200 hjelper oss med ? finne de gode data presentasjonene av informasjon. S?, datamodellering hjelper oss med ? finne 00:02:06.200 --> 00:02:14.400 gode datarepresentasjoner, men hvorfor er dette vanskelig? Jo, fordi de fleste domener er veldig komplekse, det er veldig mange entiteter 00:02:14.400 --> 00:02:20.000 eller ting en ?nsker ? snakke om, for eksempel universitet domenet s? har vi studenter, ansatte, kurs, 00:02:20.000 --> 00:02:25.200 foreninger, programmet, bygninger, rom og aktiviteter, forskningsgrupper og karakterer og s? videre og s? videre. 00:02:25.200 --> 00:02:33.000 I tillegg til at man har veldig mange entiteter eller ting i hvert domene, s? har disse tingene eller entitetene veldig 00:02:33.000 --> 00:02:39.300 mange relasjoner seg imellom, og det gj?r da domene enda mer kompliserte, s? for eksempel ved et universitet 00:02:39.300 --> 00:02:47.500 s? er ansatte gjerne ansatt ved et bestemt fakultet, rom kan v?re bestilt av ulike ansatte, en student er veiledet av 00:02:47.500 --> 00:02:55.100 en bestemt ansatt, studenter har karakter i emner, et institutt er ledet av en ansatt osv, s? vi har kjempe mange 00:02:55.100 --> 00:02:59.450 relasjoner mellom de ulike entitetene som kan v?re interessante ? f? med. NOTE Treffsikkerhet: 91% (H?Y) 00:02:59.450 --> 00:03:05.800 Dette gj?r at databasen som skal inneholde data som representerer disse komplekse domenene, selv blir veldig 00:03:05.800 --> 00:03:11.300 komplekse. Det er ikke uvanlig at man ender opp med en database med over hundre tabeller, hver tabell typisk ha 00:03:11.300 --> 00:03:18.700 mellom 2 og 20-30 kolonner, og gjerne flere millioner rader. Det er derfor helt essensielt at databaseskjemaet 00:03:18.700 --> 00:03:24.900 godt designet, slik at oversiktlig og lett ? vedlikeholde, og i tillegg korrekt med hensyn p? 00:03:24.900 --> 00:03:30.900 en informasjon i domenet, alts? m? man bestemme hvilke tabell man skal ha, Hvilke kolonner tabellen skal ha, 00:03:30.900 --> 00:03:38.800 hvordan tabellene er relatert til hverandre osv osv. Det er alts? her datamodellering kommer inn. For 00:03:38.800 --> 00:03:44.900 Datamodellering det gj?res med modellering spr?k og et mrodelleringsspr?k brukes da for ? lage en modell av et domene 00:03:44.900 --> 00:03:53.600 En modell det er en forenkling av virkelighetens om kun beskriver den informasjonen som vi er interessert i. En slik modell kan 00:03:53.600 --> 00:03:59.800 Kan s? oversettes av en algoritme til et godt databaseskjema, og dette databaseskjemaet kan vi da bruke til ? NOTE Treffsikkerhet: 91% (H?Y) 00:03:59.800 --> 00:04:08.800 Lage en database. Det finnes mange modelleringsspr?k, for eksempel UML, ORM - det var det som vi brukte tidligere i kurset, ER og OWL. 00:04:08.800 --> 00:04:16.700 I dette kurset s? skal vi bruke ER. Det st?r da for Entity Relationship diagram. Til h?yre her 00:04:16.700 --> 00:04:22.600 S? ser man et eksempel p? en ER-modell som beskriver karakterer til et online spill, og her er kan vi for eksempel 00:04:22.600 --> 00:04:31.900 Se at en karakter har et navn, en level, XP osv. En karakter kan holde p? items av en bestemt type, 00:04:31.900 --> 00:04:41.000 items har navn osv osv, s? dette ting som modellen beskriver. Dette var en liten introduksjon og 00:04:41.000 --> 00:04:46.600 motivasjon til datamodellering, og hvorfor det er nyttig. I neste video s? vil vi gjennomg? et lite eksempel som 00:04:46.600 --> 00:04:51.100 viser hvordan databaser og datamodellering typisk brukes sammen. Takk for n?!