学生成绩管理数据库

合集下载

数据库-学生成绩管理系统

数据库-学生成绩管理系统

学生成绩管理系统课程设计设计报告题目:学生成绩管理系统数据库学号: 2014221119200100学生姓名: 张坤学号: 2014221119200138学生姓名: 张豪学号: 2014221119200057学生姓名: 王潜指导教师:王雷春提交时间: 2016/12/24目录第1章需求分析 (1)1.1 需求调查 (1)1.2 系统功能分析 (2)1.3 面对用户需求分析 (3)第2章数据库概念模型设计 (4)第3章逻辑结构设计 (4)3.1 类和对象向关系模式转换 (11)3.2 关系模式优化 (15)第4章数据库物理结构设计 (18)4.1 存取方法设计 (18)4.2 存储结构设计 (18)4.3 物理设计 (18)第5章数据库完整性设计 (22)5.1 主键及唯一性索引 (22)5.2 参照完整性设计 (22)5.3 Check约束 (22)5.4 Default约束 (23)5.5 触发器设计 (24)第6章数据库视图设计 (25)第7章数据库存储过程设计 (31)第8章权限设计 (36)总结 (37)参考文献: (37)教务管理系统后台数据库第1章需求分析1.1 需求调查通过对各个用户的调查,该学生成绩管理系统有如下需求:1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销,系统开关等功能。

2)成绩管理:实现教师对学生选修课程打分,成绩审核,学生查看成绩。

3)信息维护:学生,管理员和老师以及课程的基本信息(包括学生学籍信息和学生所修课程信息,教师基本信息,课程基本信息,密码基本信息)查看以及修改。

4)选课:学生选择课程,老师选课。

5)查询:包括实现学生查询,老师查询。

学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带课程的学生,自己的课表以及学生成绩等。

6)服务器配置:对它进行配置可以使得在其他电脑上也照常使用。

学生成绩管理系统数据库设计

学生成绩管理系统数据库设计

学生成绩管理系统数据库设计一、需求分析学生成绩管理系统是一个重要的教育管理系统,它主要用于学生的成绩管理和统计。

该系统需要具有以下功能:1. 学生信息管理:包括学生的基本信息(如姓名、性别、年龄、身份证号码等)和学籍信息(如班级、学号、入学时间等)。

2. 课程信息管理:包括课程的基本信息(如课程名称、授课教师、上课时间等)和课程成绩录入。

3. 成绩查询与统计:可以按照班级或个人查询成绩,并进行成绩统计分析。

二、概念结构设计在需求分析的基础上,我们可以根据实际情况设计出该系统的概念结构模型。

该模型包括以下实体:1. 学生(Student):包括学生的基本信息和学籍信息。

2. 课程(Course):包括课程的基本信息。

3. 教师(Teacher):包括教师的基本信息。

4. 成绩(Score):包括每个学生在每门课程中所获得的成绩。

三、逻辑结构设计在概念结构模型确定后,我们需要将其转化为逻辑结构模型。

根据实际情况,我们可以设计出以下数据库表:1. 学生表(Student):包括学生的基本信息和学籍信息,如姓名、性别、年龄、身份证号码、班级、学号、入学时间等。

2. 课程表(Course):包括课程的基本信息,如课程名称、授课教师、上课时间等。

3. 教师表(Teacher):包括教师的基本信息,如姓名、性别、年龄等。

4. 成绩表(Score):包括每个学生在每门课程中所获得的成绩,如学号、课程名称、成绩等。

四、物理结构设计在逻辑结构模型确定后,我们需要将其转化为物理结构模型。

根据实际情况,我们可以设计出以下数据库表:1. 学生表(Student):包括学生的基本信息和学籍信息,如姓名(varchar(20))、性别(char(2))、年龄(int)、身份证号码(varchar(20))、班级(varchar(20))、学号(varchar(20))、入学时间(date)等。

其中,身份证号码和学号应该设为主键。

学生成绩管理数据库E-R模型

学生成绩管理数据库E-R模型

学生成绩管理系统数据库
数据库的需求分析:
要想创建数据库,需要先对数据库的结构进行分析,计划开发学生成绩管理系统,提出如下的用户需求。

● 建立基本的学生信息库,包括学号,姓名,性别,出生日期,专业,籍贯,政治面貌等。

● 建立基本的课程信息库,包括课程编号,课程名称,学分,学时,备注等。

● 实现学生自己的成绩查询,自己登陆密码的修改,个人信息的查询的基本功能。

● 实现管理员对学生的添加,学生的查询,学生成绩的录入,修改及课程的添加,删除等
功能。

根据系统分析可知,本系统涉及“学生”,“课程”,“成绩”,“管理员”3个实体。

通过概念模型设计出以下E -R 模型。

E -R 模型转换为关系模型 :
学生 (学号,姓名,籍贯,性别,出生日期,专业,政治面貌,系编号)
课程 (课程编号,课程名称,授课老师,学分,学时)
学生 课程 选课 政治面貌 出生日期 专业 性别 姓名 学号
学分 课程名称 课程编号
学时 授课老师 管理 管理员 学生添加 学生查询 选课年度 成绩
管理员编号 姓名 学生删除 院系 系编号 系名称 籍贯 系负责人
学生选课(学号,课程编号,选课年度,成绩)
院系(系编号,系名称,系负责人)
管理(学号,管理员编号,学生添加,学生删除,学生查询)管理员(管理员编号,姓名)。

学生成绩管理系统数据库表结构说明

学生成绩管理系统数据库表结构说明

