問題タブ [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.

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

sql-server - タスクをダブルチェックする方法 (DB に保存する方法) は?

さまざまな種類のタスクとより多くのアイテムをさまざまなテーブルに格納する DB があります。これらのテーブルの多く (構造が異なる) では、アイテムをダブルチェックする必要があります。つまり、アイテムを「保存」することはできません (もちろん保存されます)。他の誰かがプログラムに参加して確認する前に。

どのアイテムが確認されたかを言う正しい方法は何ですか:

  1. これらの各テーブルには「IsConfirmed」列が必要です。その人がすべてのものを確認したい場合、プログラムはすべてのテーブルを調べて、チェックされていない項目のリストを作成します。
  2. 確認する必要がある行のテーブル名と ID を保持する 3 番目のテーブルが必要です。
  3. 上記の2つの醜いものよりも優れたアイデアがあることを願っています.
0 投票する
4 に答える
4364 参照

php - MySQL のメニューのテーブル構造

テーブル構造についてアドバイスが必要です。

メニューを動的に作成する必要があります。

3種類以上のメニューになります。

メニューの中には、複数レベルの構造を持つものがあります。

メニュー表を構成する最良の方法は何ですか?

  1. すべてのメニューが 1 つのテーブルに
  2. 各テーブルには 1 つのテーブルが必要です
  3. 他の??

動的に生成されたメニューの経験または一般的な慣行を教えてください。

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

sql - MySQL - オブジェクトへのアクセス許可の構造

ユーザー > オブジェクトのアクセス許可の理想的な構造は何でしょうか。

一般的なアクセス許可、またはユーザーがアクセスできるセクションusersuserGroupsおよびuserGroupRelationsまたはその性質の何かで構成される関連する投稿をたくさん見てきました。

私のシステムには、作成できるさまざまなオブジェクトが多数あり、それぞれをオンまたはオフにできる必要があります。たとえば、グループとサブグループを持つパスワード マネージャーを考えてみましょう。

各グループには一連のパスワードを含めることができます。ユーザーには、任意のグループに対する読み取り、書き込み、編集、および削除のアクセス許可を与えることができます。いつでも追加のグループを作成できます。

誰かがグループへのアクセス許可を持っている場合、私は彼にすべてのサブグループへのアクセス許可を持たせるか、そのグループだけに制限することができるはずです.

私の現在の考えは、ユーザーテーブルを作成してから、次のような列を持つアクセス許可テーブルを作成することです。

これは過去に機能していましたが、私が構築している新しいシステムは迅速に拡張できる必要があり、これが最適な構造であるかどうかはわかりません。また、グループのすべてのサブグループ権限を持つ人を持つという考えをより困難にします.

ユーザー/管理者の役割については別の表があります。これは、制御できるグループの下でユーザーの権限を変更できることを意味します。

それで、質問として、上記の構造を使用する必要がありますか?または、誰かが私をより良い方向に向けることができますか?


編集

別の方法として、すべてのタイプのオブジェクトに対して権限テーブルを作成する方法があります。

0 投票する
5 に答える
5179 参照

mysql - MySQL-この階層データを処理するための最良の方法は?

これは次のフォローアップです:MySQL-
階層内のすべてのサブアイテムを取得することは可能ですか?

任意の深さの隣接リストモデルテーブルがあります(ネストされたセットモデルに変換できるようになりました) 。

入れ子集合モデルの使用方法に関するMySQLデータを読みましたが、挿入、更新、削除などの基本的な機能を実行するのはますます複雑になり、非常に複雑になっているようです。

隣接リストモデルでトリガーシステムを使用して、各オブジェクトをその祖先に関連付ける祖先のテーブルを保持する方法を示す別のブログ。


今のところ、特定のノードのすべての子のリストを返して、それらを変更または削除できるようにする必要があります。この階層構造は、一度作成されると常に変更されるわけではありませんが、大量の階層構造が存在します。

私が見る3つの方法は次のとおりです。

  1. すべての子を返す再帰クエリを実行するストアドプロシージャを作成しました。

  2. 入れ子集合モデルに変換します。これには、複雑さを理解し、その中で追加、編集、削除するためのストアドプロシージャを作成する必要があります。

  3. すべてのデータを処理するために、挿入/削除トリガーで上記の祖先テーブルを作成します。

私が検討していない他の方法がある場合は、私に知らせてください。このリストを更新します。

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

polymorphic-associations - 単一継承または多形?

私は、ユーザーが販売しているさまざまな種類のアイテムの詳細なフィールドを含む求人広告を投稿できるWebサイトをプログラミングしています。ただし、最適なデータベーススキーマについて質問があります。

このサイトには多くのカテゴリ(自動車、コンピュータ、カメラなど)があり、広告の各カテゴリには独自のフィールドがあります。たとえば、車にはドアの数、メーカー、モデル、馬力などの属性があり、コンピューターにはCPU、RAM、マザーボードモデルなどの属性があります。

これらはすべてリストであるため、さまざまなカテゴリ(COMPUTERS、CARS、CAMERAS)ごとに親LISTINGSテーブルと異なる子テーブルを作成する多態的なアプローチを考えていました。各子テーブルには、LISTINGSTABLEにリンクするlisting_idがあります。したがって、リストがフェッチされると、関連付けられた子テーブルのリンクされた行によって結合されたLISTINGSから行がフェッチされます。

さて、このスキーマは優れたデザインパターンですか、それともこれを行うためのより良い方法がありますか?

私は単一の継承を検討しましたが、テーブルがすぐに大きくなりすぎるため、すぐに考えを一掃しましたが、別のジレンマが思い浮かびました-ユーザーがすべてのリストでグローバル検索を行う場合、それは各子にクエリを実行する必要があることを意味します個別にテーブル。100を超えるカテゴリがある場合はどうなりますか?非効率的ではないでしょうか。

また、各カテゴリのフィールドを定義するマスターテーブル(メタテーブル)と各リストのフィールド値を格納するフィールドテーブルがある別のアプローチを考えましたが、それはデータベースの正規化に反しますか?

Kijijiのようなサイトはどのようにそれを行いますか?

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

java - Javaでデータベースのテーブル構造を取得するには?

Javaでデータベースのテーブル構造を取得するには?

0 投票する
6 に答える
12262 参照

mysql - 個人メッセージのテーブル構造

ユーザー間の対話をプライベート メッセージに保存するのに最適なテーブル構造は何ですか? 各ユーザーは、多くの受信者に個人的なメッセージを送信できます。各メッセージには送信者用のフラグがあります: メッセージが削除されているかどうかです各メッセージには受信者用のフラグがあります: メッセージは未読、既読、または削除されています各メッセージは削除できます (フラグ「deleted」を設定)

PrivateMessages のメイン ページは次のようになります。

たとえば、User1 は Message1 を User2 と User3 に送信します。プライベート メッセージ ページで、2 つの同じメッセージを表示する必要があります。

  1. Message1 を user2 に送信しました
  2. Message1 を user3 に送信しました

次のステップ - User2 が Message2 に返信すると、同じページに次のように表示されます。

  1. user2 から Message2 を受信 (Message1 に返信)
  2. Message1 を user3 に送信しました

次のステップ、メッセージ 3 に返信します。

  1. Message3 を user2 に送信しました
  2. Message1 を user3 に送信しました

等々。

誰でもテーブル構造を提供できますか? MySQL 5.5 を使用しています

主な質問。各ダイアログの最後の削除されていないメッセージのみを取得するにはどうすればよいですか?

アップデート。

メインページのダイアログリストで、現在のユーザーと他のユーザーの間で表示する必要があります(ページネーション、Date DESCでソート)。

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

mysql - 電話番号を SQL データベースに保存する

携帯電話番号を格納するテーブルがあります

それ は残りの
国の
ネットワークを保存します

モバイル、またはマスクされた例は

今、

国は国と呼ばれるのが理にかなっている
ネットワークはネットワークと呼ばれる

しかし、あなたは残りを何と呼びますか?

データベースを再設計しているので、できるだけ正確に名前を付けたいと思っています。キャメルケースで複数の単語を使用できます。

何か案は?

また、

国コードは数字だけで、せいぜい 4 だと思います。
int型を使用する必要がありますか?
同じことがネットワークにも当てはまります。

残りはどうですか?

どれくらいの期間になるかわかりません...

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

sql - MySQL での効率的なテーブルの使用に関する質問

Web アプリのユーザーがさまざまな「イベント」にサインアップできるようにしたいと考えています。各イベントには、名前、イベントの日付、説明、イベントを説明する人物などの説明があります。イベントごとに個別のテーブルを作成する必要がありますか? または、イベントをイベント テーブルの行/列にする必要がありますか?

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

sql - SQL - 「単純な関係」を追跡する方法

これが何と呼ばれるか正確にはわからないので、誰かが私のタイトルを編集して、私の意味をよりよく説明できることを願っています. ただし、この設定を検討してください。ユーザーが「閉じる」をクリックするまでメッセージが表示される通知システムを作成したいと考えています。次に、このユーザーが通知を却下したことを「覚えておく」必要があるため、再度表示されないようにする必要があります。ここに私の現在の解決策があります

  • usersテーブルにはuid主キーとユーザー情報があります
  • notificationsテーブルにはnid主キーと通知テキストがあります
  • notifications_seen2 つの列を持つテーブル、uidおよびnid

誰かが通知を閉じるをクリックすると、私は彼らuidと通知を に保存nidnotifications_seenます。これは正常に動作しているように見えますが、phpMyAdmin にはnotifications_seen、インデックスがないことを示す巨大な赤いメッセージが表示されます。ただし、どちらの列も一意ではありません。まったく役に立たない列を追加してnotifications_seen、それを主キーと呼ぶべきでしょうか? これを行うより良い方法はありますか?