当前位置:首页 > 数据库设计的一般步骤及例子
一、数据库设计的一般流程
1.概述
包括课程设计选题、项目背景、课程设计报告编写目的、课程设计报告的组织等内容。
2.课程设计任务的需求分析
2.1设计任务 2.2设计要求
2.3需求描述的规范文档 3.概念结构设计
3.1概念结构设计工具(E-R模型) 3.2XXX子系统(局部)
3.2.1子系统描述 3.2.2分E-R图 3.2.3说明 3.3YYY子系统
3.3.1子系统描述 3.3.2 分E-R图 3.3.3 说明 ??
3.X 总体E-R图
3.X.1 E-R图的集成 3.X.2 总体E-R图
4.逻辑结构设计
4.1关系数据模式 4.2视图的设计 4.3优化
5.数据库物理设计与实施
5.1数据库应用的硬件、软件环境介绍 5.2物理结构设计 5.3 索引的设计 5.4建立数据库
5.5 加载数据库测试数据
6.数据操作要求及实现
6.1数据查询操作 6.2数据更新操作 6.3数据维护操作 6.4其他
7.数据库应用系统的实现 8.设计心得体会 9.参考文献
二、例子:学生选课管理系统
在高校教学管理系统中,学生选课管理是很重要的功能模块。
需求分析:
该系统应该能管理学校的教师信息、学生信息、专业信息、学校开设的所有课程信息、学生选修课程的信息等。选课系统主要满足三类用户的要求,这三类用户分别是教务处的系统管理员、教师和学生。他们所具有的操作权限以及操作内容是不同的。具体的需求分析如下: 系统管理员
1) 维护学生的个人基本信息,实现对学生个人信息的增、删、改等。 学生信息包括…
2) 维护教师的个人基本信息,实现对教师个人信息的增、删、改等。 教师信息包括…
3) 维护课程的个人基本信息,实现对课程个人信息的增、删、改等。 课程信息包括… 学生用户
1) 查询和修改个人信息。 2) 进行选课操作
3) 学生可以查看自己所选课程信息及以前所选课程的成绩信息。 教师用户
1) 查询和修改个人信息 2) 课程结束后,登记成绩
3) 教师可查看自己的教学安排。
数据库概念结构设计:
概念结构设计的常用工具是ER图。分下面几步完成。 1) 数据抽象(抽象出实体)。画出各实体属性图。
2) 设计分ER图。找出实体及其联系,并画出分ER图。 3) 合并分ER图,生成初步ER图。
4) 全局ER图。将各个实体的属性加入初步ER图,消除各局部可能存在的冲突(包括属性冲突、命名冲突和结构冲突),形成全局ER图。
数据库逻辑结构设计:
首先,将概念模型ER图中实体和联系转换为数据模型,在RDBMS中,就是转换为关系模式,并确定关系模式的属性和主码。 ER图向关系数据模型转换的基本规则如下:
? 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是
关系的键。
? 若实体间的联系是1:1的,则联系不单独转换为关系模式,需在两个实体对
应的关系模式中的任意一个中加入另一个关系模式的键和联系的属性。 ? 若实体间的联系是1:n的,则联系不单独转换为关系模式,需在n端实体对
应的关系模式中加入1端实体对应的关系模式的键和联系的属性。
? 若实体间的联系是m:n的,则将联系也转换成关系模式,其属性为两端实体
类型的码加上和联系的属性,而联系的键为两端实体码的组合。 其次,对具有相同主码的关系模式进行必要的合并。
关系优化
以规范化理论为指导,对关系数据模型进行优化。规范化到第三范式。
数据库物理设计与实施:
主要包括以下工作: ? 创建数据库
? 创建基本表,设置约束条件,管理基本表。 ? 创建和管理索引。(DBMS会为主键自动建立索引。建立索引来提高查询效
率。)
? 创建和管理视图。 ? 向数据库中输入数据。
? 用SQL语句 实现对数据查询、修改、删除等操作。(可以先思考需要怎么
操纵数据库,后面再实现)
? 编写存储过程、触发器等,并调试通过。(比如创建一个触发器当学生表中
某学号的学生被删除时,自动将选课表中的该选课记录删除)
数据库运行维护:
主要包括以下内容
? 数据库的备份与恢复
? 数据库的安全性与完整性控制 ? 数据库的性能监督、分析和改进
访问数据库,可以通过以下语句操纵数据。 1.对学生表的性别、年龄字段添加约束。 2.添加一个属性列“入学时间”。 3.修改“专业”的数据类型。
4.增加课程名必须取唯一值的约束。
5.在选课表的列“学号”、“课程号”上建立索引。 6.在选课表的“工号”、“课程号”上建立索引。
7.假设学生选课系统中有4个院系,为方便各个院系的教学管理人员查看本院系学生信息,每个院系分别建立一个学生视图。 8.建立一个反映学生选课情况的视图。
9.学生通过学号或姓名查询自己的选课信息。 10. 学生通过学号或姓名查询自己的基本信息。
11. 列出某个教师所授某门课程的成绩单,并按成绩升或降序显示。 12. 列出某个教师所教授的所有课程信息。 13. 查询某个学生已经获得的学分信息。
14. 统计某个教师某门课的平均分、最高分、最低分。 15. 添加一门新的课程。 16. 修改某门课的学分。
17. 创建删除触发器,当学生表中的某“学号”的学生被删除时,自动将选课表中的该学生的选课记录删除,即为学生表建立删除触发器,实现学生表和选课表的级联删除。
18. 创建删除触发器,当课程表中的某“课程编号”的课程被删除时,自动将选课表中的选修该课程的记录都删除,即为课程表建立删除触发器,实现学生表和选课表的级联删除。
19. 创建插入触发器,当往选课表中插入记录时,查询学生表中是否有该学号的学生,课程表中是否有该课程编号的课程,如果都有则可以插入,否则拒绝插入。
20. 备份“学生选课系统”数据库到本地磁盘E盘下的BACKUPDB文件夹下面。
sp_addumpdevice 'disk','学生选课系统_bak','E:\\BACKUPDB\\学生选课系统_bak'
BACKUP DATABASE 学生选课系统TO DISK='学生选课系统_bak'
共分享92篇相关文档