![数据库知识点总结良心出品必属_第1页](http://file4.renrendoc.com/view/6b6d2bb820dd2cbd530ad391e072730a/6b6d2bb820dd2cbd530ad391e072730a1.gif)
![数据库知识点总结良心出品必属_第2页](http://file4.renrendoc.com/view/6b6d2bb820dd2cbd530ad391e072730a/6b6d2bb820dd2cbd530ad391e072730a2.gif)
![数据库知识点总结良心出品必属_第3页](http://file4.renrendoc.com/view/6b6d2bb820dd2cbd530ad391e072730a/6b6d2bb820dd2cbd530ad391e072730a3.gif)
![数据库知识点总结良心出品必属_第4页](http://file4.renrendoc.com/view/6b6d2bb820dd2cbd530ad391e072730a/6b6d2bb820dd2cbd530ad391e072730a4.gif)
![数据库知识点总结良心出品必属_第5页](http://file4.renrendoc.com/view/6b6d2bb820dd2cbd530ad391e072730a/6b6d2bb820dd2cbd530ad391e072730a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章数据库基础1数据库系统:是由数据库及其管理软件组成的系统,常常把数据库有关的硬件和软件系统成为数据库系统,DBMS的英文全称DataBaseManagementSystem概念模型是指人对现实世界的认识,抽象成信息数据模型是指将现实世界转换成计算机能认识的信息SQL是英文全称是StrueturedQueryLanguage数据库:数据库就是数据的仓库,由表、关系以及操作对象组成数据:是描述事物的符号记录(数字、文字、图形、图像、声音等)数据库的作用存储大量数据,方便检索和访问保持数据信息的一致、完整共享和安全通过组合分析,产生新的有用信息数据库经历的三个阶段及特点1) 人工管理阶段:数据不保存;使用应用程序管理数据;数据不共享;数据不具有独立性。2) 文件系统阶段:数据可以长期保存;由文件系统管理数据;共享性差,数据冗余大;数据独立性差。3) 数据库系统阶段:数据结构化;数据共享性高;数据独立性强;数据粒度小;独立的数据操作界面;统一管理和控制.数据模型的分类层次模型网络模型关系模型用二维表结构表达实体集的模型E-R图三个主要部分1) 1.实体集:在E-R图中用长方形来表示实体集,实体是实体集的成员。2) 联系:在E-R图中用菱形来表示联系,联系与其涉及的实体集之间以直线连接,并在直线端部标上联系的种类,(1:1,1:N,M:N)。3) 属性:在E-R图中用椭圆形来表示实体集和联系的属性,对于主键码的属性,在属性名下划一横线。绘制E-R图所需的图形1) 长方形框 实体集(考虑问题的对象)2) 菱形框 联系(实体集间联系)3) 椭圆形框 实体集和联系的属性4) 直线 连接相关的联系和实体,并可标上联系的种类E-R图设计原则:真实性;避免冗余;简单性三大范式第一范式:在关系模型中的每一个具体关系R中,如果每个属性都是不可再分的,则称关系(R)属于第一范式(1NF)属于第一范式,且每一个非主属性都完R第二范式:如果关系模式全依赖于主码,则称关系R是属于第二范式的第三范式:如果关系模式R为2NF,并且R中的每个非主属性不传递依赖于R的主码,则称关系R是属于第三范式的若要求分解保持函数依赖,那么模式分解一定能够达到BCNF第二章数据库的安装常见的数据库类型:Access、SQLserver2000、2005、2008,Oracle数据库等数据库管理员的工作是:配置数据库服务器环境;管理数据库的逻辑对象结构;配置数据库的对象权限;制定数据库的性能优化策略;数据库的备份还原策略;数据库的异构协同结构SQLServer2008的版本Express适用于无连接的客户端或独立应用程序Workgroup适用于工作组或分支机构操作的数据库Standard部门级应用程序的数据库服务器Enterprise高度可伸缩和高度可用的企业级数据库DeveloperEnterprise版,但是只授予开发和测试用许可Web 供托管公司提供低成本、高伸缩的托管服务,只收取低廉的每月许可费Mobile用于智能手持式设备的精简数据库12.掌握SQLServer2008数据库的安装与卸载不同的数据库之间若想互相使用数据可以采取导入导出的方式进行,则应选择典型安装SQLServer2008希望完全安装.第三章数据库的管理T-SQL语言分类DDL(数据定义语言)—create(创建)-alter(修改)—drop(删除)DQL(数据查询语言)-select(查询)DML(数据操作语言)-insert(插入)-update(更新)-delete(删除)DCL(数据控制语言)-revoke(撤销)-deny(拒绝)-grant(同意、授权)master数据库,记录所有系统级信息,记录其他所有数据库的信息的系统数据库model数据库创建其他所有数据库的模板的系统数据库msdb数据库与sqlserver代理,与计划任务和作业等相关的系统数据库数据库存储数据库运行时的临时的信息的系统数据库tempdb数据库文件主数据文件(.mdf):—个数据库有且只有一个辅助数据文件(.ndf):根据需要自由选择,当数据库很大时,可以选择多个日志文件(.ldf):用于存储恢复数据库所需的事务日志信息数据库数据文件结构中,最小的存储单位是页数据库数据文件结构中,管理空间的基本单位是区SQLSERVER数据库中,每个表最多有1024个列标识表中唯一的实体是主键为数据表创建索引的目的是提高查询的检索性能存储过程是一组预先定义并(编译)的Transact-SQL语句掌握数据库的创建及修改(图形化及代码)修改数据库包括:扩展、收缩、分离附加、删除语法1) 修改数据库名Alterdatabase原数据库名Modifyname=新数据库名例子:【例】将数据库book的名字改为booksalterdatabasebookmodifyname=books2) 修改文件属性Alterdatabase数据库名Modifyfile(name二'逻辑名',size二修改后的大小,maxsize二修改后的大小,filegrowth二修改后的大小)Go例子:把初始大小由原来5mb增大为12mbalterdatabasebooksmodifyfile(name='book_data',size=12mb)go添加日志文件Alterdatabase数据库名Addlogfile(name=‘逻辑名',filename=‘文件的存放路径',size二日志文件的初始大小,maxsize二日志文件的最大大小,filegrowth二日志文件的增长方式)Go例子:【例】向shop数据库中添加一个日志文件alterdatabaseshopaddlogfile(name='shop_log2',filename='c:\shop_log2.ldf',size=10mb,maxsize=20mb,filegrowth=10%)go删除空文件Alterdatabase数据库名Removefile文件的逻辑名例子:删除文件shop_data2alterdatabaseshopremovefileshop_data24)添加辅助数据文件alterdatabase数据库名addfile(name二‘逻辑名',filename二‘文件存放的路径',size二初始大小,maxsixe二最大大小,filegrowth二增长方式)Go例子:向数据库shop中添加一个辅助数据文件alterdatabaseshopaddfile(name='shop_data3',filename='c:\shop_data3.ndf',size=5mb,maxsize=10mb,filegrowth=10%)go5)创建/删除数据库Createdatabase数据库名onprimary(—数据文件name二‘逻辑名’,filename二‘文件的存放路径’,size二数据文件的初始大小,maxsize二数据文件的最大大小,filegrowth二文件的增长方式)logon(--日志文件name二‘逻辑名',filename二‘文件的存放路径’,size=数据文件的初始大小,maxsize二数据文件的最大大小,filegrowth二文件的增长方式)go例子:创建一个名为book的数据库,其初始值大小为5MB,最大大小为50MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。createdatabasebookonprimaryname=‘book_data',filename='c:\book_data.mdf',size=5mb,maxsize=50mb,filegrowth=10%)logon(name=‘book_Log',filename='c:\book_log.ldf',size=2mb,maxsize=5mb,filegrowth=1mb)6)删除数据库Dropdatabase数据库名例子:删除数据库shopdropdatabaseshop打开或切换数据库的命令是use数据库名DBCC的可用空间的命令是10%,保留northwind收缩数据库.ShrinkDatabase('northwind',10)第四章数据表的操作在SQLserver中创建表的极限:每个数据库可以有20亿个表,每个表有1024个列,每个列可以有8064字节数据类型种数据类int,bigint,smallint,整数tinyint精确数decimal,numericfloat,real近似数money,smallmoney货datetime,smalldatetime日期和时char,varchar,varchar(mNon-Unicode字x),textUnicodenchar,nvarchar,nvarchar(max),ntext二进制binary,varbinary,varbinary(max)图像imageuniqueidentifier全局标识符xmlXml特bit,cursor,timestamp,sysname,table,sql_variant字符类型字符、数字、特殊符号char(): 固定长度,以空格填补多余长度空间varchar(): 可变长长度,不以空格填补多余长度空间nchar(): unicode固定长度nvarchar():unicode可变长长度unicode国际标准码:双字节模式(固定每个字符16bit)一个汉字占两个字节(16bit)一个字母占两个字节(16bit)电话号码应当采用字符格式的数据类型来存储int数据类型存储占几个字节4smallint数据类型存储占几个字节2tinyint数据类型存储占几个字节 1bigint数据类型存储占几个字节8DECIMAL]p[s]的形式,p和s代表什么p代表总位数,s代表小数位数数据类型char每个字符占几个字节1数据类型nchar每个字符占几个字节2每个字符占几个字节varchar数据类型数据类型nvarchar每个字符占几个字节2datetime数据类型的范围是表示的是1753年1月1日到9999年12月31日4.语法:1) 创建表createtable表名2) 修改表altertable表名3)删除表drop/deletetable表名4)将查出的信息放入新表Select*into新表名from旧表名5)添加的信息必须满足现有表结构Insertinto现有表select*from旧表名drop和delete、truncate的区别:drop是删除表,而delete和truncate是删除表中记录5.数据操作语言DMLselect从表或视图中检索数据insert将数据插入到表或视图中update修改表或视图中的数据 Updategradesetscore=score+5wherescore>=55andscore<=60delete从表或视图中删除数据 deletefrom表名where条件Deletefromstudentwhere性别二'女’删除student表的命令是droptablestudent条件“年龄BETWEEN40AND50”表示年龄在40至50之间,且包括40岁和50岁详解:模式查找like'_a%',like'_[a-e]%',like‘010「0]%[A,B,C]%'SQLServer中自己建立的stuDB数据库属于用户数据库数据冗余是指存在重复的数据附加数据库的操作是把已经存在于磁盘上的数据库文件恢复为数据库创建好数据库接着要创建数据表主键是用来实施实体完整性约束,一个表只能有一个主键修改表名为Table1的字段Fieldl长度,原为Char(10)要求用SQL增加长度为char(20),AltertableTable1AltercolumnField1char(20)在employees表中添加一个memo字段,数据类型char(30)的命令是altertableemployeesaddmemochar(30)基础查询第五章.select语法结构基本语法:select字段名From目标表Where条件【例】查询学生成绩数据库(student_score)学生情况表(Member)中的所有列。usestudent_scoreselect*fromMemberWhere条件限定语法的用法基本语法:use数据库名Select字段名From目标名Where字段名二“内容”Go【例】查询Member表中Mname为马德保的相关信息usestudent_scoreselect*fromMemberwhereMname二'马德保'golike模糊查询3.基本语法:select字段名From目标名Where目标名like条件【例】查找学生姓名以‘刘'开头的所有学生信息usestudent_scoreselect*fromMemberwhereMnamelike'刘%'go%代表所有可能的情况3)%的使用%N%表示包含NN%表示N开头%N表示N结尾4)“「代表不、不是、不以的意思Or/and/not的逻辑运算【例】将Mname以'刘'开头,或总学分为60,且专业名为网络互连的学生Mnameusestudent_scoreselectMname,Mtotalscore,MMajorfromMemberwhereMnamelike'刘%'orMTotalscore=60网络互连andMMajor二'goBetween・・・and在…范围之内【例】查找总学分为60和70之间的学生所有信息usestudent_scoreselect*fromMemberwhereMTotalScorebetween60and70go6.In=or或【例】查找总学分为70和80的所有学生信息usestudent_scoreselectfromMemberwhereMtotalscorein('70','80') whereMtotalscorenotin(‘70',‘80')go6.1snull为空的查询【例】查询所在地区为空的学生姓名usestudent_scoreselectMaera,MnamefromMemberwhereMaeraisnullgo7.0rderby排序:asc升序;desc降序【例】查找学生的总学分以升序排列,出生日期以降序排列的学生姓名和学号usestudent_scoreselectMname,Mbirth,Mtotalscore,MIDfromMemberorderbyMtotalscoreasc,Mbirthdescgodistinct数据过滤和消除重复记录【例】查询student_score数据库中Member表中的总学分,但是不能有重复usestudent_scoreselectdistinctMtotalscorefromMemberorderbyMtotalscoregoTop和top…withties的用法【例】求学分最高的5位学生的信息,并且返回与第5并列的学生信息usestudent_scoreselecttop5withtiesMID,MtotalscorefromMemberorderbyMtotalscorego注:withties必须与orderby连用as取别名【例】在student_score数据库中的Member表中对Mname取别名为a,专业名为b,并在补一列为性别,并取别名为cusestudent_scoreselectMnameasa,MMajorasb,‘性别'ascfromMembergo第六章高级查询联接定义:根据各个数据库表之间的逻辑关系从二个或多个数据表中检索数据联接分类内连接:基本内连接、多表连接、自连接外连接:左外连接、右外连接、全外连接交叉连接左外连接、右外连接、全外连接的含义leftouterjoin左外连接(join左边的表),结果集中除了包括满足连接条件的行外,还包括左表所有行rightouterjoin右外连接(join右边的表),结果集中除了包括满足连接条件的行外,还包括右表所有行fullouterjoin全外连接,结果集中除了包括满足连接条件的行外,还包括两个表的所有行内连接概述1)用…innerjion…on…语句进行连接Jion指定需要连接的数据表On指定连接条件(inner可省略)【例】查找选修了01课程且成绩在30分以上的学生编号和成绩usestudent_scoreselectM.MID,S.scorefromMemberMjoinScoreSonM.MID=S.MIDwhereCID='01'andscore>=30go外连接语法:select字段名1,字段名2…字段nFrom表1leftouterjoin表2from表1rightouterjoin表2from表1fullouterjoin表2Go【例】查找所有学生信息及其考试成绩,若该生未参加任何考试,也列出其信息usestudent_scoreselectM.*,S.CID,S.scorefromScoreSrightjoinMemberMonM.MID=S.MIDgo6.交叉连接语法:select字段1,字段2From表1crossjoin表2Go【例】返回Member表和Score表所有可能记录的组合usestudent_scoreselectM.MID,M.Mname,CID,ScorefromMemberMcrossjoinScoreSgo在WHERE子句中包含一个形如SELECT-FROM-WHERE的查询块,此查询块称为子查询SQL中消除重复的记录命令是distinct第七章函数函数:是一段特殊的程序代码,它能对查询结果进行一定的操作函数的作用:就是使用户不必书写太多的程序代码即可完成复杂的操作日期时间函数类型包括系统函数、字符串函数、2.SQLServer函数、聚合函数等系统函数对SQLServer服务器和数据库对象进行操作,返回服务器配置和数据库对象数值等信息CURRENT_TIMESTAMP()可返回系统当前日期和时间,类型为datetimeHOST_NAME()返回主机名称SYSTEM_USER返回当前系统用户USER_NAME()返回id标识指定的用户名称db_name()返回当前会话的数据库名称聚合函数功能Sum() 计算表达式所有值之和必须是数值,数字类型【例】求选修01课程的学生的总成绩。usestudent_scoreselectsum(score)as'课程01总成绩'fromScorewhereCID='01goAvg() 计算表达式的平均值【例】求选修10课程的学生的平均成绩。usestudent_scoreselectavg(score)as'课程10平均成绩'fromScorewhereCID='10'goCount(列名)计算表达式中非空值的数量【例】求学生的总成绩usestudent_scoreselectcount()as‘学生总成绩'fromMembergocount(*) 计算表达式中所有值的数量【例】求学生的总人数usestudent_scoreselectcount(*)as‘学生总人数'fromMembergoMin() 计算表达式的最小值【例】求选修00课程的学生的最低分usestudent_scoreselectmin(score)as'课程00的最低分'fromScorewhereCID='00'goMax() 计算表达式的最大值课程的学生的最高分11【例】求选修usestudent_scoreselectmax(score)as'课程11的最高分'fromScorewhereCID='11'go逻辑运算符:notorand第八章数据的完整性数据库完整性:是指存储在数据库中数据的一致性和标准性数据完整性的类型1)域(列)完整性:指定对列的一组有效值并决定是否允许有空值。也可以通过在一列中限定数据类型,格式和可能值的范围来强制数据完整性。2) 实体(行)完整性:要求表中所有的行具有唯一的标识符,例如主关键字值。3) 参照完整性:确保维持主关键字和外部关键字的关系约束的概念:确保在列中输入有效的值并维护表之间的关系。约束的类型完整性类型约束类型说明指定列的默认值域DEFAULT指定列的允许值CHECK指定是否允许NULLNULL唯一标识每一行PRIMARYKEY实体.UNIQUE防止非主键重定义值必须与此表FOREIGNKEY引主键匹配的default功能:执行insert语句时将默认值自动插入约束所在的列语法:altertable表名addconstraint约束名default(默认值)for字段名go【例】修改数据库student_score中的Menber表,将性别的默认值设置为'男'usestudent_scorealtertableMemberaddconstraintdf_sexdefault('男’)forMsexgocheck功能:check(检查约束),每次执行Insert/update语句时,该约束要校验数据的合法性语法:altertable表名addconstraint约束名)条件check(go【例】修改数据库student_score中的Score表,使成绩限制在0~100之间usestudent_scorealtertableScoreaddconstraintck_cjcheck(score>=0andscore<=100)go7.primarykey功能:primarykey(主键约束),一个表中只有能一个pk,不能有空值,不能有重复值;pk所在列的值能够唯一标识此行;能与fk关联,pk所在表为主表;同时创建一个与PK约束名的簇索引。语法:altertable表名addconstraint约束名primarykey(字段名)go【例】修改数据库student_score中的kc表,将课程号设置为主键usestudent_scorealtertableCourseaddconstraintpk_kchprimarykey(CID)go8.Unique功能:unique(唯一约束),指定在同一列中的两行不能有相同的值,只能有一行为空值,该约束自动创建一个与约束同名的非簇索引,在插入/修改时自动执行。语法: altertable表名addconstraint约束名unique(字段名)go【例】修改数据库student_score中的Course表,将课程名设置为unique约束usestudent_scorealtertableCourseaddconstraintun_kcmunique(Cname)go9.FOREIGNKEY功能:参照完整性确保维持主关键字(在主表中)和外部关键字(在辅表中)的关系。语法:altertable表名1addconstraint约束名foreignkey(字段名)references表名2(字段名)go【例】修改数据库student_score中的Score表,将课程号设置为外键usestudent_scorealtertableScoreaddconstraintfk_kchforeignkey(CID)referencesCourse(CID)go10.删除约束语法:altertable表名dropconstraint约束名【例】删除Menber表的fk_xh约束。usestudent_scorealtertableScoredropconstraintfk_xhgo第九章视图视图;是从一个或多个表(或视图)导出的虚表。对于数据库用户来说,视图似乎是一个真实的表,它具有一组命名的数据列和行。但是,与真实的表不同,在视图中没有存储任何数据,仅仅是一种较简单的访问数据库里其他表中数据的方式,因此称它为“虚表”。视图只能建立在当前正在使用的数据库中视图的优点聚焦数据,创建可以控制的环境,将需要的、常规的、适当的数据存储在视图中。隐藏数据库的复杂性简化对用户的许可管理数据库拥有者只允许用户通过视图查询数据,保护了底层基本表的设计结构提高性能存储复杂查询、分割数据输出数据给其他应用程序视图创建是应注意的情况只能在当前数据库中创建视图。如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。当通过视图查询数据时,SQLServer要检查以确保语句中涉及的所有数据库对象存在,而且数据修改语句不能违反数据完整性规则。视图的名称必须遵循标识符的规则,且对每个用户必须是唯一的2.语法;创建视图视图名1)createview【例】创建v1视图,包括作者为马德保的书籍ISBN,名称,及单价usebookgocreateviewv1asselectisbn,bookname,unitpricefrombookinfowhereauthor二'马德保'godropview视图名删除视图【例】删除名为v2的视图dropviewv2alterview视图名修改视图【例】修改v1视图,包括出版社为工业出版社的书籍ISBN,作者及单价usebookgoalterviewv1asselectisbn,author,unitpricefrombookinfowherepublisher二'工业出版社’goexecsp_helptext视图名查看视图定义【例】查看视图v1:execsp_helptextv1update视图名 更新视图【例】将vl视图中书名为“WindowsServer2008活动目录”的单价增加10。usebookgoupdatevlsetunitprice=unitprice+l0wherebookname='WindowsServer2008活动目录'go第十章索引建立索引目的:是希望提高SQLServer数据检索的速度索引的分类聚集索引对表进行物理排序的索引是聚集索引非聚集索引唯一索引建立索引的原则3.1)定义主键数据列一定要建立索引2)定义外键数据列上一定建立索引3)对于经常查询的数据列最好建立索引4)对于需要在指定范围内快速或频繁查询的数据列5) 经常用在where子句中的数据列6) 对于那些查询中很少涉及的列,重复值较多的列不要建立索引7) 对于定义为text、image和bit数据类型的列不要建立索引4.语法;创建索引Createunique索引名修改索引alterunique索引名删除索引dropunique索引名例如:在xscj数据库中的xs表上创建名为ix_name的非聚集索引、唯一索引,该索引基于“姓名”列创建语法是CreateuniquenonclusteredIndexix_nameonxs(姓名)更新索引统计信息的命令是updatestatistics对表进行数据操作可能会导致表碎片的产生,而碎片会导致读取额外页,从而造成数据查询性能的降低,可以使用(dbccshowcontig)语句扫描表当表或视图上的聚集索引和非聚集索引页上存在碎片时,可以使用进行碎片整理(dbccindexdefrag).第十一章存储过程存储过程的类型系统存储过程(名字以“sp_”为前缀,存储在master里)本地存储过程(存储在用户定义的数据库中)扩展存储过程(名字都以“xp_”为前缀,存储在master里)临时存储过程(名字以#开头)语法:l)Creatprocedure存储过程名 创建存储过程【例】创建名为p_book_info的存储过程,该存储过程查询所有书籍的信息usebookgocreateprocedurep_book_infoasselect*frombookinfoorderbyISBN2)Execprocedure存储过程名 执行存储过程【例】p_order_detail可以通过以下方式执行execp_order_detail修改存储过程 存储过程名3)Alterprocedure【例】修改p_order_detail,返回订单id,用户姓名,用户地址,书籍单价,书籍名称及订单数量alterprocedurep_order_detailasselecto.orderdetailid,u.username,u.addr,b.unitprice,b.bookname,o.quantityfromorderdetailasojoinuserinfoasuono.userid=u.useridjoinbookinfoasbono.isbn=b.isbngo4)Dropprocedure存储过程名 删除存储过程【例】删除xscj数据库中的p_book_info存储过程usebookgodropprocedurep_book_info数据库系统类型是按照(数据模型)来划分的用于显示存储过程的源代码的系统存储过程是sp_helptextxp_cmdshell能够用来添加系统用户的扩展存储过程是局部标量是加上@全局变量是加上@@用于声明一个或多个局部变量的命令是declare第十二章流程设计流程控制语句:是指那些用来控制程序执行和流程分支的命令,在SQLServer中,流程控制语句主要用来控制SQL语句、语句块或者存储过程的执行流程。变量分为:局部变量和全局变量运算符算术运算符:+,-,*,/,%赋值运算符:=比较运算符:>,<,>=,<=,=,!=,<>,!>,!<逻辑运算符:-all,and,any,between,exists,in,like,not,or,some字符串串联运算符:+按位运算符:&,|「,〜4.流程控制l)begin・・・end:定义语句块。gotolabel从label所定义的label之后的语句处继续进行处理。if・・・else定义条件以及当一个条件为FALSE时的操作。while当特定条件为TRUE时重复语句。为语句的执行设置延迟5)waitfor第十三章触发器触发器:是一种特殊的存储过程,它被分配给某个特定的表,触发器都是自动调用的。当一特定的表数据被插入、更新或删除时,数据库需要执行一定的动作,触发器是确保数据完整性和一致性的基本有效的方法触发器的动作DeleteUpdateInsert触发器的作用禁止无效的修改级联修改相关表格执行较为复杂的约束操作触发器特点不接受用户参数,也不返回用户参数;存储在表上。数据库中跨越相关表的级联修改。对数据库中的相关表进行级联更新和删除强制比Check约束更复杂的数据完整性.可以引用其他表中的列5.语法:1)Createtrigger触发器名 创建触发器【例】对于student_score数据库,如果在Member表中删除数据,执行时显示提示信息。则在.usestudent_scoregocreatetriggertr_deleteonMemberfordeleteasprint'你已经删除了此数据!'go2)altertrigger触发器名 修改触发器【例】在Member表中定义触发器,当修改纪录时弹出消息:恭喜!你修改了此表!usestudent_scoregoaltertriggertr_deleteonMemberfordeleteasprint'恭喜!你修改了此表!godisabletrigger触发器名禁用触发器【例】禁用tr_update触发器usestudent_scoregoaltertableMemberdisabletriggertr_updategoenabletrigger触发器名 启用触发器【例】启用tr_insert触发器usestudent_scoregoaltertableMemberenabletriggertr_insertgodroptrigger触发器名 删除触发器【例】删除名为tr_insert的触发器droptriggertr_insertSQLServer数据库中发生数据操作语言(DML)事件时将触发哪种触发器DML触发器DML触发器使用哪两个逻辑表deleted和inserted创建DML触发器的命令是createtrigger用于查看触发器的一般信息的系统存储过程是sp_help用于查看触发器的正文信息的系统存储过程是sp_helptextsp_rename用于修改触发器的名字系统存储过程是用于删除触发器的命令是droptrigger第十四章数据库安全SQLServer2008的安全性管理可分为3个等级:1) 操作系统级2) SQLServer级3) 数据库级SQLServer登录认证简介;Windows和SQLServer身份验证Window身份验SQLServe身份验当用户登陆Window域时Window操作系统从不验证用户名和密码在被传送到Windows域控制器之前被加密支持复杂加密、密码的截止日期支持密码策略(Sql2000不支持)和最短长度等密码策略支持帐户锁定策略,在使用无效不支持帐户锁定功能密码进行多次尝试后锁定帐户在Windows98/me中不能使用在Windows98/me中可以使用3数据库安全通过以下三种方式实施:帐户管理:添加和删除数据库用户,便于访问数据库。权限管理:指定用户能够对哪些数据库对象执行哪种操作。将具有相同权限的用户设置为同一角色,减少权限设角色管理:置的工作量SQLServer2008采用的身份验证模式有Windows身份验证模式和混合模式第十五章数据库灾难性恢复备份和恢复的必要性数据库中的数据丢失或被破坏的原因:计算机硬件故障、软件故障病毒、误操作、自然灾害、盗窃备份类型完全备份(DatabaseFullBackups)特点:1)速度慢、时间长;占用大量的磁盘空间;3)完全备份的频率通常比差异备份或事务日志备份低事务日志备份(TransactionLogBackups)特点:1)速度快、时间少2)占用磁盘空间少3)操作复杂差异备份(DifferentialDatabaseBackups)特点:1)速度一般、时间短2)占用磁盘空间少3)需要经常备份恢复模式恢复模式描述数据库的完整或差异副本,截断简单恢复模式事务日志.完整恢复模包括数据库备份和事务日志备包括数据库和事务日志备,大容量日志恢使用较少的日志当选择恢复模式时,必须考虑原则:1) 大规模操作的性能(如大容量装载)2) 数据丢失表现(如已提交的事务丢失)3) 事务日志空间损耗4) 备份和恢复过程的简化备份还原的方法完整备份和还原完整+差异备份与还原完整+事务日志备份与还原创建备份设备:物理和逻辑语法:1)创建数据库备份完全备份backupdatabase数据库名to永久设备逻辑名withinit/noinit--init 表示重写--noinit表示追加(默认)【例】把book数据库完全备份到backup_book设备里backupdatabasebooktobackup_bookwithnoinit差异备份backupdatabase数据库名to
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- N-Ethyl-4-methoxyamphetamine-hydrochloride-生命科学试剂-MCE-8599
- 2025年度商业门面使用权转让合同
- 2025年度电梯应急救援预案制定与演练合同
- 2025年度解除租赁合同解除条件争议调解协议书
- 施工现场安全风险管控制度
- 科技发展趋势宇宙生命探索与地球应用
- 个人房屋租赁给企业合同范例
- 两子女离婚财产分割合同范本
- 2025届毕业生就业实习合同协议
- 个人委托代理合同书样本
- T-CISA 402-2024 涂镀产品 切口腐蚀试验方法
- 后勤安全生产
- 项目重点难点分析及解决措施
- 挑战杯-申报书范本
- 北师大版五年级上册数学期末测试卷及答案共5套
- 电子商务视觉设计(第2版)完整全套教学课件
- 2024-2025学年人教版生物八年级上册期末综合测试卷
- 2025年九省联考新高考 语文试卷(含答案解析)
- 第1课《春》公开课一等奖创新教案设计 统编版语文七年级上册
- 全过程工程咨询投标方案(技术方案)
- 心理健康教育学情分析报告
评论
0/150
提交评论