学生管理系统数据库设计与实现。
班级:03级理学院应用物理系。
组成员及所完成的工作:
1班阴文斌(组长) 3003210023
所完成的工作: 数据库整体结构的设计,er图的绘制和其他工作的审核。
1班田巍 3003210014
所完成的工作:
1班周冬建 3003210029
所完成的工作:
系统名称:学生管理系统。
一.系统需求。
a. 该“学生管理系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到er图的绘制,再到数据库模式的建立(即为数据库及其基本表的建立),而后数据的录入(在此从略),最后完成一些简单的关系运算表达式的表达和相关的select 查询语句的使用。
b. 系统结构简述:
本系统包括六个实体:学生;课程;教师;学院;社团;活动。
实体之间的关系转换为其他四个表:选修;代课;加入社团;组织活动(都是多对多关系的转换)
实体“学院”与“学生”之间一对多的关系转换到表“学生”中。
注:各个基本表中关键字已在关系模式中说明。
c. 该数据库需要进行如下数据处理:(田巍)
要查询所有学生的个人信息:
学号,姓名,性别,民族,出生年月,籍贯,身份证号,学院编号,所在专业。
学生要查询本学期所开课程详细情况(成绩除外),并按“课程类型”分组。
输入:学号。
输出:学号,姓名,课程名,学分数,学时数,课程类型。
对某个学生的社团活动用清单表示(按社团分组,活动时间升序排序):
输入:学号。
输出:学号,姓名,活动名称,活动地点,活动时间,社团名称,详细内容。
某位教师想查询自己本学期所代的课程及其上课情况:
输入:教师姓名。
输出:教师编号,姓名,性别,课程名,课程类型,上课教室,上课时间。
二.er图(阴文斌)
图1。社团活动er图。
图2。课程部分er图。
图3。学院局部er图。
三.关系模式(田巍)
系统中的实体有:学生;课程;教师;学院;社团;活动。
关系模式如下:
学生(学号#,姓名,性别,民族,出生年月,籍贯,身份证号,宿舍号,学院编号,所在专业)
说明:属性中“学院编号”和“所在专业”是一对多关系“所属院系”的转换,宿舍号的格式为代表数字)
课程(课程编号#,课程名,课程类型,学分数,学时数)
选修(学号#,课程编号#,成绩)
教师(教师编号#,姓名,性别,学历,家庭住址,**,备注)
代课(课程编号#,教师编号#,上课教室,上课时间)
说明:属性中“上课教室”的格式为上课时间”的格式为:_ 1-7s/d] [1-7s/d] ]
社团(社团编号#,名称,所属级别,成立年份,会长编号,备注)
说明:属性中“所属级别”的取值为。
加入社团(学号#,社团编号#,入社日期,职务)
活动(活动编号#,名称,活动地点,发起日期,截止日期,详细内容)
组织活动(社团编号#,活动编号#)
学院(学院编号#,名称,学院类型,院长编号,院办地址,院办**)
说明:“学院类型”可以看作是“工科”或者“理科”
四. 物理设计。
表1。学生表结构。
此处要列出所有表的结构定义)
五. 系统实现。
1. 数据库及其基本表的建立(周冬建)
数据库的建立用企业管理器,基本表的建立用t-sql语言:
数据库名称为:sm_system
建立数据库的t-sql**如下:
create database sm_system
on (name=sm_system_data, filename=’e:\阴文斌_田巍_周冬建\ sm_system_
log on (name=sm_system_log, filename=’e:\阴文斌_田巍_周冬建\ sm_system_log. 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,成绩 smallint)
create table 教师(教师编号 char(6) not null,姓名 char(8) not null,性别 char(2) not null,学历 char(20),家庭住址 char(80),** char(12),备注 char(80))
create table 代课(课程编号 char(6) not null,教师编号 char(6) not null,上课教室 char(6) not null,上课时间 char(18) not null)
create table 社团(社团编号 char(6) not null,名称 char(20) not null,所属级别 char(4),成立年份 datetime,会长编号 char(6) not null,备注 char(80))
create table 加入社团(学号 char(10) not null,社团编号 char(6) not null,入社日期 datetime,职务 char(20))
create table 活动(活动编号 char(6) not null,名称 char(40) not null,活动地点 char(80),发起日期 datetime not null,截止日期 datetime not null,详细内容 char(80))
create table 组织活动(社团编号 char(6) not null,活动编号 char(6) not null)
create table 学院(学院编号 char(6) not null,名称 char(40) not null,学院类型 char(4),院长编号 char(6) not null,院办地址 char(40),院办** char(12))
输入数据:insert into 学生 values(‘3006201101’,’李红’,’女’,’汉族’,’1985-05-12’,’河北省保定’,’12010624-401’,’201’,’机械制造’)
写出每个数据表数据的输入命令。
2.创建索引(略)
3.创建视图(略)
4.创建存储过程(略)
5。查询语句(阴文斌,周冬建)教师批注:此处不符合要求,应该创建存储过程实现!
要查询所有学生的个人信息。
学号,姓名,性别,民族,出生年月,籍贯,身份证号,学院编号,所在专业。
select 学号,姓名,性别,民族,出生年月,籍贯,身份证号,学院编号,所在专业。
from 学生。
学生要查询本学期所开课程详细情况(成绩除外),并按“课程类型”分组。
输入:学号。
输出:学号,姓名,课程名,学分数,学时数,课程类型。
设输入的学号的数值为x
select s.学号,姓名,课程名,学分数,学时数,课程类型。
from 学生 as s,选修 as x,课程 as c
where s.学号=x.学号 and x.课程编号=c.课程编号 and s.学号=x
group by 课程类型。
对某个学生的社团活动用清单表示(按社团分组,活动时间升序排序):
输入:学号。
输出:学号,姓名,活动名称,活动地点,活动时间,社团名称,详细内容。
设输入的学号为x
某位教师想查询自己本学期所代的课程及其上课情况:
输入:教师姓名。
输出:教师编号,姓名,性别,课程名,课程类型,上课教室,上课时间。
设输入的教师姓名为x
select j.教师编号,姓名,性别,课程名,课程类型,上课教室,上课时间。
from 教师 as j,代课 as d,课程 as c
where j.教师编号=d.教师编号 and d.课程编号=c.课程编号 and 姓名=x
完成日期: 年月日。
高级数据库大作业
深圳大学考试答题纸。以 报告等形式考核专用 二 一五 二 一六学年度第一学期。摘要 本文介绍一种用于高维空间中的快速最近邻和近似最近邻查找技术 kd tree kd树 kd tree,即k dimensional tree,是一种高维索引树形数据结构,常用于在大规模的高维数据空间进行最近邻查找 ne...
数据库课程大作业格式
数据库原理 综合作业。3个同学选作一个题目,尽量选择不相同的题目,可能会有2个小组所选做的题目相同,但系统的具体实现要完全不同。为了保证是同学们自己所做的系统而不是抄袭 复制而来的,特作如下要求 1 每个窗体的命名必须使用小组成员名作为前缀,例如lyt form1 frm 2 每个变量必须使用小组成...
数据库大作业报告
数据库实验报告。大作业。院 系 计算机学院。专业班级 网络工程1402 人事管理系统后台数据库。通过对各个用户的调查,该人事管理系统有如下需求 1 员工信息管理 实现记录在该单位中所有人员的在该单位的员工信息,实现对员工信息的管理,也包括对员工信息的增加 删除 修改等功能。2 部门信息管理 实现对该...