Avatar billede gigi1 Nybegynder
06. april 2013 - 12:39 Der er 20 kommentarer

Database over udlån

Hej

Hvis man skulle lave en database over produkter man kan udlåne.
Hvor man har to tabeller - en tabel til udlånene og en anden tabel til produkterne.

Hvor ville et statusfelt så være bedst at placere i hvilken tabel.
Statusfeltet kan der enten stå udleveret eller afleveret i.

Skal det stå på selve udlånet eller på produktet?
Avatar billede claes57 Ekspert
06. april 2013 - 13:23 #1
i en tredie tabel med link til bruger-id og produkt-id.
der kan være ja/nej for udlånt, dato for start på udlåning, dato for forventet returnering (så kan du også rykke for ikke afleverede ting.
Derudover kan du let lave liste med en brugers samlede lån, og hvor mange af et produkt, der er udlånt (er der flere på lager)
Avatar billede gigi1 Nybegynder
06. april 2013 - 14:40 #2
I stedet for en helt tredje kunne man så ikke bare have en kolonne kaldet Produktid i udlåns tabellen?
Avatar billede claes57 Ekspert
06. april 2013 - 14:49 #3
jeg tror, vi taler lidt forbi hinanden.
du skal have en tabel med brugere, en tabel med produkter, og så en tredie (udlån) med link til de to andre.
Avatar billede gigi1 Nybegynder
08. april 2013 - 16:10 #4
Og skal status så være i udlån tabellen?
Avatar billede claes57 Ekspert
08. april 2013 - 16:20 #5
jep - plus evt de to datofelter til styring af udlån.
Avatar billede gigi1 Nybegynder
08. april 2013 - 16:30 #6
Er det muligt at lave det således.
Hvis der er tale om en computer så står der et id under computerid i produkttabellen (softwareid = 0). Hvis der er tale om noget software så står der et id i softwareid (computerid = 0)

Problemet er at software og computere skal have forskellige kolonner fx har software jo ikke nogen processor :p
Hvad mener du om dette?


Tabel: Brugere

id  Brugernavn        Fornavn        Efternavn
1  andand        Anders        Andersen


Tabel: Udlån
id    userid        Produkid
1    1        1


Tabel: Produkter

id    computerid    softwareid
1    1        0



Tabel: Computere
id    producent    model
1    Asus        1A



Tabel: Software
id    producent    produktnavn
1    Microsoft    Windows 7
Avatar billede claes57 Ekspert
08. april 2013 - 16:42 #7
kan man nøjes med at låne et stk software?
kan man låne en pc uden software?

dette er design-fasen, så hvis vi fejler her, så er det ikke til at kode sig ud af - laver vi det rigtigt, så er koden relativ enkel.
Avatar billede claes57 Ekspert
08. april 2013 - 16:46 #8
og på den enkelte pc er serienummer (så du får samme maskine retur - du skal have en post pr maskine)
Skal software ligeledes have licensnummer pr stk, eller har du volumenlicens til win/office?
hvis det er volumenlicens, så skal du bare kunne aflæse antal udlånte - og kun have en post til fx win8/dk/pro - hvis det er på separate licenser, så skal du have en post pr licens.
Avatar billede gigi1 Nybegynder
08. april 2013 - 16:55 #9
kan man nøjes med at låne et stk software?
Ind til videre skal man kunne låne max 2 stk. software.
Win 7 + Office

kan man låne en pc uden software?
Ja

Det er volume licens.

et udlån gælder kun en enhed.

Hvis jeg får udlånt 1 stk. computer, 1 stk. Win 7 samt 1 stk Office. Gælder dette som 3 udlån i udlåns tabellen.

Brugere som ikke har lånt en computer kan altså godt låne software.
Avatar billede gigi1 Nybegynder
08. april 2013 - 16:56 #10
Jeg vil gerne lave en struktur hvor man der kan komme nye produkttyper til så som mobiltelefoner.
Avatar billede claes57 Ekspert
08. april 2013 - 17:18 #11
jeg ville så nok droppe tabellen 'produkter' og slå 'hardware' og 'software' sammen til en tabel (produkt)
I denne kan så være et felt (prod-type), som du kan have til 1 hvis pc, 2, hvis software, 3 ved tablet, 4 ved mobiltlf osv...
Ud fra dette ved du så hvilke felter, der i øvrigt er gængse og kan sætte formular op. De tomme felter fylder intet.

du skal stadig have lidt mere med i
Tabel: Udlån
id    userid        Produkid
1    1        1

udlånsdato mangler - du kan bare slette denne post når lån returneres, men så har du ingen historik. Skal du have en historik, så skal du også have et felt med returdato, og du må ikke slette poster ved returnering (returdato skal bare udfyldes).
Avatar billede gigi1 Nybegynder
08. april 2013 - 17:29 #12
Det lyder som en god løsning, så langt så godt.

Nu er der så det problem at det er begrænset hvor mange forskellige modeller som der kan udlånes. Derfor skal på siden hvor man teløjeer udlån være en dropdown menu med de modeller som der kan udlånes. Ikke serienumre kun modellerne. Det samme gælder softwaren da der kun er to forskellige.

Det er noget andet med mobiltelefonerne og tabletterne da der kan udlånes alt der findes af disse. Så der forstiller jeg mig at personen som udlåner har et felt hvor man kan skrive hvad man vil.
d.v.s en produktnavn kolonne.
Avatar billede gigi1 Nybegynder
09. april 2013 - 12:16 #13
Det er let nok at lave det sådan at hvert produkt bare har et produktnavn. Men problemet med dette er at man så ikke kan ændre i strukturen i alle computernavn hvis der skulle have været stået noget andet. Så ville det være smartere med et id som referrer til noget andet så man bare kunne ændre det der.
Avatar billede claes57 Ekspert
09. april 2013 - 12:41 #14
så kommer der hurtige flere tabeller.
producenttabel: producent, id
modeltabel: model, id
det enkelte produkt har så en producent_id og model_id i stedet
Avatar billede claes57 Ekspert
09. april 2013 - 12:43 #15
det vil i øvrigt være let at lave i en access-database med relationer, da man så blot laver en forespørgelse, og man kan så tilgå denne forespørgelse som var det en tabel, og derved få produkt-data inkl producent og model i et kald.
Avatar billede gigi1 Nybegynder
09. april 2013 - 13:03 #16
Men hvad gør jeg så med de felter som jeg ikke skal udfylde da det ikke er en computer og den ikke har en processor ect.

Jeg skal jo vælge det hele når jeg laver select sætningen.
Avatar billede claes57 Ekspert
09. april 2013 - 14:16 #17
hvis du tillader 'null' så springer du bare de felter over, som ikke bruges i den aktuelle post.
Avatar billede gigi1 Nybegynder
09. april 2013 - 17:08 #18
Jeg ved det ikke helt. Skal jeg lave præfix til hver kolonne.
Fx Software_producent COmputer_Processor
Avatar billede claes57 Ekspert
09. april 2013 - 17:58 #19
nej - jeg brugte
det enkelte produkt har så en producent_id og model_id i stedet
bare, så du kunne se, hvor id kommer fra.
Hvis du vil køre med præfix, så tag noget meget kort, så du ikke får kilometer-lange sql-sætninger.
Avatar billede 50573433 Nybegynder
17. april 2013 - 10:53 #20
Ring mig op på 50573433, da det virker forvirret.
Det er sådan, at jeg sikkert let kan opfylde dine ønsker, da jeg bruger Lazarus programmeringsværktøj, så næsten alle ønsker kan opfyldes og en lettere betjening.

Peter
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester