Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nazewnictwo tabel i kolumn
Forum PHP.pl > Forum > Bazy danych > MySQL
Daimos
Witam,
biegam właśnie po stronach, gdzie toczą się dyskusje na temat nazewnictwa tabel i kolumn w bazie mysql. Widzę, że wiele osób korzysta ze starych przyzwyczajeń, które nie zawsze są dobre, albo były dobre, tylko kiedyś. Może podzielicie się swoimi uwagami?
Sam zastanawiam się czy nie zmienić swoich nawyków. Kiedyś ułatwiałem sobie zapytania łączone, to pilnuje, żeby każda kolumna (w całej bazie), miała inną nazwę. Robiłem to na początku stosując prefix - nazwę tabeli. Nie podobały mi się długie nazwy, więc sróciłem to do "inicjałów" nazwy tabeli, np. mając tabelę "user_archive", korzystam z prefixu ua i dzięki temu mam nazwy typu:
ua_id
ua_name
dla tabeli user, po prostu u_.

Z biegiem czasu wydaje się to zbędne, ale fronty są podzielone. Jedni uważają, że jakiekolwiek prefixy są bezsensowne, inni, że konieczne przy primary key... inni by stosowali również spacje i polskie znaki (tak tak, tu na forum znalazłem tematy smile.gif ), ale o nich nie chciałem dyskutować.

Jak Wy nazywacie tabele, kolumny i jak uważacie, że być powinno?
Pomińmy tutaj dyskusje na temat, że najważniejsza jest płynność i konsekwencja w nazewnictwie. Nie ma też co dyskutować, czy stosować małe litery, angielskie nazwy, _ zamiast camelcase, bo (przynajmniej dla mnie) to są podstawy, chyba, że uważacie to jako błędy, to piszcie.

Co do propozycji, które znalazłem i uznałem, lub uznali inni (według mnie, logicznie), za bezsensowne:
1. nazywanie kolumn z prefixem oznaczającym typ kolumny (nie ma żadnej korzyści, stwarza problemy kiedy typ pola się zmieni w trakcie pisania aplikacji, a zdarza się),
2. nazywanie tabel z prefixem oznaczającym rodzaj (widok itp.), jak to fajnie ktoś gdzieś napisał, widok też potrafi zamienić się w tabelę,
3. moje nazewnictwo ze skrótami nazwy tabeli w prefixie... settery i gettery wyglądają jak zaszyfrowany kod smile.gif,
4. korzystanie z różnej wielkości znaków... mysql chyba na to nie zwraca uwagi, więc po co my mamy to robić?

Jeśli ten temat gdzieś był tutaj poruszany, ale w ostatnich miesiącach (nie znalazłem), to przekierujcie mnie do niego, będę wdzięczny.
kartin
Cytat(Daimos @ 21.09.2015, 21:02:14 ) *
4. korzystanie z różnej wielkości znaków... mysql chyba na to nie zwraca uwagi
Tylko kto instaluje produkcyjną bazę MySQL na Windowsie?
To czy wielkość liter jest ważna w nazwach baz danych, tabel, triggerów zależy od tego czy system na którym jest baza danych rozróżnia wielkość liter. Zatem w większości przypadków w tych elementach wielkość liter ma znaczenie. W nazwach kolumn wielkość liter nie jest rozróżniania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.