052136数据库原理与应用SQL002.docx

上传人:b****3 文档编号:10344959 上传时间:2023-05-25 格式:DOCX 页数:36 大小:24.65KB
下载 相关 举报
052136数据库原理与应用SQL002.docx_第1页
第1页 / 共36页
052136数据库原理与应用SQL002.docx_第2页
第2页 / 共36页
052136数据库原理与应用SQL002.docx_第3页
第3页 / 共36页
052136数据库原理与应用SQL002.docx_第4页
第4页 / 共36页
052136数据库原理与应用SQL002.docx_第5页
第5页 / 共36页
052136数据库原理与应用SQL002.docx_第6页
第6页 / 共36页
052136数据库原理与应用SQL002.docx_第7页
第7页 / 共36页
052136数据库原理与应用SQL002.docx_第8页
第8页 / 共36页
052136数据库原理与应用SQL002.docx_第9页
第9页 / 共36页
052136数据库原理与应用SQL002.docx_第10页
第10页 / 共36页
052136数据库原理与应用SQL002.docx_第11页
第11页 / 共36页
052136数据库原理与应用SQL002.docx_第12页
第12页 / 共36页
052136数据库原理与应用SQL002.docx_第13页
第13页 / 共36页
052136数据库原理与应用SQL002.docx_第14页
第14页 / 共36页
052136数据库原理与应用SQL002.docx_第15页
第15页 / 共36页
052136数据库原理与应用SQL002.docx_第16页
第16页 / 共36页
052136数据库原理与应用SQL002.docx_第17页
第17页 / 共36页
052136数据库原理与应用SQL002.docx_第18页
第18页 / 共36页
052136数据库原理与应用SQL002.docx_第19页
第19页 / 共36页
052136数据库原理与应用SQL002.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

052136数据库原理与应用SQL002.docx

《052136数据库原理与应用SQL002.docx》由会员分享,可在线阅读,更多相关《052136数据库原理与应用SQL002.docx(36页珍藏版)》请在冰点文库上搜索。

052136数据库原理与应用SQL002.docx

052136数据库原理与应用SQL002

~~03|02|1|4|4

^^SQL语言由哪三种语言构成?

请解释这些语言的作用?

^^数据定义语言DDL:

用来定义和管理数据库中的对象。

数据操作语言DML:

用来操作数据库中的对象和数据,是T-SQL中最常用的部分。

 数据控制语言DCL:

用来控制用户对数据库对象操作的权限。

~~03|02|1|4|2

^^数据定义语言包括哪些命令?

^^DDL主要的语句有:

CREATe、ALTER、DROP

~~03|02|1|4|2

^^数据操作语言使用哪些语句?

^^DML主要的语句有:

 SELECTDELETEINSERTUPDATE

~~03|02|1|4|2

^^数据控制语言包括哪两个语句?

这两语句的作用是什么?

^^GRANT/*授予权限*/

REMOVE/*回收所授予的权限*/

~~03|03|2|4|3

^^如何定义局部变量和全局变量?

^^局部变量(以@开头;使用DECLARE语句声明,定义局部变量的名字、数据类型和长度)

全局变量(也称配置函数,是系统定义的变量,以@@开头;用户只能使用)

~~03|04|1|4|2

^^安装SQLSERVER时,系统自动创建了哪四个系统数据库?

^^Master、model、msdb、tempdb

~~03|04|1|4|2

^^SQLSERVER数据库中,有三种类型存储数据库信息,这三种文件类型是什么?

^^主文件、次要文件、事务日志

~~03|05|1|4|4

^^E-R图有哪三个要素?

这三个要素如何表示?

^^实体:

使用矩形表示

属性:

使用椭圆形表示

实体与实体之间的联系:

使用菱形框表示

~~03|05|1|4|2

^^数据的完整性包括哪些?

^^域完整性(用户定义的完整性)表完整性(实体完整性)参照完整性(引用完整性)

~~03|07|1|4|3

^^索引分为哪几类?

他们之间有什么区别?

^^两类

聚集索引和非聚集索引。

聚集索引会对表和视图进行物理排序,非聚集索引不会对表和视图进行物理排序

~~03|07|1|4|2

^^在SQLSERVER2000中,一共有5种约束,分别是什么?

^^UNIQUE约束、DEFAULT约束、主键约束、外键约束、Check约束

~~03|08|2|4|2

^^创建并使用默认值的步骤为哪两步?

^^创建一个默认值对象;将其捆绑到列或用户自定义的数据类型上。

~~03|08|3|4|4

^^规则和Check约束有什么区别?

^^在一列上只能使用一个规则,但可以使用多个Check约束。

规则可以用于多个列,还可以用于用户自定义的数据类型,而Check约束只能应用于它定义的列。

