Struktura bazy danych dla tabeli z pytaniami i odpowiedziami.

0

Witam,

Mam sobie stronę z ofertami prawniczymi. Generalnie chodzi o to, że użytkownik się rejestruje na stronie i może składać zapytania prawnicze i czekać na odpowiedzi. Teraz zastanawiam się na strukturą bazy danych, która będzie przechowywać pytania i odpowiedzi. Myślałem, żeby napisać jedną tabele pytania:

id
odpowiedz_id
status_id
typ_id
post
status
data

Albo dwie tabele:
Pytania:
id
pytanie
data

Odpowiedz:
id
pytanie_id
odpowiedz
data

Generalnie w pytaniach i odpowiedziach można dodawać ile się chce plików pomocniczych. Samo pytanie ma status np nowe, anulowany, ważny itd. Pytanie i odpowiedz maja type_id czyli pytanie albo odpowiedz. Teraz zastanawiam się o przyszłości. Co jak bede musiał dodać ekstra kolumny np do odpowiedzi, ale nie pytań? Do tego mam jeszcze firmy prawnicze. Czyli prawnik odpowiada na pytanie i jego odpowiedzi muszę połączyć z firmą, ale tutaj mogę dać relację wiele do wielu, zamiast zapisywać w tabeli pytanie id firmy. Jakieś pomysły?

0

Możesz zbudować np. takie relacje pomiędzy tabelami (w nawiasach klucze obce):

uzytkownik
|
pytanie
(id_uzytkownika)
|
odpowiedz - prawnik - firma
(id_pytania) (id_firmy)
(id_prawnika)

Pytanie będzie zawsze, a odpowiedzi możne nie być a z drugiej strony możne być kilka odpowiedzi do jednego pytania (??)
Odpowiedz wiążesz z prawnikiem a jego z firmą (masz wtedy możliwość zmiany firmy dla prawnika)

0

Tak, moze byc wiele odpowiedzi na pytanie i zawsze musi byc odpowiedz. Czemu rozbiles to na dwie tabele, a nie dales tego w jednej z np parent_id czy question_id? Odpowiedzi moze dawac kazdy, to bedzie taki maly czat. Prawnik i uzytkownik moga dawac odpowiedzi.

0

Dwie zalety takiego rozwiązania:

  • możliwość rozbudowy tabel o kolumny/klucze obce różne dla pytań i odpowiedzi,
  • późniejsza łatwość budowania zapytań sql poprzez np. inner join a nie poprzez zagnieżdżanie select-ów

1 użytkowników online, w tym zalogowanych: 0, gości: 1