sqlserver2023年数据库总结_第1页
sqlserver2023年数据库总结_第2页
sqlserver2023年数据库总结_第3页
sqlserver2023年数据库总结_第4页
sqlserver2023年数据库总结_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

sqlserver201*数据库总结sqlserver201*数据库总结

数据库优化

第一章数据库的设计

什么是数据库设计?

数据库设计就是将数据库中的数据实体以及这些数据实体之间关系,进展规划和结

构化的过程。设计数据库

1.收集信息

2.标识实体

3.表示每个实体需要存储的具体信息4.表示实体之间的关系绘制e-r图

e-r可以称为实体-关系图实体属性联系映射基数

一对一一对多

多对一多对多实体关系图

矩形表示实体集

椭圆表示属性菱形表示联系集

直线用来连接属性和实体集,也用来连接实体集和联系集

三大范式

1.第一范式

第一范式的目标就是确保每列的原子性

2.其次范式

其次范式在第一范式的根底上更进一层,其目标是确保表中的每列都和主键相关。

3.第三范式

第三范式在其次范式的根底上更进一层,第三范式的目标是确保每列都和主键列直接相关,而不是间接相关。

其次章数据库的实现

创立数据库

usemaster--引用空间go

--批处理

ifexists(select*fromsysdatabaseswherename=“MySchool“)dropdatabaseMySchoolcreatedatabaseMySchoolon()

name=“MySchool_data“,

--数据库名

--推断数据库是否存在,假如存--创立数据库

在就删除

filename=“D:\\MySchool_data.mdf“,--数据库的存放位置size=3,--数据库的初始大小maxsize=100,filegrowth=1

--日志文件

--数据库的最大值--数据库的增长率

logon()go

创立表

name=“MySchool_log“,--数据库的日志名filename=“D:\\MySchool_log.ldf“,--数据库日志文件的存放位置size=1,--数据库日志文件的初始大小filegrowth=1--数据库日志文件的增长率

ifexists(select*fromsysobjectswherename=“Grade“)droptableGrade

createtableGrade()Go

--推断该表是否存在,假如存在就删除

--创立表

GradeIdintprimarykeyidentity(1,1)notnull,列明类型主键自增不许为空GradeNamenvarchar(50)notnull添加约束

AltertableSubject--针对那张表添加约束修改表表名

addconstraintFK_Subjectforeignkey(GradeId)referencesGrade(GradeId)添加约束名约束类型详细约束说明Go

SQL编程

局部变量

declare

@xvarchar(5)

声明变量set@x=“★“select@x=“★“

变量名变量类型变量赋值(单一)

变量赋值(支持多条,接收最终一条返回值)

print@x打印输出变量

@@error以两个@为前缀的为全局变量

类型转换的两种方式

Cast(表达式as数据类型)(常用)

Convert(数据类型[(长度)],长度[,样式])(不常用)

规律掌握语句-------------------

BeginEnd

-------------------If()

BeginEndElse

BeginEnd

-------------------

While(1=1)BeginEnd-------------------

casewhenStudentResult=60then“差“whenStudentResultbetween60and80then“中“else“优“

第四章子查询

简洁子查询多层嵌套+in子查询

------------------------------------------三层子查询---------------------------------------

selectStudentNamefromdbo.StudentwhereStudentNo=(selectStudentNofromdbo.ResultwhereStudentResult=“61“andSubJectId=(

selectSubJectIdfromdbo.SubjectwhereSubjectName=“C#OOP“))

selectStudentNamefromdbo.StudentwhereStudentNoin(--返回多个用inselectStudentNofromdbo.ResultwhereStudentResult=“61“andSubJectId=(

selectSubJectIdfromdbo.SubjectwhereSubjectName=“C#OOP“

notin子查询你懂得

Exists子查询

用ifexists推断是否存在Notexists你懂得

第六章事务视图和索引

什么是事务?

事务是单个的工作单元。假如某一事务胜利。则在该事务中进展的全部的数据更改均会提交,成为数据库中的永久组成局部。假如事务遇到错误且必需取消或者回滚,则全部数据更改均

被去除。

begintransactiondeclare@errorintset@error=0

selectdbo.Result.*intoStroyResultfromdbo.Result

innerjoindbo.StudentonResult.StudentNo=Student.StudentNoinnerjoindbo.GradeonStudent.GradeId=Grade.GradeIdwhereGradeName=“y2“

set@error=@error+@@error--返回错误行数

deletedbo.Resultfromdbo.Result

innerjoindbo.StudentonResult.StudentNo=Student.StudentNoinnerjoindbo.GradeonStudent.GradeId=Grade.GradeIdwhereGradeName=“y2“set@error=@error+@@error

selectdbo.Student.*intoStroyStudentfromdbo.Studentinnerjoindbo.GradeonStudent.GradeId=Grade.GradeIdwhereGradeName=“y2“set@error=@error+@@error

deletedbo.Studentfromdbo.Student

innerjoinGradeondbo.Grade.GradeId=dbo.Student.GradeIdwhereGradeName=“y2“

set@error=@error+@@error

if(@error0)begin

print“失败“rollbacktransactionendelse

beginprint“胜利“

committransaction---提交end

---回滚

第七章存储过程

什么是存储过程?

存储过程是sql语句和掌握语句的预编译集合。存储过程优点

1.模块化程序设计

2.执行速度快,效率高3.削减网络流量

4.具有良好的安全性总结

创立存储过程以及使用例子

ifexists(select*fromsysobjectswherename=“xp_SelectStu“)dropprocedurexp_SelectStugo

createprocedurexp_SelectStuas

SELECTdbo.Grade.GradeName,dbo.Student.StudentName,dbo.Student.LoginPwd,dbo.Student.Address,dbo.Student.BornDate,dbo.Student.Email

execxp_SelectStu

ifexists(select*fromsysobjectswherename=“xp_inserStu“)dropprocedurexp_inserStugo

createprocedurexp_inserStu@StudentNonvarchar(50),@LoginPwdnvarchar(20),@StudentNamenvarchar(50),@Sexchar(2),@GradeIdint,

@Phonenvarchar(255),@Addressnvarchar(255),@BornDatedatetime,@Emailnvarchar(50)as

insertintodbo.Studentselect

FROMdbo.GradeINNERJOIN

dbo.StudentONdbo.Grade.GradeId=dbo.Student.GradeId

@StudentNo,@LoginPwd,@StudentName,@Sex,@GradeId,@Phone,@Address,@BornDate,@

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论