Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skomplikowana baza - ambitne zadanie! :)
publius
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Piaskownica

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


Witam.

Mam taką zagwozdkę z zaprojektowaniem bazy danych.
Załóżmy, że mam serwis, w którym każdy może sobie założyć kilka minii dzienników oraz blogów (to to samo, ale załóżmy, że blog i dziennik się różnią od siebie merytorycznie i strukturalnie).

W każdym dzienniku oraz blogu będą przechowywane jakieś notatki/wpisy.
Dla zobrazowania, struktura wygląda tak:


Moje pytanie: jak zaprojektować bazę danych, żeby w jednej bazie znalazły się te wszystkie informacje i był tam względny porządek w tabelach.

Myślałem nad czymś takim, że tabele w bazie wyglądałyby tak:

userzy (ID, IMIE, etc.)
lista_blogow_dziennikow (ID, USER_ID, DZIENNIK_ID, TYP[dziennik albo blog])
dziennik_1 (ID, USER_ID, LISTA_BLOGOW_DZIENNIKOW_ID, WPIS, DATA, etc.)
dziennik_2 (...)
dziennik_3 (...)

Gdzie przy każdym nowo założonym dzienniku lub blogu będzie dodawana nowa tabela w formacie "dziennik_ID".

Myślałem tez o takiej budowie:

userzy (ID, IMIE, etc.)
lista_blogow_dziennikow (ID, USER_ID, DZIENNIK_ID, TYP[dziennik albo blog])
dzienniki (ID, USER_ID, LISTA_BLOGOW_DZIENNIKOW_ID, WPIS, DATA, etc.)
blogi (ID, USER_ID, LISTA_BLOGOW_DZIENNIKOW_ID, WPIS, DATA, etc.)

Gdzie w dziennikach i blogach będą przechowywane wszystkie wpisy, a z poziomu PHP będę sobie filtrował, które będą wyświetlane.
Zakładam jednak, że wpisów będzie obłędnie dużo, więc chyba nie jest to najlepsze rozwiązanie pod względem szybkości, prawda? A szybkość jest bardzo ważna w tym przypadku.

Starałem się opisać problem najjaśniej jak potrafię. W razie czego mogę wszystko dopowiedzieć, jeśli coś ominąłem.
Jestem mało doświadczony w temacie i będę bardzo wdzięczny za sugestie!


--------------------
Pozdrawiam serdecznie,
Publius Enigma
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nrm
post
Post #2





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

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


Cytat(publius @ 2.08.2008, 20:43:38 ) *
dziennik_3 (...)

dziennik_1235485778367835764090870 ?!?
Jak dla mnie FAIL na całej linii winksmiley.jpg



Cytat(publius @ 2.08.2008, 20:43:38 ) *
Zakładam jednak, że wpisów będzie obłędnie dużo, więc chyba nie jest to najlepsze rozwiązanie pod względem szybkości, prawda? A szybkość jest bardzo ważna w tym przypadku.

Niech będzie i miliard byle struktura była prawidłowa winksmiley.jpg

Ten post edytował normanos 2.08.2008, 22:21:22


--------------------
Go to the top of the page
+Quote Post
publius
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Piaskownica

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


Hehe dziękuję za dobitne zobrazowanie mi sprawy winksmiley.jpg

OK, też mi się pomysł nie podobał.

Co więc myślisz o strukturze, którą już podałem?

NP.:
userzy
dzienniki
dzienniki_wpisy
blogi
blogi_wpisy

Nie będzie problemów z szybkością zapytań jeśli w jednej tabeli będę miał, np. milion wpisów?

Ten post edytował publius 2.08.2008, 22:36:12


--------------------
Pozdrawiam serdecznie,
Publius Enigma
Go to the top of the page
+Quote Post
osiris
post
Post #4





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

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


ta ostatnia podana przez Ciebie lista tabel powinna byc najlepsza (przynajmniej wnioskujac z podanych przez Ciebie dotychczas informacji). Co do struktury to musisz podac przynajmniej jeszcze liste kolumn w tych tabelach.

Zapytanie zapytaniu nierowne. Jedno moze sie wykonywac bardzo szybko nawet dla miliona rekordow, drugie juz kilku tysiacach bedzie mielilo przez 2 minuty.
Go to the top of the page
+Quote Post
publius
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Piaskownica

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


Sęk w tym, że w kolumnach będzie dużo liczb i daty. Daty muszą być segregowane, a liczby zliczane... ale chyba nic innego nie da się zrobić. Zawsze będę mógł awaryjnie rozbić tą bazę danych smile.gif Mam nadzieję... ok dzięki za pomoc, już mnie to jakoś nakierowało. Gdyby ktoś miał jeszcze jakieś sugestie, to przyjmę z otwartymi rękoma smile.gif


--------------------
Pozdrawiam serdecznie,
Publius Enigma
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 Aktualny czas: 22.08.2025 - 09:12