Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%)
|
Witam ...
eksperymentując i rozmyślając nad założeniami bazy wpadłem na pewien pomysł ... elementy łączy się ze sobą przy pomocy tablic które zawierają relacje 1:1, n:m i 1:n ... takie coś jest wygodne, w miarę wydajne i nie powoduje dublowania się danych (wszystko w teorii oczywiście :roll2: ) a gdyby tak połączyć tabele łączące w jedną ... już wyjaśniam o co chodzi ... mamy kilka standardowych tabel: users, groups, content, params ... oraz jedną tabelę o nazwie con ... składa się ona z kolumny: type, relation, id1, id2 oraz priority ... i teraz przy pomocy różnych kombinacji type oraz relation łączymy ze sobą elementy id1 i id2 ... np: (po kolei: type, relation, id1, id2 - priority jest narazie nie ważne) doc author 1 2 - dokument o id = 1 którego auterm jest user o id = 2 doc author 1 5 - dokument o id = 1 którego auterm jest user o id = 5 doc related_doc 1 3 - dokument o id = 1 który jest powiązany z dokumentem o id = 3 doc attachment 1 88 - plik o id = 88 jest załącznikiem do dokumentu o id = 1 doc related_news 1 66 - news 66 związany z dokumentem o id = 1 doc cat 1 4 - dokument 1 w kategorii 4 doc cat 1 9 - dokument 1 w kategorii 9 w ten sposób można pobierać dane na temat elementów przy pomocy jednego zapytania ... wszystkie informacje o dokumencie są dostępne odrazu ... potem stosując proste zapytania (brak joinów za każdym razem z tabelą pośrednią ... ) również bardziej skąplikowane elementy (np. ten użytkownik napisał też: i dokumenty napisane przez usera - wszystkie tytuły pobrane jednym zapytaniem, bo id przecież mamy), wszystkie komentarze do dokumentu itp ... co do priority: jego zastosowanie jest oczywiste i chyba nie wymaga wyjasnień ... i teraz pytanie co o tym sądzicie - celowo nie podaje żadnych create table bo taka koncepcja może zostać wykorzystana w każdym silniku danych. pozdrawiam |
|
|
|
orson Wspólna tablica łącząca 28.03.2006, 18:49:01
Aztech Wydaje mi się, że ta tabela mnożyłaby byty, mnóstw... 28.03.2006, 19:01:21
orson witam ...
i temu i temu ... wiadomo przecież że j... 29.03.2006, 10:47:31
splatch Hm.. a jak to się ma do teorii normalizacji bazy d... 29.03.2006, 11:16:05
dr_bonzo Kolejnym ograniczeniem jest to ze klucze musza byc... 29.03.2006, 11:41:20
orson witam ...
wykonujesz kolejne zapytanie do tablicy... 29.03.2006, 21:28:58
splatch Co z kluczami obcymi? Dzięki nim możesz w bardzo w... 30.03.2006, 09:19:46 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 14:08 |