問題タブ [db-schema]

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 投票する
5 に答える
406 参照

sql-server - db テーブルの 1 対 1 の関係は臭いですか?

たくさんのフィールドを持つテーブルがあります。フィールドは、ジョブのプロジェクト マネージャー情報のように、論理的なグループに分割できます。グループ自体は、独自の PK を持たず、持つべきではないため、実際にはエンティティ候補ではありません。

今のところ、それらをグループ化するために、フィールドにはプレフィックス (たとえば PmFirstName) がありますが、メイン テーブルで 1:1 の関係を持つ複数のテーブルに分割することを検討しています。

これを行う際に注意すべきことはありますか?これは単に悪い選択ですか?

追加のすべての結合でクエリがより複雑になる可能性があることがわかりますが、それはビューで軽減できますか? 100k レコード未満のテーブルについて話している場合、これはパフォーマンスに顕著な影響を与えるでしょうか?

編集:非実体候補の考えをもう少し正当化します。この情報は、ユーザー ベースによって入力されます。彼らはお互いを知りません/気にしません。したがって、同じユーザーが同じ「projectManager 名」またはこの時点で制約に違反していないものを送信する可能性があります。別のユーザーからのエントリを相互に関連付ける必要があるかどうかは、後でパイプラインで判断する必要があります。これらのものに独自のキーを与えると、メインテーブルが成長するのと同じ速度で成長します-それらは本質的に同じエンティティの一部であるため. ユーザーが利用可能な「プロジェクト マネージャー」のリストから選択することはありません。

したがって、上記を考えると、それらはエンティティではないと思います。しかし、そうではないかもしれません。さらに考えがある場合は、投稿してください。

0 投票する
2 に答える
89287 参照

mysql - チャット用の DB スキーマ?

チャットの会話をデータベース スキーマに保存する必要があります。このデータベースを使用する方法は、Web サイトにチャットを投稿することです。各チャットは、約 20 を超える応答にはなりません。誰かがこれのスキーマを提案できますか?

0 投票する
2 に答える
38847 参照

mysql - ロールベースのアクセス制御のDBスキーマ

私は現在、ここでローカルアソシエーションのメンバー管理を開発しており、現在データベーススキーマを開発しています。それを改善し、他の役割ベースのアクセスモデル(RBAC)の例を示すために、それをあなたと共有したいと思います。特にテーブル間の関係について建設的な批判をいただければ幸いです。

高解像度へのリンク:http://i.stack.imgur.com/WG3Vz.png

スキーマは次のとおりです。DBスキーマ

使い方:

既存のクライアント(実際にはアソシエーションのメンバー)を外部アプリケーションから管理アプリケーションにマッピングしています。(クライアントテーブル)

関連付けは、Division、Subdivisionsなどで構成されます(intern_structuresテーブル)。すべてのクライアントは、複数のディビジョン、サブディビジョン、セクションなどのメンバーになることができます。

すべてのクライアントは、社長、アクチュアリー、会計などのようなメンバーシップ(部門など)で1つまたは複数の役割を持つことができ、各役割には、役割の所有者が自分の部門、下位部門、セクションなどで他の人に適用できる特定の特権があります。 。

クレデンシャルは、アプリケーションの特定のアクションに関連付けられています。クレデンシャルの所有者は、自分のスコープ内の他のメンバーに対してこのアクションを実行できます。複数の「スタンドアロン」アプリケーションが存在する可能性がありますが、それらはすべて同じ認証/承認システムを共有します。

アプリケーションは、モジュール/サブモジュール/アクションなどで構成されています。例として、「個人情報」モジュールがあります。このモジュールには「画像」というサブモジュールが含まれており、この画像に「表示、削除、編集」アクションを適用できます。ただし、削除しようとしている写真の人物が、適切な役割を持っている部門/セクションにいない限り、写真を削除することはできません。

内部構造とアプリケーション構造はどちらもツリーであり、隣接リストネストされたセットとして実装されます。隣接リストは整合性を保証し、ネストされたセットにより、ツリーをすばやくトラバースできます。

例外は、特定の資格情報(client_credentials)を誰かに直接与えることができることです。これは、自分の部門/セクションにいない誰かに対して特定のアクションを実行する必要がある場合に必要です。

したがって、誰かが複数の部門/セクションのメンバーになり、メンバーであるすべての部門/セクションで複数の役割を取得することができます。誰かが複数の役割を通じて持っているすべての資格情報をマージします。また、クレデンシャルは常に正であり、制限的なクレデンシャルは使用できません。

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

sql-server - オンライン注文システムのデータベース設計

オンラインショップのデータベースを設計しているときに、一部に問題がありましたが、問題なく設計されているかどうかを誰かにアドバイスしてもらえますか?カテゴリに割り当てることができる製品があるという考えです。各カテゴリには、顧客が製品を簡単に検索できるようにするための一連のパラメータがあります。たとえば、カテゴリ「CPU」にはパラメータ「cpuファミリ」、「cpu速度」があり、カテゴリ「HDD」には「フォームファクタ」と「スピンドル速度」があります。これらのパラメーター名はテーブルtbCatParamに格納され、各製品のパラメーターの値はテーブルtbProdCatParamにあります。

私のスキーマはjpegとしてここにあります:http://cid-ce0a6f63806e1ea9.office.live.com/self.aspx/PuclicFolder/scheme.jpg

このように動作しますか?どうもありがとう

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

sql-server - 既存のSQL2005/2008データベースのdbschemaファイルを取得するにはどうすればよいですか?

