私はオンライン ショッピング Web アプリケーションを構築しています。私は4つのエンティティを持っています:
- お客様
- 顧客ID
- 名前
- 住所
- 電話
- カテゴリー
- カテゴリ ID
- カテゴリー
- 製品
- 製品番号
- 名前
- 価格
- カテゴリー
- 注文
- オーダーID
- 顧客ID
- 製品番号
- 量
- 額
適切な関係 (主キーと外部キー) が維持されるようにクラスを設計するのを手伝ってください。私はそれをやってみましたが、データベース自体が不整合を引き起こす外部キーを作成していました。
私のクラス:
public class Category
{
public int CategoryId { get; set; }
public string CategoryName { get; set; }
}
public class Customer
{
public int CustomerID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
public class Order
{
public int CustomerID { get; set; }
public int OrderID { get; set; }
public DateTime PurchaseDate { get; set; }
public string ProductName { get; set; }
public List<Product> Products { get; set; }
public List<Customer> Customers { get; set; }
}
public class Product
{
public int ProductId{ get; set; }
public string ProductName { get; set; }
public int Price { get; set; }
public string Category { get; set; }
public List<Category> Categories { get; set; }
}
問題は、何を主キーと外部キーにするか、またその方法を決定することです。現在、データベースはテーブルにorder_orderid
フィールドProduct
を外部キーとして追加しています。