急!!!数据库表设计问题?

xfile 2000-07-05 03:11:00
系统开发采用ASP+Access,其中有一数据库表不知如何设计,请教?

这个表包含若干(n)个企业的信息表:每个企业一条记录。


企业的信息字段包括:企业名称,产品种类,销售方式,地址,电话,传真.....等。

其中每个企业的地址,电话,传真.....等字段是唯一的
(即每个企业只有一个固定的地址,电话,传真.....等)

而每个企业的 "产品种类"和"销售方式"是多种的
(即每个企业可以有"多个产品种类(例如:苹果,鸭梨,香蕉等)"和"多种销售方式(例如:批发,零售,代销等)"
但"产品种类"和"销售方式"字段之间无任何联系)

欲实现的功能,主要是此表的查询!要求:

1.指定"企业名称"查询,要显示企业的所有信息,包括企业名称,产品种类,销售方式,地址,电话,传真.....等
其中,a.要把该企业的 "所有" 产品种类 和 销售方式都列出来。
b.企业名称可"模糊查询"(例如:键入"有限公司",要把所有包含"有限公司"的企业名称都显示出来,可能有多个)
这个b项单独实现较容易,但必须同时满足a项!

2.指定"产品种类"查询,要显示包含"产品种类"的所有企业的所有信息
同时满足(1)中的a项!

3.指定"销售方式"查询,要求同(2).

不知如何设计此表,同时满足条件1,2,3项

我也试过把此表分成3个表(把"产品种类"和"销售方式"提出来,分别与"企业名称"组成一个表),但好像也不行!

特此向高手求教!!!
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
skt642 2001-05-31
  • 打赏
  • 举报
回复
69609关注!
Wingsun 2000-07-05
  • 打赏
  • 举报
回复
我已经说过,要通过JOIN的方法来确保信息完整性。不如这样吧,我设计一个库发给你,你看一看就知道了,Access格式的。
xfile 2000-07-05
  • 打赏
  • 举报
回复
精确查询可以,但模糊查询......

例如,键入:"南京",查询到3个"南京XXX"的企业

其信息如我上面画的表所示(见上面的帖子)
问题有2

1.如何把3个企业("南京XXX"的企业)与
各自本企业的"产品种类"或"销售方法"对应起来?
即:企业1只与"企业1的产品种类"与"企业1的销售方法"相对应,
不会出现 企业1与"企业2的产品种类"与"企业3的销售方法" 对应的情况

2.如何把每个企业的各自“所有”的 "产品种类"或"销售方法"对应起来?
xfile 2000-07-05
  • 打赏
  • 举报
回复
Wingsun,你好
不知我上贴说明白了没有?
不过在03:37:00,你我同时发了贴,不过我得排在你前,喜喜!!
xfile 2000-07-05
  • 打赏
  • 举报
回复
精确查询可以,但模糊查询......

例如,键入:"有限公司",查询到3个"有限公司"的企业

其信息如我上面画的表所示(见上面的帖子)

如何把3个企业(包含"有限公司"名称的企业)与各自的"产品种类"或"销售方法"对应起来?

即 企业1只与"企业1的产品种类"与"企业1的销售方法"相对应,
不会出现 企业1只与"企业2的产品种类"与"企业3的销售方法" 对应的情况
Wingsun 2000-07-05
  • 打赏
  • 举报
回复
再你的表述中你已经将它分为了三个表,一个是企业基本信息(表A),另一个是企业的产品种类信息(表B),最后一个是企业的销售方式(表C).A是主表,B、C是附表,表A中有一个每一个企业的唯一标识(唯一索引),通过这个表识字段将三张表联系在一起。那么你的结构建好后,就是实现查询的事了。
1。Select * from A,B,C Where A.ID=B.OrgID And A.ID=C.OrgID And A.Name Like '*南京*'
2。Select * from A,B,C Where A.ID=B.OrgID And A.ID=C.OrgID And B.Name Like '*计算机*'
3。Select * from A,B,C Where A.ID=B.OrgID And A.ID=C.OrgID And C.Name Like '*零售*'
当然SQL语句不一定就是这样的,你还可以使用JOIN子句来获得结果。JOIN子句比较好,能获得一个比较好的结果,上面写法有时不严谨容易出错,建议你使用JOIN子句。

xfile 2000-07-05
  • 打赏
  • 举报
回复
谢谢你的答复。
但此方法我想过,类似于:

企业名称 产品种类 销售方法 电话 传真 .......

企业1 产品1,产品2,产品3 销售1,销售4 .......

企业2 产品1,产品3 销售2,销售3 .......

企业3 产品2,产品53 销售1,销售5 .......

.......等

但如何列出所有企业的"产品种类"或"销售方法".

而且,在 "产品种类"或"销售方法"时,采用 Like 和Find 方法来查找,
效率不是太高?
WHQ 2000-07-05
  • 打赏
  • 举报
回复
规范的做法是采用主子表,即企业是主表、产品与销售分别是子表,主子表用外键的关系连接。查询不存在任何问题。
leslielu 2000-07-05
  • 打赏
  • 举报
回复
用字符串,把销售方式按一个字段处理,可以中间用“,”分割每种方式。同样对产品种类。这样就在一个表内。查询也是对字符串找子串的问题

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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