学生成绩管理系统数据库表结构说明1、学生表 tb_Student字段描述字段名数据类型是否主键是否为空学号StuID Char(12)是否姓名StuName varchar(8)否否性别Sex char(2)否否出生日期BirthDate datetime(8)否否籍贯Native varchar(40)否否入学时间EntranceTime datetime(8)否否政治面貌PoliticalFace Nchar(12)否否家庭住址Address Nvarchar(50)否否个人电话PerPhone Nchar(11)否否家庭电话HPhone Nchar(11)否否身份证号IDNum varchar(18)否否照片Photo varbinary(max)否否班级编号ClassID Char(9)否否宿舍编号DormitoryId Char(4)否否民族National Nchar(2)否否就业情况EmploymentStatus Nvarchar(10)否否2、班级表 tb_Class字段描述字段名数据类型是否主键是否为空班级编号ClassID char(9)是否班级名称ClassName varchar(20)否否人数Num tinyint(1)否否专业编号SpecializeID char(2)否否系部编号DepartmentID char(2)否否3、专业表 tb_Specialize字段描述字段名数据类型是否主键是否为空专业编号SpecializeID char(2)是否专业名称SpecializeName varchar(20)否否系部编号DepartmentID char(2)否否4、系部表 tb_Department字段描述字段名数据类型是否主键是否为空系部编号DepartmentID char(2)是否系部名称DepartmentName varchar(20)否否5、教师表 tb_Teacher字段描述字段名数据类型是否主键是否为空教师编号TeacherID char(10)是否姓名T eacherName varchar(8)否否性别Sex char(2)否否出生日期BirthDate datetime(8)否否政治面貌PoliticalFace varchar(8)否否籍贯Native varchar(40)否否民族National Nchar(2)否否联系电话Tephone Nchar(11)否否电子邮箱Email Varchar(50)否否身份证号IDNum varchar(18)否否照片Photo varbinary(max)否否入校时间AdmissionTime Datetime否否第一学历FirstDegree char(4)否否最高学历HighestDegree char(4)否否职务Position Narchar(8)否否备注Notes varchar(255)否是6、课程表 tb_Course字段描述字段名数据类型是否主键是否为空课程编号CourseID char(8)是否课程名称CourseName varchar(25)否否课程性质CourseNature char(10)否否学分Credits tinyint(1)否否7、用户表 tb_User字段描述字段名数据类型是否主键是否为空用户编号UserID Varchar(16)是否用户名UserName varchar(12)是否密码Pwd varchar(10)否否用户组编GroupID bit(1)否否号删除标记DeleteMarkers varchar(20)否是8、教师任课表 tb_T eacherYoung字段描述字段名数据类型是否主键是否为空教师编号TeacherID Char(10)是否课程编号CourseID char(8)是否班级编号ClassID char(9)是否学期Term tinyint(1)否否教室编号ClassroomID varchar(10)否否每周学时WeeklyHours tinyint(1)否否学期工作TermWorkload tinyint(3)否否量午别WuBie Vchar(2)否否节次JieCi Char(2)否否备注Notes varchar(255)否是9、教学计划表 tb_TeachingPlan 字段描述字段名数据类型是否主键是否为空学期Term tinyint(1)是否系部编号DepartmentID char(2)否否专业编号SpecializeID char(2)否否课程编号CourseID char(8)否否起始周StartWeek tinyint(1)否否结束周EndWeek tinyint(1)否否理论学时TheoryHours tinyint(1)否否实践学时PracticeHours tinyint(1)否否总学时SumHours tinyint(1)否否10、成绩表 tb_Tiny字段描述字段名数据类型是否主键是否为空学期Term tinyint(1)是否学号StuID char(12)否否课程编号CourseID char(8)否否考试成绩ExamGrade Tinyint(1)否否平时成绩ParTGrade Tinyint(1)期评Grade Tinyint(1)11、学生奖惩表 tb_StuRewardPun字段描述字段名数据类型是否主键是否为空自动编号RewardPunID Int(4)是否学号StuID char(12)否否奖惩性质RewardPunNature char(2)否否奖惩内容RewardPunContent varchar(40)否否奖惩原因RewardPunReason varchar(60)否否学期Term tinyint(1)否否12、教室表 tb_Classroom字段描述字段名数据类型是否主键是否为空教室编号ClassroomNum Varchar(10)是否教室类型ClassroomType varchchar(10)否否备注Notes Varchar(255)否是13、实训表 tb_Training字段描述字段名数据类型是否主键是否为空实训编号TrainingID Varchar(10)是否实训公司Training.pany Varchar(30)否否实训地点TrainingPlace Varchar(50)否否实训费用TrainingCost Char(5)否否实训时间TrainingTime Datetime否否实训情况TrainingSituation Varchar(50)否否实训人数TrainingNum vchar(max)否否备注Notes Varchar(255)否否否否14、学生——实训表 tb_StuTraining字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否学号StuNum Char(12)否否实训编号TrainingID Varchar(10)否否15、学历学位获得情况表 tb_DegreeGetSituation字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否学位获得时DegreeGetTime Datetime否否间专业方向ProDirection Varchar(20)否否学位Degree Vchar(20)否否16论文表 tb_ Paper字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否论文标题PaperTitle Vchar(100)否否性质PaperNature Varchar(20)否否发表刊物PublishAtions Varchar(20)否否发表时间PublishTime Datetime否否期号PeriodNum Char(4)否否卷号RollNum Char(4)否否字数Words Char(12)否否单位排序UnitSorting Char(10)否否作者排序AuthorSorting Char(10)否否刊物性质AtionsNature Char(10)否否17、科研项目情况 tb_KeYProjects Situation字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否科研项目KeYProjects Varchar(50)否否科研类型KeYType Varchar(20)否否结项时间JieXTime Datetime否否资助金额Grants Char(20)否否项目编号ProjectsNum Char(20)否否主持人Hoster Vchar(8)否否18、职称晋升情况 tb_ZhiCh字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否职称ZhiCh Vchar(12)否否GetZhiChTime Varchar(20)否否获得职称时间现所在单位NowUnit Varchar(30)否否备注Notes Varchar(255)否否19、参加工作访问进修情况 tb_StudyVisit字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否进修访问StudyVisitPlace Varchar(50)否否地点时间StudyTime Varchar(20)否否性质StudyNature Vchar(20)否否身份Identity Vchar(20)否否兼职情况PartTimeJob Vchar(20)否否备注Notes Varchar(255)否否20、获奖情况(荣誉称号表彰) tb_WinningSituation 字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否获奖名称WinningName Vchar(20)否否授予单位GrantUnit Varchar(20)否否授予时间GrantTime Datetime否否获奖类型WinningType Vchar(20)否否21、教学工作情况 tb_T eachJob字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否学年学期SchoolSemester Char(4)否否上课系部ClassDepartment Vchar(20)否否上课专业ClassPro Vchar(20)否否课程Course Vchar(20)否否上课班级Classroom Vchar(20)否否上课地点ClassPlace Vchar(20)否否(教室)授课类型ClassType Vchar(20)否否备注Notes Varchar(255)否否22、工作量统计字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否学年学期SchoolSemester Char(4)否否上课系部ClassDepartment Vchar(20)否否上课专业ClassPro Vchar(20)否否课程Course Vchar(20)否否上课班级Classroom Vchar(20)否否ClassPlace Vchar(20)否否上课地点(教室)授课类型ClassType Vchar(20)否否备注Notes Varchar(255)否否23、权限表字段描述字段名数据类型是否主键是否为空权限编号PerID Char (2)是否权限名称PerName Varchar(20)否否24、用户组字段描述字段名数据类型是否主键是否为空用户组编号GroupID Char(1)是否权限编号PerID Char(2)否否用户组名称GroupName Varchar(20)否否25、操作日志表字段描述字段名数据类型是否主键是否为空操作编号OperationID Int是操作ip Ip Varchar(20)否否登入时间LoginTime DateTime否否操作用户UserID Varchar(16)否否操作类型OperationType Varchar(20)否否。

