教务管理系统数据库设计02524
数据库教务管理系统课程设计

数据库教务管理系统课程设计(总10页)-本页仅作为预览文档封面,使用时请删除本页-华北科技学院计算机系综合性实验实验报告课程名称《数据库原理与应用》实验学期 2012 至 2013 学年第 1 学期学生所在系部计算机学院年级 2010 专业班级计算机B10-3班学生姓名学号任课教师郭红实验成绩计算机系制《数据库原理与应用》综合性实验报告asselect,,avg(Score)from SC,Studentwhere=group by,4.物理设计create unique index SCI on SC(Sno,Cno)执行此命令后,为SC表建立一个索引名为SCI的唯一索引,此索引为Sno和Cno两列的复合索引,即对SC表中的行先按Sno的递增顺序索引,对于相同的Sno,又按Cno的递增顺序索引。
系统本身已经有的索引是Student表是按照学号升序建立的唯一索引,Teacher表是按照职工号序建立的唯一索引,Course表是按照课程号的升序建立的唯一索引。
5.数据库的实现(1)创建库、表应包括参照完整性、实体完整性、自定义完整性的定义create table Student(Sno char(10)primary key not null,Sn varchar(20)not null,Sex char(2)check(Sex in('男','女')),Dept varchar(20),Major char(20),Age int,Grade int,)create table Course(Cno char(8)primary key not null,Cn char(10),Ct int,Cs int,)(2)创建用户包括创建用户或角色,并授予相应的权限(用户设计至少3个,且设置合理)我为数据库创建了三个用户,分别是海艳,郭跃,系统管理员,对应的登录名分别是学生,老师,系统。
数据库课程设计--学校教务管理系统

学校教务管理的数据库设计I.需求分析:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
学校为方便教务管理,需开发一个教务管理系统。
为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求系统界面要简单明了,易于操作,程序利于维护。
一、信息分析:(1)学校教务管理的数据库,包含以下信息:学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。
(2)学校的教务管理的信息包括:学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。
学生如果课程及格,可以取得该课程的学分。
学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。
根据成绩高低,可以计算学分积。
及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。
二、功能分析:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。
对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。
(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩>90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9) 教授某学生必修课程的老师情况 10)某学生选修了哪些系的课程 11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学 13)按总学分积找出某系学习最好的5名同学 14)可以毕业的学生三、软、硬件配置 程序运行的环境:具体运行环境为软件方面,操作系统为windows2000/XP ,并且系统装有SQL Server2000数据库管理系统。
教务管理系统后台数据库设计

教务管理系统后台数据库设计需求规格说明书第一章引言1.1编写目的任何一个web数据库应用系统都需要有后台数据库的支持,在本项目中就对要开发的教务管理系统的后台数据库进行设计以实现,在实施过程中要进行数据库的概念模型设计、逻辑模型设计及物理模型设计。
1.2数据库设计教务管理系统是学生和教师都比较熟悉的项目,因此比较好分析。
在教务管理系统中涉及到教师、学生、课程、成绩等实体,分别分析每一个实体的属性、实体之间的联系,绘制出E-R图。
随后在进行概念模型到逻辑模型的转变,将E-R图转变为一组关系模式,并对关系模式进行规范化处理。
然后进行数据库物理模型设计,将每个关系转化为一张二维表,对二维表的结构进行描述,尤其要考虑数据的完整性约束的设计,最后实现该数据库。
第二章任务设计与实施2.1任务计划根据对学院教务处相关职能部门的业务调研,进行需求分析,对数据库进行概念模型设计、逻辑模型设计以及物理模型设计。
2.2任务实施I.需求分析进过研究,对学院的教务管理业务做一总结:某学院下设有若干系部,系部有系部办公室、学生工作室、教研室等部门,系部所有教师分别隶属各个部门,系部教研室开设多门课程,一名教师可以教授多门课程。
系部所有学生以班级为单位组织教学及日常管理,学生每一学期需要学习多门课程(有必修课和选修课),学习结束后通过测试获取相应的成绩。
教务处负责学生学籍管理、课程排课管理、学生成绩管理、学生毕业资格审查等。
II.数据库概念模型设计(1)实体的确定。
进过分析,的确出问题涉及的实体有:系部、部门、教师、课程、班级、学生。
(2)实体属性的描述。
系部实体有下列属性:系部编号、系部名称、位置、人数、负责人、联系电话。
部门实体有下列属性:部门编号、部门名称、负责人、联系电话、业务领域。
教师实体有下列属性:教师编号、教师姓名、性别、生日、职称、职务、学历、参加工作时间。
课程实体有下列属性:课程编号、课程名称、课时、学分、课程性质、考核方式、开课时间。
3高校教务管理系统数据库设计

