请懂的朋友教一个表设计方案

mirrorspace 2009-05-19 02:37:01
初次使用表
做一表,遇到这样的问题,物品单上有很多商品,比如30个以上的,如果用表记录,将是一个物品占用一条记录,但是发货地和其它字段都相同,冗余太多,求教应该怎么样实现才好
发货地 品名 日期
北京 1
北京 2
…… 3
……
北京 30
这是一张单的,有好多单怎么设计表呢。
...全文
123 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sciland 2009-05-25
  • 打赏
  • 举报
回复
把重复多的字段独立出来,建立一个表,然后从总表中指过来,可以节省空间
ACMAIN_CHM 2009-05-21
  • 打赏
  • 举报
回复
ACMAIN_CHM 2009-05-21
  • 打赏
  • 举报
回复

那个 AUTO_INCREMENT=10000 可以可以设一个初值,比如说从10000开始?

http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#create-table
13.1.5. CREATE TABLE语法

AUTO_INCREMENT

表的初始AUTO_INCREMENT值。在MySQL 5.1中,本选项只适用于MyISAM和MEMORY表。InnoDB也支持本选项。如果引擎不支持AUTO_INCREMENT表选项,则要设置引擎的第一个auto-increment值,需插入一个“假”行。该行的值比创建表后的值小一,然后删除该假行。

对于在CREATE TABLE语句中支持AUTO_INCREMENT表选项的引擎,您也可以使用ALTER TABLE tbl_name AUTO_INCREMENT = n来重新设置AUTO_INCREMENT值。



ACMAIN_CHM 2009-05-21
  • 打赏
  • 举报
回复

MEDIUMINT 和 INT 有什么不同

http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types
11.2. 数值类型
MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。





mirrorspace 2009-05-21
  • 打赏
  • 举报
回复
谢谢楼上,我用了这个语句了,成功建表了!
有一点不明白,ID字段后的那个 MEDIUMINT 和 INT 有什么不同,我用的时候直接用的 INT ,那个 AUTO_INCREMENT=10000 可以可以设一个初值,比如说从10000开始?谢谢了
ACMAIN_CHM 2009-05-20
  • 打赏
  • 举报
回复

基本上设计都是按楼上这种思路进行的。

比如发票,一张发票上有多行。一般都是和楼上这种设计一样。把发票分成两张表。

发票头 (发票号,日期,客户,。。。)
发票明细 (发票号,明细号,商品,单价,数量,金额,。。。)



ACMAIN_CHM 2009-05-20
  • 打赏
  • 举报
回复

MySQL中也可以通过命令设置自动编号。AUTO_INCREMENT,

下面是MySQL帮助手册中的一个例子。
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
mirrorspace 2009-05-20
  • 打赏
  • 举报
回复
太谢谢了。
就是说在实现上,一个表记录货单(号),另一个表记录每张单的物品,然后在前表中设货单号为主键,在后表中引此列做为外键,如此可以降低冗余,结构清晰。

MYSQL,
我想使用自编的单号为主键,可以自动加1的,请教在MYSQL中要怎样的语句实现(以前用视窗只点点就行,现在都要语法语句,真不会)
phoenix_pj 2009-05-19
  • 打赏
  • 举报
回复
lz觉得这样可以满足需求吗?
phoenix_pj 2009-05-19
  • 打赏
  • 举报
回复
建3张表 发货地table , 物品单table, 商品table
发货地table的字段 : id name ……
物品单table的字段 : id 发货地table_id 商品table_id 日期……
商品table的字段: id name ……
phoenix_pj 2009-05-19
  • 打赏
  • 举报
回复
sf

56,914

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