我的数据库:
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;
这是我的数据库查询。我的任务是创建汽车数据库,其中包含有关员工和汽车的信息,数据库还必须包含关于哪辆汽车被出售和哪个工人出售的信息。
我的问题:如何存储销售,以便记录哪个员工销售了哪辆汽车。
发布于 2013-05-28 16:19:25
这是一个超过1NF方向的设计决策,您(或其他人)在开发之前必须考虑到这一点。为了回答您的具体问题,这是典型的情况,需要一个XRef表来将所有的客户-车辆关联以及其他的细节引用到solds。Ie:
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
这是一个可能的解决方案,将保存历史信息,哪辆汽车是由一名特定的员工出售,加上额外的细节,它可能对特定的业务感兴趣。
希望能帮上忙。
发布于 2013-05-28 16:01:58
可能会创建一张用来存放哪些员工出售哪辆汽车的桌子?
EmployeeSales
---------------
emp_id
prod_id
OtherInfo
发布于 2013-05-28 16:05:34
取决于你有多想去.你有个产品桌..。这是为您的汽车和每一辆车将被直接添加到这个?如果是这样的话,那么您只需在两个字段上进行调整即可。
在products表中,添加一个列"SoldBy“作为整数。这可能是到员工表雇员ID的链接。
如果价值被填充,它就被出售了,如果被出售了,则是员工出售它。
https://stackoverflow.com/questions/16796525
复制相似问题