sql server数据库课程设计之选课系统数据库设计报告

1、需求分析

1.1、系统分析

学生选课系统主要完成学生、课程、教师等的管理,以及学生选课,教师上传成绩等。系统主要有三种用户:管理员、教师、学生,各自能通过系统实现的操作如下:

管理员:

  1. 学生管理
  2. 教师管理
  3. 课程管理
  4. 授课安排
  5. 专业、班级管理

学生:

  1. 选课
  2. 查看已选课程
  3. 查看成绩

教师:

  1. 查看讲授课程
  2. 查看选课学生
  3. 成绩录入

1.2、功能模型划分

根据以上分析,可以画出系统的功能结构图,如下图所示:

2、概念模型设计

2.1、局部E-R图

通过分析共找出6个实体:专业、班级、教师、学生、课程、教学计划。

专业-班级er图
班级-学生er图
学生-课程er图

。。。。。。。

2.2、全局E-R图

3、逻辑结构设计

3.1、关系模型

共设计了八张表:专业表、班级表、教师表、学生表、课程表、授课表、成绩表、教学计划表。关系模式分别如下:

专业(专业编号,专业名称) 主键:专业编号

班级(班级号,班级名,辅导员)主键:班级号

教师(教师号,姓名,职称)主键:教师号

学生(学号,姓名,性别,出生日期,班级号)主键:学号

课程(课程号,课程名,学分)主键:课程号

授课(授课编号,教师号,课程号,授课时间,授课地点) 主键:授课编号,外键:教师号,课程号

成绩(学号,授课编号,学期,选课类型,成绩)主键:(学号、授课编号)

教学计划表(专业编号,课程号,选修类型,学期) 主键:(专业编号、课程号)

4、物理结构设计

。。。。。。。。。。

5、数据库实施

5.1、创建数据库及表

(1)创建数据库

create database selectCourse

go

(2)创建专业表

create table major

(majorno  char(3) not null primary key,--专业编号

majorname varchar(20) not null)--专业名称

(3)创建班级表

create table class(

classno  char(3) not null primary key ,--班级号

classname varchar(20) not null,--班级名称

instructor varchar(8),  --辅导员

majorno char(3) references major(majorno)--所属专业

)

(4)创建教师表

create table teacher(

teacherno  char(4) not null primary key ,--教师号

teachername varchar(8) not null,--教师名

head varchar(8) not null)--职称

(5)创建学生表

create table student(

studentno  char(8) not null primary key ,--学生编号

studentname varchar(8) not null,--姓名

sex char(2) check(sex='男' or sex='女'),--性别

birthdate date,--出生日期

classno char(3)references class(classno))--所属班级号

。。。。。

5.2、添加数据

(1)向专业表添加数据

insert into major values('001','软件工程')

insert into major values('002','经济学')

insert into major values('003','信息管理')

(2)向班级表添加数据

insert into class values('001','软件01','张三','001')

insert into class values('002','经济01','李四','002')

insert into class values('003','信管01','王五','003')

insert into class values('004','信管02','赵六','003')

(3)向教师表添加数据

insert into teacher values('T01','教师1','教授')

insert into teacher values('T02','教师2','副教授')

insert into teacher values('T03','教师3','讲师')

insert into teacher values('T04','教师4','教授')

(4)向学生表添加数据

insert into student values('14062012','张三丰','男','1998-12-27','004')

insert into student values('14062013','李四海','男','1997-08-20','004')

insert into student values('14062014','赵钱孙','男','1996-12-21','004')

insert into student values('14062015','张飞飞','女','1996-02-17','004')

insert into student values('14062016','李思思','女','1997-09-15','004')

。。。。。。。

5.3、SQL语句

(1)添加一位学生信息

(2)根据学号查询学生详细信息

(3)创建学生选课信息的视图

。。。。。。。

设计报告及全套sql代码下载: https://pan.baidu.com/s/1zLEImQvFb8eQXH2yhQ-yJA

提取码:

您需要先支付 9.9元 才能查看此处内容!立即支付

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注