"Zmaterializowana ścieżka" przedstawiona przez Vadima Tropashko w tym artykule wprowadza pojęcie porządku do relacji ("Jones jest drugim członkiem").
"Zmaterializowana ścieżka" jest niczym innym, jak "jakąś formą zmaterializowanego widzenia" na przechodnie zamknięcie, i dlatego cierpi na wszystkie i dokładnie takie same problemy, jak każdy inny "zmaterializowany widok", z tym że sprawy są algorytmicznie gorsze właśnie z powodu zaangażowanie zamknięcia.
SQL jest prawie całkowicie bezsilny, gdy w grę wchodzą ograniczenia w trakcie zamykania. (To znaczy: tak, SQL wymaga, abyś zrobił wszystko samemu.) To jedna z tych dziedzin, w których RM pokazuje maksimum swojej prawie nieograniczonej mocy, ale SQL nie działa niepoprawnie, a gdzie to wstyd, że większość ludzi błędnie SQL za relacje.
(@Bill Karwin: Chciałbym móc dać +1 za twoją uwagę na temat związku między głębokością drzew a wynikiem na wydajności. Nie ma znanych algorytmów do obliczania zamknięć, które dobrze się sprawdzają w przypadku drzew "crazy" głębokościach. jest to algorytmiczne problemem, a nie SQL ani relacyjnym jeden).
EDIT
Tak, RM = model relacyjny
Dzięki za info, Bill. – hyperslug
Oto artykuł na temat rozwiązania zamknięcia przechodniego: http://www.codeproject.com/KB/database/Modeling_DAGs_on_SQL_DBs.aspx @Bill Karwin: jak duże zestawy danych zostały wdrożone przy użyciu "tabel zamknięcia" w scenariuszach OLTP/interaktywnych bez uderzania wydajności problemy z insertami? – nawroth
@nawroth: Tylko na rzędu tysięcy węzłów w drzewie, więc dobry punkt. Jeśli potrzebujesz reprezentować bardzo głębokie drzewa, kończysz z wieloma wierszami. Jeśli potrzebujesz reprezentować wiele płytkich drzew, jest to skromniejsze. –