高校教务管理系统数据库设计1.1 数据库数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。
1.2设备奔腾1g、内存128兆以上的计算机,局域网络环境。
1.3需求注释对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。
1.4功能树2 概念设计2.1 实体及其属性2.1.1 学生实体E-R图2.1.2 课程实体E-R图2.1.3 教师信息E-R图2.1.4综合ER图3 逻辑设计3.1 规范化得到最终的关系模式学生信息基本表(学号,姓名,性别,学院名称,班号,联系电话,入校日期,家庭住址),主码为学号,符合三范式。
课程信息表(课程编号,课程类型,分数)主码为课程编号,符合三范式。
教师信息表(教师编号,姓名,所在科室,联系电话)主码为教师编号,符合三范式。
考试信息表(学号,课程编号)主码为学号,课程编号,符合BCNF。
讲授信息表(教师编号,课程编号)主码为教师编号,课程编号,符合BCNF。
3.2 学生基本信息表3.3 课程信息表3.4 教师信息表3.5 考试信息表3.6 讲授信息表4 物理结构设计4.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。
4.2 建立数据表4.2.1 学生信息基本表的建立:CREATE TABLE Student( Sno CHAR ( 8 ) PRIMARY KEY ,Uname CHAR ( 8 ) UNIQUE,Sex CHAR ( 2 ),Sdept(8 ),Classno ( 8 ),Connect tel ( 11 ),Enter date (8 ),Family add (50 ));4.2.2 课程信息表的建立:CREATE TABLE Course( Course code CHAR (20 ) PRIMARY KEY ,Course type CHAR ( 8 ) ,Course grade CHAR ( 8)) ;4.2.3 教师信息表的建立:CREATE TABLE Teacher( Tno CHAR ( 8 ) PRIMARY KEY ,Tname CHAR ( 8 ) UNIQUE,Tdepartment(8 ),Tmoible( 11 ),);4.2.4考试信息表的建立:CREATE TABLE Exam( Sno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY ( Sno , Course code ) ,FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code));4.2.5讲授信息表的建立:CREATE TABLE Teaching( Tno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY (Tno , Course code ) ,FOREIGN KEY (Tno ) REFERENCES Teacher (Tno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code) );5 其他数据库对象的设计5.1 索引CREATE UNIQUE INDEX Stusno ON Student(Sno)CREATE UNIQUE INDEX Couno ON Course(Cno)CREATE UNIQUE INDEX Teano ON Teacher(Tno)5.2 视图CREATE VIEW IS_StudentASSELECT Sno,Sname,SdeptFROM StudentWhere Sdept=’IS’;2.2CREATE VIEW BTEACHERASSELECT Tname,TdepartmentFROM Teacher;5.3 触发器CREATE Trigger Delete _CourseBEFORE UPDATE ON CourseFOR EACH ROWAS BEGINIF(new.grade<60)THEN new.grade=nopass;END IF;END;5.4 存储过程CREATE procedure createetablesASCREATE table user 1(Uid int,Uname char(20)INSERTINTO use 1(Uid,Uname)V ALUES ('1','小明');)6 备份及恢复策略针对不同的故障,制定恢复策略数据库系统可能发生各种各样的故障,大致可以分为以下几类:1)事务内部故障2)系统故障3)介质故障4)计算机病毒要保证数据一致性是对数据库的最基本的要求。
教务管理系统的数据库设计

