問題タブ [data-modeling]
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.
sql - タグまたはタグ付けに推奨される SQL データベース設計
タグ付けを実装する方法をいくつか聞いたことがあります。TagID と ItemID の間のマッピング テーブルを使用する (私には理にかなっていますが、スケーリングしますか?)、固定数の可能な TagID 列を ItemID に追加する (悪い考えのように思えます)、コンマで区切られたテキスト列にタグを保持する (サウンドクレイジーですが、うまくいく可能性があります)。誰かがスパース行列を推奨しているとさえ聞いたことがありますが、タグ名はどのように適切に成長するのでしょうか?
タグのベスト プラクティスを見逃していませんか?
ruby - カレンダー アプリケーションで定期的なイベントをモデル化する最良の方法は何ですか?
定期的なイベントをサポートする必要があるグループ カレンダー アプリケーションを構築していますが、これらのイベントを処理するために思いついたソリューションはすべてハックのようです。どれだけ先を見ることができるかを制限し、すべてのイベントを一度に生成できます。または、イベントを繰り返しとして保存し、カレンダーを先に見たときに動的に表示することもできますが、イベントの特定のインスタンスの詳細を変更したい場合は、通常のイベントに変換する必要があります。
これを行うためのより良い方法があると確信していますが、まだ見つけていません。特定のイベント インスタンスの詳細を変更または削除できる定期的なイベントをモデル化する最良の方法は何ですか?
(私は Ruby を使用していますが、それがあなたの答えを制限しないようにしてください。Ruby 固有のライブラリなどがある場合は、知っておくとよいでしょう。)
drawing - データベースモデルの図面を作成するための究極のプログラムは何ですか?
新しいプロジェクトに着手したときに最初に行うことの 1 つは、データベース モデルの設計です。モデルを視覚化するために、7 年前のバージョンの Smartdraw を使用します。多分それは何か新しいことの時です。データベース モデルの図面を作成するための究極のプログラムは何ですか。Smartdraw は Windows 専用です。UNIXでも使えるものはありますか?
database-design - それ自体に1対多
それ自体に対して 1 対多の関係を持つことができるエンティティのテーブルをどのように構築しますか? 具体的には、動物の繁殖を追跡するアプリに取り組んでいます。各動物には ID があります。サイアー ID とデイム ID もあります。そのため、種牡馬または貴婦人からその子孫まで、1 対多にすることが可能です。私は次のような傾向があります:
購入して繁殖用ストックに追加された動物については null 値を記録し、残りについては表に ID を記録します。
そう:
- この種の関係のモデリングについて説明している記事/Web ページを教えてもらえますか?
- ID は INT またはある種の文字列にする必要がありますか? INT の NULL は、動物がデータベースに親を持たないことを示しますが、特別なフラグ値を持つ文字列を使用して同じことを示すことができます。
これは、2 つのテーブルを使用してモデル化するのが最適でしょうか? 動物用の 1 つのテーブルと、親族関係のみを示す別のテーブルを意味します。
動物
ID INT NOT NULL 主キー
親族関係
ID INT NOT NULL 主キー 外部キー
SIRE_ID INT 主キー 外部キー
DAME_ID INT 主キー 外部キー
上記についてお詫び申し上げます。私の SQL は錆びています。思っていることが少しでも伝われば幸いです。
sql - 成績データベース表
オンライン成績表の学生の成績を格納するテーブルを定義しようとしています。やり方が決まらないけど。
成績は、三半期の科目ごとに与えられます。学期ごとに、平均成績、欠席した授業の合計数、および「回復成績」があります (英語での適切な用語はわかりませんが、平均を下回っている場合に成績を上げようとする追加のテストです)。 、 年間平均と最終的な「回復成績」も保存する必要があります。基本的には、次のようになります。
この情報を 1 つの DB 行に格納できます。各行は次のようになります。
などなど、しかし、学校がバイメスターまたは他の期間(3年前まではそうであったように)で評価することを決定した場合、これを維持するのは面倒だと思いました。
また、テーブル フィールドを一般化して、tinyint を使用して、それらの学年がどの学期であるか、または年度末であるかどうかをフラグ付けすることもできます。しかし、これはレポートカードを書くために多くのサブクエリを要求し、管理するのも大変です。
どちらが良いですか、それとも他に方法はありますか?ありがとう
php - MySQL データ モデリング
MySQL データベースで表現しなければならないデータに関して、現在次の問題があります。
車、ホテルの部屋、本など、それぞれ異なるデータを持つさまざまな種類の製品をサポートする必要があります。私のアプリケーションには、名前、説明、価格など、各製品に共通のデータがあります。
そこで、共通のデータを持ち、車、ホテルの部屋、書籍など、この製品テーブルを 1 対 1 の関係で参照するあらゆるテーブルを持つ製品テーブルを用意することを考えています。
問題は、製品テーブルをマスター テーブルとして使用することです。そのため、製品テーブルにクエリを実行し、それらのクエリで「自動的に」余分なデータを取得できるため、アプリケーションをより「一般的」にすることができます。
これをどのように達成できるかについてのアイデアはありますか? 私にはいくつかのアイデアがありますが、それが最善の方法だとは思いません。また、この問題が私が思っているよりも一般的である可能性があるときに、汚いハックに行きたくありません.
使用: PHP + Zend フレームワーク + MySQL。
asp.net - DataSet モデルに対する XML データ モデルの利点は何ですか?
私の現在の仕事では、.NET/SQL Server ベースの CMS システムを使用しています。一部の内部使用のためにいくつかのモジュールをカスタマイズしているときに、DataGrid/DataList/Repeater コントロールにバインドされた一般的な結果セットを介してデータを返す API ではなく、API が XML を返すことに少し驚きました。ノード/コレクションであり、XSLT 変換に渡され、その方法でページにレンダリングされました。
このようなモデルを使用する利点は何ですか?
python - GoogleAppEngineのブログタグ付けシステムに関するデータモデリングのアドバイス
以下に説明する単純なシステムを実現するためのデータモデルを構築するための効率的な方法について、誰かが概念的なアドバイスを提供するのではないかと考えています。非リレーショナルな方法で考えるのは少し新しいので、明らかな落とし穴を避けてみてください。基本的な原則は、正規化されたRDBMSの場合のように、「ストレージは安価で、データの重複を心配しないでください」ということだと理解しています。
モデル化したいのは次のとおりです。
0-nタグを付けることができるブログ記事。多くのブログ記事が同じタグを共有できます。データを取得するときに、タグに一致するすべての記事を取得できるようにします。多くの点で、stackoverflowでここで採用されているアプローチと非常によく似ています。
私の通常の考え方は、タグとブログ記事の間に多対多の関係を作成することです。しかし、GAEのコンテキストでは、これが行われている例を見てきましたが、これは費用がかかると考えています。
おそらく、記事エンティティの一部として各タグを含むListPropertyと、タグが追加および削除されたときにタグを追跡するための2番目のデータモデルを使用しますか?このように、関係は必要なく、ListPropertyは、一致するリスト要素が結果を返すクエリを引き続き許可します。
GAEでこれに取り組む最も効率的な方法に関する提案はありますか?
database - タグをデータベースに保存する最も効率的な方法は何ですか?
私の質問は、タグを検索してフィルタリングできるようにタグを保存する最も効果的な方法は何ですか?
私の考えはこれです:
これは遅すぎますか?より良い方法はありますか?
mysql - Null 可能な FK を持つ MySQL 複合 PK
まず、この質問の前に、私は本当にひどいデータ モデラーであると述べさせてください。私は危険なことだけを知っています。
作成中のテーブルには 4 つの外部キーがあり、そのうちの 2 つは同じテーブルを参照しています。そのテーブルの create ステートメントを次に示します。
この記事で気になるインデックスはfk_reputation_log_user
とfk_reputation_log_user1
です。すべてのレピュテーション イベントにはギバーがいますが、レシーバーがいるのは一部だけです。この FK を null 可能にしたいのですが、それを行う方法がわかりません。また、それが「許可」されているかどうかもわかりません。
また、すべての FK 列を主キーの一部にして、重複したログ エントリに対するデータベース レベルの保護を実現するというアイデアも考えましたが、PK 列は NOT NULL である必要があるため、これは機能しません。
詳細が必要な場合は、コメントにその旨を記載してください。ありがとう!
(はい、これは SO が持っているものとあまり似ていない評判システム用です)