質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

3回答

5425閲覧

DBのテーブル名の最大について【素朴な疑問】 

hugsally

総合スコア10

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

4グッド

1クリップ

投稿2023/02/09 08:06

編集2023/02/09 08:08

疑問

DBのテーブル名ってなぜ30文字まで等決まっているのでしょうか…。

長い変数つけることはデメリットのほうが大きいのでしょうか。

GUIツールで命名しているのでコードをあまり書いていないですが
テーブル名を考えて登録しようと思ったらエラーでつらいなと。

nnahito😄を押しています
nnahito, wao3299👍を押しています
nnahito👏を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

COBOL言語など変数などのネーミングに30バイトまでの制限があったのを踏襲しているのが多いです。が、
Oracle 19.3.2 開発者ガイド 識別子名の長さと一意性

バージョン12.2より前のOracle Databaseでは、表名、列名、主キー名などの識別子名が30文字に制限されています。Oracle Database 12.2以上では、デフォルトの制限は128文字です。

Oracle Databaseではマルチバイト文字1文字はキャラクタセットがSJISでは2バイトです。
スキーマ名、表名、列名が30バイトの制限がある環境ではマルチバイト文字を15文字まで使えます。
キャラクタセットがUTF-8ではマルチバイト文字1文字が3バイトになりるのでマルチバイト文字10文字を超えるとエラーになります。

投稿2023/02/09 13:34

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

テーブル名の長さの制限は DBMS の種類やバージョンによって異なるようです。

■ 各DBのテーブル名の長さ制限
https://azuma006.hatenablog.com/entry/2016/04/09/233608

データベーステーブル名の長さ
Oracle 12.2より前30文字
Oracle 12.2以降128文字
PostgreSQL64文字
MySQL64文字
DB2128文字
SQL Server128文字

※ Oracle についてバージョン毎の桁数を記載するようにしました

投稿2023/02/09 09:24

編集2023/02/09 13:29
cx20

総合スコア4633

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2023/02/09 13:21

[Oracle 19.3.2 開発者ガイド 識別子名の長さと一意性](https://docs.oracle.com/cd/F37623_01/odpnt/EFCoreIdentifier.html) >バージョン12.2より前のOracle Databaseでは、表名、列名、主キー名などの識別子名が30文字に制限されています。Oracle Database 12.2以上では、デフォルトの制限は128文字です。
cx20

2023/02/09 13:26

Orlofsky さん、補足ありがとうございます。
guest

0

現在MySQLのカラムやテーブル、DB名は64文字までの制限がかかっています

長すぎても効率は悪いですし、このくらいの上限が妥当だという判断なのでしょう

投稿2023/02/09 08:47

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問