Szósta forma normalna to formalny sposób na wdrożenie tego. Idź z 3NF dla wszystkich tabel i 6NF dla jednej lub dwóch tabel, które chcesz dodać kolumny bez zmian DDL. Używaj oszczędnie.
EAV to bękartowy syn 6NF. Oznacza to, że ludzie, którzy to robią i piszą o tym, nie mają formalnego zrozumienia 6NF, więc często tworzą potworności.
Oczywiście należy zachować dobre standardy: należy używać typów danych; Deklaratywna integralność referencyjna (klucze obce); itp. Nie dawaj im niczego. Uciekaj jak diabli od tego, że ktoś ci mówi, że musisz je oddać.
6NF/EAV jest bardzo szybki, nie ma przeszkód w korzystaniu z możliwości ustawiania parametrów serwera. Ponownie, uciekaj jak diabli od każdego, kto powie ci, że musisz używać przetwarzania wiersz po rzędzie lub kursorów, lub że nie możesz z łatwością budować kolumn z rzędów. Napisz ponownie, jeśli masz konkretne problemy.
Wymaga to wykraczania poza bieżące możliwości (sterowanie, DDL) SQL; aby to zrobić w kontrolowany sposób i uniknąć tworzenia niemożliwych do zapamiętania potworów, potrzebujesz małego katalogu, aby zawrzeć metadane. Jeśli jesteś sprytny, możesz go użyć do wygenerowania zapytania SQL, które będzie wykorzystywane do odpytywania, a tym samym wyeliminować wiele ręcznych robót.
Istnieje wiele dezinformacji, a niektóre osoby z "rep" nie mają pojęcia. Aby odnieść sukces z technicznego punktu widzenia, potrzebujemy dokładnych informacji, a nie mitów i marnowania strachu. Być może zainteresował Cię ostatni post, w którym próbowałem uzyskać set the recond straight.
"Szybkie wyszukiwanie" modelu EAV "", miejmy nadzieję, zawiera zalecenie, że należy go unikać, chyba że nie ma alternatywy - jest bardzo elastyczny, ale nie skaluje się dobrze i może być trudny do zapytania. Oto link do studium przypadku: http://www.simple-talk.com/opinion/opinion-pieces/bad-carma/ –