教务管理系统的数据库设计在这个信息化的时代,教务管理系统的数据库设计可真是个重要话题。
想象一下,学生们像小鸟一样翱翔在知识的天空中,而教务管理系统就像是那座巍峨的山,支撑着他们的飞翔。
要说数据库设计,它就像是那座山里的矿藏,藏着无数宝贵的数据,帮助学校更好地管理课程、学生、老师等等。
嘿,想要把这个系统弄得流畅又高效,可是需要点儿巧思的。
得说说数据表的设计。
哎,这可不是随便搁一堆数据就行,得精心布局。
就像盖房子,基础打好了,后面的事儿就简单多了。
学生信息表得包含姓名、学号、班级、联系方式这些。
这样一来,学校里的小伙伴们都能找到自己的资料,简直是太方便了。
想想看,谁还想翻开厚厚的纸张找信息呢?那简直是“老古董”嘛。
接下来是课程表。
课程表可得搞得清清楚楚。
你说,哪个学生想要上错课啊?这可真是“搬起石头砸自己的脚”。
数据库里得有课程ID、课程名称、授课教师、上课时间、教室等信息。
这样一来,学生们就可以轻松找到自己的课程安排,省得一个个去问老师,弄得大家都烦得要命。
说实话,谁不想在上课之前先看一眼课表,安排好自己的时间呢?然后,得提提老师信息表。
这些可都是传授知识的“园丁”,他们的基本信息得齐全。
姓名、职称、教授课程、联系方式……这些都是必不可少的。
想想,学生们如果有问题,能直接找到老师,那得多省心啊!就像找到了“明灯”,一片黑暗中突然亮了起来。
再说,老师也可以通过系统了解自己所教班级的情况,做到心中有数,帮助学生解决问题,简直是一举两得!说到这里,不得不提到成绩管理。
学生们的成绩就像是一面镜子,映照出他们的学习状况。
成绩表得细致入微,得有学号、课程ID、成绩、学期等信息。
每当考试结束,老师一键上传成绩,学生们就能及时查看,心里明白得很。
要是成绩不好,也能及时调整学习计划,争取下次考个好成绩,绝对是“洗心革面”的机会。
谁愿意被自己的分数困住呢?大家都想迎头赶上嘛。
数据安全也是一大关键。
就像是给这些宝贵数据上了一把锁,防止不必要的“外人”进入。
数据库设计教务管理系统方案

计算机科学与技术学院、软件学院数据库设计与开发实验报告教务管理系统学生姓名:学号:班级:指导老师:目录第1 章需求分析....................................................................................................................... . (3)第2 章数据库设计................................................................................................................... . (3)2.1E-R 图分析 (3)2.2 数据库表设计 (4)2.2.1zhj_course表结构 (4)2.2.2zhj_student表结构 (4)2.2.3 zhj_teacher表结构 (4)2.2.4 zhj_C_T表结构 (4)2.2.5 zhj_C_S表结构 (4)第3 章数据库程序设计 (5)3.1 数据库及表的定义 (5)3.2 为数据库各表建立索引 (5)3.3 创建各表的存储过程 (5)3.3.1 普通存储过程(无参数) (6)3.3.2 带参数的存储过程 (7)3.3.3 带output参数的存储过程 (7)3.4 触发器设计 (8)3.4.1 插入触发器 (8)3.4.2 更新触发器 (9)3.4.3 删除触发器 (9)3.5 游标的应用 (10)第4 章用户交互界面 (11)4.1 、登录界面模块 (11)4.2 、学生登录模块 (12)4.2.1 个人信息管理 (12)4.2.2 选课模块 (13)4.2.3 查看与删除选课 (13)4.3 、教师登录模块 (14)4.3.1 选择授课............................................... . (14)4.3.2 查看授课 (14)4.3.3 录入成绩 (14)4.4 、系统管理员登录模块 (16)4.4.1 学生管理 (16)4.4.2 教师管理 (18)4.4.3 课程管理 (18)4.4.4 选课管理 (18)4.4.5 授课管理 (18)4.4.6 查看学生所选课程数目总分平均分 (18)第5 章总结 (19)第一章需求分析问题提出:每年系主任诽课都会遇到困难。
数据库教务管理系统课程设计

