《数据库应用系统实践》
课程报告
课题名称: 公园游客日流量管理系
统
专 业:
班 级:
学生姓名:
学 号:
指导教师:
一、需求分析
1.系统背景
为了方便公园的管理,我设计了公园游客日流量管理系统来满足需求。
2.系统功能结构(需包含功能结构框图和模块说明)
(1)功能结构图
(2)模块说明
系统分为游客、公园、日流量、管理员四个大的模块
每个模块包含相应信息。
3.系统功能简介
管理员可以对游客信息以及公园信息进行管理,游客可以查询相关信息。
二、概念模型设计
1.基本要素(符号介绍说明)
.基本要素(符号介绍说明)
① 矩形:表示实体。
② 椭圆形:表示属性,即实体的属性。
③ 菱形:表示联系。
④ 连线:该连线为没有方向的线段,分为连接实体与属性(矩形与椭圆形之间的连线)
和连接实体与联系名(矩形与菱形之间的连线);实体与联系名的连线旁需标注联系的类型,
如 1:1、1:n、m:n。
注意:在联系类型标注时请按照约定俗成的方式标注,一对多使用 1:n,多对多使用
m:n,如果超过两个实体请采用 m:n:p:q:
2.ER 图
三、逻辑模型设计
1.ER 模型向关系模型转换规则
① 实体转换为单独的关系模式。
② 一对一联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将
其中一个实体的之间加入到另外一个实体的关系模式中,作为外键。
③ 一对多联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将
n 实体的主键合并到 1 实体的关系模式中,作为 1 实体关系模式的外键。
2.转换后的关系模型
游客(游客账号,密码,公园编号)
公园信息(公园编号,公园类别,管理员账号)
管理员(管理员账号,密码)
日流量(公园号,人数)
3.关系模型优化(达到 3NF)
以上要素都属于第三范式
四、物理设计
1.创建数据库的 SQL 语句或截图
CREATE DATABASE park
ON PRIMARY
(NAME=YAN,
FILENAME='E:\SQLDate\park.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED)
LOG ON
(NAME=YAN_log,
FILENAME='E:\SQLDate\park.ldf',
SIZE=5MB,
MAXSIZE=UNLIMITED)
2.创建数据表:
CREATE TABLE 管理员(
管理员账号 CHAR(20) PRIMARY KEY,
密码 CHAR(20) NOT NULL
)
CREATE TABLE 公园信息(
公园编号 CHAR(20) PRIMARY KEY,
公园类别 CHAR(20) NOT NULL,
管理员账号 CHAR(20) NOT NULL
FOREIGN KEY (管理员账号) REFERENCES 管理员(管理员账号)
)
CREATE TABLE 游客(
游客账号 CHAR(20) PRIMARY KEY,
密码 CHAR(20) NOT NULL,
公园编号 CHAR(20) NOT NULL,
FOREIGN KEY (公园编号) REFERENCES 公园信息(公园编号)
)
CREATE TABLE 日流量(
公园号 CHAR(20) PRIMARY KEY,
人数 CHAR(20) NOT NULL,
FOREIGN KEY (公园号) REFERENCES 公园信息(公园编号)
)
五、数据库实施
1.粘贴所创建的数据库关系图
2.数据录入
INSERT INTO 管理员 VALUES ('001','001')
INSERT INTO 管理员 VALUES ('002','002')
INSERT INTO 管理员 VALUES ('003','003')
INSERT INTO 管理员 VALUES ('004','004')
INSERT INTO 管理员 VALUES ('005','005')
INSERT INTO 公园 VALUES ('001','相城公园','001')
INSERT INTO 公园 VALUES ('002','高新区公园','002')
INSERT INTO 公园 VALUES ('003','苏大附一院','003')
INSERT INTO 公园 VALUES ('004','淮安第二人民公园','004')
INSERT INTO 公园 VALUES ('005','苏州口腔公园','005')
INSERT INTO 游客 VALUES ('001','001','001')
INSERT INTO 游客 VALUES ('002','002','002')
INSERT INTO 游客 VALUES ('003','003','003')
INSERT INTO 游客 VALUES ('004','004','004')
INSERT INTO 游客 VALUES ('005','005','005')
INSERT INTO 日流量 VALUES ('001','001')
INSERT INTO 日流量 VALUES ('002','002')
INSERT INTO 日流量 VALUES ('003','003')
INSERT INTO 日流量 VALUES ('004','004')