![8d3280e7117187a2f81cdac86886999a.png](https://i-blog.csdnimg.cn/blog_migrate/3c025ee41b801424dca9193e8da7a305.jpeg)
根据所学JAVA以及数据库知识,实现符合要求简单的学生信息管理系统
一、在SQL server中建立表和视图
(1)首先创建数据库--“教务系统”;
(2)在SQL Server 2008中创建关系数据模型(即表结构),共设计6个表分别为管理员,教师表,学生表,班级表,课程表和成绩表;以及设计4个视图分别为班级表1,成绩表1,课程表1,课程表2。
(视图:视图是为了满足某种查询而建立的一个对象。视图适合于多表连接浏览时使用,不适合增、删、改,存储过程适合于使用较频繁的SQL语句,这样可以提高执行效率! 一个视图可以对应一个基本表,也可以对应多个基本表(多表字段名称不能有重复)。)
create database 教务系统; --创建一个数据库 use 教务系统;
--使用这个数据库,在这个数据库下创建表
create table 管理员( --管理员表
管理员号 char(10) ,
登录密码 char(20));
create table 教师表( --教师表
教师号 char(20) primary key, --设置主键
姓名 char(20),
性别 char(2),
学历 char(20),
职称 char(20),
所属学院 char(20),
登录密码 char(20));
create table 班级表( --班级表
班级号 char(10) primary key, --设置主键
班级名称 char(20),
所属学院 char(20),
班级人数 smallint,
班主任 char(20));
create table 学生表( --学生表
学号 char(10) not null primary key, --设置主键
姓名 char(20) not null,
性别 char(2),
年龄 smallint, --存储两个字节的整数
班级号 char(10),
foreign key(班级号) references 班级表(班级号), --外码,一个学生的班级号,必须来源于另一个表(班级表)中的“班级主键(即班级号)”字段。
密码 char(20));
create table 课程表( --课程表
课程号 char(20) primary key, --设置主键
课程名 char(20) ,
教师号 char(20),
foreign key(教师号) references 教师表(教师号)); --外码,一个教师的教师号,必须来源于另一个表(教师表)中的“教师主键(即教师号)”字段。
create table 成绩表( --成绩表
学号 char(10),
课程号 char(20),
成绩 smallint,
primary key(学号,课程号), --学号和课程号联合做主键,即当一个字段无法确定唯一性的时候,需要其他字段来一起形成唯一性。用来组成唯一性的字段
foreign key(学号) references 学生表(学号), --外码,一个学生的学生号,必须来源于另一个表(学生表)中的“学生主键(即学生号)”字段。
foreign key(课程号) references 课程表(课程号)); --外码,一节课程的课程号,必须来源于另一个表(课程表)中的“课程主键(即课程号)”字段。
go create view 班级表1 --创建学生班级视图,要求查询所有学生的学号、班级号、班级名称、所属学院、班级人数及班主任 as select 学生表.学号,班级表.班级号,班级表.班级名称,班级表.所属学院,班级表.班级人数,班级表.班主任 from 学生表,班级表 where 学生表.班级号=班级表.班级号; go create view 成绩表1 --创建学生成绩视图,要求查询所有学生的学号、姓名、课程号、课程名、教师姓名及成绩 as select 成绩表.学号,学生表.姓名,成绩表.课程号,课程表.课程名,教师表.姓名,成绩表.成绩 from 成绩表,学生表,课程表,教师表 where 成绩表.学号=学生表.学号 and 成绩表.课程号=课程表.课程号 and 课程表.教师号=教师表.教师号; go create view 课程表1 --创建学生课程表视图,要求查询所有学生课程号、课程名、教师号及教师姓名 as select 成绩表.课程号,课程表.课程名,课程表.教师号,教师表.姓名 from 成绩表,课程表,教师表 where 成绩表.课程号=课程表.课程号 and 课程表.教师号=教师表.教师号; go create view 课程表2 --创建学生课程表视图,要求查询所有学生学号、课程号、课程名、教师号及教师姓名 as select 成绩表.学号,成绩表.课程号,课程表.课程名,课程表.教师号,教师表.姓名 from 成绩表,课程表,教师表 where 成绩表.课程号=课程表.课程号 and 课程表.教师号=教师表.教师号; go create view 学生信息表 --创建学生信息视图,要求查询所有学生学号、姓名、性别、年龄、班级号、班级名称、课程号、课程名、成绩及教师号 as select 学生表.学号,学生表.姓名,学生表.性别,学生表.年龄,学生表.班级号,班级表.班级名称,成绩表.课程号,课程表.课程名,成绩表.成绩,课程表.教师号 from 学生表,班级表,成绩表,课程表 where 学生表.班级号=班级表.班级号 and 学生表.学号=成绩表.学号 a