問題タブ [table-structure]
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.
mysql - フィールドをNULLに設定するために行の90%を使用するのは効率的ですか?
MySQL(InnoDB)にユーザーアイテムでいっぱいのテーブルがあります。基本的に、各行にはuser_idフィールドとcolorなどの他のアイテムプロパティがあります。次に、他のユーザーのアイテムのIDを保持するリンクと呼ばれるフィールドがもう1つありますが、ほとんどの場合(90%)はリンクされていないため、フィールドはに設定されNULLます。
フィールドリンクを設定する600万行の90%を使用するよりも、リンク情報を保持する新しいテーブルを作成する方が効率的でしょうか。NULL
Hibernateを使用しています。
asp.net - 最良のテーブル構造は何でしょうか?
私はいくつかの異なるMLSからのMLS(マルチプルリストサービス)プロパティリストを保存するアプリを開発しています。私の顧客の大多数は1つのMLSのみを使用しますが、複数のMLSを使用する顧客もいます。私の質問は:テーブルを設定するための最良の方法は何ですか?私が50の異なるMLSを持っているとしましょう。各MLSには、約80kのレコードと100のフィールドがあります。すべてのリストを単一のテーブルに入れて、MLSIDで参照する必要がありますか?または、MLSごとに新しいテーブルを作成する必要がありますか?各MLSは、常に同じフィールド名とデータ型を持ちます。
各MLSを独自のテーブルに配置することは、パフォーマンスには最適ですが、スケーラビリティには最適ではないと思います。すべてのレコードを1つのテーブルにまとめるとしたら、それがパフォーマンスにどの程度影響すると思いますか?また、お客様が複数のMLSを使用している場合は、複数のテーブルではなく単一のテーブルからプルできるため、単一のテーブルの方が適していると思います。考えやアイデア?
mysql - 友情関係をモデル化する方法
私はこれを行う方法を理解しようとしてきましたが、他の例を見ても理解できないので、個人的な助けを得ることができるかもしれません。
2つのテーブルがusers_statusありfriendshipsます。
users_statusテーブルには、フィールドと他のいくつかのフィールドがありuseridます。表には、、、、およびfriendshipsのフィールドがrequest_toあります。request_fromfriendship_status
基本的に私がやりたいのは、現在のユーザーと現在のユーザーの友達($ userid変数を使用してPHPで指定できます)によるすべてのステータス投稿を取得することです。
friendshipsこれがテーブル構造の例です。フレンドリクエストが送信されると、送信者と受信者のユーザーIDがfriendship_status 0でテーブルに配置されます。リクエストが受け入れられると、friendship_statusは1に設定され、これら2つはフレンドになります。
特にサイトは人間関係に基づいており、友情のつながりをチェックしなければならないことが頻繁に使用されるため、これは友情を決定するための最良の構造ではないかもしれないことを私は理解しています。
friend_requestsとのために2つの別々のテーブルを持っている方がおそらく良いでしょうfriendshipsか?もしそうなら、私はどのようにfriendshipsテーブルを構築/管理しますか?
php - ユーザー認証とアクセス許可のテーブル構造
ユーザー認証ライブラリを作成しています(演習用)。
私が追加していることの1つは、ユーザーを複数の役割に割り当てることができるということです。
各ロールには一連の権限があります(editUser、createUserなどを考えてください)。
ユーザーが2つのグループの一部であり、いずれかのグループにアクションを実行する権限がある場合、ユーザーはアクションを実行できます。
mysqlデータベースの観点からこの情報を保存するための最良の方法を考えています。
私が考えていた
基本的に、グループに権限がある場合は、group_permissionのエントリを取得します。
私の質問は、これがこれを行うための最も生産的な方法ですか、それともグループテーブルの列として各権限を持ち、group_permissionテーブルを削除する方が良いでしょうか?
php - 複数の受信者テーブル構造を持つPHP/MySQL PMシステム?
私は現在、ユーザーが複数の受信者にPMを送信できる必要があるWebサイト用のPMシステムを開発しています。当然、これは、メッセージがユーザーA、B、およびCに送信された場合、ユーザーCはメッセージを削除できますが、ユーザーAとBは削除しないことを意味します。問題は、そのようなシステムに最適なデータベーステーブル構造は何か、もちろん1つのメッセージの複数のコピーを回避することです。現在、私はこのテーブル構造について考えました:
これが唯一のテーブルになります。スレッドは、親IDに基づいて作成され(親IDがない場合は、メッセージがスレッドの最初になります)、タイムスタンプ順に並べられます。受信者は1つの列にコンマ区切りで保存され、WHEREユーザーID IN(msg.recipients)を使用してチェックされます。deleteby列には、readby列と同様に、メッセージを削除したユーザーのすべてのID(コンマ区切り)が含まれます。
ただし、これが理想的なテーブル構造であるかどうかはわかりません。コーディングを始める前に、改善のためのあなたの考えを聞きたいと思います。
sql-server - データベーステーブル構造ガイダンス
ユーザーがサイトを紹介できるWebアプリケーションを構築しようとしています。ユーザーは最大10人をサイトに紹介でき、最大7世代まで持つことができます。つまり、紹介されたユーザーがシステムを紹介した各ユーザーは、直接の紹介者と、新しく登録されたユーザーの紹介者を紹介した他のユーザーに関連付けられます。第7レベルまで。
下の図は、私が何を意味するのかを理解するのに役立ちます。

