《数据库应用技术》课程大作业样本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生管理系统数据库设计与实现
班级:03 级理学院应用物理系组成员及所完成的工作:
1 班阴文斌(组长) 3003210023 所完成的工作:数据库整体结构的设计,ER 图的绘制和其他
工作的审核
1 班田巍3003210014 所完成的工作:
1 班周冬建3003210029 所完成的工作:系统名称:学生管理系统
一.系统需求
a.该“学生管理系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的
熟悉与掌握,其中包括从数据库的概念模型到ER 图的绘制,再到
数据库模式的建立(即为数据库及其基本表的建立),而后数据的录入(在此从略),最后完成一些简单的关系运算表达式的表达和相关的Select 查询语句的使
用。
b.系统结构简述:本系统包括六个实体:学生;课程;教师;学院;社团;活动实体之间的关系
转换为其他四个表:选修;代课;加入社团;组织活动(都是多对多关系的转换)实体“学
院”与“学生”之间一对多的关系转换到表“学生”中注:各个基本表中关键字已在关系模式中说明
c.该数据库需要进行如下数据处理:(田巍)
◎ 要查询所有学生的个人信息:学号,姓名,性别,民族,出生年月,籍贯,身份证号,学院
编号,所在专业
◎ 学生要查询本学期所开课程详细情况(成绩除外),并按“课程类型”分组输入:学号
输出:学号,姓名,课程名,学分数,学时数,课程类型
◎ 对某个学生的社团活动用清单表示(按社团分组,活动时间升序排序):输入:学号输出:学号,姓名,活动名称,活动地点,活动时间,社团名称,详细内容
◎ 某位教师想查询自己本学期所代的课程及其上课情况:输入:教师姓名输出:教师编号,姓名,性别,课程名,课程类型,上课教室,上课时间
ER 图(阴文斌) 所在专业
1
n
所属院系 选修
学院 课程
m
上课教室
入社日期
成绩
代课
职务 上课时间
成立年份
n
社团编号#
会长编号
教师
名称
所属级别
备注
截止日期
发起日期
活动地点
n
名称
活动
详细内容
活动编号#
学生
m
m
加入社团
n
社团
m
组织活动
图1社团活动ER 图 姓名 性别
学号# 课程编号
身份证号
岀生年月
学生 课程名
宿舍号
籍贯
学时数
课程
民族 课程类型
教师编号#
学分数
姓名
学历
家庭住址
性别
教师
电话
备注
图2课程部分ER 图
图3学院局部ER图
三•关系模式(田巍)
系统中的实体有:学生;课程;教师;学院;社团;活动
关系模式如下:
学生(学号#,姓名,性别,民族,出生年月,籍贯,身份证号,宿舍号,学院编号,所在专业)
说明:属性中“学院编号”和“所在专业”是一对多关系“所属院系”的转换,宿舍号的格式为:_ _ - _ - ___________________ (_代表数字)
课程(课程编号#,课程名,课程类型,学分数,学时数)
选修(学号#,课程编号#,成绩)
教师(教师编号#,姓名,性别,学历,家庭住址,电话,备注)
代课(课程编号#,教师编号#,上课教室,上课时间)
说明:属性中“上课教室”的格式为:_ _ - ___ ,“上课时间”的格式为:」1-7] _ : _ [S/D] [。_ [1-7] _ : _ _ [S/D]]
社团(社团编号#,名称,所属级别,成立年份,会长编号,备注)
说明:属性中“所属级别”的取值为{校级,院级}
加入社团(学号#,社团编号#,入社日期,职务)
活动(活动编号#,名称,活动地点,发起日期,截止日期,详细内容)
组织活动(社团编号#,活动编号#)
学院(学院编号#,名称,学院类型,院长编号,院办地址,院办电话)
说明:“学院类型”可以看作是“工科”或者“理科”
四. 物理设计
表1.学生表结构
五. 系统实现
1.数据库及其基本表的建立(周冬建)
数据库的建立用企业管理器,基本表的建立用T - SQL语言:
数据库名称为:SM_System
建立数据库的T—SQL代码如下:
Create database SM_System
On (n ame=sm_system_data, file name= ' 阴文斌_ 田巍_ 周冬建\
sm_system_data.mdf)
Log on (name=sm_system_log, filename= ' 阴文斌_ 田巍_ 周冬建\ sm_system」o g. lmf)
建立基本表的T—SQL代码如下:
use SM_System
create table 学生(学号char(10) not null,
姓名char(8) not null,
性别char(2) not null,
民族char(10) not null,
出生年月datetime,
籍贯char(80) not null,
身份证号char(18) not null,
宿舍号char(9),
学院编号char(6) not null,
所在专业char(20) not null)
create table 课程(课程编号char(6) not null,
课程名char(40) not null,
课程类型char(12) not null,
学分数smallint,
学时数smallint)
create table 选修(学号char(10) not null,
课程编号char(6) not null,
成绩smalli nt)
create table 教师(教师编号char(6) not null,
姓名char(8) not null,
性别char(2) not null,
学历char(20),