数 据 库 技 术
作业
学 校
专 业
年 级
学 号
姓 名
年 月 日
学生信息管理系统数据库设计
一、 数据库的建立
1. 建库说明
基本表的建立用SQL语言。
数据库名称为:学生信息管理系统。
2. 建立数据库命令如下:
Create database 学生信息管理系统
二、 数据表的建立
1. 建表
(1)学生档案信息表:
字段名 | 类型 | 长度 | 是否主键 | 是否为空 | 说明 |
Sno | varchar | 50 | 否 | 学生学号 | |
Sname | char | 10 | 否 | 学生姓名 | |
Ssex | char | 10 | 否 | 学生性别 | |
Sclass | char | 10 | 否 | 学生班级 | |
Birth | int | 4 | 否 | 出生年月 | |
Saddress | char | 10 | 否 | 家庭住址 | |
Sdept | varchar | 50 | 否 | 所在院系 | |
Stime | int | 4 | 否 | 入学时间 | |
命令:
CREATE TABLE [dbo].[学生档案信息] (
[Sno] [varchar] (50) NOT NULL ,
[Sname] [char] (10) NOT NULL ,
[Ssex] [char] (10) NOT NULL ,
[Sclass] [char] (10) NOT NULL ,
[Birth] [int] (4) NOT NULL ,
[Saddress] [char] (10) NOT NULL ,
[Sdept] [varchar] (50) NOT NULL ,
[Stime] [int] (4) NOT NULL ,
) ON [PRIMARY]
GO
(2)班级设置信息表:
字段名 | 类型 | 长度 | 是否主键 | 是否为空 | 说明 |
Sgrade | char | 10 | 否 | 年级 | |
Szclass | int | 4 | 否 | 班级 | |
Syear | char | 5 | 否 | 年制 | |
Scroom | char | 5 | 否 | 教室 | |
Steacher | char | 10 | 否 | 班主任 | |
Stotal | int | 4 | 否 | 学生总数 | |
Ssub | varchar | 8000 | 否 | 专业 | |
命令:
CREATE TABLE [dbo].[班级设置信息] (
[Sgrade] [char] (10) NOT NULL ,
[Szclass] [int] (4) NOT NULL ,
[Syear] [char] (5) NOT NULL ,
[Scroom] [char] (5) NOT NULL ,
[Steacher] [char] (10) NOT NULL ,
[Stotal] [int] (4) NOT NULL ,
[Ssub] [varchar] (8000) NOT NULL ,
) ON [PRIMARY]
GO
(3) 院系信息表:
字段名 | 类型 | 长度 | 是否主键 | 是否为空 | 说明 |
Syname | varchar | 50 | 否 | 院系名称 | |
Spro | varchar | 1000 | 否 | 设有专业 | |
Snum | int | 4 | 否 | 学生人数 | |
Syclass | varchar | 50 | 否 | 所有班级 | |
命令:
CREATE TABLE [dbo].[院系信息] (
[Syname] [varchar] (50) NOT NULL ,
[Spro] [varchar] (1000) NOT NULL ,
[Snum] [int] (4) NOT NULL ,
[Syclass] [varchar] (50) NOT NULL ,
) ON [PRIMARY]
GO
(4)寝室信息表:
字段名 | 类型 | 长度 | 是否主键 | 是否为空 | 说明 |
Shno | char | 10 | 否 | 公寓楼号 | |
Spno | int | 4 | 否 | 寝室门牌号 | |
Sperno | varchar | 1000 | 否 | 寝室成员及数目 | |
Smoney | int | 4 | 否 | 所缴费用 | |
命令:
CREATE TABLE [dbo].[寝室信息] (
[Shno] [char] (10) NOT NULL ,
[Spno] [int] (4) NOT NULL ,
[Sperno] [varchar] (1000) NOT NULL ,
[Smoney] [int] (4) NOT NULL ,
) ON [PRIMARY]
GO
(5)用户信息表:
字段名 | 类型 | 长度 | 是否主键 | 是否为空 | 说明 |
Smima | char | 10 | 否 | 密码 | |
Sown | char | 10 | 否 | 用户 | |
Sguanli | char | 10 | 否 | 管理员 | |
命令:
CREATE TABLE [dbo].[用户信息] (
[Smima] [char] (10) NOT NULL ,
[Sown] [char] (10) NOT NULL ,
[Sguanli] [char] (10) NOT NULL ,
) ON [PRIMARY]
GO
2. 使用说明
例:查询学生的所在院系名称,姓名,学号,年级,公寓楼号需要用到学生档案信息表,班级设置信息表,院系信息表,寝室信息表:
SQL:select Syname,Sname,Sno,Sgrade,Shno from 学生档案信息,班级设置信息,院系信息,寝室信息
三.程序主要查询实现:
1.从每个表中删除1条数据
delete from Students where sname=’张三’
delete from Depts where Dnam=’计算机系’
2.在每个表中修改1条数据
update Students set sname=’李四’ where sname=’张三’
3.每一个表中增加1条数据
insert into Depts values(‘d01’,’计算机系’)
4.查询计算机系的全体学生姓名
select s.sname as 姓名 from Students s,Depts d where d.Dname='计算机系' and s.Dno=d.Dno
5.查询张三的所在的系名
select d.Dname from Students s,Depts d where s.Sname='张三' and s.Dno=d.Dno
6.查询李四所选课程名称
select c.cname from Course c,Students s,Reports r where s.sname=’李四’ and r.Cno=c.Cno and r.Sno=s.sno
7.查询所有年龄在18-22岁之间的学生姓名
select sname from Students where Sage between 18 and 22
8.查询每个学生的学号、姓名、选修的课程名、成绩
select s.sno,s.sname,c.cname,r.grade from Reports r,Students s,Course c where r.Cno=c.Cno and r.Sno=s.Sno
四、主要报表、窗体
设计学生成绩单报表、课程成绩分布报表。
报表可以在设计视图中、或在向导中建立。一共建立2个报表:报表要求带表头、分割线条。产品销售分布报表要求图形报表。
五、结论
本文来源:https://www.2haoxitong.net/k/doc/d8caffdeec630b1c59eef8c75fbfc77da3699744.html
文档为doc格式