《数据库-学生管理系统设计》由会员分享,可在线阅读,更多相关《数据库-学生管理系统设计(21页珍藏版)》请在金锄头文库上搜索。
1、版权:西安电子科技大学 赵呈亮数据库大作业学生管理系统组 长:赵呈亮 00101303设计成员:汤雨 00101304 桑迪 00101308 指导老师:祁建军 设计时间:2013/6/20 版权:西安电子科技大学 赵呈亮组长:赵呈亮 00101303主要任务:1、根据语义画出分 E-R 图,并集成基本 E-R 图将 E-R 图转换为关系模式,并进行模式优化2、linux 中 MYSQL 下编写 SQL 代码创建视图、触发器、存储过程、游标等3、全部文档撰写4、答辩主讲主要成员 1:汤雨 00101304主要任务:1、 linux 环境下用 PHP 语言编写前端,实现查 询、修改、插入等操作的
2、可视化。2、参与后台 sql 代码编写的讨论3、带电脑参与答辩、展示。主要成员 2:桑迪 00101308主要任务:1、根据优化后的关系模式创建基本表,并填充 数据。2、参与优化模式讨论。版权:西安电子科技大学 赵呈亮学生管理系统-数据库设计 7 步(1) 规划阶段建立数据库的必要性和可行性分析。(2) 需求分析全面、准确了解用户的实际要求。(3) 概念结构设计设计数据库的概念结构,形成一个独立于具体 DBMS 的概念模型。今要建立关于系、学生、班级、学会等诸信息的一个关系数据库。一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每
3、个学会有若干学生。学生参加某学会有一个入会年份。描述各个实体的属性(加下划线者为主码)如下:学生:学号、姓名、年龄、系名、班号、宿舍区。班级:班号、专业名、入校年份、系名、人数。系 :系号、系名、系办公室地点、人数。学会:学会号、学会名、成立年份、地点。1、实体及属性 E-R 图描述在设计 E-R 图时,能作为属性的就不作为实体,这样有利于 E-R 图的简化。studentsnoclassdept stuunionsnamesage sdname clyearclno clmjnamecldnamednamedwkplace dtotaldnosclnosdorcltotaluno uname
4、ubiryearuplace版权:西安电子科技大学 赵呈亮2、设计子 E-R 图确定实体与属性的两条准则:(1) 属性是不可再分的数据项,属性不可以再有属性;(2) 属性不能与其他实体发生联系,联系只能存在于实体与实体之间。nnm1 studentsnosnamesage sdnamesdorclassclyearclnoclmjnamecldnamecltotalbelongstuunionstudentsjoin joinyearsnosnamesage sdnamesclnosdoruno unameubiryearuplace版权:西安电子科技大学 赵呈亮student 属性sdor和
5、dept有联系,故将sdor属性转变成实体dormitory;同理,class 属性clmjname与 dept 有联系,故将clmjname转变成实体major。n 11 1p111studentdeptbelongclassmajoropenlivedormitorydeptestablishsnosnamesagesclnodnamedwkplacedtotaldnodorplacednamedwkplace dtotaldnoclyearclnocldnamecltotalmjname版权:西安电子科技大学 赵呈亮3、视图集成1)视图集成的作用:一方面可以完整地描述企业的信息及其联系,
6、另一方面在集成过程中可以 解决冲突和消除冗余。2)视图集成中 E-R 图之间的三类冲突:(1) 属性冲突:同一属性可能会存在于不同的分 E-R 图,由于设计人员不同或是出发点不同,对属性的类型、取值范围、数据单位等可能会不一致,这些属性对应的数据将来只能以一种形式在计算机中存储,这就需要在设计阶段进行统一。 (2) 命名冲突:相同意义的属性,在不同的分 E-R 图上有着不同的命名(异名同义) ,或是名称相同的属性在不同的分 E-R 图中代表着不同的意义(同名异义) ,这些也要进行统一。(3) 结构冲突:同一实体在不同的分 E-R 图中有不同的属性,同一对象在某一分 E-R 图中被抽象为实体而在
7、另一分 E-R 图中又被抽象为属性,需要统一。3)视图集成消除冗余注意点:1. 在 E-R 图的综合的过程中,同名实体只能出现一次,还要去掉不必要的联系,且不能出现环路,这样才能消除冗余数据和冗余联系。2. 一般来说,从总体 E-R 图必须能导出原来所有局部 E-R 视图,包括所有的实体、属性和联系。版权:西安电子科技大学 赵呈亮考虑冲突和冗余如下:mnn1n 111p11 1studentstuunionsjoinjoinyeardeptbelongclassbelongclyearclnoclmjnamecldnamecltotaldnamedwkplace dtotaldnounouna
8、me ubiryearuplacesnosnamesagesdnamesclnosdormajoropenestablishmjnamelive dormitory dorplace版权:西安电子科技大学 赵呈亮stuunion消除冲突和冗余后得基本 E-R 图如下:stuunion ( uno, uname, ubiryear, uplace)Mjoin (uno, sno, joinyear)Nstudent ( sno , sname, sage, clno) n1 class ( clno, clyear, cltotal)1 1major ( mjname, clno, dno)p1
9、1 1studentsjoinjoinyeardeptclassbelongclyearclnocltotaldnamednounouname ubiryearuplacesnosnamesagelive dormitory dorplacemajoropenestablishmjname版权:西安电子科技大学 赵呈亮dormitory ( dorplace, dno)dept ( dno, dname, dwkplace, dtotal)(4) 逻辑结构设计逻辑结构设计的任务就是将 E-R 图转换为关系模式。随后应该进行的工作是对关系模式的规范化和优化,以及面向应用程序设计的用户子模式设计。
10、 逻辑结构设计过程示意图:特 定DBMS的 特点 与 限 制优 化方 法 如 规 范 化理 论逻 辑 结 构 设 计转 化 为 一 般逻 辑 模 型转 化 为 特定DBMS支 持下 的 逻 辑 模 型优 化 模 型概 念 结 构设 计 数 据 库 物 理设 计基 本E-R 图 转 换 规 则 逻 辑模 型1、E-R 图向关系模式的转换1). 一个实体型转换为一个关系模式 实体型的属性转换为关系的属性 实体标识符转换为关系的码2). 联系的转换a) 一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 转换为一个独立的关系模式 关系的属性:与该联系相连的各实体的标
11、识符以及联系本身的属性 关系的候选码:每个实体标识符均是该关系的候选码dwkplace dtotal版权:西安电子科技大学 赵呈亮 与某一端对应的关系模式合并 合并后关系的属性:加入另一关系的码和联系本身 的属性 合并后关系的码:不变b) 一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。 转换为一个独立的关系模式 关系的属性:与该联系相连的各实体的标识符以及 联系本身的属性 关系的码:n 端实体的标识符 与 n 端对应的关系模式合并 合并后关系的属性:在 n 端关系中加入 1 端关系的码和联系本身的属性 合并后关系的码:不变c) 一个 m:n 联系转换为一个
12、关系模式。 关系的属性:与该联系相连的各实体的标识符以及 联系本身的属性 关系的码:各实体标识符的组合d) 三个或三个以上实体间的一个多元联系转换为一个关系模式。 关系的属性:与该多元联系相连的各实体的标识符 以及联系本身的属性 关系的码:各实体标识符的组合转换结果如下:stuunion ( uno, uname, ubiryear, uplace)sjoin (uno, sno, joinyear)student ( sno , sname, sage, clno) class ( clno, clyear, cltotal)major ( mjname, clno, dno)dept (
13、dno, dname, dwkplace, dtotal)dormitory ( dorplace, dno)版权:西安电子科技大学 赵呈亮2、关系模式优化现阶段由概念模型到逻辑模型的过程通常就是将 E-R 图转换为关系模式,而经过这一转换过程之后得到的一组关系模式未必是最“好”的,还需要经过进一步的优化。 关系模式的优化应该从以下几方面实施:(1) 关系模式规范化规范化的目的在于解决更新异常和数据冗余,应该分解关系模式使其达到 3NF 或 BCNF,对于存在 MVD 的关系模式应达到 4NF。1NF 定义:如果一个关系模式 R 的所有属性都是不可分的基本数据项,则称关系 R 为第一范式的关系
14、模式(First Normal Form),简称关系 R 属于一范式,记为:R1NF。经检验,以上 7 个关系模式,均满足第一范式要求。2NF 定义:若关系模式 R1NF,并且每一个非主属性都完全函数依赖于 R的码,则 R2NF。经检验, 7 个关系模式均满足满足第二范式。3NF 定义: 关系模式 R 中若不存在这样的码 X、属性组 Y 及非主属性 Z (Z Y ), 使得 X Y, Y X , Y Z 成立,则称 R3NF。即:若R3NF,则 R 中的每一个非主属性既不部分依赖于码,也不传递依赖于码。经检验, 7 个模式均满足第三范式要求。所以,经关系范式规范后,7 个模式为:stuunio
15、n ( uno, uname, ubiryear, uplace)sjoin (uno, sno, joinyear)student ( sno , sname, sage, clno) class ( clno, clyear, cltotal)major ( mjname, clno, dno)dept ( dno, dname, dwkplace, dtotal)dormitory ( dorplace, dno)版权:西安电子科技大学 赵呈亮(2) 对关系模式进行必要的合并对具有关联的关系模式进行合并,通常这类关系模式会经常被查询而频繁地进行连接运算而降低查询的效率,合并后的关系模式可能会带来冗余(存在部分依赖或传递依赖),但这样做还是值得的。经考察,不需要合并。(3) 进行合理的分解(不是为了达到更高范式) 水平分解 把(基本)关系的元组分解为若干子集合,定义每个子集合为一个子关系(相同结构的关系模式,但名称不同),以提高系统的效率。 垂直