【sql server 2008】数据库复习资料

一、基本概念

1.  数据库基本概念是一个长期存储在计算机内的、有组织的、可共享的、统一管理的数据集合

2.  数据库系统组成数据库、数据库管理系统、数据库管理员、用户和应用程序组成

3.  概念模型实体-联系模型、面向对象的数据模型、二元数据模型、语义数据模型、函数数据模型

3种联系:     一对一 、 一对多 、 多对多 

4.  关系模型:指用二维表的形式表示实体和实体间联系的数据模型

5.  数据库文件组成:主要数据文件、次要数据文件、事务日志       

6.  创建数据库的命令:_create database__

7.  创建表的命令__ create table

删除表的命令  drop table

修改表的命令_ altertable    

8.  表的作用_ 存储数据的实体___ 

9插入数据的命令__insert  修改数据的命令_updata_删除数据   delete                    

10.查询语句SELECT的6个组成部分 select、from、where、group、having、orderby。

11.T-SQL语言中局部变量以一个符号     @      开始,全局变量以符号______    @@       开始。

12.使用  declare 定义变量,使用     Go      为批处理结束的标志。

13.视图的基本概念__是从一个或多个表导出的虚拟的表,其内容由查询定义    

14创建视图的命令_ create view  

修改视图的命令___ alter view 

删除视图的命令  drop view   

15.用户自定义函数分为  标量值函数  、内联表值函数 、多语句表值函数              

16创建存储过程的命令 create procedure/create proc

修改存储过程的命令 alter procedure

删除存储过程   drop procedure 

17.调用存储过程的命令execute/exec存储过程的名称 

18创建用户自定义函数的命令 create function

修改用户自定义函数的命令 alter function

删除用户自定义函数 drop function 

 

20.SQLServer 的身份验证有 Windows身份验证 、混合身份验证_  

二、编程

学生成绩数据库的逻辑名称是StudentScore。各表结构如下:

 

(1)系别表,该表名称为Department,结构如表4.1所示。

 

表4.1  系别表Department结构

字段名称

字段内容

数据类型

长 

说 

Departid

系编号

整数

1

不可为空且各系的系编号不相同,自动生成序号,初始值是1,步长是1

Departname

系名称

文本(汉字,变长)

20

不可为空,系名称也不相同

 

(2) 班级表,该表名称为Class,结构如表4.2所示。

 

表4.2  班级表Class结构

字段名称

字段内容

数据类型

长 

说 

Classid

班级编号

文本(数字,定长)

10

不可为空且各班级的班级编号不相同

Classname

班级名称

文本(汉字,变长)

20

不可为空,班级名称也不相同

Specialty

专业

文本(汉字,变长)

20

可为空

Departid

系编号

整数

1

不可为空,各系编号必须是系别表中已出现过的系编号

 

(3)学生表,该表名称为Student,结构如表4.3所示。

 

表4.3  学生表Student结构

字段名称

字段内容

数据类型

长 

说 

Studentid

学生编号

文本(数字,定长)

13

不可为空且各学生的学生编号不相同

Studentname

姓名

文本(汉字,变长)

20

不可为空

Classid

班级编号

文本(数字,定长)

10

可为空,各学生的班级编号必须是班级表中已出现过的班级编号

Birthday

生日

日期

 

可为空,如有值则确保学生年龄大于等于15

Sex

性别

文本(汉字,定长)

1

不可为空,默认值是“男”,取值是“男”或“女”

Address

住址

文本(汉字,变长)

40

可为空

Postalcode

邮编

文本(数字,定长)

6

可为空

Tel

电话

文本(数字,变长)

15

可为空

Enrolldate

入学日期

日期

 

可为空

Graduatedate

毕业日期

日期

 

可为空

State

当前状态

文本(汉字,变长)

10

可为空

Memo

备注

文本(汉字,变长)

200

可为空

 

(4) 课程表,该表名称为Course,结构如表4.4所示。

表4.4  课程表Course结构

字段名称

字段内容

数据类型

长度

说 

Courseid

课程编号

文本(数字,定长)

8

不可为空且各课程的课程编号不相同

Coursename

课程名称

文本(汉字,变长)

30

不可为空

Type

课程类别

文本(汉字,变长)

10

可为空

Mark

学分

整数

1

可为空

 

(5) 成绩表,该表名称为Score,结构如表4.5所示。

 

表4.5  成绩表Score结构

字段名称

字段内容

数据类型

长 

说 

Studentid

学生编号

文本(数字,定长)

13

不可为空,各学生编号必须是学生表中已出现过的学生编号

Courseid

课程编号

文本(数字,定长)

8

不可为空,各课程编号必须是课程表中已出现过的课程编号

Score

成绩

自定义数据类型scoretype(整数)

 

可为空

 

1. 查询所有课程的信息。

SELECT*FROM Course

Go

 

2. 查询班级编号是10701的学生编号、姓名和出生日期。

SELECTStudentid,Studentname,BirthdayFROM Student WHERE Classid='10701'

go

 

3. 查询所有姓“李”学生的姓名和班级编号。

SELECTStude                ntname,ClassidFROMStudent WHERE Studentname LIKE '%'

go

 

4. 统计课程的总数目。

SELECTCOUNT(Courseid)FROM Course

go

 

5.查询课程号‘101001’的课程最高分,最低分,平均分。

 

SELECTMAX(Courseid),MIN(Courseid),AVG(Courseid)FROM Course WHERE Courseid='101001'

Go

 

6.查询所有学生的姓名、学号和班级编号,班级名称。(使用连接查询或者子查询都可以)

 

SELECTStudent.Studentname,Student.Studentid,Student.Classid,Class.ClassnameFROM Student,Class

WHERE Student.Classid=Class.Classid

Go

 

 

7. 添加一个新的班级记录,班级编号是20804,班级名称是机电200804,专业待定,系编号是2。

 

insert  into Class(Classid,Classname,Specialty,Departid)

values('20804','机电','待定','2')

go

 

8. 删除以上新增班级记录。

deletefromClass where Classid='20804'

go

 

9创建一个带输入参数的存储过程CScore,实现查询指定课程号的学生成绩。

存储过程名为CScore,输入参数:@Coursetid  类型:char(10)。   

createprocedureCScore

@Coursetidchar(10)

AS

begin

select*from Score where Courseid=@Coursetid

end

 

10写出调用以上存储过程CScore的语句,输入参数取值'01001'。

 

exec CScore01001

 

 

11删除存储过程。

 

drop procedureCScore

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值