データベースにSQLServer2008を使用しています。
ruby-on-rails - RubyonRails-サーバーの実行中にエラーが発生しました
現在、Railsプロジェクトに取り組んでいます。Railsサーバーを起動しようとすると、次のエラーがスローされます。
私のテーブル名は「dbrick」です。また、db:dropをレーキしてdb:mirgrateをレーキしようとしました。移行中に次のエラーがスローされます。
これは私の移行ファイルです:
誰かがこれから私を助けてくれるなら、それはとても助けになるでしょう。前もって感謝します。
mysql - 2つのデータベース間でテーブルとストアドプロシージャの変更を検出するにはどうすればよいですか?
2つのデータベースがあります。1つは開発システム用で、もう1つは生産システム用です。
両方のシステム間の構造変化を検出することは可能ですか?(データなし、構造の変更のみを検出する必要があります)
現時点では、テーブルとストアドプロシージャの構造変更をすべて含むテキストファイルを更新しています。たとえば、デプロイシェルスクリプトでこれを自動的に実行したいと思います。
以下は、この問題を解決するための試みです。問題は、実行できる完全なSQLステートメントを取得できないことです。
php - 同様のタイプのデータの複数のテーブルに対する単一のテーブル
このアプローチに関する提案が必要です。以下の例を参照してください。
私は以下のようなテーブル構造を持っています
約 10 の同様のテーブルがあります。次に、別のアイデアがあり、次のような新しいテーブルを作成しました
このテーブルは上記のテーブルからすべてのデータを取得し、typetypeフィールドはそれがどのタイプのデータであるかを示します。例えば。typetype= 'jobtype' またはtypetype= 'roletype`
この 2 番目のアプローチは問題なく機能しますが、同じテーブルを 2 回参照して 2 つの異なるタイプの結合を作成するクエリを作成していたときに、typesクエリで単一のテーブルを複数回クエリする方が複数のテーブルよりも優れているかどうかを理解する必要があることに気付きました。クエリの例:
私が心配しているのはこのクエリだけではありません。プロジェクトはまだ初期の段階ですが、最終的には大きくなる予定ですので、今は基本的な構造を構築する時間があるので、正しく行っているかどうかについてコメントをいただければ幸いです。他のアプローチよりもどのアプローチをお勧めしますか?その理由は? ありがとう
mysql - この単純な php ポイント システムの mySQL テーブルをどのようにセットアップすればよいですか?
こんにちは、単純なポイント システム用に 2 つの mysql テーブルをセットアップする最良の方法を見つけようとしていますか?
私が持っているもの:
現在、私はポイントテーブルに書き込み、idフィールドを自動インクリメントさせています...そして、クエリでphpを使用してuser_idフィールドとポイントフィールドを設定しています。
これはこれを設定する「適切な」方法ですか?user テーブルの id がポイント テーブルの user_id フィールドと共通するのはどこですか? それとももっと良い方法がありますか?
ポイント テーブルに 2 つのフィールド (id、points) を用意してから、id を対応させる必要があるのではないかと思います。何がベストかわからない?私はここで何をすべきですか?
ユーザーのポイント フィールドを更新できる機能を 1 つまたは 2 つ使用できるようにしたいだけです... またはそれを読み取る...など。
助けてくれてありがとう!