用mysql实现学生成绩管理代码

用mysql实现学生成绩管理代码

用mysql实现学生成绩管理代码学生成绩管理是教育行业中非常重要的一项工作,它涉及到学生的学习情况、成绩统计、课程安排等多方面内容。

为了更好地管理学生成绩数据,我们可以利用MySQL数据库来实现学生成绩管理代码,实现高效的学生成绩管理。

一、数据库设计在开始实现学生成绩管理代码之前,我们首先要进行数据库设计。

为了存储学生信息和成绩数据,我们可以创建两张表:学生表和成绩表。

学生表包含以下字段:-学号(id):唯一标识学生的编号,也是该表的主键。

-姓名(name):学生的姓名。

-班级(class):学生所在的班级。

成绩表包含以下字段:-学号(id):学生的学号,也是该表的外键,与学生表中的id字段关联。

-课程(course):学生所修的课程。

-成绩(score):学生在该门课程上的成绩。

二、创建数据库和表在MySQL命令行中,我们可以使用以下SQL语句创建学生成绩管理数据库和相应的表:```CREATE DATABASE student_score;USE student_score;CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50), class VARCHAR(50));CREATE TABLE score ( id INT, course VARCHAR(50), score INT, FOREIGN KEY (id) REFERENCES student(id));```三、插入数据在完成数据库和表的创建之后,我们可以向学生表和成绩表中插入数据。

以下是向学生表中插入学生信息的示例:```INSERT INTO student (id, name, class) VALUES (1, '张三', '一班'), (2, '李四', '二班'), (3, '王五', '一班');```以下是向成绩表中插入学生成绩的示例:```INSERT INTO score (id, course, score) VALUES (1, '数学', 90), (1, '英语', 85), (2, '数学', 95), (2, '英语', 80), (3, '数学', 88), (3, '英语', 92);```四、查询数据在学生成绩管理中,我们经常需要查询学生的成绩信息。

学生成绩在线管理系统数据库课程设计mysql+java

学生成绩在线管理系统数据库课程设计mysql+java