比較するデータベースは2つありますが、1つのデータベースを直接接続することはできません。スキーマを比較してから、1つのデータベースを更新するスクリプトを取得します。VS2010は、 dbschemaファイルによって2つのデータベースを比較できます。既存のSQL2005/2008データベースのdbschemaファイルを取得するにはどうすればよいですか。注:データベースを備えたマシンはvs2010をインストールしません。

ty!

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

mysql - ユーザー グループ テーブル スキーマ

ユーザーがグループに参加してグループを作成できるシステムを作成しています。これらのグループ内で、メンバーはトピックを作成したり、既に作成されているトピックに返信したりできるので、次の方法のどれが最適かについて意見をお聞かせください: groups_posts と group_topics の 2 つのテーブルを作成します。

または一意のテーブル group_tposts を作成します。

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

entity-framework-4.1 - エンティティ フレームワーク コードが最初で、データベース ユーザー

Web アプリケーションを別の環境にデプロイする際に小さな問題が発生しています。Entity Framework Code First アプローチを使用してアプリケーションのデータベースを作成しました (モデルから自動作成されたデータベース)。この開発環境では、統合セキュリティを使用しており、テーブルは dbo ユーザーの下に作成されています。テーブルは
     [dbo] .[myTable]のようなものです

他の環境では、DB にユーザー名/パスワード認証を使用しています。テーブルをスクリプト化し、DB 上に作成しました。
     そのため、 [myDbUser] .[myTable ]のような名前が付けられました。

アプリケーションを実行すると、無効なオブジェクト名 'dbo.myTable' という問題が常に発生します。
     

コードがまだ dbo テーブルを探しているようですが、存在しないため失敗します。

誰でもこの問題に光を当てることができますか? Entity Framework はこの dbo プレフィックスをどこから取得しますか?

ありがとう

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

sql - 財務データの場合、DATETIMEにインデックスを付けると便利ですか?

私がテーブルを持っているとしましょう

在庫コード、日時、価格

特定の株式について、特定の日付の午後12時から午後3時までの最高価格を見つけるなどの基本的なクエリを実行したいと思います。現在、私は次のように索引付けしています。

在庫コード、日時、価格

DATETIMEはミリ秒レベルまで細かく設定されています。つまり、基本的に重複データはありません。実行したいクエリの種類について、インデックスを作成するためのより良い方法はありますか?または、より一般的に、私が使用できるより良いスキーマはありますか?

0 投票する
2 に答える
1118 参照

java - JPA / ORMを使用してdbスキーマを生成するのは悪い考えですか?

軟膏!

SOに関する別の質問/回答の一部(および同じことを主張する他のステートメント):

JPAによってデータベーススキーマを更新する場合(通常は良い習慣ではありませんが)

データベーススキーマを生成するためにJPA実装を使用すべきではないというのは本当ですか?

とにかく、私は自分自身でエンティティと関係をモデル化する必要があります。notnull、主キーと外部キー、データ型、サイズなどの制約も定義する必要があります。

使用中のJPA実装にDDLスキーマ作成コードに欠陥がなく、すべてのJPA制約、関係などを正しく指定していると仮定すると、JPA実装によって作成されたdbスキーマはまったく同じである必要があります。より良い-私自身が手作りしたスキーマとしてですよね?

これには、(ビジネスロジック)特定のINSERTトリガーなどの「特殊なケース」は含まれません。これらはJPA実装ではまったく生成できないためです(私が知る限り、間違っている場合は修正してください)。

これについてどう思いますか?
私は現在、最初にdbスキーマを手作りし、次にJPA制約、リレーションなどを設定し、JPA実装にdbスキーマも作成させています。次に、2つのスキーマを比較して、セットアップが正しく行われたかどうかを確認します。もちろん、これは、手作りのスキーマで行ったのと同じ列名なども指定する必要があることを意味します。

私の質問をより正確にするために; 私は、ORMフレームワークがスキーマを生成することを盲目的に信頼していません。むしろ、スキーマがどのように見えるかを考えてから、それに一致するようにフレームワークを構成します。
手作業でのみ、より効率的なスキーマを作成できると思いますが、結局のところ、ORMフレームワークでそれらを使用する必要があります(または使用したい)。したがって、そうすべきではありませんが、とにかくdbスキーマを作成するときは、ORMフレームワークの制限に留意する必要があります。

したがって、RDBMS固有のことを気にする必要がないように、ORMフレームワークを使用しているので、アプリケーションでRDBMS固有のDDLを使用してスキーマを作成することのポイントは何ですか?
既存のエキゾチックなスキーマを使用する必要がある場合は、スキーマを(再)作成する必要はありません。また、ORMフレームワークなどの汎用ツールを使用できない場合もあります。

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

nhibernate - FluentNHibernateはデータベーススキーマを作成しません

FluentNHibernateによって次のように構成された既存の空のSQLServer2005データベースから始めています。

私はこの地図を持っています:

Userデフォルトのスキーマではなく、データベーススキーマ「AccountSystem」内にテーブルを作成したいので、マッピングにdbo追加するとこれが行われると想定しました。Schema(...)

実際に起こったことは、Userテーブルに対してクエリを実行しようとすると、「オブジェクト[AccountSystem].[User]が存在しない」という例外を受け取ったことです。実際、驚いたことに、データベースに名前が付けられたdbスキーマの兆候はありませAccountSystemんでした。つまり、スキーマとテーブルはまったく作成されていませんでした。私はNHibernateのバージョン3.1を使用しています。これは、現在FluentNHibernateでサポートされている最新のものです。スキーマの作成を機能させるためのアイデア/回避策はありますか?