Avatar billede viggosmor Nybegynder
19. februar 2009 - 13:45 Der er 8 kommentarer og
1 løsning

Datamodeling af db til udsendelse af nyhedsbreve

Hej, jeg skal til at lave min database til udesendelse af nyhedsbreve, og er gået i stå!

Jeg har svært ved at lave dataModel og E/R diagram, er der nogen herinde, der har forstand på dette?

Det er til mit eksamensprojekt på Multimediedesigner uddannelsen, hvor jeg laver mit eget firmasite, som tilbyder boligindretning til private kunder i København.

Jeg er kommet frem til, at der må være en entitet, der hedder bruger, hvor der er følgende attributter:

bruger_id, fornavn, efternavn, email

Men resten er jeg i tvivl om, for skal hvert nyhedsbrev have en tabel/entitet? Med et id-nr. ?

Så skal jeg også have en registrering_dato og en afmeld_dato.

Og samler jeg det så i en ny tabel, hvor jeg samler bruger_id med brev_id?



Ja jeg roder lidt rundt i det her....



Hvis der var en venlig sjæl, der måske selv havde rodet med datamodelering af nyhedsbrev udsendelse, så ville jeg blive glad for lidt hjælp.....
Avatar billede viggosmor Nybegynder
19. februar 2009 - 18:24 #1
Hmmm, har nu siddet med et  igen igen, og er kommet frem til følgende, med kun én tabel:

tilmeldte:
bruger_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
fornavn VARCHAR(20) NOT NULL,
efternavn VARCHAR(40) NOT NULL,
email VARCHAR(50) NOT NULL,
nyhedsbrev tinyint(1) NOT NULL,
dato_for_tilmeldning DATETIME NOT NULL,
PRIMARY KEY(bruger_id)


Kan se at dette kunne fungere, og ved at skrive følgende:

SELECT * FROM tilmeldte WHERE nyhedsbrev = 1

Kan man se hvem der er tilmeldte, og med 0 dem der ikk er tilmeldte, er dette ikke korrekt forstået?


"Problemet" er bare, at dette kan man jo ikke lave E/R diagram over. osv.
Avatar billede arne_v Ekspert
20. februar 2009 - 02:02 #2
Hvis du kun vil have modtagerne i databasen, så er en tabel jo nok.

Hvis du absolut vil hav eflere tabeller kan du vælge at supportere flere email adresser til samme person (det vil kræve en separat tabel).

Men du kunne jo også lave en anden tabel med nyhedesbreve. Og så en tredie tabel der holdt styr på hvilke modtagere der har fået hvilke nyhedsbreve.

Så begynder et ER diagram jo at give mening.
Avatar billede arne_v Ekspert
20. februar 2009 - 02:03 #3
Din SQL ser OK ud.

Men jeg ville nok lade bruger_id være INT og ikke MEDIUMINT.

MEDIUMINT er en underlig konstruktion som ingen bruger.
Avatar billede viggosmor Nybegynder
20. februar 2009 - 05:59 #4
Ok, tak arne_v for dine svar...

Hvis jeg skulle lave det med flere tabeller, hvordan ville det så se ud?

Her tænker jeg ikke på datatyper mm...

Men hvad skulle de 3 tabeller så indeholde?
Avatar billede viggosmor Nybegynder
20. februar 2009 - 06:59 #5
Kan vel ikke have en tabel med de forskellige nyhedsbreve, eller?
Troede ikke man kunne dette?
Avatar billede viggosmor Nybegynder
20. februar 2009 - 14:51 #6
Nu har jeg lavet 2 tabeller:
Tilmeldte som jeg har skrevet tidligere, og nu også:

news:
news_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
emne VARCHAR(200)NOT NULL,
nyhed TEXT NOT NULL,


Men hvordan får jeg forbundet disse 2 tabeller?
Bruger phpMyAdmin...
Avatar billede arne_v Ekspert
21. februar 2009 - 01:58 #7
Via den tredie tabel !

send:

bruger_id
news_id
sendtime
Avatar billede viggosmor Nybegynder
15. januar 2011 - 20:04 #8
...... godt jeg ikke læser det  mere
Avatar billede arne_v Ekspert
16. januar 2011 - 00:57 #9
Men skidt at man brugte tid på dit spørgsmål.
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