問題タブ [ddl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
309683 参照

sqlite - 複数の列の Sqlite 主キー

SQLITE で複数の列に主キーを指定する構文は何ですか?

0 投票する
1 に答える
13660 参照

mysql - Visio を使用して MySQL DDL を生成する

MS Visio で作成されたデータベース モデル ダイアグラムがあり、これを DDL ファイルにエクスポートして MySQL データベースを作成したいと考えています。DDL ファイルを生成するために正常に使用できる MySQL ODBC ドライバーを既にインストールしていますが、とにかくいくつかの問題があります。

Visio では、予約語 (user など) でもあるテーブル名を引用符で囲みます。MySQL はこの目的で引用符 (") ではなくバッククォート (`) を使用するため、これは問題ありません。

MySQL ODBC ドライバーも BLOB データ型を LONGVARBINARY に変更するため、データベースの作成時に MySQL で直接使用することはできません。

これら2つの問題に対処する方法について誰か提案がありますか?

0 投票する
8 に答える
19382 参照

java - JPA エンティティからの DDL のリバース エンジニアリング

私はいくつかのJPAのものをいじっており、マッピングを変更して、それらがどのようにあるべきかを確認しています。これは基本的な実験です。ただし、エンティティを単純に読み取り、テーブル スキーマを生成するツールが見つかりません。JBossツールでこのようなものを見つけようとしましたが、nada. Eclipse との統合は大きな利点ですが、コマンド ライン ツールまたは Ant タスクを使用します。

何か案は?

0 投票する
4 に答える
215812 参照

sql - 表の変更列の構文の追加

プログラムでID列をテーブルEmployeesに追加しようとしています。構文で何が間違っているのかわかりません。

私は何が間違っているのですか?スクリプトをエクスポートしようとしましたが、SQLMgmtStudioはTempTable全体の名前変更を行います。

更新:「キーワード「COLUMN」の近くの構文が正しくありません」という最初のステートメントが詰まっていると思います。

0 投票する
4 に答える
25618 参照

sql - SQL DDL からエンティティ関係図を生成するには?

たとえば、DbVisualizer を使用して DB に接続し、既存のテーブルとその関係から素敵な図を作成できます。しかし、この特定のケースでは、ライブデータベースはありませんが、create table ステートメントと alter ステートメントがたくさんあります。

SQL DDL から同様の図を生成するツールはありますか?

0 投票する
1 に答える
527 参照

c# - DDLを生成するためのLinqtoXML

この質問の最後に、データベース定義をXMLとして形式で保存しています。私が抱えている問題は、スキーマのリスト、それらのスキーマのテーブル、それらのテーブルの列(すべて関連情報を含む)を取得することです。私の現在のコード(サンプルXMLの下に含まれています)は、ネストを完全に無視してすべてを取得し、複数のスキーマがあるため、各テーブル/列を複数回返します。

サンプルXML:

C#コード:

入れ子構造を維持する方法について何かアイデアはありますか?また、オプションのXML要素(すべてのデータ型に適用されるわけではないテーブルコメントやサイズフィールドなど)の処理にも問題があります。

ありがとう!

0 投票する
3 に答える
1512 参照

java - トランザクションに含める必要のあるDDLステートメントの単体テスト

Oracleの組み込み認証メカニズムを使用してユーザーアカウントとパスワードを管理するアプリケーションに取り組んでいます。アプリケーションは行レベルのセキュリティも使用します。基本的に、アプリケーションを介して登録するすべてのユーザーは、「USERS」テーブルの通常のエントリではなく、Oracleのユーザー名とパスワードを取得します。ユーザーは、特定のテーブルのラベルも受け取ります。このタイプの機能では、多くの場合、DMLステートメントとDDLステートメントの実行を組み合わせる必要がありますが、DDLステートメントは暗黙的なコミットを実行するため、これは問題を引き起こします。DDLステートメントの実行後にエラーが発生した場合、トランザクション管理はすべてをロールバックしません。たとえば、新しいユーザーがシステムに登録すると、次のことが発生する可能性があります。

  1. トランザクションを開始します
  2. 人物の詳細をテーブルに挿入します。(つまり、名、姓など)-DML
  3. Oracleアカウントを作成します(パスワードで識別されるユーザーtestuserを作成します;)-DDL暗黙的コミット。トランザクションは終了します。
  4. 新しいトランザクションが開始されます。
  5. より多くのDMLステートメント(挿入、更新など)を実行します。
  6. エラーが発生し、トランザクションはステップ4にのみロールバックします。

上記のロジックが設計どおりに機能していることは理解していますが、このタイプの機能を単体テストしてデータアクセス層で管理するのは難しいと感じています。データベースがダウンしたか、単体テスト中にエラーが発生したため、ロールバックする必要のあるテストデータでテストスキーマが汚染されました。これが発生したときにテストスキーマをワイプするのは簡単ですが、実稼働環境でのデータベースの障害が心配です。これを管理するための戦略を探しています。

これはJava/Springアプリケーションです。Springはトランザクション管理を提供しています。

0 投票する
4 に答える
2661 参照

sql-server - SQL Server 動的列の問題

テーブルを使用してGadgetData、ガジェットのプロパティをアプリケーションに格納します。ガジェットは基本的に、高さ、幅、色、タイプなどの一般的なプロパティの 80% を持つカスタム コントロールのようなものです。ガジェット タイプごとに固有のプロパティ セットがあります。このデータはすべてデータベースに保存する必要があります。現在、共通のプロパティのみを保存しています。列が動的であるこの種のデータを格納するには、どの設計アプローチを使用する必要がありますか。

  1. 共通のプロパティを持つテーブルを列として作成し、テキスト型の列を追加して、各ガジェット タイプのすべての一意のプロパティを XML 形式で保存します。
  2. すべてのガジェット タイプで可能なすべての列を含むテーブルを作成します。
  3. ガジェットの種類ごとに個別のテーブルを作成します。
  4. 他にお勧めの良い方法はありますか?

(注: ガジェットの種類の数は 100 を超える可能性もあります)

0 投票する
1 に答える
289 参照

sql - 自動化されたDDLスクリプト:どのくらいの機能を予測しますか?

正規化されたデータベースのマテリアライズドビューを定義するためのDDLスクリプトを生成するスクリプトがあります。一部のテーブルには、特定のデータベースユーザーを指す「所有者」のような列があり、現在のデータベースユーザーが作成したテーブルの行のみを表示するビューを作成できます。このような見解は、セキュリティと利便性の両方の観点から有益な場合があります。たとえば、自分自身の多肢選択式クイズの結果のみを表示します。

ほんの一握りのテーブルを除けば、誰かがそのような見方を求めていると想像できるテーブルがたくさんありますが、具体的なユースケースは考えられません。ただし、すべてのユースケースを常に予測できるとは限らないため、このような一般的な機能が役立つ場合があると思います。

私の質問は、これらのパーソナライズされたビューのうち、自動生成する必要があるのはいくつですか?数百のテーブルの場合、これにより、構築、テスト、およびベンチマークのプロセスにかなりの時間が追加されますが、自動化されています。決して使用されない可能性のある追加機能の側で、または要求された/有用であることがわかっているビューのみを使用できるようにする側で誤りを犯しますか?