您的位置:首页 > 数据库

SQLServer实训

2015-10-23 16:48 363 查看
一、数据库hngy由下面8张表组成,每张表的设计结果如表1至8所示:

表1 院系信息表(DepartInfo)
字段名

中文名

数据类型

长度

约束

DepNO

院系编号

Char

4

主键,首字母为‘D’,后面为3位数字

DepName

院系名

Varchar

30

非空

表2 专业信息表(SpecialtyInfo)
字段名

中文名

数据类型

长度

约束

SpeNO

专业编号

Char

5

主键,首字母为‘S’,后面为4位数字

SpeName

专业名

varchar

20

非空

DepNO

院系编号

Char

4

外键

表3 学生信息表(StudentInfo)
字段名

中文名

数据类型

长度

约束

StuNO

学号

char

12

主键,全为数字,长度为12

StuName

姓名

varchar

20

非空

Sex

性别

char

2

默认值’男’,只能为男,或女

Birth

出生年月

datetime

EnterDate

入学年份

int

4

SpeNO

专业编号

char

5

外键

Address

家庭住址

varchar

50

表4 教师信息表(TeacherInfo)
字段名

中文名

数据类型

长度

约束

TNO

教师编号

char

5

主键,字段值以‘T’开头,后面为4位数字

TName

姓名

varchar

20

非空

Sex

性别

char

2

默认值’男’

Birth

出生年月

datetime

Position

职称

char

8

默认值为‘讲师’

DepNO

院系编号

char

4

外键

Phone

办公电话

char

13

Email

电子邮箱

varchar

50

表5 课程信息表(CourseInfo)
字段名

中文名

数据类型

长度

约束

CNO

课程编号

char

8

主键,全为数字

CName

课程名

varchar

50

非空

Credit

学分

int

1

非空

ClassHour

学时

int

1

非空

表6 课程状态表(CourseStatus)
字段名

中文名

数据类型

长度

约束

CNO

课程编号

char

8

组合主键,外键

SpeNO

专业编号

char

5

组合主键,外键

Semester

学期

int

1

Ctype

课程类别

varchar

10

OrdinarySc

选课状态

bit

1

TNO

教师编号

char

5

外键

表7 学生成绩表(SC)
字段名

中文名

数据类型

长度

约束

StuNo

学号

char

12

组合主键,外键

CNO

课程编号

char

8

组合主键,外键

OrdinarySc

平时成绩

Float

8

EndSc

期末成绩

Float

8

TotalSc

总评成绩

Float

8

表8 用户信息表(UserInfo)
字段名

中文名

数据类型

长度

约束

UserID

用户ID

varchar

20

主键

Password

用户密码

varchar

20

非空

Identity

用户身份

varchar

20

非空

二、样本数据

1.院系信息表(DepartInfo)

DepNO

Depname

D001

软件学院

D002

信息工程系

D003

经贸商务系

2.专业信息表(SpecialtyInfo)

SpeNO

SpeName

DepNO

S0001

软件技术

D001

S0002

商务英语

D003

S0003

计算机网络

D002

3.学生信息表(StudentInfo)

StuNO

StuName

Sex

Birth

EnterDate

SpeNO

Address

200302303055

孙浩



1983/12/4

2003

S0001

长沙

200403044011

陆颖



1985/6/5

2004

S0002

上海

200504435001

王斌



1984/9/3

2005

S0003

长沙

4.教师信息表( TeacherInfo)

TNO

TName

Sex

Birth

Position

DepNO

Phone

Email

T0001

黄刚



1970/4/22

副教授

D001

(0731)4614888

HG@163.com

T0002

周倩



1981/11/5

助教

D003

(0731)4614881

ZQ@126.com

T0003

李小双



1976/3/20

讲师

D002

(0731)4614884

LXS@21cn.com

5.课程信息表(CourseInfo)

CNO

Cname

Credit

ClassHour

08013901

数据结构

4

54

03123803

计算机网络

2

40

00467108

BEC

4

60

6.课程状态表(CourseStatus)

CNO

SpeNO

Semester

CType

OrdinarySc

(1表已选0表未选)

TNO

08013901

D001

3

必修

1

T0001

03123803

D002

2

必修

1

T0002

00467108

D003

1

必修

1

T0003

7.学生成绩表(SC)

StuNo

CNO

OrdinarySc

EndSc

TotalSc

200302303055

08013901

63.0

80.0

75.0

200403044011

00467108

85.0

88.0

87.6

200504435001

03123803

30.0

50.0

44.0

8.用户信息表(UserInfo)

用户ID

UserID

用户密码

Password

用户身份

Identity

admin

Admin

Administrator

teacherA

TeacherA

Teacher

studentA

StudentA

Student

三、设计内容:(所有的内容用PL/SQL语句实现)

1、创建表空间。表空间名字为SOFT_1或 SOFT_2。

2、将上面的表结构+约束+完整性建好,数据添加完整。

3、查询

1) 查询全部学生的学号、姓名、课程名称、成绩。

2) 查询教师编号、教师姓名、课程名称、平均成绩。

3) 查询至少选修两门课程的学生学号。

4) 查询全部学生都选修的课程的课程号与课程名称。

5) 统计选修数据结构课程的学生的平均年龄。

6) 统计某位老师的所授课程的平均成绩。

7) 查询软件技术专业的不及格学生信息及课程信息。

8) 查询学生某个学期的所有成绩。

9) 查询某专业的学生的成绩。

4、用户自定义函数

根据老师编号,统计其所授课程的平均成绩及学生人数。

5、数据库的新建

数据库新建
新建表格
插入数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: