2023年数据库视频笔记_第1页
2023年数据库视频笔记_第2页
2023年数据库视频笔记_第3页
2023年数据库视频笔记_第4页
2023年数据库视频笔记_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、常见数据库模型:层次模型、网状模型、关系模型。关系数据库概念数据表与数据表的关联组成;增、删、修改;键码(key)、主关键字(PrimaryKey)、候选关键字、公共关键字、外关键字。关系数据库完整性规则实体完整性、参照完整性、用户定义完整性。范式理论规范化概念;六种范式:1NF、2NF、3NF、BCNF、4NF、5NF(逐级递增)。第一范式规则:数组的每个属性只能包含一个值;每个数组应当包含相同数量的值;每个数组一定不能相同。第二范式规则:满足第一范式,数据表中的任何一个非主键字段的数值都依赖于该数据表主字段。第三范式规则:满足第二范式,数据表中的任何两个非主键字段的数据之间不存在函数信赖关系。E-R模型(数据建模)E-R(Entity-Relationship)模型,即实体-联系数据模型;实体、实体集概念;关系:1:1;1:N;N:M;SQLServer2023体系结构由数据库引擎、分析服务(AnalysisServices)、报表服务(ReportingServices)、数据集成平台(IntegrationServices);数据库引擎:存储、解决(创建数据库、创佳表、创建视图、数据查询、访问数据库)、安全管理等。分析服务(AnalysisServices):通过服务器和客户端技术的组合提供联机分析(OLAP)和数据挖掘功能。报表服务(ReportingServices):包含用于创建和发布报表及报表模型的图形工具和向导、用于管理ReportingServices的报表服务器管理工具和用于对ReportingServices对象模型进行编程和扩展的应用编程接口(API)。数据集成平台(IntegrationServices)负责完毕有关数据的提取,转换和加载等操作。安装IIS服务(InternetInfomationService)模板资源管理器脚本模板提供了编写查询的起点,模板事实上是保存在文献中的脚本片段,可以在SQL查询视图中打开并且进行修改,使之适合需要。使用视图菜单或者工具栏上的摸板浏览器按钮打开。SQLServer联机丛书帮助文档、教程。针对结构设计员、管理人员、开发人员、信息工作者和分析人员。SQLServer配置管理器表(Table)数据库中重要的对象。指关系数据库系统的二维表,也即关系。一般来说,关系数据库表的结构包含三个基本组成元素:字段名、数据类型和长度。CREATETABLEEmployee(Employee_Idvarchar(20),Employee_Namevarchar(50),Employee_Departvarchar(100),Job_Idvarchar(20),Employee_Salarydecimal(18,2))索引(Index)根据指定的数据库表列建立起来的顺序,它提供了快速访问数据的途径。视图(View)视图看上去同表似乎一模同样,具有一组命名的、不反复的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。它是数据库预编译好的一段查询语句。13、存储过程(Procedure)存储过程是为完毕特定的功能而汇集在一起的一组SQL程序语句,经编译后存储在数据库中的SQL程序。CREATEPROCEDUREP_GET_EMPLOYEE_INFO_BY_ID(ﻩ@employee_idINT)ASBEGIN SELECT*FROMEmployeeWHEREEmployee_Id=@employee_idENDGO函数(Function)与存储过程相比,函数必须具有返回值,并且使用的SQL语句也有诸多限制--创建函数(返回varchar类型的值)createfunctiontest(@Numvarchar(20))--@Num参数returnsvarchar(50)--返回值类型asbegindeclare@MSGvarchar(20)if(@Num=1)select@MSG='对的'elseselect@MSG='错误'return@MSGend--调用函数selectdbo.test(2)--传递参数2返回结果:错误聚合函数COUNTSELECTCOUNT(*)FROMEmployeeWHEREJob_Id=‘0001’SUM、AVG、MAX、MINSELECT简朴的SELECT语句的语法如下:SELECT[DISTINCT]<目的表达式>[,<目的表达式>]...ﻩFROM<表或视图名>[,<表或视图名>]... [WHERE<条件表达式>] [GROUPBY<列名1>[HAVING<条件表达式>]] [ORDERBY<列名2>[ASC|DESC]]ﻩSelect*fromemployeewherefname='Paolo'使用函数Selectconvert(char(10),getdate(),121);Selectupper(lname)fromemployeewherefname='Paolo';SelectdateDiff(DAY,’2023-12-12’,’2023-12-25’)判断分支selectcasewhenfname='Anabela'then'1'whenfname='Ann'then'2'else'name'endfromemployeeorderbyfnameselect嵌套Select*fromemployeewherejob_idin(selectjob_idfromjobswheremin_lvlbetween0and10)表合并(union)select'1'xunionallselect'1'看看这个结果:select'1'xunionallselect'1'unionselect'1'18、别名定义Selectupper(lname)Unamefromemployeeawherefname='Paolo';19、表连接(多表查询)select*fromemployeea,jobsbwherea.job_id=b.job_id以a表为主表:select*fromemployeea,jobsbwherea.job_id*=b.job_id以b表为主表:select*fromemployeea,jobsbwherea.job_id=*b.job_id20、In条件转换成existsSelect*fromemployeeawherea.job_idin(selectjob_idfromjobsbwhereb.min_lvlbetween20and100)Select*fromemployeeawhereexists(selectjob_idfromjobsbwherea.job_id=b.job_idandb.min_lvlbetweenﻩ20and100)update语句UPDATEStudentSETStudent_Name=‘保罗’WHEREStudent_Id=‘0001’表联合更新UpdateBsetB.字段=A.字段fromA,BwhereB.条件字段=A.条件字段insert语句insertintojobs(job_desc,min_lvl,max_lvl)values('lh',99,99);不推荐下面的写法:insertintojobsvalues('lh',99,99);在sqlserver中,IDENTITY类型的数据字段不能应用于insertdelete语句删除单行:DELETEFROMStudentWHEREStudent_Id=‘0001’删除多行:DELETEFROMemployeeawherea.job_idin(selectjob_idfromjobsbwhereb.min_lvlbetween20and100)内连接

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:ﻫ 等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,涉及其中的反复列。ﻫﻩ不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符涉及>、>=、&lt;=、<、!>、!<和<>。ﻫ 自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所涉及的列,并删除连接表中的反复列。

