Avatar billede -thomas- Nybegynder
13. november 2003 - 22:32 Der er 7 kommentarer og
1 løsning

Styring af abonnementer

Jeg skal til at lave et system, som kan holde styr på en række kunders abonnementer:
Der skal være mulighed for at se, hvornår et abonnement er oprettet, oprettelsesprisen og abonnementsprisen (altid pr. md.) Det skal desuden være muligt at kunne angive hvor langt frem en kunde har betalt (altid i hele måneder). Nogle kunder betaler f.eks. for tre måneder, og dette skal så angives i databasen, så det kan aflæses, at der fx. er betalt frem til 1. december.

Er der nogle der har forslag til, hvordan dette kunne opbygges i en database?
Avatar billede arne_v Ekspert
13. november 2003 - 22:35 #1
Forslag:

kunde
-----
kundeid (PK)
navn
adresse
postnr (FK)

abonnement
----------
abonnementid (PK)
kundeid (FK)
oprettet
pris
start
slut

post
----
postnr (PK)
by
Avatar billede -thomas- Nybegynder
13. november 2003 - 22:47 #2
Ser ganske fornuftigt ud.

Dvs. oprettet er oprettelsespris og pris er abonnementspris?

Så når jeg indtaster, at en kunde betaler for 3 måneder på sit abonnement, lægges via fx dateadd 3 måneder til slut-datoen?
Avatar billede arne_v Ekspert
13. november 2003 - 22:49 #3
Nej - sorry. Oprettet var tidspunktet for oprettelse.

abonnement
----------
abonnementid (PK)
kundeid (FK)
oprettet
oprettelsespris
pris
start
slut
Avatar billede arne_v Ekspert
13. november 2003 - 22:51 #4
Ja.

Man kan vælge mellem at gemme start & slut eller start og længde.

Jeg var i humør til det første i aften.
Avatar billede -thomas- Nybegynder
13. november 2003 - 22:58 #5
Ok, det ser brugbart ud.

Så er spørgsmålet bare hvad forskellen vil være:

Ved at bruge start & slut vil man bruge dateadd til at lægge en 1 md - vil det så altid være 30 dage, samme dato i næste måned eller hvad?

Ved at bruge start og længde må man så anslå en måned til altid at vare 30 dage?

Jeg synes umiddelbart at den første løsning lyder bedst.
Avatar billede -thomas- Nybegynder
13. november 2003 - 23:01 #6
- Tak for svaret i øvrigt.
Avatar billede arne_v Ekspert
13. november 2003 - 23:02 #7
Dit applikations sprog (PHP, ASP, C++) må have en brugbar funktion til at
ligge X måneder til en dato som kan klare 28/29/30/31 dage per måned.
Avatar billede arne_v Ekspert
13. november 2003 - 23:03 #8
Man kunne argumentere for slut fremfor længde udfra en performance
betragtning. Det koster ikke meget at ligge til når man gemmer en ny
record. At skulle udføre den i en masse queries kunne være dyrt.
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