Gå til innhold

Trenger hjelp med en datamodell (ER)


Anbefalte innlegg

Godag! Går på IT-linjen på BI. Sitter nå hjemme å svarer på en hjemmeeksamen, men har noen spørsmål anngående datamodeller, grunnen til dette er at når vi tidligere i året har levert inn en datamodell fikk jeg helt feil på innleveringen. Da jeg leverte inn på nytt, mener jeg at det jeg leverte inn var feil, men fikk fordeom sterk B.

 

Sitter dermed med en følelse etter å ha lest rundt på nettet av at den første jeg leverte inn var mest riktig, å er dermed usikker på hvordan jeg skal lage den på eksamenen, siden jeg fikk E på den.

 

Så, kunne dere hjulpet meg med hva som er riktig? Vedlagt finner dere bilder av begge modellene. (Med attributter er den vi fikk E på (øverste bildet), datamodell fikk vi sterk B på (nederste bildet))

 

På eksamen skal vi lage en ER-modell, er en av de vedlagte det?

 

Her har dere oppgaven vi fikk:

 

Du skal lage en applikasjon som skal drive en videobutikk hvor kundene selv finner og leier (betaler) filmer. Kundene ordner utsjekking og betaling av filmene selv på PC-er som er spredd rundt i lokalet. For å kunne leie filmer må man være registrert medlem. Utleien foregår ved at medlemmene betaler inn penger på en nettkonto på forhånd. Når de leier filmer trekkes beløpet fra nettkontoen. Hvis nettkontoen er tom får de ikke leie filmer. De må da gå inn på sin egen nettbank og overføre penger til "videokontoen."

Videoapplikasjonen kjører på vanlige PC-er som spredd rundt i lokalet. PC-ene har tastatur, mus og automatiske strekkodelesere som både leser strekkodene på filmene samt strekkoden på medlemskortet som alle kundene har.

Videoapplikasjonen skal hovedsakelig ha tre funksjoner:

 

1. Kundene skal kunne betale (eller sjekke ut) filmer de ønsker å leie.

Dette gjøres ved at de først identifiserer seg ved å la strekkodeleseren registrere strekkoden på medlemskortet. Deretter registrerer de filmene de har funnet vha den samme strekkodeleseren. Når de er ferdige får de beskjed om hvor mye som blir trukket fra kontoen og når de må levere filmene.

 

2. Kundene skal kunne søke i butikkens filmdatabase etter filmer de har lyst til å se, samt finne ut hvilken hylle filmen står i.

Filmdatabasen skal inneholde navnet på filmen, innspillingsår, hovedrolleinnehavere, regissør, genre og hvilken hylle filmen befinner seg i i butikken. Hvis filmen de søker er utleid skal de få vite når den kommer inn. Butikken har kun fem hyller: Nyheter, action/spenning, romantikk, komedie og barn/familie. Videobutikken har bare filmer innenfor fire genre: Action/spenning, romantikk, komedie og barn/familie. Innholdet i filmdatabasen blir automatisk lastet ned av distributøren så dere behøver ikke lage funksjonalitet for å vedlikeholdet innholdet i filmdatabasen.

 

3. Kunden skal kunne sjekke status på sin konto - både hvor mye penger de har igjen, hvilke filmer de har leid tidligere og eventuelt filmer de ikke har levert inn. I tillegg skal de kunne endre adresse, telefonnummer osv.

Typisk vil en sesjon inkludere at kunden kommer inn i butikken, går til en PC og finner

en film hun har lyst til å se (husk at her er det muligheter for kryssalg av filmer). Deretter går hun til hyllen filmen er i og tar den med tilbake til PC-en. Her leses strekkoden på medlemskortet hennes og deretter på filmene hun vil leie. Hvis alt er i orden tar hun med seg filmene og går.

 

post-98485-1260383009_thumb.jpg

post-98485-1260383777_thumb.jpg

Endret av Sindra
Lenke til kommentar
Videoannonse
Annonse

Hvis du sitter med eksamen nå, har ER på pensum, og fortsatt ikke vet hva det er (no pun intended ...), så ... vel ... er frista til å si at da er toget gått, men du har jo også klart å løse oppgavene tidligere i semestret, så da er vel ikke BI-krava så veldig høye da. Du får slå opp i index'en i boka di på ER / Entity Relationship og se hva du finner. Evt. http://en.wikipedia.org/wiki/Entity-relationship_model

 

Når det gjelder de to modellene synes jeg ikke det er så veldig innlysende hvilken som er «mest» ER av de to, ei heller hvem som er den beste.

 

For meg ser det ut som begge modellene mangler mulighet til å sjekke kundens konto-status. Denne mangelen er eksplisitt synlig i den første modellen som fikk dårligst karakter. I siste modell ser det ut som tvilen har kommet dere tilgode eller noe sånt mht. til akkurat dét, dog kan jeg ikke helt se hvordan lånehistorikken blir ivaretatt, men siden dette er BI og ikke Historisk Fakultet så har vel det blitt vurdert som mindre viktig da.

 

Anyways, lykke til med eksamen!

 

Edit: PS, den største blemma er vel gjort av han som har satt karakterene uten å gi en forståelig begrunnelse ...

 

