Hej! Hej Förstod inte vad du menade med att jag först måste kontrollera att det inte finns ett objekt inne. Det är inte böcker det handlar om, utan elektroniska prylar av olika slag. Alltså, även om objektet är inne i "lager" ska man kunna boka grejen från en viss dag längre fram i tiden och på denna dag verkligen hämta ut saken.Uppbyggnad av databaser - forts...
Jag har ytterligare frågor om databasuppbyggnad, då jag nu ska göra lite tillägg till det jag redan gjort.
För att se min förra post och vad som diskuterades där kommer här länken: http://www.pellesoft.nu/development/forum/view.asp?msgid=23865&forumid=4&sum=1
Jag har 3 tabeller, users, mtrl och utlanat. Mha dessa kan jag hålla reda på vem som lånat vad och hur många den personen lånat av respektive sak. Alltså, som det ser ut nu lånar en person saken direkt så att säga. Så fort han klicka på "låna" registreras det objektet som utlånat.
Nu ska jag lägga till en egentlig bokningsfunktion, dvs man ska kunna sätta ett datum då man verkligen lånar objektet, samt ett returdatum då objektet lämnas tillbaka. Eftersom det finns flera exemplar ev ett objekt (t ex flera batterier) måste man även hålla kolla på när varje sak är bokat och inte.
Hur bygger man upp det smidigast? Såhär ser mina tabeller ut nu:
users:
| id | username | password | epost | access | MedlNr | telefonnr
mtrl:
| ArtID | Beskrivning | TotAnt | AntUtl
utlanat:
| id | ArtID | ArtNamn | MedlNr | username | AntLanade | Returdatum
tacksam för hjälp!Sv: Uppbyggnad av databaser - forts...
du får lägga till en ny tabell
tblBokat
den bör ha liknande utseende som tblUtlanat då den fungerar på samma
sätt. Du bör använda en stored procedure när du lägger till saker i
tblBokat eftesom du först måste kontrollera att det inte finns någon
bok inne - då kan du boka. Kan vara bra att även lägga in vilket datum
boken är bokad, detta då den person med det tidigaste datumet bör
få låna boken.
Vid ett lån bör bokningen tas bort.
etc
Förutom det såg jag att du har antalUtlanade i både tblMtrl och tblUtlanat
- det behövs bara i tblUtlanat (om man kan låna mer än en bok av
samma typ åt gången.) sen är det bara att skriva en snabb SQL-sats
för att få reda på totalt hur många böcker med ett visst id är utlånade.
Anledningen att man inte bör ha redundanta data är att det är lätt att
glömma uppdatera ett fält. Vad händer om du lånar ut ytterligare två
böcker men glömmer uppdatera totalUtlånade i tblMtrl - alla kommer
undra var de där böckerna tog vägen - och felet kommer vara näst
intill omöjligt att hitta.
/EmmaSv: Uppbyggnad av databaser - forts...
Det jag alltså behöver göra är att lägga till en kolumn i tblMtrl som heter "AntBokade" och där hålla reda på antal bokade (men ej utlånade). Sedan tblBokade. Ja, det låter fint. Ska testa med det nu genast.
Tack för svaret Emma (och tack för dina tidigare svar)!
mvh