方法:
确定哪些属性参加字段设计:把所有关系中的属性集中列表,重复的字段只列一次,表中最终的这些属性需要设
计其相应的字段。把它们集中到一起进行设计的目的是:避免重复设计。
字段的命名:将每个属性转化成字段。根据命名约定确定字段的名称,
字段的类型和宽度:根据实际需要确定类型和宽度,在满足应用需求的前提下,尽量减少存储宽度。
字段设计结果:字段名称、类型和宽度
序号 属性名 字段名 类型 宽度(西文字符)
1 新闻代码 xwdm 整型,无符号,自动编号 9
2 标题 bt 变长字符型 50
3 时间 sj 日期时间型 (DBMS 自定)
4 人员代码 rydm 微整型,无符号,自动编号 2
5 状态代码 ztdm 微整型,无符号,自动编号 1
6 内容 nr 文本型 (DBMS 自定)
7 状态名称 ztmc 变长字符型 8
PHP 讲义 第 82 页 共 90 页
…………………………………………………………Page 83……………………………………………………………
8 帐号 zh 变长字符型 16
9 密码 mm 变长字符型 16
10 姓名 xm 变长字符型 8
11 联系方式 lxfs 变长字符型 20
12 权限代码串 qxdmc 变长字符型 7
13 权限代码 qxdm 微整型,无符号,自动编号 1
14 权限名称 qxmc 变长字符型 8
15 记录代码 jldm 整型,无符号,自动编号 9
16 操作机器IP czjq_ip 变长字符型 15
17 操作时间 czsj 日期时间型 (DBMS 自定)
n 第二步:表设计——确定数据表的名称,表中包括的字段,字段中的主键、外键等
方法:
确定表名:遵照命名约定,将关系名转化为表名。
确定表中的字段:根据原关系中的属性,选择相应的字段。
确定主键和外键。
表的设计
序号 关系名 表名 表中字段 主键 外键
1 新闻 xw xwdm;bt;sj;rydm;ztdm;nr xwdm rydm;ztdm
2 新闻状态 xwzt ztdm;ztmc ztdm
3 人员 ry rydm;zh;mm;xm;lxfs;qxdmc rydm qxdmc
4 权限 qx qxdm;qxmc qxdm
5 操作记录 czjl jldm;rydm;czjq_ip;czsj;xwdm;qxdm jldm rydm;xwdm;qxdm
n 第三步:确定数据库名称
xwxt (新闻系统)
n 第四步:确定用户和权限方案
用户和权限设计
序 用户帐号 用户密码 登录主 用户权限 说明
号 机
1 root 自行设定 自行设 全局全部权限 超级用户
定
2 user_xwxt user_xwxt localhost 仅对数据库 xwxt 内所有表具有 SELECT , 受限用户,程序访
% UPDATE ,DELETE ,INSERT 权限 问数据库用
localhost :服务器所在机器。
% :除localhost 以外的任何一台机器。
n 第五步:实现——在具体的DBMS 中实现上面四步的设计方案
选定的DBMS :我们选择MySQL 为实现上述物理方案设计的DBMS 。
以超级用户身份,通过phpMyAdmin ,快速实现上述四步设定的方案。
具体步骤:自上而下
第一步:创建数据库xwxt
第二步:依次创建5 个表,完成每个表中的字段设计,主键、外键设计。
注意:凡是外键,不必设计成自动编号型(auto_increment )。
第三步:创建用户user_xwxt ,设定其密码为:user_xwxt ,设定其权限为:对数据库xwxt 内所有表具有全部权限,
无全局权限。关于超级用户root ,若已存在,则不必创建。
这三步的实现,用MySQL 的脚本命令描述如下:
CREATE DATABASE ‘xwxt‘;
USE ‘xwxt‘;
CREATE TABLE ‘xw‘ (
PHP 讲义 第 83 页 共 90 页
…………………………………………………………Page 84……………………………………………………………
‘xwdm‘ INT( 9 ) UNSIGNED NOT NULL AUTO_INCREMENT ;
‘bt‘ VARCHAR( 50 ) NOT NULL ;
‘sj‘ DATETIME NOT NULL ;
‘rydm‘ TINYINT( 2 ) UNSIGNED NOT NULL ;
‘ztdm‘ TINYINT( 1 ) UNSIGNED NOT NULL ;
‘nr‘ TEXT NOT NULL ;
PRIMARY KEY ( ‘xwdm‘ )
);
CREATE TABLE ‘xwzt‘ (
‘ztdm‘ TINYINT( 1 ) UNSIGNED NOT NULL AUTO_INCREMENT ;
‘ztmc‘ VARCHAR( 8 ) NOT NULL ;
PRIMARY KEY ( ‘ztdm‘ )
);
CREATE TABLE ‘ry‘ (
‘rydm‘ TINYINT( 2 ) UNSIGNED NOT NULL AUTO_INCREMENT ;
‘zh‘ VARCHAR( 16 ) NOT NULL ;
‘mm‘ VARCHAR( 16 ) NOT NULL ;
‘xm‘ VARCHAR( 8 ) NOT NULL ;
‘lxfs‘ VARCHAR( 20 ) NOT NULL ;
‘qxdmc‘ VARCHAR( 7) NOT NULL ;
PRIMARY KEY ( ‘rydm‘ )
);
CREATE TABLE ‘qx‘ (
‘qxdm‘ TINYINT( 1 ) UNSIGNED NOT NULL AUTO_INCREMENT ;
‘qxmc‘ VARCHAR( 8 ) NOT NULL ;
PRIMARY KEY ( ‘qxdm‘ )
);
CREATE TABLE ‘czjl‘ (
‘jldm‘ INT( 9) UNSIGNED NOT NULL AUTO_INCREMENT ;
‘rydm‘ TINYINT( 2 ) UNSIGNED NOT NULL ;
‘czjq_ip‘ VARCHAR( 15 ) NOT NULL ;
‘czsj‘ DATETIME NOT NULL ;
‘xwdm‘ INT( 9 ) UNSIGNED NOT NULL ;
‘qxdm‘ TINYINT(1 ) UNSIGNED NOT NULL ;
PRIMARY KEY ( ‘jldm‘ )
);
GRANT SELECT ; INSERT ; UPDATE ; DELETE ON ‘xwxt‘。 * TO 〃user_xwxt〃@〃%〃 IDENTIFIED BY
〃user_xwxt〃;
FLUSH PRIVILEGES ;
GRANT SELECT ; INSERT ; UPDATE ; DELETE ON ‘xwxt‘。 * TO 〃user_xwxt〃@〃localhost〃 IDENTIFIED BY
〃user_xwxt〃;
FLUSH PRIVILEGES ;
将这些脚本命令存成。脚本文件(默认是。sql 文件,也可以是。txt 文件),使用客户端工具mysql。exe 或phpMyAdmin
执行脚本文件,可在MySQL 中迅速完成物理设计的实现。
(2 )功能的分析与设计
1)功能模块设计
确定功能模块的程序组成,及模块间调用关系。
序号 模块编号 功能模块名称 程序名
PHP 讲义 第 84 页 共 90 页
…………………………………………………………Page 85……………………………………………………………
1 q1 最新新闻 q1。php 浏览最新新闻标题,前台首页
2 q2 所有新闻 q2。php 浏览所有新闻标题
3 q3 查看新闻 q3。php 浏览某条新闻全文,是q1 和q2 的公共调用模块
4 h1 登录后台 h1。php 登录信息输入界面→h1_chuli。php 登录信息验证程序
5 h 后台首页
小说推荐
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- JSP入门教程(DOC格式)
- -Page 1-jsp 入门教程0.0.1版权(c 2008 叮咚老菜鸟叮咚对文档的任何问题或建议,请给叮咚发邮件或留言。QQ:475784337QQ 群:51239192MSN:lingirl6@hotmail.EMAIL:lingirl6@hotmail.2008-02-28 20:05:061
- 其他
- 最新章:第37章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 其他
- 最新章:第17章
- VC语言6.0程序设计从入门到精通
- -Page 1-Visual C 6.0 程序设计从入门到精通求是科技 王正军 编著
- 其他
- 最新章:第136章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 其他
- 最新章:第26章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- Java编程思想第4版[中文版](PDF格式)
- -Page 1-Page 2《Thinking In Java》中文版作者:Bruce Eckel主页:http/BruceEckel.编译:Trans Bot主页:http/memberease~transbot致谢-献给那些直到现在仍在孜孜不倦创造下一代计算机语言的人们!指导您利用万维网的语言进
- 其他
- 最新章:第295章
- 超级程序员
- 《超级程序员》作者:星若云第一章 毕业,北漂“为什么选择计算机这个专业“很多奇迹都是在计算机这个行业发生,你根本不知道,下一刻,什么技术会出现,什么人又成了世界首富“谈谈你对这个专业的看法,以及你的理想“我要做一名超级程序员,随心所欲,什么样的东西都能用程序来实现”简单的对话在一所大学的录音室里出现
- 都市言情
- 最新章:第472章