Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Databaser II – Online bokdatabase Av gruppe 17: Gerd Franchesa Danclar Gunhild Kristiansen Marianne E Ates.

Liknende presentasjoner


Presentasjon om: "Databaser II – Online bokdatabase Av gruppe 17: Gerd Franchesa Danclar Gunhild Kristiansen Marianne E Ates."— Utskrift av presentasjonen:

1

2 Databaser II – Online bokdatabase Av gruppe 17: Gerd Franchesa Danclar Gunhild Kristiansen Marianne E Ates

3 Formål og brukerbehov  On-line bokhandel for norske forbrukere  Bøker i forskjellige sjangre og språk  Bred kundegruppe  Kunde skal ha tilgang på informasjon uten å registrere seg  Tilgjengelige bilder og linker

4 Applikasjoner  Webside  Registrering ved kjøp av bøker  Enkel applikasjon

5 Dokumentasjon  Dokumentasjon er Viktig!!  Hvorfor? –For at andre skal forstå databasen! –Unngå misforståelser!  Derfor har vi lagt mye arbeid i selve dokumentasjonen

6 Forutsetninger og begrensninger  Antar at alle kunder er norske  Vi har brukt INT på tlf og postnummer. Skulle det vært en ”internasjonal” database hadde vi brukt Varchar siden man da kan ha bokstaver eller andre tegn i postnummeret.  Antar at alle tlf_nr har 8 siffer  Anta at alle postnummer har 4 siffer.  Antar at alle kunder har 11 siffer i personnr  Dødsdato (d_dato) kun i tabellen forfatter

7 Forutsetninger og begrensninger  Hoppet elegant over ”kundekartotek”/ ”Kundehistorie” – det ble for mye jobb  Begrensninger på antall boksjangre  Ikke implementert ”boktilbud”

8 Databasens struktur Bok Bok_id{PN} ISBN Tittel Bilde Sjanger Forlag Utgave Sprak Pris bilde Forfatterbok Bok_id{PN} Forfatter_id{PN} Forfatter Forfatter_id{PN} D_dato F_sted Pseudo Biolink bilde Person F_navn E_navn F_dato Kunde Kunde_id{PN} Personnr Adresse Tlf Mail Post_nr Postnummer Post_nr{PN} Post_sted

9 Datatyper  Date  Int  Char  Dec  Varchar  Text[]  Oid  f_dato, d_dato  post_nr, tlf  Identifikatorer  pris  Navn, o.l  Array  Blob

10 lo_import() og sånn… lo_import() funksjonen lagrer ”baudelaire.jpg”: INSERT INTO bilde VALUES ( ’baudelaire’, lo_import(’/home/studenter/it00/marianea/bilder/baudelaire.jpg’)); lo_unlink() fjerner large objekt SELECT lo_unlink(bilde.bildeOID) FROM bilde;

11 NULL / NOT NULL  ISBN – ikke alle bøker har isbn-nummer  bildeoid(bok) – ikke alle bøker har bilde av forsiden  bildeoid(forfatter) – det er ikke bilder av alle forfattere  pseudo – ikke alle forfattere skriver under pseudonym  f_navn og e_navn – ikke alle forfattere bruker fornavn eller etternavn. Noen forfattere er ukjente

12 NULL / NOT NULL  f_dato – forfatters fødselsdato er ikke alltid kjent  d_dato – ikke alle forfattere er døde  biolink – ikke alle forfattere har websider  f_sted – ikke alle forfatteres fødested er kjent  forlag – noen eldre bøker har ikke forlag  utgave – på noen bøker er det ikke angitt utgave

13 Tabeller og attributter Alle tabeller som er brukt

14 Person - tabellen AttributterForklaring f_navn Fornavn e_navn Etternavn f_dato fødselsdato

15 Forfatter - tabellen AttributterForklaring for_id forfatter_id, spesifisert med CHAR(6), to bokstaver og fire tall. d_dato Eventuell dødsdato. Er ikke i Person- tabellen fordi den ikke gjelder for kunde. f_sted Fødested pseudo Eventuelle pseudonymer som forfatteren bruker. bilde Bilde av forfatteren biolink Linker til websider om forfatteren

16 Kunde - tabellen AttributterForklaring kunde_id Spesifisert med CHAR(6), 2 bokstaver og 4 tall personnr Kundens personnummer adresse Kundens adresse tlf Kundens telefonnummer (8 siffer) mail Kundens mailadresse postnummer Kundens postnummer

17 Bok - tabellen AttributterForklaring bok_id Spesifisert med CHAR(6), 2 bokstaver og 4 tall ISBN Bokens ISBN-nummer tittel Bokens tittel sjanger Array, fordi noen bøker kan sorteres under forskjellige sjangre forlag Bokens forlag utgave Hvilken utgave av boken dette er sprak Hvilket språk denne boken er skrevet på

