2016-04-06 6 views
0

私は自分のプロジェクトのために0NFのテーブルを設計しなければなりません、まずテーブルを0NF形式に設計し、正規化に進みERDを描く必要があります。しかし、私のテーブルの0NF形式を得ることは本当に難しい課題でした。再設計のために多くの時間が浪費されていましたので、データベース設計の経験が豊富な人に助けを求めることを考えました。私のデータベースのために適切なテーブルデザイン(0NF)を得る方法

私のデータベースはカーレンタルシステムです。システムは、顧客、車、従業員、各レンタルの詳細を記録し、会社は異なる場所に複数の支店を持ち、それぞれの支店に固有の(ナンバープレート番号で識別される)車を用意する必要があります。

  1. ある顧客が複数の貸レコードを持つことができます(つまり、別のマーチ.etc 1月にレンタルをした)が、1つのレンタルレコードは、顧客は、単一のレンタルで複数の車を予約することができます
  2. だけ一人の顧客に関連しています
  3. 各レンタルは、単一の予約代理店(従業員)を通じて行われます
  4. 従業員は、マネージャと予約代理店に分かれています。各ブランチには1つのマネージャがありますが、複数の予約エージェントがあります。
  5. 各ブランチは、そこにある複数の車を持っていますが、それぞれの車はこれまでのところ、私はこれらの0NFテーブルを作ってみた、彼らはしかし私には正しく見ていない単一の分岐で

に配置することができます。

(CarID、LicensePlateNo、作る、モデル、年式、色、走行距離、容量、座席、可用性、レート、BranchID、BranchLocation)

カスタマー(得意先、姓、姓、住所、ContactNo 、性別、DOB、NIC、RentalID、Da teRented、RentalCost)

エージェント(AGENTID、姓、姓、住所、ContactNo、性別、生年月日、NIC、MonthlyRentals、給与、マネージャーID、ManagerName、MangerLastName、ManagerAddress、ManagerContact、BranchID、BranchLocation)

レンタル(RentalID、DateRented、所要時間、RentalCost、ディスカウント、AGENTID、CarID、LicensePlateNo、作り、モデル)

支店(BranchID、BranchName、BranchLocation、ContactNumber、マネージャーID)

答えて

-1

私は社員テーブルとエージェントテーブルを交換したと私はそれに2つの新しい列(位置マネージャー)を追加しました。私はポジションのカラムに 'Agent'または 'Manager'のいずれかを保存する必要があります。従業員がエージェントの場合、マネージャーフィールドにマネージャーID(EmployeeID)が含まれている必要があります。従業員がマネージャである場合、マネージャのカラムはNULLにする必要があります。繰り返している他の列もすべて削除しました(例BranchLocation台車など)。)

車(CarID、LicensePlateNo、作る、モデル、年式、色、走行距離、容量、座席数、可用性、レート、BranchID)

顧客(得意先、姓、姓、住所、ContactNo、性別、DOB 、NIC、RentalID)

レンタル(RentalID、DateRented、所要時間、RentalCost、ディスカウント、社員、CarID)

支店(BranchID、BranchName、BranchLocation、ContactNumber、社員)

従業員(社員、姓、姓、住所、ContactNo、Gende DOB、NIC、MonthlyRentals、給与、支店ID、職種、管理者)

ありがとうございました

関連する問題