学生成绩在线管理系统数据库课程设计mysql+java以下是一个学生成绩在线管理系统的数据库设计示例,使用MySQL数据库和Java 编程语言:1. 学生表(students)-学生ID(student_id):主键,自增-学生姓名(student_name):varchar类型,最大长度为50-学生年龄(student_age):整数类型-学生性别(student_gender):varchar类型,最大长度为10-学生班级(student_class):varchar类型,最大长度为502. 课程表(courses)-课程ID(course_id):主键,自增-课程名称(course_name):varchar类型,最大长度为503. 成绩表(scores)-成绩ID(score_id):主键,自增-学生ID(student_id):外键,关联到学生表的学生ID-课程ID(course_id):外键,关联到课程表的课程ID-分数(score):浮点数类型通过以上表的设计,你可以实现以下功能:-添加学生信息-添加课程信息-添加学生成绩-查询学生信息-查询课程信息-查询学生的成绩-更新学生信息-更新课程信息-更新学生成绩-删除学生信息-删除课程信息-删除学生成绩在Java中,你可以使用JDBC(Java Database Connectivity)来连接MySQL数据库并执行SQL语句来实现对数据库的操作。

你需要配置数据库连接信息,并编写相应的Java代码来执行查询和更新操作。

这只是一个简单的数据库设计示例,你可以根据你的具体需求进行调整和扩展。

数据库课程设计学生成绩管理系统

数据库课程设计学生成绩管理系统
安全性加强
可以进一步加强系统的 安全性设计,如增加用 户权限管理、数据备份 与恢复等功能,确保数 据的完整性和安全性。
THANKS
感谢观看
情况下的容错处理。
性能测试用例
设计针对不同用户数量和不同数据量 的测试用例,以验证系统的性能和稳
定性。
安全测试用例
设计针对系统安全性的测试用例,如 用户权限验证、数据加密传输等。
测试执行与结果分析
测试执行
按照测试计划和测试用例进行测试,记录测试结果和发现的问题 。
问题跟踪与修复
对发现的问题进行跟踪,确保问题得到及时修复,并重新进行测试 验证。
测试方法
采用黑盒测试和白盒测试相结合的方法,包括功能测试、 性能测试、安全测试等。
测试范围
包括系统的所有功能模块,如学生信息管理、课程管理、 成绩录入与查询、报表生成等。
测试资源
包括测试人员、测试环境、测试数据等。
测试用例设计
功能测试用例
针对系统的每个功能模块设计测试用 例,包括正常情况下的操作以及异常
系统功能实现
课程信息管理
实现课程基本信息的录入、修 改、查询和删除功能。
报表生成
根据需求生成各类报表,如学 生成绩单、课程统计表等。
学生信息管理
实现学生基本信息的录入、修 改、查询和删除功能。
成绩录入与查询
实现学生成绩的录入、修改、 查询和删除功能,支持批量导 入成绩数据。
权限管理
实现不同用户角色的权限管理 ,确保系统的安全性和稳定性 。
常见问题与解决方案
数据库连接问题
检查数据库连接配置是否正确,确保数据库服务 正常运行,并尝试重新启动数据库服务或修复连 接问题。
系统性能下降

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库课题: 雇员信息管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:2012年6月4号----2012年6月10日一、需求分析阶段1.信息需求对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。

2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能。

具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

3. 安全性与完整性要求对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。

另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

设计成绩管理数据库包括学生、成绩、课程、教师四个关系。

E-R图如下三、详细设计阶段详细结构是独立于任何一种数据模型的信息结构。

详细结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)2、学生信息表(student1)四、数据库实现数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生成绩管理数据库一、建数据库使用企业管理器图形化创建数据库,步骤如下:1.启动企业管理器。

在控制台上依次单击“Microsoft SQL Servers”和“SQL Server Group”在左边的加号,然后单击要创建数据库德服务器左边的加号图标,展开树形目录,如图1-1所示。

图1-12.右击“数据库”,然后在弹出的菜单中选择“新建数据库”命令,弹出如图1-2所示的对话框,在此对话框的“名称”文本框中输入数据库名Stdent。

图1-23.单击图1-2上的“数据文件”选项卡,在此对话框的“文件名”列表框中输入主数据文件的名称,数据库逻辑文件名为“Student_Data”,物理文件名为“student_Data.MDF”,存放位置是“C:\Program Files\Microsoft SQLServer\MSSQL\data\student_Data.MDF”,如图1-3所示。

图1-34.如上图1-3所示,文件的初始大小为1MB,增长方式为根据实际需要自动增加,如图1-3所示设置“文件属”文件增长方式按兆字节增长每次增加1MB。

