《数据库系统原理》课程设计报告
3.3逻辑设计阶段
3.3.1 逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
3.3.2 将E-R图转换为关系模型
实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:
一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 具有相同码的关系模式可合并。
由于日志与评论的联系方式是1:n(一对多),可以将其之间的联系与n端实体合并,将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:
管理员:emlog_user(uid, username, password, nickname, photo, email, description)
日志:emlog_blog(gid, title, date, content, author, type) 评论:emlog_comment (gid,cid,comment,date)
(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属
-7-
《数据库系统原理》课程设计报告
性一起构成主码)
3.3.3模型优化
关系模式emlog_user, emlog_blog, emlog_comment 不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。
3.3.4数据库模式定义
表5.1 日志列表
列名
gid title date content author type
数据类型 mediumint(8) varchar(255) bigint(20) longtext int(10) varchar(20)
表5.2 评论管理表
列名 gid cid comment date
数据类型 mediumint(8) mediumint(8)
text bigint(20)
表5.3 管理员信息表
列名
uid username password nickname photo email description
可否为空 not null not null not null not null not null not null
说明
日志编号 日志标题 日志日期 日志内容 作者 日志类型
可否为空 not null not null not null not null
说明 日志编号 评论编号 评论内容 评论日期
数据类型 tinyint(3) varchar(32) varchar(64) varchar(20) varchar(255) varchar(60) varchar(255)
可否为空 not null not null not null not null not null not null not null
说明
管理员编号 管理员姓名 管理员密码 管理员昵称 管理员图片 管理员邮箱 管理员描述
-8-
《数据库系统原理》课程设计报告
3.3.5数据处理
系统功能模块图:
个人博客 后台 管理系统 日志管理 评论管理 用户管理 写日志 修改日志 删除日志 删除评论 回复 添加信息 修改信息 删除信息 图5-3 系统功能模块图
-9-
《数据库系统原理》课程设计报告
3.4物理设计阶段
3.4.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构; (2)对物理结构进行评价,评价的重点是时间和空间效率。
3.4.2数据存储方面
为数据库中各基本表建立的索引如下:由于基本表emlog_blog,emlog_comment和emlog_user的主码gid,cid和uid经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引。
3.4.3系统功能模块
用户管理 评论管理 个人博客后台管理系统 日志管理 写日志 修改日志 删除日志 分类 删除评论 回复 添加信息 修改信息 删除信息 图6-3 系统功能模块
-10-
《数据库系统原理》课程设计报告
4.数据库实施阶段
4.1建立数据库、数据表
4.1.1 建立数据库
create database bk;
4.1.2 建立数据表
(1)日志列表的建立: create table emlog_blog (
gid mediumint(8) primary key, title varchar(255) not null, date bigint(20) not null, content longtext not null, author int(10) not null, type varchar(20) not null, )
(2)评论管理表的建立: create table emlog_comment (
cid mediumint(8) primary key, gid mediumint(8) not null, comment text not null, date bigint(20) not null,
-11-