![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chcialbym umiescic na stronie system wymiany wiadomosci pomiedzy uzytkownikami. Przychodzi mi do glowy wiele rozwiazan co do struktury tabel bazy dnaych. Nie posiadam jednak odpowiedniego doswiadczenia zeby zaplanowac optymalna strukture tabel. Do tej pory przeprowadzalem na bazach proste operacje.Czas mi nie pozwala na analizowanie gotowcow zeby wychwycic w nich sposob w jaki te operacaje sa przeprowadzane. Pisze wiec tutaj moze ktos z was mial juz z tym stycznosc i prosil bym o ile to mozliwe o rzeczowe objasnienie co do tego jak gdze i w jaki sposob maja byc przechowywane ow wiadomosci i w jaki sposob powinny byc one kojarzone z uzytkownikami.
Za pomoc i zainteresowanie z gory dzekuje i pozdrawiam... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tabela messages.
Kod id | sender_id | receiver_id | ... (inne atrybuty takie jak tytuł, treść, ...) | isReaded Nie za bardzo widzę w czym trudność. Masz pełną dowolność. Możesz dodać flagi czy wiadomość jest w koszu, czy została przekazana, czy została na nia wysłana odpowiedź, ... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czyli sugerujesz oddzelna tabele pod wiadomosci? Wlsciwie to byla pierwsza mysl jaka mi rzyszal do glowy ale przy glebszej analizie pojawily sie watpliwoasci pewnie na wyrost ale jednak...
Ten post edytował fernet 30.04.2007, 11:14:58 |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Indywidualna tablica dla kazdego uzytkownika Autor trzyma wiadomosc no i kwestia delete nie jest jeszcze dla mnie calkim jesna
Wiadomosc musi byc przechowywana do momentu odczytanie i wtedy jakies kosmosy zeby zbadac czy autor lub tez odbiorca nie chce jej przechowywac przy indywidualnych tablicach wiadomosc ktora zechcial by przechowac Obiorac bedze nadal u Nadawcy no sam juz nie wiem no i nie sprawdzalem czasu dostwpu przy jednej mega tabilcy i przy indywidualnych bo jesli to autor ma przechowywac wiadomosc to u odbiorcy powinna sie znalesc jeszcze inna tablica z id nadawcy wiec dwie indywidualne tablice dla kazdego uzytkownika jedna z nadawanymi wiadomosciami a druga z odbiranymi Ten post edytował fernet 30.04.2007, 11:47:45 |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
A dlaczego chcesz tworzyć tabelę dla każdego użytkownika (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Tak jak mike_mech podał ... jedna tabela masz tam id_nadawcy i id_odbiorcy.
Nic więcej do szczęścia nie potrzeba. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
No wiec oka nie bede przepychal dalej tego pomyslu. Bedze jedna tablica nie ma co komplikowac zwlaszcza ze nie mam zadnej pewnosci ze tak bylo by szybciej i obnizyl bym bezpieczenstwo aplikacji bo wchodzlo by w gre create i drop pozdrawiam...
Ten post edytował fernet 30.04.2007, 12:05:12 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 12.04.2007 Skąd: Błonie Ostrzeżenie: (0%) ![]() ![]() |
A jest jakaś inna sensowna możliwość? Oddzielna tabela to jedyne rozwiązanie jakie wchodzi w grę. Jakie? Dobrym sposobem na "elastyczne zarządzanie" użytkownikami w tym przypadku to zrobienie tej struktury na dwóch tabelach. W jednej użytkownicy: ID | Nazwa | (Inne jak np Nazwisko etc) a druga to posty ze wszelkimi polami jakie ci są potrzebne (PostID | FROM | TO | Date | Temat (etc)) - i złączenie obu poprzez klucz obcy w tabeli postów - czy wolisz do kolumny FROM czy TO - to generalnie obojętne - drugą kolumnę możesz zawsze dopiąć kodem. Pzdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:48 |