数据库教务管理系统课程设计是一个综合性的实践项目,旨在加深学生对数据库系统、应用程序设计语言的理论知识的理解和应用水平,并提高他们的动手能力以及分析问题、解决问题的能力。
课程设计的主要目标是根据系统的实际应用功能需求和考核标准,完成对应难度的数据库系统后台开发,并实现应用程序功能的设计、编程和优化。
在课程设计中,学生需要独立完成整个数据库系统设计,包括后台数据库的建立、表结构的定义、数据插入、查询、更新和删除等操作。
同时,学生还需要根据实际需求,设计和实现各种应用程序功能,如学生信息管理、课程信息管理、成绩管理等。
在课程设计过程中,学生需要注意以下几点:
每个学生必须独立完成课程设计,不得抄袭或剽窃他人的成果。
课程设计的累计时间一般为1周(20学时),学生需要合理安排时间,确保按时完成设计任务。
整个数据库系统设计,后台数据库可用SQL Server或
MYSQL,前台开发工具与编程语言任选。
课程设计期间,中期检查与考勤采用线上管理模式,特定时间无故缺席按旷课处理;缺席时间达三分之一课时以上者,未按规定要求上交课程设计报告与设计成果的学生,其成绩按不及格处理。
不参与设计且不提交任何成果,缺席答辩的同学,成绩计零分(或按旷考处理)。
总之,数据库教务管理系统课程设计是一个非常有意义的实践项目,可以帮助学生更好地掌握数据库系统和应用程序设计语言的理论知识,提高他们的动手能力和解决问题的能力。
数据库课程设计-教务管理系统

