Vinnaren i pepparkakshustävlingen!
2011-03-25, 18:52
  #1
Medlem
Tja!

Behöver lite hjälp så jag har fastnat och kommer inte fram till hur jag ska göra trots googlande. Har gjort en hemsida där man ska kunna hyra filmer vilket jag är väldigt nöjd med (inget riktigt, kul grej/övning). Problemet jag stött på är hur jag ska göra databasen.

Det går nuvarande att logga in, hyra filmer och se vilka filmer man hyr. Det problem jag har är att jag vill att det ska ex finnas 5 DVD och 2 DB av filmen The Town. När jag hyr så ska jag välja om jag vill hyra DVD eller BD. Det ska då stå hur många DVDs och BD det finns tillgängligt för just den filmen. Hyr jag en DVD av den så ska antalet i lager minska med en.

users
{
id
username
name
adress
city
email
password
suspended
}

films
{
id
name
about
new_date
}

rents
{
userid
filmid

rent_date
due_date
}

category
{
filmid
category
}

images
{
id
image (blob)
}
Citera
2011-03-25, 19:06
  #2
Medlem
valter-eggons avatar
Jag hade nog gjort en tabell som heter stock:
stock{
id
film_id
out_date
return_date
}

Sen hade jag gjort en rad per film. Då kan du se vilka som är uthyrda och återlämnade och även boka filmer i förväg så om någon vill hyra den i två dagar men någon annan har bokat den från imorgon så vet systemet att den inte är tillgänglig.

Edit: Tabellen rent skulle kunna ta stock_id istället för film_id.
__________________
Senast redigerad av valter-eggon 2011-03-25 kl. 19:09.
Citera
2011-03-25, 19:15
  #3
Medlem
ojns avatar
Det tycker jag också låter som en bra start. Med tilläggskolumnerna bd och dvd för antal filmer per typ. Och kanske category skulle brytas ut (med ny kolumn name) och sedan skapa en ny relationstabell moviecategory med vilken (eller vilka) kategori(er) en film tillhör.

> Edit Ungefär så som category ser ut i dagsläget med andra ord.
Citera
2011-03-25, 20:32
  #4
Medlem
Låter ganska bra. Jag tror jag förstår. Ska försöka mecka med det under kvällen och åter kommer senare om det ej fungerar.

Tack!
Citera
2011-03-25, 22:15
  #5
Medlem
Citat:
Ursprungligen postat av valter-eggon
Jag hade nog gjort en tabell som heter stock:
stock{
id
film_id
out_date
return_date
}

Sen hade jag gjort en rad per film. Då kan du se vilka som är uthyrda och återlämnade och även boka filmer i förväg så om någon vill hyra den i två dagar men någon annan har bokat den från imorgon så vet systemet att den inte är tillgänglig.

Edit: Tabellen rent skulle kunna ta stock_id istället för film_id.

Sorry för dubbelpost men nu när jag sitter med SQL så förstår jag inte riktigt. Det hela verkar ju ganska simpelt men är man nybörjare så är man.

Ska id i stock vara auto increment eller ska id i stock vara userid? Har ord har jag 4 DVD och 6 DB versioner av The Town i lager så ska det finnas 10 rader i stock? Men hur håller jag isär DVD och DB och vad får de filmer som inte är uthyrda än som out_date och return_date?


users
{
id
username
name
adress
city
email
password
suspended
}

films
{
id
name
about
new_date
}

rents
{
userid
stockid

}

stock
{
id
film_id

out_date
return_date
}


category
{
filmid
category
}

images
{
id
image (blob)
}
Citera
2011-03-26, 15:25
  #6
Medlem
gadzooxs avatar
Citat:
Ursprungligen postat av Holo12345
Ska id i stock vara auto increment eller ska id i stock vara userid?
Auto, ditt sortiment har inget med specifika kunder att göra.

Citat:
Har ord har jag 4 DVD och 6 DB versioner av The Town i lager så ska det finnas 10 rader i stock?
Låter vettigt, du har ju 10 exemplar i sortimentet.

Citat:
Men hur håller jag isär DVD och DB
ytterligare en tabell format { id, name, eventuella övriga properties för formatet }, med format_id som FK i tabellen stock.

Citat:
och vad får de filmer som inte är uthyrda än som out_date och return_date?
null? Fast borde inte de ligga i tabellen rents istället?



rents
{
userid
stockid
out_date
return_date
}

stock
{
id
film_id
format_id
}

format
{
id
name
}
Citera
2011-03-26, 16:01
  #7
Medlem
valter-eggons avatar
Citat:
Ursprungligen postat av gadzoox
Auto, ditt sortiment har inget med specifika kunder att göra.


Låter vettigt, du har ju 10 exemplar i sortimentet.


ytterligare en tabell format { id, name, eventuella övriga properties för formatet }, med format_id som FK i tabellen stock.


null? Fast borde inte de ligga i tabellen rents istället?



rents
{
userid
stockid
out_date
return_date
}

stock
{
id
film_id
format_id
}

format
{
id
name
}
Håller med om det mesta men jag tycker tiderna även borde finnas i stock så man vet när en viss film hyrdes ut och när den förväntas komma tillbaks.
Citera
2011-03-26, 23:43
  #8
Medlem
Fixade en tabell som hette stock (som ni sa) och la över rent_date och due_date i rents.

Allt verkar fungera. Tack!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback