首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用什么数据库技术?

我应该使用什么数据库技术?
EN

Stack Overflow用户
提问于 2017-04-30 06:12:19
回答 1查看 32关注 0票数 0

我是个数据库新手。这是为一个课程准备的。我正在使用MySQL。我将使用PHP访问数据库。我已经有两张桌子了。TableA是针对产品的。TableB代表美国。我想要每个州每种产品的销售数据。我认为这是一种多对多的关系。

技术想法#1:

我曾考虑创建第三个表TableC,它有一个表示州名称的列和一个表示每个产品的列。我的问题是,我不知道如何在TableA中的产品行和TableC中的产品列之间创建关系。如果我将一个产品添加到TableA,我希望它自动在TableC中添加该列。

技术想法#2:

将产品列添加到TableB。与上面的问题相同。而且,这似乎是一个更糟糕的设计。

这些技术中的一种是做这件事的正确方法吗?还是有其他的技术?

EN

回答 1

Stack Overflow用户

发布于 2017-04-30 07:29:59

创建一个好的模式的艺术和科学围绕着找到放置东西的最佳位置,或者在许多情况下,最不方便的地方。

将销售数据放在一个用于存储地理信息的表中几乎总是错误的。将你的表集中在一个实体上,当那里的信息只有在与其他表相关时才存在的地方,制作一个连接两者的“连接表”,并将数据放在那里。

例如:

代码语言:javascript
复制
CREATE TABLE products (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255)
);

CREATE TABLE states (
  id INT PRIMARY KEY AUTO_INCREMENT,
  code CHAR(2),
  name VARCHAR(255)
);

CREATE TABLE state_sales(
  id INT PRIMARY KEY AUTO_INCREMENT,
  state_id INT NOT NULL,
  product_id INT NOT NULL,
  quantity INT
);

您可以稍后将其扩展为包括销售发生的日期/月/季度等内容。

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

https://stackoverflow.com/questions/43700957

复制
相关文章

相似问题

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