~~03|09|2|4|3

^^描述系统存储过程sp_helptext和sp_depends的功能?

^^sp_helptext显示视图的定义信息;sp_depend显示视图的参照对象和字段信息

~~03|10|1|4|2

^^存储过程有哪三种?

^^系统存储过程、扩展存储过程、用户自定义的存储

~~03|10|2|4|5

^^存储过程有哪些优点?

^^通过本地存储、代码预编译和缓存技术实现高性能的数据操作。

通过通用编程结构和过程重用实现编程框架。

通过隔离和加密的方法提高了数据库的安全性。

~~03|11|1|4|2

^^SQLSERVER主要提供了哪两种机制来强制业务规则和数据完整性?

^^约束和触发器

~~03|03|2|4|2

^^显示当前系统的日期和时间

^^selectGETDATE()

~~03|02|2|4|2

^^计算53

^^selectpower(5,3)

~~03|03|3|4|2

^^生成一个10以内的随机数

^^selectrand()*10

~~04|02|2|4

^^以下语句基于选课数据库XK

Student表(学生表)(StuNo、ClassNo、StuName、Pwd)

USEXk

GO

SELECTTOP6*

FROMStudent

GO

^^从学生表中检索所有的信息,只显示前6行数据

~~04|02|2|4

^^以下语句基于选课数据库XK。

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

SELECT'教师'=TeacherFROMCourse

WHERECouName='Linux操作系统'

GO

^^检索上“Linux操作系统”课程的教师名

~~04|02|2|4

^^以下语句基于选课数据库XK。

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

SELECTCouNameAS'课程名称'

FROMCourse

WHERECouNoIN('004','007','013')

GO

^^检索课程编码为‘001’‘004’‘013’的课程名称

~~04|02|2|4

^^以下语句基于选课数据库XK。

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

SELECT*FROMCourse

WHERECouNameLIKE'D%'

GO

^^检索以“D”开头的课程名

~~04|02|2|4

^^以下语句基于选课数据库XK。

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

SELECT'课程名'=CouName,'报名人数'=WillNumFROMCourse

WHEREWillNumBETWEEN15AND25

ORDERBY报名人数DESC

GO

^^检索报名人数15和25之间的课程信息,要求检索结果按报名人数降序排列

~~04|02|2|4

^^以下语句基于选课数据库XK。

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

SELECTKindAS'课程分类',AVG(WillNum)AS'每类平均报名人数'

FROMCourse

GROUPBYKind

GO

^^按课程分类统计平均报名人数

~~04|02|2|4

^^以下语句基于选课数据库XK。

Department表(部门表)(DepartNo、DepartName)

INSERTDepartment(DepartNo,DepartName)

VALUES('15','哲学系')

GO

^^在系部表中插入记录('15','哲学系')

~~04|02|2|4

^^以下语句基于选课数据库XK。

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

UPDATECourse

SETSchoolTime='周二晚'

WHERECouName='电子出版概论'

GO

^^将电子出版概论课程的上课时间改为周二晚

~~04|02|2|4

^^以下语句基于选课数据库XK。

StuCou表(学生选课表)(StuNo、CouNo、WillOrder、State)

USEXk

GO

DELETEStuCou

WHEREStuNo='00000005'ANDCouNo='017'

GO

^^把学号为00000005课程号为017的相关记录删除

~~04|04|2|4

^^

USEMASTER

GO

ALTERDATABASExk

MODIFYFILE(NAME='xk_data',

SIZE=5MB)

GO

ALTERDATABASExk

MODIFYFILE(NAME='xk_log',

SIZE=6MB)

GO

^^将XK数据库的日志文件扩充到6M,数据文件大小扩充到5MB

~~04|04|2|4

^^

ALTERDATABASEXk

ADDLOGFILE

(NAME=xklog2,

FILENAME='C:

\xklog2.ldf',

SIZE=5MB,

MAXSIZE=10MB,

FILEGROWTH=1MB)

GO

^^为XK数据库增加一个日志文件xklog2

~~04|04|2|4

^^

sp_dboption'Xk','readonly','true'

GO

^^将XK数据库设置为只读

~~04|02|2|4

^^

sp_renamedb'mydb','mydatabase'

GO

^^将数据库mydb改名为mydatabase

~~04|04|2|4

^^

DROPDATABASEmydatabase

GO

^^删除数据库mydatabase

~~04|06|2|4

^^

CREATETABLEClass

ClassNochar(8)NOTNULL,

DepartNochar

(2)NOTNULL,

ClassNamechar(20)NOTNULL

GO

^^创建class这张表,包含三个字段ClassNo、DepartNo、ClassName

~~04|06|2|4

^^

USEXk

Go

