首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >所需SQL数据库设计建议

所需SQL数据库设计建议
EN

Stack Overflow用户
提问于 2013-05-28 16:00:35
回答 3查看 127关注 0票数 1

我的数据库:

代码语言:javascript
运行
复制
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;

这是我的数据库查询。我的任务是创建汽车数据库,其中包含有关员工和汽车的信息,数据库还必须包含关于哪辆汽车被出售和哪个工人出售的信息。

我的问题:如何存储销售,以便记录哪个员工销售了哪辆汽车。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-28 16:19:25

这是一个超过1NF方向的设计决策,您(或其他人)在开发之前必须考虑到这一点。为了回答您的具体问题,这是典型的情况,需要一个XRef表来将所有的客户-车辆关联以及其他的细节引用到solds。Ie:

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2013-05-28 16:01:58

可能会创建一张用来存放哪些员工出售哪辆汽车的桌子?

代码语言:javascript
运行
复制
EmployeeSales
---------------
emp_id
prod_id
OtherInfo
票数 4
EN

Stack Overflow用户

发布于 2013-05-28 16:05:34

取决于你有多想去.你有个产品桌..。这是为您的汽车和每一辆车将被直接添加到这个?如果是这样的话,那么您只需在两个字段上进行调整即可。

在products表中,添加一个列"SoldBy“作为整数。这可能是到员工表雇员ID的链接。

如果价值被填充,它就被出售了,如果被出售了,则是员工出售它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16796525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档