在分析数据库之前,我想倡导大家说说自己开发数据库时应用的工具,erwin?Powerdesiger?or Wrod?或者有更好的,我自己用的是Powerdesiger,但是感觉不太好用,特别是在开发当中突然发现要在修改一下数据库,怎么办,我自己则是修改Powerdesiger中概念数据模型,重新生成物理数据模型,在重新生成数据库中的数据表。很麻烦不知道大家有没有什么更好的建议呢?
下面这张图片是这个电子商务系统网站的数据关系图(pd中的物理数据模型)
首先说明数据库为SQL 2005
看Product(产品)这张表
要说的就是原文是将图片存储到数据库中去,但是鉴于实际情况我决定还是存储在ImageProduct文件夹中,在数据库中值存入文件名称。
Products和Orders(订单),它们之间是个多对多的关系,设计时要变为一对一就要添加一个表OrderDetail(详细订单)
ShoppingCart(购物车),存储的是用户暂时放入购物车的产品(其实该系统实现购物车是存储到数据库+Cookies)
OrdersStatus(订单状态),该状态可以分为:接收到订单,正在准备货物,退掉,等等
Address(地址),EndUser(用户),ContactInformation(联系方式)
UserType(用户类型):分为管理员和会员
ProductCategory(产品类型):因为书中的产品是酒所以分为 Appetizer Wine,White Wine,Rose Wine,Red Wine,Desert Wine,Glasses,Accessories
注意这里所有的表中的编号在Sql是自动增量,如果哪位大哥知道在pd中怎么设置自动增量请告知小弟
其实个人认为这张数据图就可以说明一切问题了
这数据库不是主要的内容,大家可能认为很简单,主要是学习国外编程人员的编程思路,以及一些运用到的技巧,在后面的文章我会写出我体会到的知识与技巧。
另外想说说在学校与企业之间的差别,在与数据量,在学校做项目其实数据量都相对于很小,在企业数据量我个人认为是很大的。
例如:数据表我在公司做了个电力方面的项目数据库表有150多张,一张数据表中的数据项至少有10多项。在学校做个东西数据库顶多10张。。。
只能感叹学校所学习的知识跟不上外面的脚步。。。