WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Annonsdatabas (https://www.wn.se/forum/showthread.php?t=33311)

zilveer 2008-11-16 02:37

Hej allihop,
jag håller på att bygga upp ett annonseringssystem och undrar vilka möjligheter som finns när det gäller att skapa en databas för detta ändamål.

=======================
Följande informations ska finnas preliminärt i databasen:

Annonstyp: privatperson/företag
Namn:
E-post:
(Skall e-post adressen visas eller ej i annonsen)

Telefon nummer:
(Skall telefonnumret visas i annonsen eller ej)

Kategori: Säljes/Köpes
Län:
Kommun:
Postnummer:

Rubrik:
Text:
Pris

Bild: (frivilligt)
Extrabilder: (frivilligt)
Video: (frivilligt)
=======================

Hur kan den "bäst" strukturerade databasen eventuellt se ut, någon som har ett bra förslag?

elitasson 2008-11-16 02:53

Vadå ""bästa"" databasen?

MySQL skulle ju funka.

Eller du menar själva strukturen på databasen?

zilveer 2008-11-16 02:58

missade att skriva det, japp menade strukturen.

elitasson 2008-11-16 13:39

Du har ju själv tänkt ut hur den ska se ut, bara att göra strukturen själv.

Finns ingen standard ute på nätet som man direkt kan använda sig av. Jag hade iaf inte använt mig av någon sådan.

http://www.google.se/search?q=phpmyadmin+c...eate+a+database

youheardit 2008-11-16 16:51

jaja, tack!

studiox 2008-11-16 23:19

Ta fram en god whiskey och sätt dig ner i lugn o ro och fundera, det är mitt bästa tips.

zilveer 2008-11-18 02:05

hej,
jag hade tänkt mig att databasen skulle se ut på följande sätt, kom gärna med förslag om hur den kan förbättras:


Kod:

table: users
uid:    user id of the user
email:          email of the advertiser
password:  password of the advertisement


table: advertisement_sell (All the advertisement are saved here.)
id:            unique id for every advertisement
uid:    user if of the advertisement
accepted:  is the advertisement accepted? 0=no, 1=yes
name:    full name of the advertiser
phone_numer:  phone number of the advertiser
phone_numer_hide: hide the phone number of the advertiser? 0=no, 1=yes
type_id:  advertisement type id (private or company)?
advertisement_paid:        has the advertiser paid for the advertisement? 0=no, 1=yes
category_id:  category of the advertisement
province_id          province of the advertisement (län)
region_id  region of the advertisement (kommun)
subject:  subject of the advertisement
text:    text of the advertisement
price:          price of the advertisement public
image_main:          main image of the advertisement
video:          video for the advertisement
zipcode:  zipcode so it can be used with google map
ip:            ip adress of the advertiser


jayzee 2008-11-18 09:04

Detta säger oss absolut ingeting, du listar bara namnet på dina fält samt kommentar. Det som är intressant är själva datatypen, inte namnet eller kommentaren :)

elitasson 2008-11-18 10:09

Det här med att designa en databas är vanligtvis någon som är enkelt, speciellt om du nu bara ska bygga ett annonssystem så borde det inte ta mer än ett par minuter att skapa en vettig databas.

Att du startar en hel tråd och diskuterar detta är för mig ganska ofattbart.

Du har ju redan tänkt ut HUR du vill ha din databas, vad är problemet?

tartareandesire 2008-11-18 11:28

Citat:

Originally posted by elitasson@Nov 18 2008, 11:09
Det här med att designa en databas är vanligtvis någon som är enkelt, speciellt om du nu bara ska bygga ett annonssystem så borde det inte ta mer än ett par minuter att skapa en vettig databas.
Att du startar en hel tråd och diskuterar detta är för mig ganska ofattbart.
Du har ju redan tänkt ut HUR du vill ha din databas, vad är problemet?

Designa databaser är inte alls något trivialt. I detta fallet, ja, men jag har stött på flera riktigt taskiga databasstrukturer trots att det handlat om ganska simpla system. I många andra sammanhang kan det bli betydligt mer komplext och det finns de som jobbar enbart med detta.

MarZim 2008-11-18 11:57

Håller med, det är inte helt trivialt att designa en databas. Visst går det att skapa en databas på några minuter, men är det ett system som ska användas någon längre tid skulle åtminstone jag lägga betydligt mer tid.

Nu till frågan; Det beror i mångt och mycket på hur annonseringssystemet ska användas. Hur många annonsörer pratar vi om? Det är en viss skillnad att bygga ett system för ett 100-tal annonsörer och ett par miljoner annonsörer ;)

Andra saker som kan vara bra att fundera igenom är om det är möjligt för en annonsör att ha flera annonser? Vad jag kan se så finns det ingen information om vilken tidsperiod eller antal klick som annonsören köpt, men det spelar kanske ingen roll?

När jag designar databaser brukar jag först lista all information som jag vill ha med och därefter dela upp informationen i olika tabeller baserat på hur informationen hör ihop. Efter det är det dags att normalisera tabellen för att undvika redundanta värden då det kan ställa till en hel del bekymmer.

Om samma värde finns på flera ställen i databasen är det t ex väldigt lätt att missa att uppdatera det på något ställe, dessutom tar det onödigt med utrymme... Du verkar dock ha tänkt på det, åtminstone till viss del, om man tittar på namnen; category_id, province_id, region_id...

För en grundkurs i relationsdatabaser kan jag rekommendera http://www.databasteknik.se/webbkursen/

För övrigt hade jag lagt till information om när varje post skapades samt senaste uppdateringen. Om en annonsör tar bort sin annons behöver du fortfarande spara informationen? I så fall kan det vara smidigt med någon form av "raderad"-kolumn, gärna med tidsstämpel.

zilveer 2008-11-18 23:52

tack för alla svar,
självklart har jag tänkt på relationerna.. just det, datum kolumn för när annonsen skapades och för när den uppdateras skall och implementeras.

jag vill väldigt gärna ha liknande annonssystem som blocket har. någon som har förslag på hur annonsdatabasen kan förbättras?

jayzee:
datatypen som jag skall använda är inte väsentlig just nu med tanke på att ja bara vill ha hjälp med strukturen.

eliatson:
visst vet jag hur den ska se ut, dock vill jag ha lite kommentarer på det jag gjort så databasen kan förbättras.

MarZim 2008-11-19 11:22

Som ett första steg skulle jag göra en kravbeskrivning/funktionsbeskrivning där man i ord beskriver hur systemet ska användas och listar alla krav som finns. Det blir betydligt enklare att strukturera databasen på ett bra sätt.

Om du ändå ska skilja ut användarna med tabellen "users" så finns det kanske fler värden som går att flytta dit. T ex skulle jag fundera på att bland annat lägga "zipcode", "name", "phone_number", "phone_number_hide", "province_id", "region_id" (finns säkert fler) i tabellen users eftersom det känns som att dessa värden är hårdare kopplade till användaren än till annonsen...

Robert 2008-11-22 11:30

Jag ser att du har kopplingar både till län och kommun. Jag personligen skulle ha gått andra vägen; koppla annonsen till en stad och sedan om jag behöver länsinformation tex så gör jag joins för att få in den till annonsen. Enda anledningen till detta är att kommuner och dess gränser är inte satta i sten. De ändras dock inte så jäkla ofta, men när du ändå har en kolumn för stad så kan du lika gärna peka ut den i en annan tabell.

Jag förstår ju att län och kommun är helt olika typer av arealer, för att inte prata om postens egna postorter. Hugga! :)


Alla tider är GMT +2. Klockan är nu 08:58.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson