寻梦者-数据库设计说明书_第1页
寻梦者-数据库设计说明书_第2页
寻梦者-数据库设计说明书_第3页
寻梦者-数据库设计说明书_第4页
寻梦者-数据库设计说明书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

寻梦者-数据库设计说明书寻梦者收银系统文件状态: 草稿 正式发布 正在编辑文件标识:寻梦者-xmz-02-DATABASE当前版本:v1.0作者:寻梦者全体组员完成日期: 2013-10-25版 本 历 史版本/状态作者参与者起止日期备注v1.02013-10-092013-10-25细说 PHP第一版引言在使用任何数据库之前,都必须设计好数据库,包括将要存储的数据的类型,数据之间 的相互关系以及数据的组织形式。数据库设计是指对于一个给定的应用环境,构造最优的数 据库模式,建立数据库及其应用系统,使之能够有效地存储数据。在 CMS 项目中总是需要 处理大量的数据资源,这正是内容管理系统的基础和核心,为了合理地组织和高效率地存取 数据,目前最好的方式,就是建立数据库系统,因此在系统的总体设计阶段,数据库的建立与设计是一项十分重要的内容。由于数据库应用系统的复杂性,为了支持相关程序运行,数 据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。编写目的一个成功的管理系统,是由:50% 的业务 + 50% 的软件 所组成,而 50% 的成功软 件又有 25% 的数据库 + 25% 的程序 所组成,数据库设计的好坏是一个关键。如果把企 业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分,是一个系 统的根基。在XMZ收银系统的需求分析和系统概要设计的基础上,对数据进行分析和结构上进行设计。用于开发人员进行项目设计,以此作为编码的依据,同时也为后续的 数据库维护工作提供了良好的使用说明,也可以作为未来版本升级时的重要参考资料。数据 库设计的目标是建立一个合适的数据模型。这个数据模型应当是满足用户要求,既能合理地组织用户需要的所有数据,又能支持用户对数据的的所有处理功能。也要满足 寻梦者收银系统的要求,又能够在数据库管理系统中实现。并且要具有较高的范式,数据完整性好, 效益高,便于理解和维护,没有数据冲突。背景名称说明数据库名称xmz数据库系统M ySQL5.0客户端连接工具M ySQL Command Line Client项目任务提出者LAM P 兄弟连项目开发者寻梦者全体组员使用用户使用用户:细说 PHP读者及 LAM P 兄弟连学员注:这些数据库设计说明书文档范围只适用于寻梦者收银系统v1.0,作为 小组开发人员项目设计和学习的参考文档。定义系统 E-R 图:实体关系图参考资料A. 细说 PHP教程B. 寻梦者收银系统需求分析说明书C. 本项目相关的其他参考资料。外部设计外部设计是研究和考虑所要建立的数据库的信息环境,对数据库应用领域中各种信息要求和操作要求进行详细地分析,了解应用领域中数据项、数据项之间的关系和所有的数据操作的详细要求, 了解哪些因素对响应时间、可用性和可靠性有较大的影响等各方面的因素。标识符和状态数据库表前缀: xmz_ 用户名: root密码:123456 权限:全部有效时间:开发阶段说明:系统正式发布后,可能更改数据库用户/密码,请在统一位置编写数据库连接字 符串,在发行前请予以改正。本系统主要利用 PHP 作为前端的应用开发工具,使用 MySQL 作为后台的数据库,Linux作为系统平台。约定n所有命名一定要具有描述性,杜绝一切拼音、或拼音英文混杂的命名方式。n字符集采用 UTF-8,请注意字符的转换。n所有数据表第一个字段都是系统内部使用主键列,自增字段,不可空,名称为:表名(有意义缩写)_id,确保不把此字段暴露给最终用户。n除特别说明外,所有日期格式都采用 int 格式,无时间值。n除特别说明外,所有字段默认都设置不允许为空, 需要设置默认值。n所有普通索引的命名都是表名加设置索引的字段名组合,例如用户表 User 中 name 字段设置普通索引,则索引名称命名方式为 user_name;支持软件操作系统: Linux / Windows数据库系统:MySQL查询浏览工: PHPMyAdmin 命令行工具:mysql注意:mysql 命令行环境下对中文支持不好,可能无法书写带有中文的 SQL 语句,也 不要使用 PHPMyAdmin 录入中文。结构设计数据库的结构设计中有许许多多需要考虑的因素,如数据库的背景、应用环境等方面都 需要有深入的了解,只有一个对所有这些因素都很了解的数据库设计专家,他设计的数据库 才能易于使用和维护,并且具有高效和一致的特征。虽然这样只对数据库设计过程有一个概 要的了解,但是仍然有助于读者了解和掌握 SQL,使读者可以很好地分析数据间的相互关 系,在使用 SQL 进行报表的生成、子查询及视图等操作时,可以更好地进行操作。概念结构设计概念数据库的设计是进行具体数据库设计的第一步,概念数据库设计的好坏直接影响到 逻辑数据库的设计,影响到整个数据库的好坏。在 寻梦者收银系统的分析阶段,我们已经得 到了系统的数据流程图和数据字典,现在就是要结合数据规范化的理论,用一种模型将用户的数据要求明确地表示出来。概念数据库的设计应该极易于转换为逻辑数据库模式,又容易 被用户所理解。概念数据库设计中最主要的就是采用实体-关系数据模型来确定数据库的结 构。数据是表达信息的一种重要的量化符号,是信息存在的一种重要形式。数据模型则是数 据特征的一种抽象。它描述的是数据的共性,而不是描述个别的数据。一般来说,数据模型 包含两方面内容。(1) 数据的静态特性:主要包括数据的基本结构、数据间的关系和数据之间的相互约束 等特性。(2) 数据的动态特性:主要包括对数据进行操作的方法。在数据库系统设计中,建立反映客观信息的数据模型,是设计中最为重要的,也最基本 的步骤之一。数据模型是连接客观信息世界和数据库系统数据逻辑组织的桥梁,也是数据库 设计人员与用户之间进行交流的共同基础。概念数据库中采用的实体-关系模型,与传统的数据模型有所不同。实体-关系模型是面向现实世界,而不是面向实现方法的,它主要是用于描述现实信息世界中数据的静态特性。而不涉及数据的处理过程。但由于它简单易学,且 使用方便,因而在数据库系统应用的设计中,得到了广泛应用。实体-关系模型可以用来说明数据库中实体的等级和属性。以下是实体-关系模型中的重要标识: 在数据库中存在的实体 实体的属性 实体之间的关系实体和属性的定义按照定义的数据类型和属性创建实体和实体属性列表。实体形成表,如“用户”就是一 个实体,属性则为表中的列,如对应于实体“用户”属性包含“用户名”、“用户 ID”等。实体实体是实体-关系模型的基本对象,是现实世界中各种事物的抽象。凡是可以相互区别 开并可以被识别的 、物、概念等对象均可认为是实体。在本系统的数据库中,基本的实体列表如下: 员工 会员 订单 商品 分类 消息 公告 用户组 供货商 品牌 资金一般来说,每个实体都相当于数据库中的一个表。上面介绍的方框中实体都是强实体,每个实体都有自己的键。但是在实际领域中,经常存在一些实体,它们没有自己的键,这样的实体 称为弱实体。弱实体中不同的记录有可能完全相同,难以区别,这些值依赖于另一个实体(强实体)的意义,必须与强实体联合使用。在创建了实体之后,就可以标识各个实体的属性了。属性每个实体都有一组特征或性质,称为实体的属性。实体的属性值是数据库中存储的主要 数据,一个属性实际上相当于表中的一个列。由于篇幅有限这里就不列出所有实体的属性了,在绘制 E-R 图中,属性由椭圆包围, 在属性和它所属的实体间使用直线进行连接。对于每个实体,都有其确定的主属性(实体中的主属性实际上相当于表中的主键),就可 以惟一地确定实体的每个记录。最好是创建一个单独的属性作为主属性,在实体文章中可以 选择“文章编号”作为主属性,在绘制 E-R 图中,主属性在属性下加下划线来说明。注意:在数据库设计中,选择和设置列作为主键是一个关键步骤。E-R 图的绘制实体-关系图是表现实体-关系模型的图形工具,简称 E-R 图。这节会以 BroCMS 数据库 为例,给出一个完整的数据库的 E-R 图设计示例。图 29-3 给出了在 E-R 图中使用的各种元 素的图形符号。图 29-4 E-R 图中使用的各种元素的图形符号在 E-R 图中,实体之间的关系以菱形表示,关系中各方面的表通过直线与菱形中的关 系名称相连接。还要为每个关系命名一个“关系名称”,实体与关系相连的直线旁都根据关 系的属性标注有“1”或“N”。E-R 图为读者的数据库提供了一个不错的蓝图,可以分成三步进行:设计局部 E-R图;合并各局部 E-R 图,并解决可能存在的冲突,得到初步 E-R 图;修改和重构 初步 E-R 图,消除其中的冗余部分,得到最终的全局 E-R 图,即概念模式。设计全局 E-R模式的目的不在于把若干局部 E-R 模式形式上合并为一个 E-R 模式,而在于消除冲突使之成为能够被全系统中所有用户共同理解和接受的统一的概念模型。使设计人员仅从用户角度 看待数据及处理要求和约束,产生一个反映用户观点的概念模式。设计局部 E-R 模式先设计局部 E-R 图,也称用户视图。在设计初步 E-R 图时,要尽量能充分地把组织中 各部门对信息的要求集中起来,而不需要考虑数据的冗余问题。 局部概念模型设计是从用 户的观点出发,设计符合用户需求的概念结构。局部概念模型设计的就是组织、分类收集到 的数据项,确定哪些数据项作为实体,哪些数据项作为属性,哪些数据项是同一实体的属性 等。确定实体与属性的原则:能作为属性的尽量作为属性而不要划为实体;作为属性的数据元素与所描述的实体之间的联系只能是 1:n 的联系;作为属性的数据项不能再用其他属性加以描述,也不能与其他实体或属性发生联系。设计全局 E-R 模式综合各局部 E-R 图,形成总的 E-R 图,即用户视图的集成。所有局部 ER 模式都设计好 了后,接下来就是把他们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部 ER 模式,而且必须合理地表示一个完整、一致的数据库概念结构。图 10 XMZ的全局 E-R 图另外,在进入下一节之前,先回顾一下概念数据库的设计,其中主要是实体-关系模型 的建立。简要总结一下实体-关系模型建立的步骤:(1) 对需求进行分析,从而确定系统中所包含的实体。(2) 分析得出每个实体所具有的属性。(3) 保证每个实体有一个主属性,该主属性可以是实体的一个属性或多个属性的组合。 主属性必须能惟一地描述每个记录。(4) 确定实体之间的关系。经过这些步骤后,读者就可以绘制出 E-R 图。之后可以再看看数据库的需要,判断是 否获取了所需的信息,是否有遗漏信息等,读者可以再对 E-R 图进行修改,添加或删除实体与属性。全局 ER 模式的优化在得到全局 ER 模式后,为了提高数据库系统的效率,还应进一步依据处理需求对 ER 模式进行优化。一个好的全局 ER 模式,除能准确、全面地反映用户功能需求外,还应满足 下列条件:1. 实体类型的个数要尽可能的少2. 实体类型所含属性个数尽可能少3. 实体类型间联系无冗余29.4 逻辑结构设计逻辑结构设计的任务是把概念设计阶段建立的基本 E-R 图,按照选定的系统软件支持的数据模型,转化成相应的逻辑设计模型。也就是可以将实体、实体间的关系等模 型结构转变为关系模式,即生成数据库中的表,并确定表的列。下述讨论由实体-关系模型 生成表的方法。任务:将基本 E-R 图转换为与选用 DBMS 产品所支持的数据模型相符合的逻辑结 构。过程:1)将概念结构转换为现有 DBMS 支持的关系模型2)从功能和性能要求上对转换的模型进行评价,看它是否满足用户要 求;3)对数据模型进行优化29.4.1 ER 图向关系模型的转化在上面实体之间的关系的基础上,将实体、实体的属性和实体之间的联系转换为关系模 式。这种转换的原则是:一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系 的码。一个联系也转化为一个关系,联系的属性及联系所连接的实体的码都转化为 关系的属性,但是关系的码会根据关系的类型变化,如果是:1)1:1 联系,两端实体的码都成为关系的候选码2)1:n 联系,n 端实体的码成为关系的码3)m : n 联系,两端的实体码的组成为关系的码确定关系模式根据转换算法,E-R 图中有 9个实体类型,可以转换成 9个关系模式:1)会员(会员编号,会员帐号,会员密码,会员类型,会员等级,添加时间)2)员工(员工编号,员工帐号,员工密码,员工权限)3)订单(订单编号,订单商品, 会员编号,员工编号, 订单状态, 添加时间)4)商品(商品编号,商品名称,商品条码, 商品分类, 商品品牌, 商品库存,进货价格,销售价格,批发价格,生产日期,保质期)分类(分类编号, 分类名称,父分类编号)消息(消息编号,消息内容, 消息时间)7)用户组(用户组编号,用户组名称,用户组描述,用户管理权限,商品管理权限, 资金管理权限,系统管理权限)8)公告(公告编号,公告标题,公告内容, 发表时间)o供应商(供应商编号 ,供应商名称, 联系人, 联系电话, 电子邮箱,联系地址, 备注) 公告(公告编号,公告标题,公告内容, 发表时间,)11) 品牌(品牌编号,品牌名称, 品牌logo, 品牌描述, 官方网站 )12) 资金(资金编号,操作方式, 操作描述, 金额, 操作时间)消除冗余所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联 系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应当予以消 除。本系统的冗余数据和冗余关系已经在概念结构设计中处理过了,这里不再进行过多的叙 述。29.5 物理结构设计数据库设计的最后阶段是确定数据库在物理设备上的存储结构和存取方法,也就是设计 数据库的物理数据模型,主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表, 但是它们并不一定是一一对应的。本次项目开发采用的是 MySQL 建立数据库。29.5.1 设计数据表结构在利用 MySQL 创建一个新的数据表以前,应当根据逻辑模型和数据字典先分析和设计数据表,描述出数据库中基本表的设计。需要确定数据表名称,所包含字段名称,数据类型, 宽度以及建立的主键、外键等描述表的属性的内容。BroCMS 项目全部 12 个数据表结构设 计如下所示:表-1 用户(员工)表表名users 说明用于保存员工账户信息,权限信息等,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明user_idsmallint无符号/非空/自动增长主键索引员工编号user_namechar(30)无符号/非空/缺省唯一索引员工编号user_pwd char(50)非空/缺省员工编号allowsmallint非空/缺省0权限add_timeint非空/缺省0添加时间 补充说明命名说明:较长的字段名,单词之间用下画线接连表-2 会员表表名members 说明用于保存会员的相关信息,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明mem_idmediumint无符号/非空/自动增长主键索引会员编号mem_namechar(30)非空/缺省唯一索引会员名称mem_pwd varchar(50)非空/缺省会员密码mem_integralsmallint无符号/非空/缺省0会员积分mem_discounttinyint无符号/非空/缺省100会员折扣mem_moneydecimal(8,2)无符号/非空/缺省0.00账户资金real_namechar(4)非空/缺省真实姓名mem_sextinyint非空/缺省-1会员性别mem_phonechar(11)非空/缺省会员电话mem_emailchar(30)非空/缺省会员emailmem_qqchar(12)非空/缺省会员QQmem_addrvarchar(50)非空/缺省会员地址mem_ranktinyint无符号/非空/缺省0会员等级mem_statustinyint非空/缺省0会员状态is_disabledtinyint非空/缺省0是否禁用credit_valuesmallint非空/缺省0信用值is_on_credittinyint非空/缺省0是否赊账mem_commentvarchar(1000)非空/缺省会员备注add_timeint非空/缺省0添加时间 补充说明命名说明:较长的字段名,单词之间用下画线接连会员性别:有三个值,0表示女性;1表示男性;-1表示未知是否禁用:用于禁止会员使用该帐号的一个字段,它有2个值,0表示启用;1表示禁用信用值:用于存储会员信用值的字段,它作为是否给会员赊账的一个参考值,该值允许有负数值,表示用户的信用已经是负数了,赊账时应该引起注意是否赊账:该会员是否可以赊账,0表示不允许(默认);1表示允许会员备注:该字段是对会员的一些备注,对该会员的一些描述,如信用记录是否良好,喜欢什么啊等等,此字段是一个很重要的字段,因为对顾客的越了解,才有可能从会员身上挖掘出更多的价值,应该引起重视!商品表表名goodses 说明用于保存商品信息,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明goods_idmediumint无符号/非空/自动增长主键索引商品编号goods_namechar(50)非空/缺省唯一索引商品名称bar_code char(13)非空/缺省唯一索引条码spell_codechar(50)非空/缺省普通索引()拼音码cat_idtinyint无符号/非空/缺省0外键/普通索引()分类编号brand_idsmallint无符号/非空/缺省0外键/普通索引()品牌编号supp_idsmallint无符号/非空/缺省0外键/普通索引()供货商编号in_pricedecimal(8,2)无符号/非空/缺省0.00进货价格sell_pricedecimal(8,2)无符号/非空/缺省0.00销售价格produce_timeint无符号/非空/缺省0生产日期quality_timeint无符号/非空/缺省0保质期is_selltinyint非空/缺省1是否销售add_timeint非空/缺省0添加时间 补充说明命名说明:较长的字段名,单词之间用下画线接连是否停产:有两个值,0表示停产;1表示生产库存表表名goods_stock 说明用于保存每次进货信息的表,通过此表,对商品价格的走向等信息进行分析,得到对店铺有利的消息。表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明goods_idmediumint无符号/非空/缺省0主键索引商品编号goods_numtinyint无符号/非空/缺省0库存数量toplimittinyint无符号/非空/缺省0库存上限lowerlimittinyint无符号/非空/缺省0库存下限statustinyint非空/缺省0库存状态 补充说明命名说明:较长的字段名,单词之间用下画线接连库存状态:有三个固定的值,-1表示库存太少;0表示库存合适;1表示库存太多进货表表名add_goodses 说明用于保存每次进货信息的表,通过此表,对商品价格的走向等信息进行分析,得到对店铺有利的消息。表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明add_idmediumint无符号/非空/自动增长主键索引进货编号goods_sumtinyint非空/缺省0商品总数goods_amountdecimal(8,2)非空/缺省0.00进货总价sell_amountdecimal(8,2)非空/缺省0.00总销售价profit_sumdecimal(8,2)非空/缺省0.00总利润end_stocksmallint无符号/非空/缺省0最终库存commentvarchar(50)无符号/非空/缺省0备注 补充说明命名说明:较长的字段名,单词之间用下画线接连表- 进货详情表表名add_goods_detail 说明用于记录指定进货记录所进的具体商品有哪些,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明add_idmediumint无符号/非空/缺省0外键/普通索引()进货编号goods_idmediumint无符号/非空/缺省0外键/普通索引()商品编号in_pricedecimal(8,2)进货价sell_pricedecimal(8,2)销售价cat_idtinyint非空/缺省0分类编号supp_idsmallint非空/缺省0供货商编号in_numtinyint非空/缺省0进货量profitdecimal(5,2)非空/缺省0.00单个利润end_stocktinyint非空/缺省0最终库存commentvarchar(50)非空/缺省备注 补充说明命名说明:此表没有主键,直接用订单编号关联订单表,属于订单表的附表表-3 订单(销售)表表名order 说明用于保存订单,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明order_idmediumint无符号/非空/自动增长主键索引订单编号mem_idmediumint无符号/非空/缺省0外键/普通索引()会员编号user_id smallint非空/缺省0外键/普通索引()员工编号shop_sumtinyint非空/缺省0购买总数量ammountDecimal(8,2)非空/缺省0.00订单总价order_statustinyint非空/缺省1唯一索引订单状态add_timeint非空/缺省0销售日期 补充说明命名说明:较长的字段名,单词之间用下画线接连会员编号:指购买商品的会员(关联购买者)员工编号:指销售此次商品的员工(关联收银员)订单状态:有两个值,1表示已完成(默认);0表示未完成表-4 订单商品表表名order_goodses 说明用于指定订单所购买的商品,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明order_idmediumint无符号/非空/缺省0外键/普通索引()订单编号goods_idmediumint无符号/非空/缺省0外键/普通索引()商品编号shop_numtinyint非空/缺省0购买数量subtotaldecimal(8,2)非空/缺省0.00小计 补充说明命名说明:此表没有主键,直接用订单编号关联订单表,属于订单表的附表分类表表名categories 说明用于保存商品分类信息,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明cat_idtinyint无符号/非空/自动增长主键索引分类编号cat_namechar(30)无符号/非空/缺省唯一索引分类名称cat_desc char(50)非空/缺省分类描述parent_idtinyint非空/缺省0父分类编号parent_pathchar(30)非空/缺省父分类路径 补充说明命名说明:较长的字段名,单词之间用下画线接连品牌表表名brands 说明用于保存商品品牌信息,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明brand_idsmallint无符号/非空/自动增长主键索引品牌编号brand_namechar(30)无符号/非空/缺省品牌名称brand_desc char(50)非空/缺省品牌描述brand_logochar(30)非空/缺省品牌标志site_urlchar(50)非空/缺省官方网站 补充说明命名说明:较长的字段名,单词之间用下画线接连供货商表表名suppliers 说明用于保存供货商信息,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明supp_idsmallint无符号/非空/自动增长主键索引供货商编号supp_namechar(30)无符号/非空/缺省唯一索引供货商名称supp_commentvarchar(50)非空/缺省供货商备注supp_linkmanchar(5)非空/缺省联系人supp_phonechar(11)非空/缺省联系电话supp_addrvarchar(50)非空/缺省供货商地址 补充说明命名说明:较长的字段名,单词之间用下画线接连资金表表名moneys 说明用于记录店铺资金的支出和收入,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明money_idint无符号/非空/自动增长主键索引资金编号operate_waytinyint无符号/非空/缺省1唯一索引资金操作方式operate_descvarchar(50)非空/缺省操作描述amountdecimal(8,2)非空/缺省0.00操作金额operate_timeint非空/缺省0操作时间 补充说明命名说明:较长的字段名,单词之间用下画线接连操作方式:有两种操作方式,1表示收入(默认);0表示支出操作描述:对资金操作的具体描述,如“商品销售”、“商品货款”等操作金额:表示这次收入或支出的金额用户组表表名groups 说明用于保存供货商信息,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明group_idtinyint无符号/非空/自动增长主键索引用户组编号group_namechar(30)无符号/非空/缺省1唯一索引用户组名称group_descvarchar(50)非空/缺省用户组描述allowsmallint非空/缺省0.00用户组权限 补充说明命名说明:较长的字段名,单词之间用下画线接连消息表表名messages 说明用于保存系统的提示信息,如库存报警,商品过期时的提示消息,表引擎为MyISAM 类型, 字符集为 utf-8列名数据类型属性约束条件说明mess_idint无符号/非空/自动增长主键索引消息编号mess_contentvarchar(50)无符号/非空/缺省1唯一索引消息内容start_timeint非空/缺省提示开始时间mess_commentvarchar(30)非空/缺省0.00消息备注 补充说明命名说明:较长的字段名,单词之间用下画线接连提示开始时间:指的是消息开始提示的时间消息备注:用于备注是关于什么东西的提示消息 注意 :上述数据字典为在 MySQL 中呈 现的 方式 ,数据 类型 在其 它数 据库 产品 中部 分需 要改动。 29.5.2 创建数据表通过数据表结构的详细设计,再结合 MySQL 的创建数据表的语法,寻梦者收银系统 项目的 9 个数据表的完整建表 SQL 语句如下所示,默认表前缀“xmz_”:商品表:#如果商品表xmz_goodses存在就删除它drop table if exists xmz_goodses;#创建商品表xmz_goodsescreate table xmz_goodses(goods_id int unsigned not null auto_increment primary key comment 商品id,goods_name varchar(50) not null default comment 商品名称,cat_id smallint unsigned not null default 0 comment 分类id,brand_id smallint unsigned not null default 0 comment 品牌id,bar_code char(13) not null default comment 条码,stock smallint unsigned not null default 0 comment 库存,in_price decimal(8,2) unsigned not null default 0.00 comment 进货价,sell_price decimal(8,2) unsigned not null default 0.00 comment 销售价,trade_price decimal(8,2) unsigned not null default 0.00 comment 批发价,mem_price decimal(8,2) unsigned not null default 0.00 comment 会员价,produce_time int unsigned not null default 0 comment 生产日期,quality_time int unsigned not null default 0 comment 保质期,spell_code varchar(50) not null default comment 拼音码,supplier varchar(30) not null default comment 供货商)ENGINE=MyISAM DEFAULT CHARSET=utf8;分类表:#如果分类表xmz_categories存在就删除它drop table if exists xmz_categories;#创建分类表xmz_categoriescreate table xmz_categories(cat_id smallint unsigned not null auto_increment primary key comment 分类id,cat_name char(20) not null default comment 分类名称,parent_id smallint unsigned not null default 0 comment 父分类id)ENGINE=MyISAM DEFAULT CHARSET=utf8;用户表:#如果员工表xmz_users存在就删除它drop table if exists xmz_users;#创建员工表xmz_userscreate table xmz_users(user_id smallint unsigned not null auto_increment primary key comment 用户id,user_name char(30) not null default comment 用户名称,user_allow smallint unsigned not null default 0 comment 用户权限,user_pwd varchar(50) not null default comment )ENGINE=MyISAM DEFAULT CHARSET=utf8;会员表:#如果会员表xmz_members存在就删除它drop table if exists xmz_members;#创建员工表xmz_memberscreate table xmz_members(mem_id int unsigned not null auto_increment primary key comment 会员id,mem_name char(30) not null default comment 会员名称,mem_pwd varchar(50) not null default comment 会员密码,mem_number char(20) not null default comment 会员编号,mem_intengral smallint unsigned not null default 0 comment 会员积分,mem_rabate tinyint unsigned not null default 0 comment 会员折扣,mem_money decimal(9,2) unsigned not null default 0.00 comment 会员账户金额,mem_phone char(11) not null default comment 电话,add_time int unsigned not null default 0 comment 会员注册或添加时间,mem_email varchar(50) not null default comment Email,mem_qq varchar(20) not null default comment QQ,mem_address varchar(100) not null default comment 地址,mem_comment varchar(30) not null default comment 备注,mem_rank tinyint unsigned not null default 0 comment 会员等级,mem_status tinyint unsigned not null default 0 comment 会员状态,is_on_credit tinyint unsigned not null default 0 comment 是否可以赊账)ENGINE=MyISAM DEFAULT CHARSET=utf8;#如果会员表xmz_brands存在就删除它DROP TABLE IF EXISTS xmz_brand;#创建员工表xmz_brandsCREATE TABLE xmz_brands ( brand_id smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 品牌id, brand_name varchar(60) NOT NULL DEFAULT COMMENT 品牌名称, brand_logo varchar(80) NOT NULL DEFAULT COMMENT 品牌logo, brand_desc text NOT NULL COMMENT 品牌描述, site_url varchar(255) NOT NULL DEFAULT COMMENT 官方网站, sort_order tinyint unsigned NOT NULL DEFAULT 50 COMMENT 品牌排序, is_show tinyint unsigned NOT NULL DEFAULT 1 COMMENT 是否显示, PRIMARY KEY (brand_id), UNIQUE KEY brand_name (brand_name), KEY is_show (is_show) ENGINE=MyISAM DEFAULT CHARSET=utf8;订单表orde:DROP TABLE IF EXISTS orde; CREATE TABLE orde (id SM ALLINT(5) UNSIGNED NOT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论