5.单击图1-2上的“事物日志”选项设置和日志相关选项。

设置日志文件名为“student_Log”,日志物理文件名“student_Log.LDF”,日志存放位置“C:\SQL Server\MSSQL\data\student_Log.LDF”图1-46.如上图1-4所示,日志文件的初始大小为1MB,增长方式设置为按百分比自动增长,每次增长10%。

二、各个表的结构启动企业管理器,在“控制台”窗格中展开“Student”数据库。

右击“表”节点,在弹出的菜单中选择“新建表”,随后弹出如图2-1所示对话框。

图2-11.新建学生Student表Student表结构如下所示:新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-2所示。

设置Sno 为主键设置完表字段后保存此表并输入表名“Student ”, Student 表创建成功,点击Student 表属性显示图2-3所示表属性窗口。

图2-2图2-32.新建课程表Course 表Couse表结构新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-4所示。

图2-4设置Cno为主键设置完表字段后保存此表并输入表名“Course”, Course表创建成功,点击Course表属性显示图2-5所示表属性窗口。

图2-5 3.新建班级Class 表班级Class 表结构新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-6所示。

图2-6设置Clno为主键和Number字段为int型并且取值范围大于1小于100,为Number设置检查约束,在新建表窗口上点击右键菜单选择“检查约束”选项弹出如下图2-7所示“检查约束”窗口。

图2-7如上图所示设置检查约束CK_Class,约束Number大于1小于100。

设置完表字段后保存此表并输入表名“Class”Class表创建成功,点击Class表属性显示图2-8所示表属性窗口。

图2-84.新建成绩Grade 表成绩Grade 表结构新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-9所示。

图2-9设置Sno为主键和Gmark字段为numeric型并且取值范围大于1小于100,为Gmark设置检查约束,在新建表窗口上点击右键菜单选择“检查约束”选项弹出如下图2-10所示“检查约束”窗口。

图2-10如上图所示设置检查约束CK_Grade,约束Gmark大于1小于100。

设置完表字段后保存此表并输入表名“Grade”Grade表创建成功,点击Grade表属性显示图2-11所示表属性窗口。

5.建立外码约束学生Student表建立Clno外码在图2-2所示窗口中,点击右键选择“属性”选项,弹出如图2-12所示的对话框。

单击“新建”按钮,图2-12下面的“主键表”和“外键表”部分成为可用状态。

在“主键表”下拉表框中选择Class 表,并在“主键表”下边的下拉列表框中选择Clno 列。

然后在“外键表”下拉表框中选择student 表,并在“外键表”下边的下拉列表中选择Clno 外码。

如下图2-13所示.图2-12图2-13班级Class 表建立Monitor外码在图2-13所示窗口中单击“新建”按钮,在“主键表”下拉表框中选择student表,并在“主键表”下边的下拉列表框中选择Sno列。

然后在“外键表”下拉表框中选择class表,并在“外键表”下边的下拉列表中选择Monitor外码。

如下图2-14所示图2-146.向数据库插入数据向Student表插入数据启动企业管理器,在“控制台”窗格中展开“Student”数据库。

左击“表”节点,在右显示框会显示所有Student库的所有表,选择Student 表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-15所示窗口,在此窗口可对Student表数据进行编辑。

图2-15在图2-15窗口可输入表数据,如下图2-16所示。

图2-16如上图2-16所示,共向Student表插入20条记录。

向Course表插入数据启动企业管理器,在“控制台”窗格中展开“Student”数据库。

左击“表”节点,在右显示框会显示所有Student库的所有表,选择Course表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-17所示窗口,在此窗口可对Course 表数据进行编辑。

在图2-17窗口可输入表数据,如下图2-18所示。

如上图2-18所示,共向Course 表插入10条记录。

向Class 表插入数据启动企业管理器,在“控制台”窗格中展开“Student ”数据库。

左击“表”节点,在右显示框会显示所有Student 库的所有表,选择Class 表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-19所示窗口,在此窗口可对Class 表数据进行编辑。

