Jak mam nazwać swoje tabele podczas tworzenia nowej bazy danych?
Singular: Client
lub mnoga: Clients
?
database-design
naming-convention
John Isaiah Carmona
źródło
źródło
person NAMED 'fred' EARNS 20,000
(Gdzie wielkie litery to tabele). 2) używania nazwy przedsiębiorstwa na zbiorze npPERSONNEL
,PAYROLL
,ORG_CHART
itpOdpowiedzi:
Zależy od Ciebie. Tylko bądź konsekwentny.
Osobiście wolę liczbę pojedynczą na podstawie tego, co przechowuje każdy * wiersz: zamówienie, produkt, użytkownik, przedmiot itp.
To pasuje do mojego modelowania (poprzez Object Role Modeling), w którym używam pojedynczych jednostek / typów.
Edytować:
Jednym z powodów jest to, że liczba mnoga nie kiedy masz tabele link:
Orders
,Products
dałobyOrderProducts
lubOrdersProducts
. Żaden z nich nie brzmi poprawnieLub tabele historii (oczywiście możesz do tego użyć schematów):
Orders
->OrdersHistory
czy (nie!)OrdersHistories
? CzyOrder
-> nieOrderHistory
byłoby lepiej?źródło
Singular
lubPlural
?TablenameID
lubTablenameCode
lubtablename_id
. W przypadku nazw tabel w liczbie mnogiej powstajeOrders.OrdersID
(co nie wygląda dobrze) lub miejsce, wOrders.OrderID
którym używa się liczby mnogiej w przypadku nazw tabel, ale zmienia się na liczbę pojedynczą w przypadku prefiksów kolumn.Jeśli chodzi o nazwy tabel w liczbie pojedynczej i mnogiej, temat wydaje się kontrowersyjny, ale nie powinien.
Chociaż tabela jest zbiorem wielu rekordów, nazwa tabeli pochodzi od definicji jednego rodzaju rekordu, który zawiera. Jeśli tabela może mieć inną nazwę niż typ rekordu, który zawiera, możesz nadać tej tabeli liczbę mnogą, aby na przykład mieć tabelę pracowników zawierającą wiele rekordów pracowników. Ale projektant SQL nie przewidział osobnych nazw dla tabel i typów rekordów.
W przypadku programów zorientowanych obiektowo, które wykorzystują dane, wszystko działa bardziej logicznie, jeśli nazwa typu rekordu (a przez to nazwa tabeli) jest zachowana w liczbie pojedynczej, ponieważ będzie odpowiadać nazwie klasy, której użyłbyś do opisania jednego rekordu .
Jeśli następnie chcesz zidentyfikować kolekcję w programie, możesz użyć liczby mnogiej lub lepiej, użyć odpowiedniego modyfikatora, takiego jak EmployeeList lub EmployeeArray.
Występuje również problem z nieregularnymi formami liczby mnogiej do automatycznego generowania kodu i programistami, którzy mają różne pochodzenie językowe lub pomysły na temat tworzenia form liczby mnogiej w programie.
Język angielski nie jest dobrym i właściwym językiem programowania, a próba dostosowania instrukcji bazy danych i programów do języka angielskiego, ponieważ brzmi lepiej, gdy czytamy jedną z tych instrukcji, jest błędem.
źródło
Podobnie jak na @ gbn odpowiedź Myślę, że to najbardziej kwestia preferencji i tak jak on Polecam, że każdy wybór dokonane, stosuje się go wszędzie (w DB, że co najmniej). Konsekwencja jest tego warta.
Jednak wolę, aby liczba mnoga brzmiała lepiej w
SELECT
stwierdzeniach:Mam na myśli, że przynajmniej w tym przypadku w tabeli jest kilka osób, a kilka z nich jest zwracanych klientowi.
źródło
„zamówienie” to słowo zastrzeżone. „zamówienia” nie są
„użytkownik” to słowo zastrzeżone. „użytkownicy” nie są
„sesja” to słowo zastrzeżone. „sesje” nie są
„wynik” jest słowem zastrzeżonym. „wyniki” nie są
„krewny” jest słowem zastrzeżonym. „krewni” nie są
...
Są to typowe słowa, które mogą znaleźć się w bazie danych biznesowych. Słowa w liczbie mnogiej wydają się być mniej powszechne jako słowa kluczowe niż słowa pojedyncze. Dlatego może być korzystne stosowanie nazw tabel w liczbie mnogiej, aby uniknąć konfliktu ze słowami kluczowymi SQL.
źródło
Uważam, że tabela SQL powinna mieć liczbę mnogą. Po prostu czyta się znacznie lepiej.
Tabela zapisów książek powinna być nazywana książkami. ORM powinien stosować tę samą konwencję. Obiekt Books jest zbiorem i przewodniczy wszystkim zapisom w tabeli Books. Obiekt Book przewodniczy pojedynczemu rekordowi.
To sprawia, że kodowanie jest bardziej naturalne.
źródło
table.field
więcauthor.authorName
jest całkowicie w porządku. Pobierz nazwę autora z tabeli autora. Gdy jest tylko jeden autor, liczba mnoga również wygląda źle.authors.authorName
kiedy jest tylko jeden autor? To bardziej mylące imo. To oczywiście jest znacznie lepsze teraz, kiedy porzuciliśmy mysql_ w zdaniu i mamy lepsze sposoby na dostęp do danych :)Po kilku latach pracy z programowaniem doszedłem do wniosku, że pluralizacja jest niepotrzebną komplikacją. Uważam, że zgodnie z filozofią KISS programista powinien dążyć do jak najlżejszego i najłatwiejszego rozwiązania wszystkich problemów ze względu na czas i wydajność. W ten sposób liczba pojedyncza zapewnia mniej pracy wymaganej we wszystkich scenariuszach.
źródło
To bardzo osobista sprawa. Używam formy pojedynczej od 30 lat. Ale rozumiem, dlaczego ludzie lubią liczbę mnogą. Książki - autorzy są interesujące, ponieważ uważam, że autorzy książek nie są w błędzie. Książka może mieć jednego lub więcej autorów. A autorzy mogli napisać jedną lub więcej książek (np. Współautor). Zależy to również od tego, jak obchodzisz się z książkami napisanymi przez więcej niż jednego autora. Zgadzam się z innymi odpowiedziami; wybierz jeden i bądź konsekwentny. W odniesieniu do kwestii zastrzeżonych słów. Myślę, że nie jest trudno wymyślić nazwy obejść. użytkownik -> użytkownik aplikacji, sesja -> aplikacja, zamówienie -> zamówienie klienta
źródło
Patrzymy na to z różnych perspektyw i myślę, że oba obozy są identyfikowane przez:
Liczba pojedyncza („użytkownik”)
Osoba, która dokonuje korelacji między nazwą tabeli a faktem, że reprezentuje ona kontener, który może zawierać wiele wierszy.
Zatem „kontener użytkownika” może zawierać wiele wierszy.
Liczba mnoga („użytkownicy”)
Osoba, która nie dokonuje korelacji między nazwą tabeli a faktem, że reprezentuje ona kontener. Oczywiście wiedzą, że to pojemnik, ale nie ma go w nazwie.
np
. „karton z jajami” może zawierać wiele jaj, ale jest to oczywiste, ponieważ nazwa kontenera znajduje się w nazwie, zapewniając potencjał dla wielu jaj. Jednak w przypadku pojedynczej nazwy tabeli „użytkownik” odwołanie do kontenera nie występuje w nazwie. np. „user_container” prawdopodobnie byłby do przyjęcia dla osób, które preferują nazwy w liczbie mnogiej.
Myślę, że dzieje się tak również dlatego, że wiele lat w liczbie mnogiej było powszechną praktyką i większość materiałów do nauczania online.
Wszystko to mówi, myślę, że technicznie rzecz biorąc liczba pojedyncza jest dokładniejsza, biorąc pod uwagę, że nazywamy jeden pojemnik, a kontenery mogą zawierać wiele (lub pojedyncze) wiersze.
Ludziom wydaje się to niewłaściwe, ponieważ mentalnie łączą nazwę tabeli z zawartością (wiele wierszy wymaga nazwy w liczbie mnogiej), a nie mentalnie łączą nazwany kontener z treścią (kontener pozwala na wiele).
Jak zawsze, choć często nie ma dobra i zła, a chodzi bardziej o to, co pasuje do scenariusza, i co ważne, jest zgodne z tym, co wybierzesz.
Jeśli wykonujesz projekt wyłącznie i nie ma żadnego prawdziwego powodu, aby iść w jedną stronę, zrobić to, co uważasz za najlepsze lub po prostu preferencje. Zastosuj to samo w zespole deweloperów i po prostu podejmij jednomyślną decyzję.
źródło