20.2 数据库分析
一个成功的网站系统由50%的业务+50%的软件组成,而50%的成功软件又由25%的数据库+25%的程序组成,所以数据库设计的好坏是一个关键。
MySQL Workbench是MySQL的一个著名的建模工具。使用Workbench建立MySQL模型是很方便的。
message系统需要的数据库表包含以下字段:id,title(标题),content(内容),createdtime(创建时间),updatedtime(更新时间)。
product系统需要的数据库表包含以下字段:id,name(名称),shortdescription(简短介绍),description(介绍),type(类型),price(价格),unit(单位),imagelink(图片链接)。
order系统需要的数据库表包含以下字段:id,product_id(产品id),customer_id(客户id),number(数量),days(天数),createdtime(创建时间),special(特殊要求)。
customer系统需要的数据库表包含以下字段:id,name(名称),gender(性别),phone(电话),email,type(类型)。
在Workbench中的数据库视图如图9-3所示。
通过导出工具得到以下代码:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; - ----------------------------------------------------- -- Table 'goodone'.'message' -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS 'goodone'.'message' ( 'id' INT(10) NOT NULL AUTO_INCREMENT , 'title' VARCHAR(45) NOT NULL , 'content' VARCHAR(650) NOT NULL , 'createdtime' VARCHAR(45) NULL , 'updatedtime' VARCHAR(45) NULL , PRIMARY KEY ('id') ) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; -- ----------------------------------------------------- -- Table 'goodone'.'product' -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS 'goodone'.'product' ( 'id' INT(10) NOT NULL AUTO_INCREMENT , 'name' VARCHAR(45) NULL , 'shortdescription' VARCHAR(45) NULL , 'description' TEXT NULL , 'type' VARCHAR(45) NULL , 'price' INT(10) NULL , 'unit' VARCHAR(45) NULL , 'imageslink' VARCHAR(45) NULL , PRIMARY KEY ('id') ) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; -- ----------------------------------------------------- -- Table 'goodone'.'order' -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS 'goodone'.'order' ( 'id' INT(10) NOT NULL AUTO_INCREMENT , 'product_id' INT(10) NULL , 'customer_id' INT(10) NULL , 'number' INT(10) NULL , 'days' INT(10) NULL , 'createdtime' VARCHAR(45) NULL , 'special' VARCHAR(45) NULL , PRIMARY KEY ('id') ) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; -- ----------------------------------------------------- -- Table 'goodone'.'customer' -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS 'goodone'.'customer' ( 'id' INT(10) NOT NULL , 'name' VARCHAR(45) NULL , 'gender' ENUM('male','female') NULL , 'phone' VARCHAR(45) NULL , 'email' VARCHAR(45) NULL , 'type' VARCHAR(45) NULL , PRIMARY KEY ('id') ) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
在MySQL中执行,便可以得到项目需要的数据库和表格,如图20-4所示。
共有条评论 网友评论