18 Forfatterbok - tabellen AttributterForklaring bok_id Refererer til bok_id i tabellen Bok for_id Refererer til forfatter_id i tabellen Forfatter

19 Poststed - tabellen AttributterForklaring post_nr Postnummer post_sted Poststedet som postnummer refererer til

20 Spørringer

21 Arv mellom tabeller SELECT * FROM Forfatter; f_navn | e_navn | f_dato | forfatter_id | d_dato Lars Saaby | Christensen | | FO0001 | NULL | f_sted | pseudo | biolink Moss,Norge | NULL | {http://www.aftenposten.no/alex/litterat/forfatte/christen.htm, Bilde NULL

22 OID som datatype SELECT * FROM bilde; Bnavn |bildeoid baudelaire | Elstad | hcAndersen |47196 niniRollAnker |47198 hermanBroch|47200 asbjornsen|47202 paalBrekke|47204 ingeborgBachman|47206 bjorneboe|47209 margaretAtwood|47211 moe|47213

23 Spørring som viser array SELECT biolink FROM Forfatter WHERE e_navn = ’Christensen’; biolink {http://www.aftenposten.no/alex/litterat/forfatte/christen.htm, (1 row)

24 Funksjonalitet Funksjoner, triggere, CASE clause

25 Triggere Beskrankninger og rules har vi lagt i triggere. Det er mange steder vi ønsker en beskankning, men har valgt å legge disse på postnummer og personnummer.  Postnummer skal kun inneholde 4 siffer  Personnummer skal inneholde 11 siffer

26 personnr_trigger create trigger personnr_trigger before insert on Kunde for each row EXECUTE PROCEDURE personnr_trigger_function(); (# 'Rolvsøyveien 357', '588B4567', '1600'); ERROR: Personnummer skal kun inneholde siffer!

27 CASE clause SELECT tittel, forlag, CASE WHEN forlag = 'Gyldendal’ THEN 'utsolgt' WHEN forlag = 'Cappelen' OR forlag = 'Orion' THEN 'På lager' ELSE 'Kommer snart' END FROM Bok ORDER BY tittel; tittel | forlag | case Herman | Cappelen | På lager Livsslaven | Gyldendal | utsolgt Margret | Aschehoug | Kommer snart MariaMaria | Aschehoug | Kommer snart Pesten | Orion | På lager

28 Kvalitetsvurdering I  Minimalt med redundante data, og om/når de finnes, er det kun fordi det kan forsvares i forhold til effektivitet, tempo o.L.  Datamodellen bør være klar, konsis, lett å tyde.  Alle momenter (attributter, entiteter) som man vil kunne ha bruk for i forskjellige scenarier bør være tatt med i modellen.  Alle krav om funksjonalitet / innhold som er beskrevet i oppgavens del 1 må være oppfylt.  Spøringene, løsningen på oppgavens del 2, må også være relevante og i tråd med hva oppgaven spør etter.

29 Kvalitetsvurdering II  Forutsetninger og begrensninger som er blitt satt bør være dokumentert.  Databasen må fungere!  Det bør være tatt med en oversikt over brukte datatyper.  Det bør være tatt med forklaringer på null- verdier, der dette ikke er innlysende.  Beskrankninger, rules og triggere må fungere tilfredsstillende.

30 Svakheter/endringer  Vi ser i ettertid at databasen vår har diverse svakheter, og at rapporten har noen feil.  Disse skal vi naturligvis rette opp.  Selve databasen ser vi i ettertid er litt for liten til å være funksjonell, men det er noe vi ikke kommer til å gjøre noe med.

31 Konklusjon  En lærerik og slitsom prosess, til tider frustrerende  Utfordring å måtte finne kode som kunne brukes i postgreSQL uten å få hjelp fra lærebok / forelesninger  Forenklet databaseløsning, ønsker å legge mer inn i et ferdig produkt

32 Kilder Vi har brukt mange kilder og alle disse er godt dokumentert i rapporten. Grunnen til at vi har lagt stor vekt på dokumentasjon av de kildene vi har brukt er flere:  Rettigheter  Bedre kvalitetssikring på de kildene man har brukt.  Lesere av rapporten kan dobbelsjekke kildene

33 Noen spørsmål?? Ikke det…….? Takk for oss!


Laste ned ppt "Databaser II – Online bokdatabase Av gruppe 17: Gerd Franchesa Danclar Gunhild Kristiansen Marianne E Ates."

Liknende presentasjoner


Annonser fra Google