1

私のデータベース:

CREATE DATABASE `cars` /*!40100 DEFAULT CHARACTER SET latin1 */;

DROP TABLE IF EXISTS `cars`.`employees`;
CREATE TABLE  `cars`.`employees` (
  `emp_id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(40) DEFAULT NULL,
  `last_name` varchar(40) DEFAULT NULL,
  PRIMARY KEY (`emp_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `cars`.`products`;
CREATE TABLE  `cars`.`products` (
  `prod_id` int(11) NOT NULL AUTO_INCREMENT,
  `prod_name` varchar(40) DEFAULT NULL,
  `prod_price` varchar(40) DEFAULT NULL,
  PRIMARY KEY (`prod_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

それが私のデータベースクエリです。従業員と車に関する情報を含むCARSのデータベースを作成するタスクがあります。また、データベースには、販売された車と販売された労働者に関する情報が含まれている必要があります。

私の質問:どの従業員がどの車を販売したかを記録するために、販売を保存するにはどうすればよいですか。

4

3 に答える 3

1

これは、開発前にあなた (またはあなたの組織の他の誰か) が考慮しなければならない 1NF の方向性に関する設計上の決定です。具体的な質問に答えるために、これは、顧客と車両のすべての関連付けと、販売に関する追加の詳細をまとめるために XRef テーブルが必要な典型的なケースです。すなわち:

Sale table: 
-----------------------------
sale_id autonumeric(1,1) PK
, emp_id int FK
, prod_id int FK
, price decimal(10,2)
, sold_date datetime(2)
, other_interesting_sale_details

これは、特定の従業員によって販売された車に関する履歴情報に加えて、特定のビジネスにとって関心のある追加の詳細を保持する 1 つの可能なソリューションです。

お役に立てば幸いです。

于 2013-05-28T16:19:25.090 に答える