SQL复习资料
- 格式:doc
- 大小:29.00 KB
- 文档页数:4
SQL复习提要第一篇:SQL复习提要一、数据库创建1、Create语句:用来创建新的数据库对象;Create database database name2、alter语句:用来修饰已有对象的结构;Alter database database name3、drop语句:用来删除已有的数据库对象;4、insert语句:用来在数据表或视图中插入一行数据;二、表与表数据操作在表sxb中增加1个新列为奖学金等级,然后删除该列 USE psxcj goalter table xsbadd 奖学金等级 tinyint NULL goalter table xsbdrop column 奖学金等级select *from kcb select *from xsb select *from cjb查询全体的学生的详细记录 Select * from Student 查询全体学生的姓名与学号 Select Sname Sno from Student 查询全体学生的姓名及其年龄Select Sname,YEAR(getdate()-year(sbirthday))as ageFrom Student--单表查询查询计算机系全体学生的信息 /*语句块*/select * from xsbwhere 专业='计算机'--查询姓“张”的学生的学号和姓名select 学号,姓名from xsb where 姓名 like '张%'--查询xsb中备注信息为空的学生信息 select * from xsb where 备注 isnull--查询成绩在90分以上的学生信息 select distinct 学号 from cjbwhere 成绩>=90--查询同时选修了课程101和102的学生记录select 学号from cjbwhere 课程号='101' or 课程号='102' group by 学号having count(*)=2select * from cjbselect count(学号)选修人数,课程号 from cjbgroup by 课程号--查询选修了两门以上的课程的学生学号和课程数select 学号,count(课程号)as 选修门数 from cjb group by 学号having count(*)>=2--查询选修课程数大于或等于2的学生学号,平均成绩和选修课门数,并按平均成绩降序排序select 学号,avg(成绩),count(*)as 选修门数 from cjb group by 学号 having count(*)>=2 order by avg(成绩)desc--查询姓“张”的前两个学生的学号和姓名 Top 2--多表查询查询选修了(数据库原理)的计算机系的学生学号和姓名Select 学号,姓名 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and kcb.课程号=cjb.课程号 and 课程名='计算机基础' and 专业='计算机'--查询学生的学号、姓名、选修课程的名称和成绩 select xsb.学号, 姓名,课程名,成绩from xsb,cjb,kcb where xsb.学号=cjb.学号and cjb.课程号=kcb.课程号--查询选修了课程的学生姓名--select *from kcbselect distinct 姓名 from xsb,cjb where xsb.学号=cjb.学号--查询所有学生的信息和所选修的课程--select xsb.*,[kcb.]课程名 from xsb left outer join cjb on xsb.学号=cjb.学号left join kcb on cjb.课程号=kcb.课程号--查询已被选修的课程的情况和所有课程的名字--Select cjb*,课程名 from xsb left join cjbOn xsb.学号=cjb.学号--查找计算机系的学生选修课程数大于2的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列select xsb.姓名,avg(成绩)as平均成绩,count(*)as 选课门数from xsb,cjbwhere xsb.学号=cjb.学号and 专业='计算机'group bycjb.学号,姓名having count(*)>2 order byavg(成绩)desc--嵌套查询和组合查询----1.统计选修了【数据库原理】课程的学生学生select 课程号 from kcb where 课程名='数据库原理'select count(*)fromcjbwhere 课程号 in(select 课程号 from kcb where 课程名='数据库原理')2.查询没有选修【数据库原理】课程的学生信息select * from xsb where 学号 not in(select 学号 from cjb where 课程号 in (select 课程号 from kcb where 课程名='数据库原理'))3.查询其他系中比计算机系学生年龄都小的学生select *from xsbwhere 出生时间'计算机'--4.查询被081101学生或081102学生所选修的课程的课程号(用UNION组合查询与IN条件查询两种方法实现)并集select 课程号 from cjbwhere学号='081101' unionselect 课程号 from cjbwhere学号='081102'--5.查询081101学生和081102学生同时选修的课程的课程号(用INTERSECT组合查询与EXISTS嵌套子查询两种方法实现)(自连接)select 课程号 from cjbcjb1where exists(select * from cjb cjb2where cjb1.课程号=cjb2.课程号 andcjb2.学号='081102')and 学号='081101'select 课程号 from cjb where 学号='081101' intersectselect 课程号from cjbwhere学号='081102'--6.查询被081101学生选修,但没有被081102学生所选修的课程的课程号(用EXCEPT组合查询与NOT EXISTS嵌套子查询两种方法实现)select 课程号 from cjb where 学号='081101' exceptselect 课程号 from cjbwhere学号='081102'create procedure proc_cjcxbasselect xsb.学号,姓名,课程名,成绩 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and cjb.课程号=kcb.课程号--7、查询选修了101课程的学生姓名 select 姓名from xsbwhere EXISTS(select *from cjbwhere xsb.学号=cjb.学号 and 课程号='101')--存储过程--创建查询create procedure proc_cjcx asselect xsb.学号,姓名,课程名,成绩 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and cjb.课程号=kcb.课程号execute proc_cjcx alte修改查询r--输入学好查询学生的学号,姓名,课程名,成绩alter procedure proc_cjcx@xh char(6)='%' asselect xsb.学号,姓名,课程名,成绩 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and cjb.课程号=kcb.课程号andxsb.学号 like rtrim(@xh)execute proc_cjcx '081101'--存储过程select * from kcbcreate proc proc_kcbinsert@kch char(3),@kcm char(16),@kkxq tinyint,@xs tinyint,@xftinyint asinsert into kcbvalues(@kch,@kcm,@kkxq,@xs,@xf)proc_kcbinsert '405','server程序设计',4,72,4 查找单科最高成绩select xsb.学号,姓名,课程名,成绩from xsb,cjb,kcbwhere xsb.学号=cjb.学号 and kcb.课程号=cjb.课程号and exists(select *from cjb,(select 课程号,max(成绩)as 最高分 from cjb group by课程号)as tempwhere cjb.课程号=temp.课程号and cjb.成绩=temp.最高分)(相关子查询)select xsb.学号,姓名,课程名,成绩from xsb,cjb,kcb(select 课程号,max(成绩)as 最高分from cjb group by课程号)as tempwhere xsb.学号=cjb.学号 and kcb.课程号=cjb.课程号 and cjb.课程号=temp.课程号 and cjb.成绩=temp.最高分触发器Create trig trig_cheakgrods on cjb For updateAs Declare @..........创建视图创建学生平均成绩的视图create view view_选修课平均成绩as(select xsb.学号,姓名,avg(成绩)as平均成绩 from cjb, xsbwhere xsb.学号=cjb.学号group by xsb.学号,姓名)需要查找该表的结果语句如下:select * from view_选修课平均成绩修改选修课平均成绩视图,显示所有学生的学号,姓名,平均成绩alter view view_选修课平均成绩as(select xsb.学号,姓名,avg(成绩)as平均成绩from xsb left join cjbon xsb.学号=cjb.学号group by xsb.学号,姓名)查询学生的姓名,性别,平均成绩select xsb.学号,xsb.姓名,性别,平均成绩from xsb, view_选修课平均成绩where xsb.学号=view_选修课平均成绩.学号更新选修课成绩表视图update view_选修课平均成绩 set平均成绩=80 where 姓名='王林'删除选修课平均成绩视图、drop view view_选修课平均成绩插入insert into xsb(学号,姓名)values('100511','张四')--备份数据库backup database Pxscjto disk='E:1PxscjDiff.bak'with differentialinsert into xsb(学号,姓名)values('100512','李四')--备份数据库日志文件 backup log Pxscjto disk='E:1Pxscjlog.bak'use masterdrop database Pxscjuse Pxscjselect * from xsb--用语句还原数据库 restore database Pxscj from disk='E:1PxscjDiff.bak'--还原第三次备份的数据库 restore database Pxscj fromdisk='c:ProgramFilesMicrosoftServerMSSQL.1MSSQLBackupPxscj.bak' with norecovery select * from xsb--还原第三次备份的日志文件 restore log Pxscjfrom disk='E:1Pxscjlog.bak'--差异备份backup database Pxscjto disk='E:SQL-serverPxscjDiff.bak' with differentialinsert xsb(学号,姓名)values('100512','王五')backup log Pxscjto disk='E:SQL-serverPxscjlog.bak'--删除Pxscj use masterdrop database PxscjSQL第二篇:高等数学复习提要高等数学复习提纲第一章函数与极限复习重点:1、求极限1)四则运算法则注意:四则运算法则适用的函数个数是有限个;四则运算法则的条件是充分条件有理分式函数求极限公式:⎧a0mm-1 xxxam⎪ba+a+Λ+amm-101m-1n+nnn a0x+a1x+Λ+am-1x+am⎪0xxxx=lim=⎨0limnn-1∞bxn+bxn-1+Λ+bx+bx→∞x→bxxxn01n-1n⎪∞b+b+Λ+b+01n-1nn nn ⎪xxxx⎩2)两个重要极限n=mm<nm>nlimsinxsin0=1()x→0x01x101lim(1+x)=lim(1+)x=e ((1+0))x→0x→∞x3)两个准则准则一:若(1)yn≤xn≤zn∀n∈N则{xn}有极限,且limxn=an→∞(2)limyn=limzn=an→∞n→∞准则二:单调有界数列必有极限单调递增有上界的数列其极限为最小的上界(上确界)单调递减有下界的数列其极限为最大的下界(下确界)4)无穷小量a.无穷小量的定义,注意其是变量,谈及无穷小量时一定要注明自变量的变化趋势。
SQL复习资料整理SQL(Structured Query Language)结构化查询语言,是一种专门用于管理和操作关系型数据库的编程语言。
在数据库领域中,SQL可以用来存储、修改、删除和检索关系型数据库中的数据。
因此,学习和掌握SQL是非常重要的。
本文将为您整理一些SQL复习资料,帮助您更好地学习和掌握SQL语言。
SQL基础知识在学习SQL之前,您应该首先了解SQL的基础知识,包括以下几个方面:1.SQL的历史和发展2.SQL的标准化3.关系型数据库概念4.SQL的核心语句和数据类型SQL核心语句SQL的核心语句包括数据查询语句(SELECT)、数据添加语句(INSERT)、数据更新语句(UPDATE)、数据删除语句(DELETE)。
以下是每个语句的基本用法:SELECT语句SELECT语句用于从表中检索数据。
它的基本语法如下:SELECT column1, column2, ... FROM table_name;你还可以在SELECT语句中使用WHERE子句来过滤检索结果,如下所示:SELECT column1, column2, ... FROM table_name WHERE condition;其中,condition是一个条件表达式,用于过滤检索结果。
INSERT语句INSERT语句用于将数据添加到表中。
它的基本语法如下:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value 2, ...);其中,column1、column2是表的列名,value1、value2是要插入的值。
UPDATE语句UPDATE语句用于更新表中的数据。
它的基本语法如下:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;其中,condition是要更新的数据所匹配的条件。
(一)SQL概述1.SQL的基本概况1)含义:SQL是structured query languge的缩写,它是关系数据库的标准数据语言,所有的关系数据库管理系统都支持。
2)功能:数据查询、数据操作和数据定义2.特点1)一体化:包括数据定义、查询和操作等方面功能,可以完成数据库活动中的全部工作;2)高度非过程化:只需告诉计算机用户“做什么”,SQL便可自动完成全部工作;3)非常简洁:只有为数不多的几条命令组成;4)它可以直接以命令方式使用,也可以嵌入到程序设计语言中以程序方式使用。
3.主要短语及其含义1)select-说明要查询的数据2)from-说明查询的数据来自哪些表,可对单表或多表进行查询3)where-说明查询条件,即选择元组的条件4)group by-用于对查询进行分组,可用它对数据进行分组汇总5)having-必须跟group by短语一起使用,用来限定分组必须满足的条件6)order by-用来对查询的结果进行排序.简单查询1)适用范围:即单表查询,查询的字段信息和查询条件都来自于同一张表2)语法格式:select 字段名1,…字段名n from 表名 where 条件式3)查询细节:ü distinct 去掉查询结果中的重复值ü若查询某张表的全部字段,则可把select后的字段名全部用通配符*代替即可ü union并运算可把两个select语句的查询结果合并成一个查询结果(要求是两个查询结果要具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围)ü查询去向:into array 数组名——将查询结果存放于数组中into cursor 临时表文件名——将查询结果存放于临时只读文件,关闭时自动删除into dbf/table 自由表文件名——将查询结果存放于永久表中to file 文本文件名——将查询结果存放于文本文件中2.简单的联接查询1)适用范围:查询的字段信息或条件来自于多张表2)语法格式:select 字段名1,…字段名n from 表名1,…表名n where 联接条件and 其他条件3.嵌套查询1)适用范围:查询的字段信息出自于同一张表,而查询条件出自于其他表2)语法格式:select 字段名1,…字段名n from 表名1 where 外部关键字 in (select 外部关键字 from 表名2 where 条件)3)查询细节:ü几个特殊的运算符:between…and…用于查询满足某个值域范围内的记录;like用于查询与指定字段值相匹配的记录(like后所指定的字段值一定是个字符型数据;通配符%表示0个或多个字符,“_”只表示一个字符)ü排序:order by 字段名1 asce/desc,…字段名n asce/desc注意:系统默认升序,asce可省略,允许按一个或多个字段对查询结果排序ü简单计算查询:count()-计数 sum()-求和,所指字段是N型 avg()-求平均数,所指字段是N型 max()-求最大值,所指字段是N型min()-求最小值,所指字段是N型ü分组与计算查询:group by 字段名1,…字段名n having 条件表达式(注意:having 必须和group by一起使用,因为它是对分组后的结果进一步进行筛选,having条件和where 条件不矛盾,在select语句查询中是先用where子句限定元组,然后进行分组,最后再用having子句限定分组结果)ü利用空值查询:is null/is not nullü内外层互相嵌套查询:内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果ü使用量词和谓词的查询:表达式运算符 any/some/all(select子查询)——其中any和some表任意一个,all 表示全部[not] exists(select子查询)——exists表示存在ü虚字段:即原表中并无此字段,是通过函数或者表达式计算所得出的字段名;其格式为:表达式/函数 as 虚字段名ü显示部分结果:top 表达式[percent] order by 字段名1,…字段名n注意:不使用percent时,在1-32767之间取值,说明显示前几条记录使用percent时,则在0.01-99.99之间取值,说明显示前百分之几的记录并且top短语要与order by短语同时使用才有效4.内联接查询:超级联接查询的一种1)适用范围:查询的字段名或查询条件来自于多张表2)语法格式:select 字段名1,…字段名n from 表名1 inner join 表名2 on 联接条件 where 条件(三)SQL的操作功能1.插入功能1)标准格式:insert into 表名(字段名1,…字段名n)values(字段值1,…字段值n)注意:此命令格式表示向表中插入记录,当插入的不是完整的记录时必须指明字段2)特殊格式:insert into 表名 from array 数组名注意:此命令格式表示从指定的数组向表中插入记录2.更新功能1)格式:update 表名 set 字段名1=表达式1,…字段名n=表达式n where 条件式注意:使用where表示更新满足条件的记录,不使用where则更新全部记录2)注意update命令与replace命令的区别:² update可对一表和多表操作,replace只能对当前一表操作² update用where接条件表达式,replace用for接条件表达式² update用=接表达式,replace用with接表达式² update用set接字段名,replace的字段名前不加set² update不用where子句就可更新全部记录,replace有all无for条件才是更新全部记录3.删除功能1)格式:delete from 表名 where 条件注意:此命令表示逻辑删除表中相应的记录,有where条件时表示逻辑删除表中满足条件的记录2)本格式可用于一表与多表,而delete for条件则只可用于当前表(四)SQL的定义功能1.表的定义,即建立表1)格式:create table 表名(字段名1 字段类型(宽度),…字段名n 字段类型(宽度))2)注意:2.表的删除1)格式:drop table 表文件名2)注意:3.表结构的修改1)添加/删除表中字段:alter table 表名 add/drop column 字段名字段类型(宽度)注意:只能一次添加一个字段,并且如果是删除字段则不需要写宽度2)修改字段类型及宽度:alter table 表名 alter 字段名新类型(新宽度)3)更新字段名:alter table 表名 rename column 原字段名 to 新字段名4)修改字段有效性:alter table 表名 alter column 字段名[null/not null][set default 表达式][set check 逻辑表达式[error 字符表达式]]alter table 表名 alter column 字段名[drop default][drop check]5)添加/删除表中表中索引:alter table 表名 add primary key/unique字段名 tag 索引名注意:primary key是主索引;unique是候选索引。
1.数据处理三个阶段: 人工管理阶段,文件系统阶段和数据库系统阶段2.数据库系统的组成: DBS是指在计算机系统中引入数据库后的系统构成,有计算机硬件、操作系统、DBMS、DB、应用程序和用户、以及数据库开发和管理人员等组成.3.数据模型中的基本概念以及实体的联系数据模型是数据库系统的核心和基础,任何DBMS都支持一种数据模型.任何一种数据模型都规定了一种数据结构,也即信息世界中的实体和实体间联系的表示方法.数据结构描述了系统的静态特性,是数据模型最本质的内容.数据模型还必须规定对其中数据可以执行的操作及操作规则.数据操作描述了系统的动态特性.对数据库的操作主要有数据维护和数据检索两大类,包括操作名、含义、规则等.数据模型还必须提供定义完整性约束条件的手段,并在操作中自动检查之.4.DBMS所支持的主要数据模型层次模型,网状模型,关系模型,面向对象模型. 关系模型占统治地位5.关系模型的组成:数据结构,数据操作和完整性约束.6.三类完整性约束:实体完整性,参照完整性,用户定义的完整性7.数据库系统中数据的三级模式结构:外模式,模式,内模式.9. DBMS的主要功能:1)数据库的定义、建立和维护功能。
2)数据存取功能。
3)数据库运行管理功能。
10. 数据库设计的一般策略:自顶向下合自底向上。
11. 数据库设计的步骤:1)用户需求分析。
2)信息分析和定义(概念设计),包括:视图模型化,视图分析和记总。
3)设计实现(逻辑设计),包括:模式初始设计、子模式设计、应用程序设计、模式评价、模式求精。
4)物理设计。
12. 数据库设计的主流方法:1)E-R模型加规范化关系的方法。
2)数据元素图加规范化关系的方法。
13. 5个阶段主要目标:数据库结构设计五个阶段:需求描述与分析、概念结构设计、逻辑结构设计、物理结构设计、数据库调试评价与维护。
主要目标:满足数据库中数据处理的要求,将数据和功能两方面的需求分析、设计和实现在各个阶段同时进行,相互参照和补充。
《SQL Server数据库》复习提要一、名词解释逻辑数据库、物理数据库、主数据文件、辅助数据文件、日志文件、文件组、视图、游标、索引、数据独立性、选择、投影、连接、默认约束、检查约束、触发器、完全数据库备份、差异备份、关系数据库、候选关键字、空值(NULL)、行集函数、聚合函数、外模式、模式、内模式、第1范式、第2范式二、填空题1. SQL Sever 2005主要有五个版本:标准版、企业版、开发版、工作组版和精简版。
2. SQL Sever 2005 数据库的数据文件扩展名;辅助数据文件扩展名;日志文件扩展名为。
3.维护数据的触发器可分为、和三种类型。
4.执行触发器时,系统创建了两个特殊的逻辑表、。
5.数据库需备份的内容可分为和两部分。
6.数据库管理系统分、和三种类型。
7.在SQL Server 中,有两类游标可以用于应程序中:和。
8.T—SQL 语言主要由、和。
三部分组成。
9.对两个相关联的表(主表与从表)进行和时,通过参照完整性保证它们之间的数据的。
10.定义表间的参照关系时,先定义,再对从表定义。
11.SQL Sever 2005 支持三种类型的复制:、和。
12.SQL Sever 2005 有三个默认的用户帐号:、和。
13.T-SQL 语言提供了三种系统内置函数:、和。
14. 逻辑文件名是数据库创建后在所有语句中引用文件时所使用的名字;操作系统文件名是在创建物理文件时使用的路径和文件名。
三.是非题1. 安装SQL Server 2005时,系统将自动创建5个数据库。
即 master 、model 、msdb 、 tempdb和资源系统数据库,这些数据库都属于系统数据库。
()2.用“对象资源管理器”和“查询分析器”都可对数据库表进行查询。
()3. 当表的字段类型为数值型时,标识及标识种子才有效。
()4. 当表的字段类型为字符型时,标识及标识种子才有效。
()5. 当表建成后,仍然可以改变数据文件和日志文件的存储位置。
一、单选题1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___)A.只存在一对多的实体关系,以图形方式来表示。
B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。
C.能体现一对多、多对多的关系,但不能体现一对一的关系。
D.关系模型数据库是数据库发展的最初阶段。
答案[B]2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。
A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时答案[B]3、关系数据库中,主键是(___),当运用Transact-SQL语句创建主键时,可以是(__)。
⑴ A、为标识表中唯一的实体 B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的⑵ A、create table table1(column1 char(13) not null primary key,column2 int not on primary key;B、alter table table1 with nocheck addconstraint [PK_table1] primary key nonclustered ( column1) on primary;C、alter table table1 column1 primary key ;答案[ A C]4、视图是一种常用的数据对象,可以简化数据库操作,当使用多个数据表来建立视图时,不允许在该语句中包括(___)等关键字。
A、ORDER BY,COMPUTEB、ORDER BY,COMPUTE,COMPUTR BYC、ORDER BY,COMPUTE BY,GROUP BYD、GROUP BY,COMPUTE BY答案[B ]5、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_1_),使用关键字(_2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(_3__),如果在SELECT语句中使用聚合函数时,可以在后面使用(_4_)。
关系型数据库及SQL语言复习重点第一章:数据库基础知识1.计算机化数据库的优点2.数据库模型三种:a)层次模型: 一个父代可以有多个子代,一个子代只能有一个父代b)网状模型: 数据存储在集合结构中,一个父代可以有多个子代,一个子代也可有多个父代c)关系模型: 以表的形式存储数据,实体互相独立,但之间又有关系3.关系型数据库:IBM的科学家Codd发明关系型数据库,被称为关系型数据库之父4.DBMS = 数据库+访问数据库的程序5.RDBMS:关系型数据库管理系统6.三大数据完整性:a)实体完整性:用主键来实现, 保证数据的唯一性、非空b)引用完整性:用外键来实现,保证数据的一致性c)域的完整性:通过数据类型、数据取值范围、数据格式来实现,保证数据的有效性7.表:存贮数据的容器,由二维行(记录)、列(字段、属性)组成8.SQL(Structural Query Language)语言的分类:遵循ANSI/ISO SQL-92 的国际标准a)DDL(Data Definition Language) 数据定义语言: Create, Alter, Drop, AddConstraintb)DML(Data Manipulation Language) 数据操作语言: Insert, Update, Delete,Truncatec)DQL(Data Query Language) 数据查询语言: Select from, Where, Group by, Orderby, Compute By, Having, inner join, outer join, union, like, in between, any, all, exists, etc.d)DCL(Data Control Language) 数据控制语言: 用于管理对数据库和数据库对象的权限,如Grant, Revokee)CCL(Common Command Language) 通用命令语言: 用来在数据库中进行高效率的搜索第二章:使用Access1.Access是一个小型单机版的关系型数据库管理系统2.1个Access数据库只有一个文件,后缀mdb3.Access数据库有七个对象:表、查询、窗体、报表、页、宏、模块4.Access提供的数据类型,其中文本型数据类型默认的字段长度为505.在Access里实现:a)实体完整性:主键b)引用完整性:外键,建立关系(实施参照完整性)c)域完整性:数据类型、输入掩码、默认值、有效性规则6.导入、导出数据:可以从其他Access数据库、Excel、DBbase、Outlook、Html、Lotus、文本(Txt)、ODBC等导入、导出数据7.设置数据库密码8.压缩和修复数据库第三章:SQL Server数据库的管理1.SQL Server 2000的特征2.SQL Server 2000的安装及软硬件要求3.4.5.数据库类型:系统数据库和用户数据库系统数据库:master,model,msdb,tempdb∙master:它记录所有的登录帐户和系统配置设置。
1、数据库系统的核心是数据库管理系统2、数据库系统的特点:数据结构化,由DBMS统一管理和控制,独立性高3、概念模型是现实世界的第一层抽象,最著名的是E-R模型4、数据的物理独立性用户的应用程序与存储在磁盘上数据库的数据时相互独立的5、要保证数据库的逻辑数据独立性需要改变的是模式与外模式直接的映像。
模式与内模式直接的映像能修改物理数据独立性6、关系数据模型的基本数据结构式关系7、R∩S等价于S-(R-S)8、GRANT UPDATE (QTY) ON S PJ TO 李勇不需要加双引号9、关系规范化的插入操作异常是指应该插入的数据未被插入10、关系数据库设计中,设计关系模式是在数据库设计中的逻辑阶段的任务11、在E-R模型中,如果有3个不同的实体型,3个m:n联系,根据E-R模型转换为关系模型的规则,转换后关系的数目为( C 6 )。
12、事物的隔离性:一个事物的内部操作及其使用的数据对并发的其他事物是隔离的13、数据库恢复中,转储的冗余数据是指日志文件和数据库后背副本14、关系数据模型由关系数据结构关系操作和关系完整性约束三部分组成15、一般情况下,关系R和S使用自然连接时,要求R和S有一个或多个共有属性16、关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则侯选码是 A和(B,C) ,R∈ AB NF。
17、E-R图的冲突主要有属性冲突命名冲突和结构冲突18、事务是数据库管理系统的基本单位是用户定义数据库操作序列19、可串行性是并发事物正确性的准则。
我的理解是事物按不同的次序并发执行后的结果相同20、试述视图的作用?(1)视图能够简化用户的操作。
(1分)(2)视图使用户能以多种角度看待同一数据。
(1分)(3)视图对重构数据库提供了一定程度的逻辑独立性。
(1分)(4)视图能够对机密数据提供安全保护。
(1分)二:1、数据的逻辑独立性是指模式改变外模式和应用程序不变2、数据库的三级模式结构中,描述全体数据的全局逻辑结构和特征的是模式3、关系数据模型的缺点有存取路径相对用户透明需查询优化4、自然连接要求有共有的属性5、SQL语言有数据定义DDL 数据操纵DLL 数据控制的功能从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是(M端实体关键字与N端实体关键字组合)。
第一章数据库技术发展的三个阶段人工管理阶段、文件系统阶段、数据库系统阶段数据库的基本概念Data Base 数据库是为了实现一定的目的、按某种规则组织起来的“数据”的“集合”,简而言之,它是有结构的数据集合。
数据库系统的三级模式结构(考)外模式、模式、内模式外模式/模式映射保证逻辑独立性模式/内模式映射保证物理独立性数据模型的要素及其特点层次模型、网状模型、关系模型要素:数据结构:数据操作:关系代数、关系演算、具有关系代数和关系演算双重特点的语言(SQL)完整性约束:实体完整性、参照完整性和用户定义的完整性关系的特点:1、每列数据项不可再分解2、同一个关系中,不能出现相同的属性名3、同一个关系中,不能有完全相同的元组4、所有元组格式相同,长度相同;属性类型相同5、行列顺序无关紧要关系的完整性(插入):实体完整性、参照完整性关系的完整性(删除):参照完整性规则关系的完整性(修改)=删除+插入实体之间的关系:(1)一对一关系(2)一对多关系(3)多对多关系常见数据库:foxpro 、access、sql server、mybase 、oracle第二章SQL Server 2008 新特性:可信、高效率、智能SQL(结构化查询语言):数据定义语言(DDL)CREATE、DROP、ALTER数据操作语言(DML)SELECT、INSERT、UPDATE、DELETE 数据控制语言(DCL)GRANT、REVOKE特点:一体化、高度非过程化、以同一种语法格式提供两种使用方式、语言简捷,易学易用SQL标识符1.标识符的首字母必须是以下两种情况之一:所有在统一码(Unicode)2.0标准规定的字符,包括26个英文字母a-z和A-Z,以及其他一些语言字符,如汉字。
下划线“_”、“@”或“#”。
2.后续字符:除首字母约定外,还有数字字符及“$”。
3.不允许是T-SQL的保留字4.不允许嵌入空格或其他特殊字符(@、#、##、@@)常规标识符:符合标识符的格式规则分隔标识符:使用了双引号(“”)或方括号([])等分隔符号,既可以遵守标识符命名规则,也可以不遵守标识符命名规则。
一.关系数据库理论1.数据库系统的组成:DBMS, DB, DBA 2.数据模型三要素:●数据结构:RDB:二维表●数据操作:I, D, U, S●数据完整性约束:⏹实体完整性:用PK实现⏹参照完整性:用FK实现⏹用户定义的完整性(域完整性):◆CHECK: 限制列的取值范围;◆UNIQUE: 限制列的取值不重;PK = UNIQUE + NOTNULL◆DEFAULT:提供一个默认值3.概念层次数据模型概念:抽取现实系统中有应用语义价值的元素及其联系,反映现实系统有应用价值的信息结构,不依赖于数据的组织结构。
4.E-R图实体:客观存在并且可以相互区分的事务。
联系:实体之间客观存在的关联关系。
属性:实体的所具有的特征。
5.关系模式:表名(属性名1,属性名1,…)元组顺序,列顺序不重要。
6.数据库系统的三级模式结构7.关系数据理论规范化:8.数据库应用结构●集中式●文件服务器●客户/服务器二.SQL Server 2000基础1.网库的作用:客户、服务器间通讯的软件(网络传输协议),服务器端要包含客户端网络协议。
2.SQL Server四个版本:企业版、标准版、个人版、开发版。
知道在不同的操作系统中安装正确的SQL Server版本。
3.安装完成后,第一步要做的工作:启动服务(服务管理器)。
典型安装完成后,有三个服务,知道SQL Server、SQL Server Agent的作用。
了解必须至少启动:SQL Server。
3.用的工具:企业管理器,查询分析器,是客户端工具。
服务管理器是服务器端工具。
4.卸载SQL Servera)停止所有的服务;b)关闭服务管理器;c)卸载。
三.数据库的创建与管理1.创建:DB = Data File + Log File每个数据库至少包含一个主数据文件(.mdf),一个或多个日志文件(.ldf),0个或多个辅助数据文件(.ndf)。
每个文件包含的属性:逻辑文件名、物理文件名、初始大小、增长方式、最大大小。
题型:填空(10’),单选(10’),判断(10’),简答题(30’),程序设计(40’):表中数据操作(30’)5-6章程序修改(10’)视图1.数据库系统(DBS)包括数据库(DB/database),数据库管理系统(DBMS),数据库管理员(BDA)。
2.数据库是长期存储在计算机内、有组织的、可共享的、统一管理的相关数据的集合。
3.数据模型分为层次模型,网状模型,关系模型。
4.实体联系模型主要要素:实体(矩形框表示),联系(菱形框表示),属性(椭圆形表示)。
5.联系的类型:“一对一(1:1)”,“一对多(1:n)”,“多对多(n:n)”。
6.关系范式:第一范式(基本),第二范式,第三范式(必须满足),BC范式,第四范式,第五范式。
7.SQL是标准的关系数据库操作语言。
8.SQL语言包括数据查询语言(Data Retrieval)、数据操作语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)和事务控制语言(Transaction Control)。
9.系统数据库:master 、model 、msdb 、tempdb 。
10.数据文件包括:①主数据文件(.mdf , 数据库中只能含有一个);②次数据文件(.ndf ,可以有0~n个)。
11.SQL Server 遵循先写日志(.ldf)后操作。
12.视图被定义后便存储在数据中,通过视图看到的数据只是存放在基表中的数据。
党对通过视图看到的数据修改时,相应的基表的数据已发生变化。
当对基表的数据发生变化时,变化也尝自动反映在视图中。
13.视图的优点:①集中用户使用的数据;②屏蔽数据库的复杂性。
14.索引的类型:①聚集索引;②非聚集索引。
15.数据完整性分为4种类型:实体完整性、域完整性、引用完整性和用户自定义完整性。
16.主键约束(PRIMARY KEY)是在表中定义一个主键来唯一确定表中的每一行记录。
主键可以定义在单列上,也可以在多列上。
主键约束强制实施实体完整性约束。
17.主键约束具有的特点:①每个表中最多只能定义一个主键约束。
②主键约束所在列不允许输入重复值。
如果主键约束由两个或两个以上的列组成,则该组合的取值不允许重复。
③主键约束所在列不允许取空值。
④主键约束在指定的列上创建了一个唯一性索引,该索引可以是聚集索引,也可以是非聚集索引。
默认情况下是聚集索引18.主键约束和唯一性约束的相同点:①关键字值不允许重复;②通过唯一性索引来保证实体完整性。
19.主键约束和唯一性约束的不同点:①关键列是否允许取空值,主键(×),唯一(√);②一表只允许建一个主键约束,而唯一性约束可以多个。
20.备份:数据库管理员定期地将整个数据库复制到磁盘或磁带上并保存起来的过程。
21.备份的类型:完整数据库备份、差异数据库备份、事务日志备份、文件和文件组备份。
22.还原(恢复):将数据库备份进行装载,并应用事务日志重建数据库的一种操作。
23.备份是恢复的基础,恢复是备份的目的。
24.一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过当某件事发生时自动被触发执行的。
25.触发器是一种特殊类型的存储过程。
26.触发器可以用于SQL Server 约束。
默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。
填空题:(1)实体之间的联系类型有一对一、一对多、多对多联系。
(2)在关系模型中,关系的一个属性对应表中的一个列,也称为一个字段。
(3)在SQL Server中使用的SQL语言叫做Transact-SQL。
(4)在SQL Server 2005系统中,系统数据库master用来保护系统级信息。
(5)SQL Server 2005系统管理两种类型文件,分别是数据文件和日志文件。
(6)如果数据库的名字是MyDB,那么默认情况下主数据文件和日志文件的逻辑文件名分别是MyDB和MyDB_log。
(7)在SELECT语句的6个基本子句中,最先被执行的是FROM子句,最后被执行的是ORDER BY子句。
(8)将条件表达式x BETWEEN 20 AND 40改写为逻辑表示式的形式应该是x>=20 AND x<=40。
(9)在对数据行分组以后,可以使用子句HA VING对组进行筛选。
(10)假设表A中包含6行3列数据,表B中10行5列数据,那么表A和B做笛卡儿积连接后产生的结果中包含60行数据。
(11)如果要防止用户通过视图有意无意地对不属于视图范围内的基本表数据进行操作,则在视图定义时要加上WITH CHECK OPTION选项。
(12)如果要防止用户删除定义视图时该视图所引用的基本表、其他视图或函数等数据库对象,则应用使用WITHSCHEMABINDING选项。
(13)定义视图时,如果希望加密定义视图的文本,则应该使用WITH ENCRYPTIO选项。
(14)删除视图的命令是DROP VIEW。
(15)按约束的应用范围不同,约束可分为列级约束和表级约束。
(16)主键约束可以实现实体完整性。
(17)按激活事件类型的不同,可以把SQL Server 2005系统提供的触发器分为两大类,即:DML触发器、DDL触发器选择题:1. 在关系模型中,与元组相对应的概念是哪一个。
A. 记录B.域C.关键字D.列2. 在关系模型中,能够起到联系多个表的作用的是哪一项。
A. 属性B.行C.主关键字D. 外关键字3. 对关系数据库中的关系的最低要求是满足哪个范式。
A. 1NFB.2NFC.3NFD.没有要求4. SQL Server 2005中的货币数据类型money默认保留的小数位数是几位。
A. 2B. 4C.6D. 85. 如果将某个列定义成标识列,这列的数据类型不能是以下哪一种。
A. intB.tinyintC.decimalD. float6. 创建表的时候,如果没有指定文件组中,则表自动保存在哪个文件组中。
A. 主文件组B用户自定义的文件组 C. 默认文件组 D.由系统随机指定7. 下列哪种数据类型既可以存储高达2G字节的文本数据,而且还能够使用标准的函数和运算符操纵它。
A. text Bvarbinary(max) C. varchar(max) D.varchar8. 下面哪个语句是用来创建视图的语句。
A. CREATE VIEWB.CREATE TABLEC.ALTER VIEWD.ALTER TABLE9. 下列说法中正确的是哪一项。
A. 使用视图可以简化用户的数据库操作。
B. 删除视图将同时删除视图中的数据。
C. 删除视图时同时删除了基本表。
D. 视图和表一样是由数据构成的。
10.下列说法中正确的是哪一项。
A. 只能通过试图查询数据,不能通过视图修改数据。
B. 可以创建基于多个基本表的视图。
C. 如果要修改一个视图的定义,则必须先删除视图然后再重建一个同名视图。
D. 由于视图具有很多明显的优势,所以数据库管理员可以创建尽可能多的视图。
11. 下列描述正确的是哪一个。
A. 一个表中最多只能有一个主键约束,一个外键约束B. 一个表中最多只能有一个主键约束,多个外键约束C. 一个表中最多只能有多个主键约束,多个外键约束D. 一个表中最多只能有多个主键约束,一个外键约束12. 下列描述不正确的是哪一个。
A. 一个表允许在多个列的组合上创建一个主键约束B. 定义主键约束的列不允许空值C. 主键能够唯一地标识表中的每一个记录D. 一个表只允许在一个列上创建主键约束13. 下列不能实现域完整性的是哪一个。
A. 唯一性约束B. 检查约束C. 规则对象D. 默认值约束14. 下列哪个语句是在表T1的C1列上定义了一个主键约束PK_T1_C1。
A. CREATE PRIMARY KEY T1 (C1)B. CREATE CONSTRAINT PK_T1_C1 PRIMARY T1 (C1)C. ALTER TABLE T1 ADD CONSTRAINT PK_T1_C1 PRIMARY KEY (C1)D. ALTER TABLE T1 ADD PRIMARY KEY (C1)判断题:(1) 在关系数据库中,并不是规范化程度越高的关系模式就越好。
√(2) 目前的数据管理领域中,已经完全使用数据库系统,不需要使用文件系统。
×(3) 在实体联系模型中,可以使用椭圆形表示实体的属性。
√(4) 系统数据库tempdb中存储的是临时信息,当数据库连接断开以后,这些临时信息将丢失。
√(5) 一个SQL Server 2005数据库中至少包含一个主数据文件、一个次数据文件和一个日志文件。
×(6) 在同一时刻只能有一个文件组是默认文件组。
√(7) 将主文件组配置成默认文件组是最优配置,这样数据库对象就可以自动保存在主文件组中。
×(8) 如果使用DISTINCT,那么SELECT子句中只能包含一个列表达式。
×(9) 在指定排序所依据的列时,该列可以是没有出现在SELECT子句中的列。
√(10) 如果按照多个列排序查询结果,那么应该在SELECT语句中写多个ORDER BY子句。
×(11) 在Transact-SQL中,子查询只能放在WHERE子句中。
×(12) 对一个已经存在的表,不能够再增加约束了。
×(13) 一个表中最多只能有一个唯一性约束。
×(14) 唯一性约束和主键约束的区别在于,定义唯一性约束的列允许空值,但定义主键约束的列不允许空值。
√(15) 一个列只能应用一个规则,但可以应用多个检查约束。
√(16) 如果针对一个激活事件定义了多个触发器,可以为这些触发器指定执行先后顺序×(17) inserted和deleted表中的数据只能读,不能写入√(18) 可以以CLR的方式编写SQL Server 2005的触发器。
√(19) 可以定义AFTER和INSTEAD OF类型的DDL触发器。
×。