图2-17图2-18在图2-19窗口可输入表数据,如下图2-20所示。

如上图2-20所示,共向Class 表插入11条记录。

向Grade 表插入数据启动企业管理器,在“控制台”窗格中展开“Student ”数据库。

左击“表”节点,在右显示框会显示所有Student 库的所有表,选择Grade 表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-21所示窗口,在此窗口可对Grade 表数据进行编辑。

在图2-21窗口可输入表数据,如下图2-22所示。

图2-21图2-19图2-20图2-22如上图2-22所示,共向Class表插入21条记录。

三、操作1.依据上述的四个表,用SQL语句完成如下操作1)给学生表增加一个属性,如:Nation(民族) 类型为Varchar(20)打开如下图3-1所示的窗口。

右键单击Student 表,选择“设计表”选项,弹出如下图3-2所示窗口。

在图3-2编辑添加新属性Nation(民族) 类型为Varchar(20) “Nation ”。

如下图3-3所示。

图3-1图3-2图3-3保存结果,添加属性完成。

2)删除新增加的属性如上图3-3所示窗口,选择要删除属性”Nation”,并点击右键选择“删除列”选项,删除所选”Nation”属性。

关闭并保存,删除新增加属性完成。

3)向成绩表中插入一条记录(“2001110”,“3”,80)打开图3-1所示窗口,并且点击右键选择“打开表”-〉“显示所有行”弹出如下图3-4窗口显示Grade表所有记录。

在图3-4最后以行直接输入要添加记录(“2001110”,“3”,80),如下图3-5所示.图3-4关闭并保存,完成记录添加。

4) 修改学号2001110的学生成绩为70分如上图3-5所示,选择学号2001110的学生成绩直接在上面把80改为70。

改后如下图3-6所示.图3-5图3-6关闭并保存,修改学号2001110的学生成绩为70完成。

5)删除学号2001110的学生成绩的记录如上图3-6所示,选择学号为”2001110”的学生,点击右键选择“删除”选项,可删除学号为”2001110”的学生,删除后如下图3-7所示。

图3-6关闭并保存。

删除学号为“2001110”的学生记录完成。

6)为学生表创建一个名为IX-Class的索引,以班级号排序打开3-2窗口,点击右键选择“索引/键”如下图3-7所示。

图3-7单击“新建”按钮,修改索引名为“IX-Class”并且修改列名为“Clno”,如下图3-8所示。

图3-8关闭并保存,添加索引完成。

7)删除名为IX-Class的索引如上图3-8所示,点击“删除”按钮。

删除“IX-Class”索引。

完成删除索引删除。

2.依据上述的四个表,用SQL语句完成如下查询1)找出所有被学生选修了的课程号;打开“查询分析器”,选择Student数据库。

输入sql语句:select distinct Cno from Grade,在下面窗口显示查询结果如下图3-9所示。

图3-92)找出某班女学生的个人信息;查询00312班的女学生个人信息。

输入sql语句为:select * from Student where Ssex='女' and Clno='00312'。

在下面窗口显示查询结果如下图3-10所示。

3) 找出所有姓李的学生的个人信息;输入sql 语句为:select * from Student where Sname like '李%'在下面窗口显示查询结果如下图3-11所示。

4) 找出某同学所在班级的学生人数;查找“刘山”所在班级的学生人数。

输入的Sql 语句为:图3-10图3-11select Number from Class where Clno=(select Clno from Student where Sname='刘山')在下面窗口显示查询结果如下图3-12所示。

图3-125)找出课程名为某门的平均成绩、最高分、最低分;找出“数据库”课程的平均成绩、最高分、最低分。

输入sql语句为:select avg(Gmark)as 平均成绩,max(Gmark) as 最高分,min(Gmark) as 最低分from Grade where Sno=(select Sno from Course where Cname='数据库')在下面窗口显示查询结果如下图3-13所示。

6) 找出选修了课程的学生人数;输入sql 语句为:select count( distinct Sno) as 学生人数 from Grade在下面窗口显示查询结果如下图3-14所示。

相关文档
最新文档