目录一、需求分析(11) (1)二、概要设计(全体组员) (4)(一)学生管理(11) (5)(二)教师管理(11) (5)(三) 教材管理(11) (6)(四)班级管理(11) (6)(五)教学管理(11) (7)(六)成绩管理(11) (7)(七)课程管理(11) (8)(八)系部管理(11) (8)三、详细设计(全体组员) (9)四、调试分析: (10)(一)学生管理(11) (18)(二)教师管理(11) (20)(三) 教材管理(11) (21)(四)班级管理(11) (22)(五)教学管理(11) (23)(六)成绩管理(11) (24)(七)课程管理(11) (26)(八)系部管理(11) (27)五、用户使用说明(11) (28)六、测试结果示例(11) (29)七、心得体会(11) (29)参考文献: (34)摘要:数据库技术是计算机科学技术中发展最快的领域之一,也是应用范围最广、实用性很强的技术之一,它已成为信息社会的核心技术和重要基础。
在Internet告诉发展的信息化时代,信息资源的经济价值和社会价值越来越明显,建设以数据库为核心的各类信息系统,对提高企业的竞争力与效益、改善部门的管理能力与管理水平,都具有实实在在的重要意义。
教务管理系统就是在数据库的基础之上对学校教务信息进行操作,实现数据的修改、存储、分析等操作。
教务人员通过学生信息管理模块来管理学生信息,如进行学生信息的添加、修改、删除等;教务工作人员通过此模块来管理教师信息,包括教师信息的添加、修改、删除等;教务工作人员通过该模块来管理课程的基本信息,包括课程信息的添加,修改,删除和班级课程的设置等;教务工作人员通过该模块来进行学生成绩的管理,在进行学生成绩的添加时,可用它来为学生设置所在班级的课程表来直接输入成绩;通过该模块可以查询教务所需要的各种信息;教务工作人员可以通过打印模块来打印学生成绩信息,选课记表和班级表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教务管理数据库系统课程设计目录1、需求分析 (2)1.1 信息要求: (2)1.2 处理要求: (2)1.3 安全性与完整性要求: (2)1.4 系统功能的设计和划分 (2)第一部分:用户管理部分 (3)第二部分:管理员管理部分 (3)2、概念设计 (3)2.1概念模型(E-R图): (3)2.2数据字典: (5)a.数据项 (5)b、数据结构 (5)c、数据流 (6)d、数据存储 (6)e、处理过程 (6)2.3 数据流图 (7)3、逻辑结构设计 (7)3.1 E-R图向关系模型的转换(关系的码用下横线表出) (7)3.2 设计用户子模式 (8)4、物理设计 (8)4.1 选择存取方法 (8)4.2 确定数据库的存储结构 (8)4.3 评价物理结构 (9)5、系统实施 (9)6、运行维护 (10)1、需求分析1.1 信息要求:教务管理系统涉及的实体有:教师——工作证号、姓名、职称、电话等;学生——学号、姓名、性别、出生年月等;班级——班号、最低总学分等;系——系代号、系名和系办公室电话等;课程——课序号、课名、学分、上课时间及名额等。
这些实体之间的联系如下:每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。
每个班的班主任都由一名教师担任。
一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。
一名同学可以选多门课,一门课可被若干同学选中。
一名同学选中的课若已学完,应该记录有相应成绩。
本单位学生、教师都有重名,工作证号、学号可以作为标识。
1.2 处理要求:教学系统主要提供数据维护、选课和信息查询。
其中常见的查询有:系统中各对象的基本信息查询。
查询指定班、系的学生信息(名单、人数等)。
查询学生的成绩、学分情况。
查询教师授课情况和学生选课情况……。
1.3 安全性与完整性要求:安全性要求:1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3.系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。
完整性要求:1.各种信息记录的完整性,关键信息记录内容不能为空;2.各种数据间相互的联系的正确性;3.相同的数据在不同记录中的一致性。
1.4 系统功能的设计和划分根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:第一部分:用户管理部分1、处理用户注册2、处理用户登录3、用户可以查询学生信息。
4、用户可以查询快件信息。
5、用户可以提交与查询报修信息。
6、用户可以插入与删除用户自己的离返校信息。
7、用户可以修改用户自己密码。
第二部分:管理员管理部分各部分完成的功能如下:1、处理管理员登录2、管理员可以查询学生信息。
3、管理员可以发布与更新快件信息。
4、管理员可以插入、修改与查询报修信息。
5、管理员可以插入与查询学生夜归信息。
6、管理员可以查询在校与离校学生信息。
7、管理员可以修改管理员密码。
2、概念设计2.1概念模型(E-R图):选修联系的分E-R负责联系的分E-R授课联系的分E-R教务管理系统的总E-R图2.2数据字典:a.数据项b、数据结构c、数据流d、数据存储e、处理过程2.3数据流图3、逻辑结构设计3.1 E-R 图向关系模型的转换(关系的码用下横线表出)代码表示:Teacher ( Tno, Tname, Title, Tel, Dno )此为“教师”实体对应的关系模式。
其中1:n 联系“工作”与此关系模式合并,Dno 为外码。
存在的函数依赖为Tno → (Tname ,Title ,Tel ,Dno ),且不存在多值依赖,所以满足4NF 。
代码表示:Student ( Sno, Sname, Ssex, Sbirth, Class )此为“学生”实体对应的关系模式。
其中1:n 联系“属于”与此关系模式合并,Class 为外码。
存在的函数依赖为Sno → (Sname ,Ssex ,Sbirth ,Class ),且不存在多值依赖,所以满足4NF 。
总 数 据 流代码表示:Department ( Dno, Dname, Dphone )此为“系”实体对应的关系模式。
存在的函数依赖为Dno →(Dname,Dphone),且不存在多值依赖,所以满足4NF。
代码表示:Course ( Cno, Cname, Credit, Ctime, Cnum, Tno )此为“课程”实体对应的关系模式。
其中1:n联系“授课”与此关系模式合并,Tno为外码。
存在的函数依赖为Cno →(Cname,Credit,Ctime,Cnum,Tno),且不存在多值依赖,所以满足4NF。
代码表示:SC ( Sno, Cno, Grade )此为m:n联系“选修”所对应的关系模式。
Sno和Cno均为外部码。
存在的函数依赖为完全函数依赖(Sno,Cno)→ Grade,且不存在多值依赖,所以满足4NF。
代码表示:Class ( Class, TotalCredit, Tno, Dno )此为“班级”实体对应的关系模式。
其中1:n联系“属于”和1:1联系“负责”与此关系模式合并Tno和Dno为外码。
该关系模式中存在传递函数依赖:Class → Tno, (Tno Class),Tno → Dno,可得Class → Dno,故Class 不属于3NF。
解决方法是将其模式分解为:Class ( Class, TotalCredit, Tno )和T-D( Tno, Dno),分解后的关系模式满足4NF,并且T-D与Teacher的码相同,可合并为同一模式。
但是考虑到系统要经常进行系的学生信息查询,此时就不得不对Student、Class和Teacher三个表进行连接查询,而连接是影响查询效率的主要原因,所以取消对Class的模式分解。
此时Class关系模式满足2NF。
3.2 设计用户子模式为了方便程序查询,建立了如下用户视图:1、某系的学生信息视图(学号,姓名,性别,出生年月,班号)2、某系的教师信息视图(工作证号,教师姓名,职称,电话,负责班级)3、某课程的学生成绩单(学号,姓名,班级,成绩)4、教师授课信息表(工作证号,教师姓名,职称,教授课程,学分,上课时间)5、学生已选课表(课序号,课名,学分,授课教师,上课时间,名额)4、物理设计4.1 选择存取方法1、数据库管理系统自动在每个表的主码上建立索引,通常为B + 树索引。
2、在Student表Sname列上建立Stu_name索引,因为查询操作很多都使通过学生姓名进行的。
3、在Teacher表Tname列上建立Tea_name索引,因为查询操作很多都使通过教师姓名进行的。
4.2 确定数据库的存储结构1、为了提高系统性能,根据具体情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。
2、DBMS产品一般都提供了一些系统配置变量、存储分配参数,根据应用环境确定这些参数值,并且在系统运行时还要根据系统实际运行情况进行调整,以使系统性能最佳。
4.3 评价物理结构根据所选用的DBMS,如SQL Server 2000,从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择一个较优的合理的物理结构。
5、系统实施编写关系模式,载入数据。
分期分批地组织数据入库,先输入小批量数据做调试用,待试运行基本合格后,再大批量输入数据,逐步增加数据量,逐步完成运行评价。
需要注意的是,要首先调试运行DBMS的恢复功能,做好数据库的转储和恢复工作。
基本SQL语言代码如下:CREATE SCHEMA "TeachAffair" AUTHORIZATION GaoCREATE TABLE Department(Dno CHAR(3) PRIMARY KEY, /*列级完整性约束条件,Dno是主码*/Dept CHAR(20) UNIQUE NOT NULL,Dphone CHAR(11),);CREATE TABLE Teacher(Tno CHAR(6) PRIMARY KEY, /*列级完整性约束条件,Tno是主码*/Tname CHAR(20) NOT NULL,Title CHAR(8),Tel CHAR(11),Dno CHAR(3),FOREIGN KEY (Dno) REFERENCES Department(Dno) /*表级完整性约束条件,Dno是外码*/);CREATE TABLE Class(Class CHAR(6) PRIMARY KEY, /*列级完整性约束条件,Class是主码*/TotalCredit NUMERIC(4,1),Tno CHAR(6),Dno CHAR(3),FOREIGN KEY (Tno) REFERENCES Teacher(Tno), /*表级完整性约束条件,Tno是外码*/FOREIGN KEY (Dno) REFERENCES Department(Dno) /*表级完整性约束条件,Dno是外码*/);CREATE TABLE Student(Sno CHAR(11) PRIMARY KEY, /*列级完整性约束条件,Sno是主码*/Sname CHAR(20) NOT NULL,Ssex CHAR(2),Sbirth DATETIME,Class CHAR(6),FOREIGN KEY (Class) REFERENCES Class(Class) /*表级完整性约束条件,Class是外码*/);CREATE TABLE Course(Cno CHAR(6) PRIMARY KEY, /*列级完整性约束条件,Cno是主码*/Cname CHAR(20) NOT NULL,Credit NUMERIC(2,1),Ctime DATETIME,Cnum SMALLINT,Tno CHAR(6),FOREIGN KEY (Tno) REFERENCES Teacher(Tno) /*表级完整性约束条件,Tno是外码*/);CREATE TABLE SC(Sno CHAR(11) NOT NULL,Cno CHAR(6) NOT NULL,Grade SMALLINT CHECK(Grade>=0 AND Grade<=100),PRIMARY KEY (Sno, Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/FOREIGN KEY (Sno) REFERENCES Student(Sno) /*表级完整性约束条件,Sno是外码*/ON DELETE CASCADE /* 当删除Student表中的元组时,级连删除SC表中相应的元组*/ON UPDATE CASCADE, /*当更新Student表中的Sno时,级连更新SC表中相应的元组*/FOREIGN KEY (Cno) REFERENCES Course(Cno) /*表级完整性约束条件,Sno是外码*/ON DELETE NO ACTION /* 当删除Course表中的元组造成了与SC表不一致时,拒绝删除*/ON UPDATE CASCADE, /*当更新Course表中的Cno时,级连更新SC表中相应的元组*/);/*DROP TABLE SC;*//*建立索引*/CREATE UNIQUE INDEX Stu_name ON Student(Sname);CREATE UNIQUE INDEX Tea_name ON Teacher(Tname);CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);/*查询某个系(以GIS为例)的学生信息*/CREATE VIEW GIS_Student /*建立某个系(以GIS为例)的学生信息视图*/ASSELECT *FROM StudentWHERE Class IN(SELECT ClassFROM ClassWHERE Dname='GIS')WITH CHECK OPTION;SELECT *FROM GIS_Student;SELECT COUNT(*)FROM GIS_Student;/*查询班级的学生信息*/SELECT Sno, Sname, Ssex, BirthFROM StudentWHERE Class = '114072';SELECT COUNT(*)FROM StudentWHERE Class='114072';/*查询学生的成绩、学分*/SELECT o, Cname, Credit, GradeFROM Course, SCWHERE Sno = '20071000500' AND o=o;SELECT SUM(Credit)FROM SC,CourseWHERE Sno='20071000500' AND o=o;/*查询教师授课信息*/SELECT Course.*FROM CourseWHERE Tno='100123';SELECT Student.Sno,Sname,Class,GradeFROM Course,SC,StudentWHERE Tno='100123' ANDo=o ANDSC.Sno=Student.Sno;6、运行维护1、针对不同的应用要求制定不同的转储计划,一旦发生故障尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏;2、根据实际情况修改数据库原有的安全性、完整性控制;3、在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法;4、数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低数据的存取效率,数据库性能下降。