苏州大学本科生课程设计
3 数据库设计
3.1 系统概念结构设计
4
教师ID 教师姓名 教师 课程号 登录密码 课程 课程名称 教师ID 学号 课程号 成绩 姓名 学号 成绩 管理员ID 学籍 管理员 性别 籍贯 登录密码 班级号 籍贯 班级 登录密码 总人数 班级号 班级名称 苏州大学本科生课程设计
实体属性表:
实体 教师 课程 管理员 班级 学籍 成绩
属性 教师ID,教师姓名,登录密码 课程号,课程名称,教师ID 管理员ID,登录密码 班级号,班级名称,总人数 学号,姓名,性别,班级号,籍贯,登录密码 学号,课程号,成绩 3.2 系统逻辑结构设计
教师信息表:
字段名 教师ID 教师姓名 登录密码
类型 varchar(8) varchar(8) varchar(8) 空值 not null not null not null 约束条件 主键 课程信息表:
字段名 课程号 课程名称 教师ID 类型 varchar(8) varchar(8) 空值 not null not null 约束条件 主键 外键 varchar(12) not null
班级信息表:
字段名 班级号 班级名称 所属学院 班级人数 类型 varchar(8) varchar(8) varchar(6) nchar(4) 空值 not null not null 约束条件 主键
管理员信息表:
字段名 管理员ID 登录密码 类型 空值 约束条件 主键 varchar(10) not null varchar(10) not null 5
苏州大学本科生课程设计
成绩信息表:
字段名 班级号 班级名称 所属学院 类型 varchar(8) smallint 空值 not null not null 约束条件 主键,外键 主键,外键 varchar(15) not null
学籍信息表:
字段名 类型 学号 姓名 性别 班级号 籍贯 int char(2) char(10) 空值 not null not null 约束条件 主键 外键 varchar(30) not null varchar(30) not null 登录密码 money
3.3 数据库实现 3.3.1 数据库关系图
6
苏州大学本科生课程设计
3.3.2 SQL语句实现
数据表的创建: (1)教师信息表创建:
create table 教师信息表(
教师ID varchar(8) primary key , 教师姓名varchar(8) not null unique, 登录密码varchar(8) not null, )
(2)课程信息表创建: create table 课程信息表( 课程号varchar(8) primary key, 课程名称varchar(12) not null, 教师ID varchar(8) not null
foreign key(教师ID) references 教师信息表(教师ID) )
(3)班级信息表创建: create table 班级信息表(
班级号varchar(8) not null primary key, 班级名称varchar(8) not null unique, 所属学院varchar(8) , 班级人数 nchar(4) )
(4)学籍信息表创建: create table 学籍信息表( 学号varchar(15) primary key, 姓名varchar(8) not null , 性别varchar(4) ,
班级号varchar(8) not null , 籍贯varchar(5) ,
登录密码varchar(6) not null
foreign key (班级号) references 班级信息表(班级号) )
(5)成绩信息表创建: create table 成绩信息表( 学号varchar(15), 课程号varchar(8), 成绩smallint
primary key(学号,课程号)
foreign key (学号) references 学籍信息表(学号), foreign key (课程号) references 课程信息表(课程号) )
(6)管理员信息表创建:
7
苏州大学本科生课程设计
create table 课程信息表(
管理员ID varchar(8) primary key, 登录密码 varchar(12) not null )
视图的创建:
(1)“教师课程详细信息”视图创建:
create view 教师课程详细信息 as
SELECT 教师信息表.教师ID,教师信息表.教师姓名,课程信息表.课程号,课程信息表.课程名称, 教师信息表.登录密码 FROM 教师信息表
JOIN 课程信息表 ON 教师信息表.教师ID =课程信息表.教师ID
(2) “学生成绩信息”视图创建:
create view 学生成绩信息 as
SELECT 学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,
课程信息表.课程名称,成绩信息表.成绩
FROM 成绩信息表
JOIN 学籍信息表 ON 成绩信息表.学号 = 学籍信息表.学号 JOIN 班级信息表 ON 班级信息表.班级号 = 学籍信息表.班级号 JOIN 课程信息表 ON 课程信息表.课程号 = 成绩信息表.课程号
存储过程创建:
(1)“单科成绩排名”创建:
create proc [dbo].[单科成绩排名] @kechenname char(8), @classname char(8) as
select 学籍信息表.学号,姓名,成绩 from 成绩信息表
join 课程信息表on 课程信息表.课程号=成绩信息表.课程号 join 学籍信息表on 学籍信息表.学号=成绩信息表.学号 join 班级信息表on 班级信息表.班级号=学籍信息表.班级号 where 课程名称=@kechenname and 班级名称=@classname order by 成绩desc
(2)“全班排名”创建:
create proc [dbo].[全班排名]
8