データベースのテーブルやビューなどに指定する列名(カラム名、フィールド名)の例を集めてみました。
各データベースの、予約語や使える文字種の制限は、ご自身にてご確認ください。
国際感覚的にかなりあっていない(ただし本稿は国内利用を主として書いています)、スペル間違いや明らかな採用間違い、などがありましたら、是非ご指摘くださいませ。。
住所 (county, district, prefecture, province, region, state) の扱いなど、国際的な利用が前提でしたらWeblioさんを参照してみましょう。
※私は記法の宗教戦争をしたくありませんので、ご自身のお好みにあわせて変換をしてください(キャメル記法が...スネーク記法が...単数形・複数形など、各チーム・各プロジェクトの規約に合わせてくださいね)
#こんなことが大切かと
- (テーブルやビューの名前と組み合わせれば)その列名を見ただけで意味を容易に想像できる。
- 別の意味の他の列と、明確に区別できる。
- データ型の意味をもたせた語句は列名に含めない(中身の意味として使うならOK。DATE型の「作成日」列に、「~日」の意味として "CREATEDATE", "REGDATE" などを使うのは可)
- 同じ内容を意味する語の成分(接頭語や接尾語も)は、同じ語句を使う。たとえば、日付を表す語句に、DATEならDATE、DTならDT、BI(「~日」の日本語読み)ならBIで、どれを使ってもよいが、統一させて使う。
4. 日本語のローマ字読みも濫用しなければ構わないが、活用や連濁などの変化があるので直行性には難がある。
5. 英語であっても「イギリス英語」と「アメリカ英語」とでは表現が異なっていて、統一されず入り乱れると英語ネイティブには気持ちが悪いかも(color と colour みたいな。Weblioさんなどでご確認を)
6. 同一概念における国・地域・業界での違い、たとえば「郵便番号」にも"ZIP Code" "Postcode" "Postal Code" があり、どれが相応しいかはともかくもプロジェクト内で統一すべき。
#便利なサイト
・schema.org - HTMLやCSSに関する命名(目次)
・HTMLとCSSクラスでよく使う命名について - pugiemonnさんのQiita記事 感謝!
・Database Answers - 大量のデータベースモデルサンプルが投稿されています
#使いたくない語句の例
- ~FLG
- 独自定義の値(外部テーブルに無く、量を意味しないコード値)を意味したいのでしょうけど...2値なら、たとえば削除フラグ (DLTFLG)ではなくて、削除されたか?(DELETED、ISREMOVEDなど)や、有効か?(ISVALIDなど)を使いましょう。色フラグ(モノトーンとして、白と黒、0はどっちなのか?)とか最悪ですよ...プログラマなら常識として0がクロだろうが、とかやめましょう。モノトーンならISWHITEのようにするか、3色以上ならCOLORで構わないじゃないですか。フラグ・フラグって...そもそも旗を上げるか下げるかの2値なのでは。。
#採用例
増補中...出典は、[A]などのように表記してあります。
日本語の語句のゆれは Weblio さんあたりで調べてみてください。
各語それぞれ、意味合いは微妙に違います。どれを使うか迷ったら、プロジェクトリーダーや頼れる先輩に従ってください。
##日本語よみ:あ~お
あだ名 | nickname[(B)] |
---|---|
緯度 | latitude[(C)] |
イニシャル(名前) | Initials[B][I] |
色 | Color[A] |
打ち合わせ | Meeting[L] |
運賃 | Freight[F] |
運転免許番号 | carLicense[I] |
カード番号 | CardNumber[A] |
---|---|
会員 | customer[K] |
階級 | GRADE[E] |
会計年度 | FISCAL_YEAR[D] |
会社名 | company[B], CompanyName[F] |
開始日 | StartDate[A], Start_Date[L], date_from[L] |
開始日時 | start_date_time[L] |
開始予定日 | ScheduledStartDate[A] |
飼い主(ペット) | owner[J] |
価格 | Price[(A)] |
学歴 | EDUCATION[D] |
借受開始日 | Date_Hired_From[L] |
借受終了日 | Date_Hired_To[L] |
既婚・未婚 | MaritalStatus[A], MARITAL_STATUS[D] |
キャンペーンID | campaign_id[L] |
行合計額 | LineTotal[A] |
業種 | businessCategory[I] |
業種分類コード | sic_code[L:USやUKで] |
居住年数 | YRS_RESIDENCE[D] |
区市町村名 | City[D][F][G] |
国ISOコード | COUNTRY_ISO_CODE[D] |
国コード | countryCode[B][C] |
国名 | country[C][F][K], COUNTRY_NAME[D] |
クレジットカード承認番号 | CreditCardApprovalCode[A] |
経度 | longitude[(C)] |
敬称 | Title[A] |
携帯電話番号 | mobile[I] |
経費実績 | ActualCost[A] |
月給額 | SALARY[D][J], SAL[E] |
(選択/希望/日常利用)言語 | PreferredLanguage[B][I] |
広告ID | advert_id[L] |
口座番号 | AccountNumber[A] |
更新者 | UpdatedBy[H] |
更新周期 | updateInterval[C] |
更新日時 | ModifiedDate[A] |
購読者 | subscriber[L] |
顧客住所 | CUST_ADDRESS[D] |
顧客姓 | CUST_LAST_NAME[D] |
顧客メールアドレス | CUST_EMAIL[D] |
顧客名(姓名の) | CUST_FIRST_NAME[D] |
個数 | Qty[(A)], Quantity[A][D] |
高度 | altitude[(C)] |
コメント | Comment[A] |
雇用形態 | employeeType[I] |
今年度販売実績 | SalesYTD (YTD=year to date)[A], tyd_sales[G] |
今年度経費総額 | CostYTD (YTD=year to date)[A] |
##日本語よみ:さ~そ
最高月給 | HISAL[E] |
---|---|
在庫数 | UnitsInStock[F] |
最小数量 | lowqty[G], MinQty[(A)] |
最大数量 | highqty[G], MaxQty[(A)] |
最終更新時刻 | last_update[K] |
最低価格 | MIN_PRICE[D] |
最低月給 | LOSAL[E] |
作成日 | DateCreated[(A)] |
昨年度販売実績額 | SalesLastYear[A] |
昨年度経費総額 | CostLastYear[A] |
産業分類コード | sic_code[L:USやUKで] |
時給額 | HourlyRate[(A)] |
事業部 | DEPT[(E)] |
事業部名 | department[B], DEPARTMENT_NAME[D] |
自宅電話番号 | homephone[B] |
市町村名 | CITY[D][F][G] |
支払 | payment[K] |
支払期限 | payterms[G] |
支払総額(受注・発注) | TotalDue[A],amount[J] |
支払日 | payment_date[K] |
シフト | Shift[(A)] |
死亡日 | death[J] |
社員 | Employee[(A)],staff[K][L] |
社員番号 | employeeNumber[I],staff_id[K] |
写真 | picture[K] |
支払周期 | PayFrequency[A] |
種(動物など) | species[J] |
従業員 | Employee[(A)], EMP[(D)],staff[K] |
従業員名 | ENAME[E] |
収入レベル | INCOME_LEVEL[D] |
州名 | STATE_PROVINCE[D] |
終了日 | EndDate[A], End_Date[L], date_to[L] |
終了日時 | end_date_time[L] |
終了予定日 | ScheduledEndDate[A] |
重量 | Weight[A] |
重量区分 | WEIGHT_CLASS[D] |
重量単位 | WeightUnitMeasure[(A)] |
受注 | SalesOrder[(A)] |
受注日 | ORDER_DATE[D][F] |
出演者(映画等) | actor[K] |
小計額 | SubTotal[A] |
上司 | manager[B][I], MGR[D] |
承認番号(カード) | ApprovalCode[(A)] |
商品 | Product[(A)] |
商品説明 | PRODUCT_DESCRIPTION[(D)] |
職位 | job_lvl[G], title[I] |
職級 | GRADE[E] |
職業 | OCCUPATION[D] |
職種 | JOB[E] |
職務経歴書 | Resume[A] |
所在地 | LOC[E] |
書式 | format[C] |
数量 | Qty[(A)], Quantity[A][D] |
寸法 | Size[A] |
寸法単位 | SizeUnitMeasure[(A)] |
姓 | LastName[A], LAST_NAME[D][K], lname[(G)] |
税額 | TaxAmount[(A)], TaxAmt[A] |
請求可否 | billable_yn[L] |
請求先住所 | BillToAddress[A] |
製造日数 | DaysToManufacture[A] |
製品 | Product[(A)] |
性別(会員、被雇用者など) | Gender[A][D][J] |
性別(動物) | sex[J] |
説明 | Description[A][B] |
説明書 | Instructions[A] |
前年度販売実績額 | SalesLastYear[A] |
前年度経費総額 | CostLastYear[A] |
倉庫 | WAREHOUSE[D] |
送料 | Freight[F] |
速度 | speed[C] |
##日本語よみ:た~と
(マーケット)対象者層コード | demographic_code[L] |
---|---|
代理店 | Agency[L] |
タグワード | tag_word[L] |
棚 | Shelf[A] |
単価 | UnitPrice[(A)][D] |
誕生日 | BirthDate[A][J], DATE_OF_BIRTH[D], birth[J] |
担当区域 | Territory[(F)] |
町域以下住所 | street[C], STREET_ADDRESS[D], Address[F] |
追跡番号(配送・宅配) | CarrierTrackingNumber[A] |
通貨コード | CurrencyCode[A] |
定価 | ListPrice[(A)][D] |
店舗 | store[K] |
店舗名 | stor_name[G] |
電話番号 | Phone[A][F][G][K], PHONE_NUMBER[D], telephoneNumber[B][I] |
都道府県名 | Region[F], state[G] |
##日本語よみ:な~の
日給額 | DailyRate[(A)] |
---|---|
ニックネーム | nickname[(B)] |
入社日 | HireDate[A][D][E][G] |
値引額 | Discount[F][G] |
値引単価 | UnitPriceDiscount[A] |
納入数 | (発注品の)ReceivedQty[A] |
納入希望日 | RequiredDate[A] |
納入日数 | LeadTime[(A)] |
納入予定日 | DueDate[A] |
##日本語よみ:は~ほ
廃棄 | Scrap[(A)] |
---|---|
廃棄数 | ScrappedQty[A] |
廃棄理由 | ScrapReason[A] |
配信先 | subscriber[L] |
配信元 | publisher[L] |
パスワード | password[C] |
発送先宛名 | ShipName[F] |
発送基本料金 | ShipBase[A] |
発送先住所 | ShipToAddress[A],(町域以下)ShipAddress[F], (区市町村)ShipCity[F], (都道府県)ShipRegion[F] |
発送手段 | ShipMethod[A], ShipVia[F] |
発送日 | ShipDate[A], ShippedDate[F] |
発送方法 | ShipMethod[A] |
発注(購入) | PurchaseOrder[(A)] |
発注(購入)数 | OrderedQty[(A)], qty[G] |
発注単位 | UnitsOnOrder[F] |
発注点 | ReorderPoint[(A)], ReorderLevel[F] |
発注(購入)日 | OrderDate[(A)][F], ord_date[G] |
版数 | Revision[(A)][H] |
販売終了日 | DiscontinuedDate[A] |
販売額 | AMOUNT_SOLD[D] |
販売数量 | QUANTITY_SOLD[D] |
備考 | remark[J] |
評価 | Rating[(A)] |
表示名 | displayName[B][I] |
ファクシミリ電話番号 | facsimiletelephonenumber[B][I], Fax[F] |
部署 | dept[J],department[J] |
不良品数 | RejectedQty[A] |
方角 | heading[C] |
ポケットベル番号 | pager[B] |
ホスト名 | hostname[C] |
保証期間 | WARRANTY_PERIOD[D] |
補足 | remark[J] |
本年度販売実績 | SalesYTD (YTD=year to date)[A], tyd_sales[G] |
本年度経費総額 | CostYTD (YTD=year to date)[A] |
##日本語よみ:ま~も
待ち時間 | timeout[C] |
---|---|
未婚・既婚 | MaritalStatus[A], MARITAL_STATUS[D] |
見積経費 | PlannedCost[A] |
ミドルネーム | MiddleName[A][B] |
ミドルネームイニシャル | minit[G] |
メールアドレス | EMAIL[D][K], EmailAddress[A], mail[B][I] |
名(姓名) | FirstName[A], givenName[B][I], FIRST_NAME[D][K], fname[(G)] |
明細行合計額 | LineTotal[A] |
名称 | Name[A]、(識別名として)Type[(A)] |
メモ | remark[J] |
役職 | title[J] |
---|---|
有給休暇時間 | VacationHours[A] |
有効期限月(カードの) | ExpMonth[A] |
有効期限年(カードの) | ExpYear[A] |
ユーザー名 | username[C] |
郵便番号 | PostalCode[A][B][C][D][F][K], zip[G] |
与信 | CreditRating[A] |
与信限度額 | CREDIT_LIMIT[D] |
予定開始日 | ScheduledStartDate[A] |
予定終了日 | ScheduledEndDate[A] |
履歴書 | Resume[A] |
割引率(パーセント) | DiscountPct[A] |
##(余談)英語の略称を調べる
データベースやプログラムコードのテーブル名、列名、変数名などで、その全部または一部を略称で表現することがありますが
- Lists of abbreviations - Wikipedia
-
Abbreviations.com
などのサイトで、英語圏の略称を調べることが出来ます。
単語・フレーズから略称の例を知りたいときは、検索窓の右横のオプションで「Term >> Abbreviation」を指定してから検索をさせると
こんな感じで...得られるかもしれません。
ほかにも便利なサイトがあると思います。ぜひ教えてくださいませ!
日本人の端くれの私としては、日本人開発者が含まれるプロジェクトで略称を採用するときは、ぜひ日本人にもなじみがある略称でお願いしたいです。
(余談2)データベース以外でのスキーマ例
こちらはデータべースに関連した情報ではありませんが、多彩なエンティティに関する属性が(英単語で)リストアップされていますので一度ご覧あられたし。。
- schema.org - 一覧
(余談3)大量のデータベースサンプルサイト
コメントでお寄せいただいた情報です。(英語で)データモデル(テーブル・リレーションなど)のサンプルが掲載されている、投稿型のサイトです。大量で驚き... 設計しようとしている業態のスキーマがズバリ掲載されているかもしれません。
(例:Payments - Generic Payments)
##出典
[A] AdventureWorks - Microsoft SQL Server
[B] Azure Active Directory Schema - Microsoft
[C] XPCOM Interfaces - Mozilla - データベースではないですが...
[D] サンプルスキーマ - Oracle Database
[E] サンプルスキーマ解説 - 小さい頃はエラ呼吸 感謝!
[F] Northwind database - codeplex
[G] pubs Sample Database -Microsoft TechNet
[H] Lotus Notes
[I] RFC2798 Definition of the inetOrgPerson LDAP Object Class
- [B]と被りますね
[J] MySQL Sample database
[K] DVD Rental ER Model - PostgreSQL Tutrial
[L] Database Answers - データモデルサンプル投稿サイト
増補中...