DROPTABLEClass

GO

^^删除表class

~~04|07|2|4

^^

USEXk

GO

CREATEUNIQUECLUSTERED

INDEXIX_StuNoCouNoONStuCou(StuNo,CouNo)

GO

^^在StuCou表上创建IX_StuNoCouNo的聚集、唯一索引,基于StuNo列和CouNo列创建

~~04|07|2|4

^^

USEXk

GO

DROPINDEXStuCou.IX_StuNoCouNo

GO.

^^删除StuCou表上名为IX_StuNoCouNo的索引

~~04|07|2|4

^^

USEXk

GO

EXECsp_helpindexStudent

GO

^^使用系统存储过程sp_helpindex查看指定表的索引信息

~~04|07|2|4

^^

USEXk

GO

EXECsp_rename'Student.IX_StuName','IX_StuNameNew'

GO

^^将XK数据库的Student表的索引重新命名为IX_StuNameNew

~~04|07|2|4

^^

USEXk

GO

ALTERTABLEStuCou

ADDCONSTRAINTIX_StuNoCouNoPRIMARYKEY(StuNo,CouNo)

GO

^^在StuCou表上创建基于StuNo列和CouNo列的主键约束

~~04|02|2|4

^^

USEXk

GO

ALTERTABLEStuCou

DROPCONSTRAINTIX_StuNoCouNo

GO

^^删除StuCou表上名为IX_StuNoCouNo的约束

~~04|07|2|4

^^

USEXk

GO

CREATEUNIQUEINDEXIX_PwdONStudent(Pwd)

GO

^^将XK数据库的Student表的Pwd列上创建惟一约束

 

~~04|07|2|4

^^

USEXk

GO

ALTERTABLEStuCou

ADDCONSTRAINTCK_WillOrderCHECK(WillOrder>=1ANDWillOrder<=5)

GO

^^在StuCou表上创建CHECK约束,该约束限制WillOrder在1到5之间

~~04|07|2|4

^^

USEXk

GO

ALTERTABLEStuCou

ADDCONSTRAINTDF_StuCou_StateDEFAULT('报名')FORState

GO

^^在StuCou表上创建DEFAULT约束,该约束使state列的值默认为‘报名’

~~04|08|2|4

^^USEXk

GO

EXECsp_addtypeTel,'VARCHAR(30)','NOTNULL'

GO

^^在XK数据库上创建一个名为TEL的自定义数据类型

~~04|08|2|4

^^USEXk

GO

CREATEDEFAULTUnsureDefaultAS'待定'

GO

sp_bindefaultUnsureDefault,'Course.Teacher'

GO

^^创建默认值,绑定默认值到Course表的Teacher列

~~04|08|2|4

^^USEXk

GO

CREATERULECreditRule

AS@x>=1AND@x<=5

GO

EXECsp_bindruleCreditRule,'Course.Credit'

GO

^^创建规则,绑定规则到Course表的Credit列

~~04|08|2|4

^^CREATEFUNCTIONCalcRemainNum

(@Xdecimal(6,0),@Ydecimal(6,0))

RETURNSdecimal(6,0)

AS

BEGIN

RETURN(@X-@Y)

END

^^创建一个名为CalcRemainNum的自定义函数

~~04|09|2|4

^^USEXk

GO

CREATEVIEWv_Student

AS

SELECT*FROMStudent

WHEREClassNo='20000001'

^^在XK数据库创建一个v_Student的视图,该视图查看学生表中学号为20000001的学生信息

~~04|09|2|4

^^USEXk

GO

EXECsp_helptext'v_CouByDep'

^^通过sp_helptext来查看视图v_CouByDep的定义信息

~~04|10|2|4

^^USEXk

GO

CREATEPROCEDUREp_Student

AS

SELECT*FROMStudentWHEREClassNo='20000001'

^^在XK数据库创建名为p_Student的存储过程,该过程返回学生表中学号为20000001的学生记录

~~04|10|2|4

^^USEXk

GO

DROPprocedurep_Student

^^删除存储过程p_Student

~~04|11|2|4

^^USEXk

GO

CREATETRIGGERTest1

ONStudent

FORUPDATE

AS

PRINT'记录已修改!

'

GO

^^创建触发器,每当在Student表中修改数据时,将显示'记录已修改!

'的信息

~~04|02|2|4

^^以下语句基于选课数据库XK。

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

SELECTSUM(LimitNum)AS'限选人数总人数'

FROMCourse

GO

^^统计出COURSE表中限选人数总人数

~~04|03|2|4

^^SELECTPOWER(3,4)

SELECTSQRT(16)

GO

^^求34的值和16的平方根

~~04|02|2|4

^^以下语句基于选课数据库XK,其中

Course表(课程表)(CouNo、CouName、Kind、Credit、Teacher、DepartNo、SchoolTime、LimitNum、willnum)

USEXk

GO

SELECTMIN(WillNum)AS'最少报名人数',MAX(WillNum)AS'最多报名人数',AVG(WillNum)AS'平均报名人数'

FROMCourse

GO

^^统计COURSE表中各门课程中最少报名人数,最多报名人数和平均报名人数

~~04|03|2|4

^^SELECTGETDATE()

GO

^^给出服务器当前的系统日期与时间

~~04|02|2|4

^^SELECTHOST_NAME()

GO

^^给出主机名称

~~04|03|2|4

^^SELECTLEN('SQLServer数据库管理系统')

GO

^^求出’SQLServer数据库管理系统’这个字符串的长度

~~05|03|2|6

^^求1到100的和

^^declare@iint,@sumint

set@i=1

set@sum=0

while@i<=100

begin

set@sum=@sum+@i

set@i=@i+1

end

print@sum

~~05|03|3|6

^^编程实现随机显示星期几

^^declare@xint,@ychar(10)

Select@x=rand()*10

Select@y=

case@x

when1then'星期一'

when2then'星期二'

when3then'星期三'

when4then'星期四'

when5then'星期五'

when6then'星期六'

else'星期日'

end

Select@y

~~05|02|3|6

^^编写计算两个整数之和的程序(要求赋初值为50和60)

^^declare@xint,@yint,@sumint

Select@x=50

Select@y=60

set@sum=@x+@y

Select@y

~~05|02|3|6

^^编写计算两个整数之和的程序(要求赋初值为50和60)

^^declare@xint,@yint,@sumint

Select@x=50

Select@y=60

set@sum=@x+@y

Select@y

~~05|04|2|6

^^要求创建图书数据库book,数据库文件和事务日志文件放在指定目录d:

\下,数据库文件和事务日志文件大小扩充方式和容量:

按兆字节增长,增长幅度为1MB,文件大小限制为20MB。

^^CREATEDATABASEBOOK

ON

(NAME=BOOK_data,

FILENAME='D:

\BOOK_data.mdf',

MAXSIZE=20MB,

FILEGROWTH=1MB)

LOGON

(NAME='BOOK_log',

FILENAME='D:

\BOOK_data.ldf',

MAXSIZE=20MB,

FILEGROWTH=1MB

~~05|04|2|6

^^修改数据库student,将文件student_data增长设为1MB

^^ALTERDATABASEstudent

MODIFYFILE(NAME='student_data',

filegrowth=1mb)

GO

~~05|04|2|6

^^给数据库Product,增加事务日志文件product_Log4.log,存于c:

\,初始值为1MB,最大值为2MB,10%的增长.

^^ALTERDATABASEProduct

ADDFILE

(NAME=product_Data4,

FILENAME='c:

\product_Data4.ndf',

Maxsize=3000mb,

FILEGROWTH=1mb

),

~~05|04|2|6

^^将数据库product缩小一半

^^USEproduct

GO

DBCCSHRINKDATABASE(product,50)

GO

~~05|04|2|6

^^删除数据库product的事务日志文件“product_Log2”

^^ALTERDATABASEproduct

removefileproduct_Log2

~~05|04|2|6

^^给数据库student改名为student1

^^sp_renamedbstudent,student1

~~05|04|2|6

^^删除Student1数据库

^^DropdatabaseStudent1

~~05|04|2|6

^^将数据库product设置为可读.

^^sp_dboption'product','readonly','true'

GO

~~05|06|2|6

^^创建学生个人信息数据表Studentinfo,表的数据结构见下表。

Studentinfo数据结构表

 字段名称    字段说明    数据类型   长度   属性

student_id学号char8不允许空

student_name    姓名    char10不允许空

student_sex      性别char4   不允许空

year_old       年龄tinyint         允许空

address        地址char80   允许空

^^createtableStudentinfo

(student_idchar(8)notnull,

student_namechar(10)notnull,

student_sexchar(4)notnull,

year_oldtinyintnull,

addresschar(80)null)

~~05|06|2|6

^^修改学生个人信息数据表Studentinfo,向该表中添加一列email,数据类型为varchar,长度100,允许空。

^^altertableStudentinfo

ADDemailvarchar(100)null

~~05|06|2|6

^^修改学生个人信息数据表Studentinfo,删除year_old字段

^^altertableStudentinfo

dropCOLUMNyear_old

~~05|02|2|6

^^数据库aaa中学生表结构如下:

学生表(学号,姓名,性别,年龄,所在院系,班级名,入学年份)

请列出学生表的清单:

^^Useaaa

Go

select*

from学生表

go

~~05|02|2|6

^^

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2