Siri L. Uerfaren Gjerrigknark
Ble Medlem: 29 Mai 2001 Innlegg: 92 Bosted: Skien
Søndag 10 Juni 2001, 19:05 |
|
|
Ikke noe enkelt spørsmål å svare på sånn på en-to-tre det der...
For det første kommer det jo egentlig an på hvor mye du kan om databaser... Hvis du kan SQL er det greit å bruke det. Hvis ikke, anbefaler jeg deg å bruke veiviserne som er i access. Her får du hele tiden hjelp til å velge det som er riktig.
Generelle "regler" for databaser er som følger:
* Du må ha noe entydig som kjennetegner hver oppføring (hver rad) i tabellen. Akkurat som hver person har et personnummer. Dette kaller vi en primærnøkkel. I ditt tilfelle har du iallfall tre muligheter: du kan velge å ha en autonummerering, dvs. at hver cd som legges inn får et nummer automatisk (fra 1 og oppover), du kan la cd-tittel være primærnøkkel (ikke lurt, siden det kan forekomme flere cd'er med samme tittel) eller du kan la både artist og cd-tittel være primærnøkkel (altså begge kolonnene). Jeg anbefaler deg å ha en autonummerering.
* Har du en norsk versjon av office-pakken, er det ganske greit å finne ut hva slags datatyper du bør a for de ulike kolonnene. For identitetsnummeret til hver CD velger du "Autonummer", for cd-titler og artistnavn velger du "Tekst", for f.eks. lengde på cd'n bruker du "Tall" og velger underverdien "Flyttall", og for f.eks. antall spor på cd'n velger du "Tall" med underverdien "Heltall".
* Du kan ikke ha tabeller i tabellene - dvs at du ikke under en kolonne kan ha en ny kolonne med mange rader f.eks. Dette gjør at jeg i ditt tilfelle ville anbefalt deg å bruke TO tabeller. En tabell hvor du legger inn:
- Autonummer, artist, cd-tittel + evt. antall spor og varighet for hele cd'n
og en tabell hvor du legger inn:
- Autonummer + spor...
Du må da knytte tabellene sammen med det vi kaller en fremmednøkkel. I dette tilfellet knyttes tabellene sammen med autonummer-kolonnen, slik at "autonummer" i tabell2 blir en fremmednøkkel mot "autonummer" i tabell1. Dette gjøres bl.a vha. knapp nr. 3 fra høyre på verktøyraden når du står i hovedbildet. Den heter "Relasjoner". Her klikker du på autonummer i tabell2, holder museknappen inne og drar den til autonummer i tabell1. Da blir tabellene knyttet sammen slik at identitetsmerket blir det samme i begge tabellene. NB: i tabell2 må BÅDE autonummer og spor være primærnøkkel.
Tabell 2 blir seende ut ca. slik:
AUTONUMMER SPOR
1 Can't fight the moonlight
1 Butterfly
1 San Diego Serenade
2 How do I live
2 Greased Lightening
Her inneholder altså cd1 tre sanger og cd2 to sanger...
* Et godt tips er: lek deg litt med veiviserne etter at du har laget tabellene. Prøv å lage et skjema hvor du kan mate inn opplysningene du vil ha inn, lag rapporter vha. veiviseren osv. Hvis det skal være mulig å søke på sangtitler må du iallfall lage et skjema hvor du kan skrive inn en sangtittel, og så ha et sted hvor du kan få resten av opplysningene (artist, cd, varighet osv.) tilbake. For å være helt ærlig husker jeg ikke helt hvordan dette skal gjøres, og akkurat nå er ikke accessen min helt funksjonabel, men et eksempel på hvordan dette skal gjøres vha. SQL ville være:
SELECT Artist, Tittel, Varighet, AntallSpor, Spor
FROM Cd INNER JOIN Spor ON Cd.Identitetsnummer = Spor.Identitetsnummer
WHERE Spor = "Can't fight the moonlight"
Her vil du da få ut Artistnavnet, tittelen på cd'n, varigheten til cd'n, hvo mange spor det er på denne cd'n+navnet på sporet du søkte etter på ALLE cd'er du har i samlingen din som inneholder låta "Can't fight the moonlight"
(INNER JOIN betyr at du "slår de to tabellene sammen" slik at du får ut de opplysningene du vil ha. Først leter den i tabell2 (som jeg har kalt "Spor" etter sangen, henter ut identitetsnummeret, vet fra ON Cd.identitetsnummer = Spor.identitetsnummer at identitetsnummeret peker på samme cd i de to tabellene, går inn i tabell1 (som jeg har kalt Cd) og henter ut resten av opplysningene du har spurt etter ut fra det identitetsnummeret den har med seg fra Tabell2)...
OK, dette ble VEEEEELDIG langt, men jeg håper det hjalp deg litt. Du bør tenke ganske nøye gjennom hvordan du har tenkt å organisere databasen din. Skal du ha med artist? Hva da med de cd'ene hvor det er mange artister - skal du da skrive "Various" der? Hvordan skal du skrive sangtitler (Stor bokstav i alle ord eller bare stor bokstav først), hvilke opplysninger er interessante?...
Lykke til!!
:smile: Siri
|
_________________ "Vi har blitt lurt - prinsen var pappagutt, en håpløs, bortskjemt fyr..."
viZit Blonde Bøller aNd Siris hjemmeside |
|