Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> struktura bazy danych dla serwisu ogloszeniowego
merk
post 24.09.2009, 13:17:45
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 7
Dołączył: 31.05.2006

Ostrzeżenie: (0%)
-----


Witam,

jaką strukturę bazy danych zaproponowalibyście do serwisu ogłoszeniowego z
dużą ilością kategorii np osobowe, motocykle, cześci, cieżarowe, przyczepy, maszyny budowlane itd
(w sumie ok 20 kategorii, pozniej pewnie dojda nowe)

ogłoszenie w każdej z kategorii musi być dosyć ściśle zdefiniowane np:

osobowe: marka, model, przebieg, kolor itd
przyczepy: marka, model, wysokosc, szerokosc, dlugosc, ladownosc itd
maszyny budowlane (np: dźwigi i żurawie): marka, model, udźwig, przebieg (motogodziny) itd

czy dla każdej z kategorii tworzyc dedykowana tabele z roznymi kolumnami,

czy tez moze potworek w rodzaju:

np: trzy tabele
ogloszenie - id, data i inne wspólne pola
parametr - id|id_ogloszenie|id_parametr_definicja|wartosc_int|wartosc_float|wartosc_string
parametr_definicja - id|nazwa|opis

struktura powinna byc zoptymalizowana (lub chociaz udawac optymalizacje) pod szybkosc wyszukiwania ogloszen, jednak rozszezalnosc
struktury tez ma znacznie (dodanie / usuniecie parametru, czy tez calkowite przedefinowanie kategorii)

acha, jesli ma znaczenie to serwerem bazy bedzie mssql


--------------------
Kwatery prywatne
Go to the top of the page
+Quote Post
wry
post 25.09.2009, 11:15:29
Post #2





Grupa: Zarejestrowani
Postów: 32
Pomógł: 3
Dołączył: 9.06.2007

Ostrzeżenie: (0%)
-----


jesli nie bedziesz tworzyl drzewa kategorii to moze tak:

tabela kategorie:
id - int,
nazwa - varchar

tabela atrybuty:
id - int,
nazwa_atrybutu - varchar,
wartosc_arybutu - varchar,
kategoria_id - int

masz wiazanie jeden do wielu; jedna kategoria moze miec wiele atrybutow, kategoria_id jest kluczem obcym id z tabeli kategorii, jesli chcesz trzymac kazda kategorie w osobnych tabelach to musialbys tworzyc nowa tabele przy dodaniu nowej kategorii do tego reczeni aktualizowac spis tabel zawierajacych kategorie, a komplikacje pojawiaja sie juz przy wyswietleniu wszytskich kategorii,
jesli chcesz tworzyc zagnierzdzone drzewa kategorii zagladnij tutaj

http://dev.mysql.com/tech-resources/articl...hical-data.html

Ten post edytował wry 25.09.2009, 11:16:12


--------------------
Go to the top of the page
+Quote Post
deirathe
post 25.09.2009, 11:55:28
Post #3





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


kategorie:
[id, nazwa, rodzic, slug]
uzytkownicy
[id,imie,nazwisko itd...]
tematy
[id,kategorie_id,slug,opis,tytul,rozwiniecie,uzytkownik_id,parametry_id]
obrazki
[id,temat_id,miniatura,pelen,sortowanie]
parametry
[id,parametrschema_id,wartosc,temat_id]
parametrchema
[id,nazwa,typ]


Może mniej więcej coś takiego??



--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
merk
post 25.09.2009, 20:59:12
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 7
Dołączył: 31.05.2006

Ostrzeżenie: (0%)
-----


hej,
dzięki za odpowiedzi.

struktury przez was zaproponowane, są fajne w zarządzaniu i definiowaniu ogłoszeń,
podobne do tej z "eZ Publish", zwłaszcza propozycja deirathe jest bardzo podobna.

obawiam się jednak, że wyszukiwanie po atrybutach (np po pojemnosci, mocy, roczniku itd) raczej nie bedzie demonem szybkości,

skłaniam się raczej do koncepcji żeby pola po których bedzie sie odbywać wyszukiwanie trzymac w tabelach w kolumnach (w najgorszym wypadku 1 tabela = jedna kategoria główna,
być może dla kilku kategorii bedzie można zdefiniować jedną wspólną tabelę),
a atrybuty potrzebne tylko do wyświetlenia ogłoszenia trzymac w polu tekstowym jako xml, troche to kłopotliwe, jednak cos za cos.

troche ciekawych informacji znalazlem tutaj

PS:
drzewka w sql i rożne takie bardzo dobrze są opisane w książce "Trees and Hierarchies in SQL for Smarties"


--------------------
Kwatery prywatne
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:42