... og; som du ser av wiki-linken, kommer ER i mange dialekter. Det er vel da typisk en smart ting å levere diagrammet på den dialekten som læreboka di bruker, som ikke nødvendigvis er Chen-dialekten wiki har som eksempel.

 

... og enda mer: når det går i surr, som det ofte gjør når man modellerer, så går det an å rett og slett tegne opp scenarioet, tabeller med kolonner og et par datarader i hver, og så spør man seg, hvor lagrer man hvilke data når kunden låner, hvor slår man opp for å sjekke lånehistorikk, hvor slår man opp for å sjekke saldo osv osv. blyant og papir, rett og slett. Noen ganger klarner det tankene ...

Endret av quantum
Lenke til kommentar
Hvis du sitter med eksamen nå, har ER på pensum, og fortsatt ikke vet hva det er (no pun intended ...), så ... vel ... er frista til å si at da er toget gått, men du har jo også klart å løse oppgavene tidligere i semestret, så da er vel ikke BI-krava så veldig høye da. Du får slå opp i index'en i boka di på ER / Entity Relationship og se hva du finner. Evt. http://en.wikipedia.org/wiki/Entity-relationship_model

 

Når det gjelder de to modellene synes jeg ikke det er så veldig innlysende hvilken som er «mest» ER av de to, ei heller hvem som er den beste.

 

For meg ser det ut som begge modellene mangler mulighet til å sjekke kundens konto-status. Denne mangelen er eksplisitt synlig i den første modellen som fikk dårligst karakter. I siste modell ser det ut som tvilen har kommet dere tilgode eller noe sånt mht. til akkurat dét, dog kan jeg ikke helt se hvordan lånehistorikken blir ivaretatt, men siden dette er BI og ikke Historisk Fakultet så har vel det blitt vurdert som mindre viktig da.

 

Anyways, lykke til med eksamen!

 

Edit: PS, den største blemma er vel gjort av han som har satt karakterene uten å gi en forståelig begrunnelse ...

 

... og; som du ser av wiki-linken, kommer ER i mange dialekter. Det er vel da typisk en smart ting å levere diagrammet på den dialekten som læreboka di bruker, som ikke nødvendigvis er Chen-dialekten wiki har som eksempel.

 

... og enda mer: når det går i surr, som det ofte gjør når man modellerer, så går det an å rett og slett tegne opp scenarioet, tabeller med kolonner og et par datarader i hver, og så spør man seg, hvor lagrer man hvilke data når kunden låner, hvor slår man opp for å sjekke lånehistorikk, hvor slår man opp for å sjekke saldo osv osv. blyant og papir, rett og slett. Noen ganger klarner det tankene ...

 

Takker for svar! De to datamodellene som er vedlagt skulle ikke skrives som ER, bare som datamodell (?). Gikk selv på IT på høgskolen ifjor, å må ærlig innrømme at IT her på BI ikke er helt 100 %. Bare det at læreren ikke har lært oss datamodellering, men forventer at vi skal kunne det til eksamen syns jeg er helt på tryne. Har jeg rett om jeg har forstått det slik at en datamodell er en modell av en database?

 

PS: ser at førstepost er litt rotetet, men den oppgaven som står der, er den vi fikk tidligere i år, ikke eksamensoppgaven. Ville bare ha en begrunnelse til hvorfor den nederste var en så mye "bedre" datamodell enn den øverste?

Endret av Sindra
Lenke til kommentar
... Har jeg rett om jeg har forstått det slik at en datamodell er en modell av en database?

 

PS: ser at førstepost er litt rotetet, men den oppgaven som står der, er den vi fikk tidligere i år, ikke eksamensoppgaven. Ville bare ha en begrunnelse til hvorfor den nederste var en så mye "bedre" datamodell enn den øverste?

 

For å ta det siste først; Sånn jeg ser det mangler den siste historikk, og den første saldo. Kan ikke se at den siste *har* saldo, men jeg *kan* se at den første *ikke* har saldo. Skal det bli penger i kassa så må ihvertfall saldoen på plass, så jeg hadde sett på det som en større mangel.

 

«Datamodell» er et ganske vidt begrep, det kan f.eks. være en matematisk simuleringsmodell, ref. linken du fikk i et annet innlegg her, det kan være en modell over klasser som representerer data i et program, eller en databasemodell.

Lenke til kommentar

Kunde: kunde_id, navn, adresse, {annen metadatablablabla}

Konto: kunde_id, saldo

Leieforhold: kunde_id, film_id, startdato, sluttdato, frist

Film: film_id, sjanger_id, tittel, originaltittel, lanseringsdato, {annen metadatablablabla}

Sjanger: sjanger_id, beskrivelse

 

Skal vel holde? Sånn i farta ;)

 

Om filmen skal stå på nyhetshylla utleder du ifra om lanseringsdato < 1 uke (f.eks.)

Åpne leieforhold vil være leieforhold hvor sluttdato = null

Om en film er utleid, her kan du enten hive en status bit på filmen, eller sjekke alle filmer som ikke er inkludert i et leieforhold hvor sluttdato = null :)

Konto bør holdes for seg selv da den egentlig ikke har noe med resten å gjøre.

Film bør kanskje ha en pris, hvis dette varierer fra film til film.

 

Har jeg glemt noe da?

 

Fikk litt flashback til førsteåret på hist nå :D

 

-C-

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...