例,下面使用等值连接列出authors和publishers表中位于同一城市的作者和出版社:ﻫﻩSELECT*

FROMauthorsASaINNERJOINpublishersASp

ONa.city=p.city外连接

ﻩ内连接时,返回查询结果集合中的仅是符合查询条件(WHERE搜索条件或HAVING条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,并且还涉及左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。ﻫﻩ如下面使用左外连接将论坛内容和作者信息连接起来:

SELECTa.*,b.*FROMluntanLEFTJOINusertableasbﻫ ONa.username=b.username

26、交叉连接

交叉连接不带WHERE子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。INSERT语句

用户可以用INSERT语句将一行记录插入到指定的一个表中。例如,要将雇员JohnSmith的记录插入到本例的表中,可以使用如下语句:ﻫ

INSERTINTOEMPLOYEESVALUES

('Smith','John','1980-06-10',

'LosAngles',16,45000);

通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。这些列按照我们创建表时定义的顺序排列。在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。NULL是SQL中的一种特殊情况,我们以后将进行具体的讨论。现在我们只需认为NULL表达一种未知的值。断言涉及一种基于“等值”的比较(LAST_NAME='Jones'),但是SQL断言还可以包含其他几种类型的比较。其中最常用的为:ﻫ等于=、不等于<>、小于<、大于>、小于或等于<=、大于或等于>=下面给出了不是基于等值比较的一个例子:SELECT*FROMEMPLOYEESﻫWHERESALARY>50000。逻辑连接符ﻫ为了进一步定义一个WHERE子句,用户可以使用逻辑连接符AND,OR和NOT;触发器(trigger)是用户定义在关系上的一类有事件驱动的特殊过程。由服务器自动激活;可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。触发器的作用:可以对数据进行级联修改;实现比CHECK约束更为复杂的限制;比较数据修改前后的差别;强制表的修改要合乎业务规则;

INSERT触发器常被用来被更新时间标记字段,或者验证被触发器监控的字段中数据满足规定的标准,以保证的完整性。当在一个有UPDATE触发器的表中修改记录时,表中本来的记录被移动到删除表中,修改过的记录插入到了插入表中,触发器可以参考删除表和插入表以及被修改的表,以拟定如何完毕数据库操作。31、DISTINCT关键字来消除反复:SELECTDISTINC

温馨提示

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

评论

0/150

提交评论