問題タブ [entity-relationship-model]
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.
database - エンティティ関係モデルとリレーショナル モデルの違いは何ですか?
次の2つの違いしか見つけることができませんでした。
- ER モデルの関係は明示的に定義されますが、リレーショナル モデルでは暗黙的です。
- リレーショナル モデルでは、多対多の関係を実装する 2 つの外部キーを保持するために、中間テーブル (「ジャンクション テーブル」と呼ばれることが多い) が必要です。
ER図があるのに、なぜリレーショナルモデルを使用するのでしょうか?
relational-database - 関係量を減らすためのスーパークラス テーブルの作成
リレーショナルデータベースは直接継承をサポートしておらず、フォアイングキーは1つのテーブルしか参照できないため、ソリューションを即興で作成する必要がありました(これは一意であるとは思いません)。
私のリレーショナル データベースには、entityA、entityB1、entityB2 エンティティがあります。entityB1 と entityB2 は、同様の実際のオブジェクトを表しますが、スポーツ カーやファミリー カーのように属性番号が異なります。entityA が両方のエンティティと「購入」関係を作成できるとしましょう。 2つの別々のテーブルへの外部キーを持つ2つの別々のリレーションシップで実行できます。
これが私の解決策です。属性 B_ID のみを持つエンティティ B を作成しました。エンティティ B1 またはエンティティ B2 にレコードが挿入されている場合、レコードの主キーはエンティティ B を B_ID として挿入します。このようにして、エンティティ B1 とエンティティ B2 を独身関係。
この方法で entityB1 と entityB2 の属性にアクセスするには、追加の結合を使用する必要があるため、より良い方法を提案できますか?
visio - Visio での ERD リレーション
Visio で ERD を作成していますが、「動的多対多」/「動的 1 対多」矢印を取得してエンティティに参加できません。Visioのどこから入手できるか、誰にもわかりますか? まっすぐにリンクされた矢印を取得していますが、水平/垂直方向だけでなく、どこにでも柔軟に移動できる動的な矢印が必要です。
sql-server - 正規化されたデータを SQL Server テーブルに格納することの利点と欠点は何ですか?
競馬の時間を保存するように設計されたデータベースがあります。現在、私はRace
テーブルとテーブルを持っていRaceTimes
ます。それぞれに 5 つの分数時間と 5 つの分割時間があります。RaceTime
テーブルにはRace
外部キーも含まれます。
例えば:
RaceTime
テーブル:
各レースに 5 回と 5 つのスプリットがあるとすると、このアプローチは各レースに 10RaceTime
のレコードを生成します。あるいは、Fraction1、Fraction2....Fraction5 および Split1、Split2...Split5 を含むデータベース構造を作成することもできます。このアプローチでは、Race
レコードとレコードの間に 1 対 1 の一致がRaceTime
あり、RaceTime
テーブルの行数がはるかに少なくなります。
私の読書と調査により、最初のアプローチが望ましいと信じるようになりました。このデータはより正規化されていると思います。テーブルのサイズの違いで少し間があいていると思いますが、おそらく長いテーブルと広いテーブルの間のトレードオフです。
そうは言っても、私はこれらの問題に精通している人々からの意見を得たいと思っていました. ご意見ありがとうございます。
database - データベース: 弱いエンティティ セットの操作
私は現在、練習用の教科書から弱いエンティティ セットの例をいくつか調べていますが、フライトの予約を識別するためにCustomerエンティティを削除できる理由がわかりません。
E/R ダイアグラムは次のようになります http://prntscr.com/8kv2ok
完全な質問は次のようになります
- 問題 1) 図 4.29 の E/R ダイアグラムをリレーショナル データベース スキーマに変換してください [進捗状況: 問題なくこの問題を終了できました]
- 質問 2) 図 4.29 の予約の弱いエンティティ セットを説明できる別の E/R ダイアグラムがあります。予約は、フライト番号、フライト日、列、および座席によって一意に識別できることに注意してください。その場合、顧客は予約を識別するのを助ける必要はありません。この観点を反映するように 4.29 から図を修正し、得られた結果をリレーショナル スキーマに変換します。
私の質問は、予約エンティティとフライト エンティティの間の関係はどのようなものでしょうか? また、Customer エンティティを削除すると、特定の顧客を特定のフライトに識別する際に問題が発生しませんか?