资源描述
目 录
一、Oracle课堂笔记……………………………………………………………..3
第一章:Oracle 9i数据库概述………………………………………………3
第二章:Oracle 9i数据库的安装与卸载…………………………………..3
第三章:Oracle 9i数据库的启动与关闭…………………………………..3
第四章:创建数据库…………………………………………………………..4
第五章:配置访问数据库……………………………………………………..5
第六章:管理数据库表………………………………………………………..6
第7章 Oracle数据库的导入导出……………………………………………6
第8章 PL/SQL语言……………………………………………………………8
实例一………………………………………………………………………….9
实例二………………………………………………………………………….9
二、SQL Server2000课堂笔记…………………………………………………..10
第一章:关系数据库基础……………………………………………………10
第二章:SQL Server 2000 基础……………………………………………..11
第三章:数据库的创建与管理……………………………………………….11
第四章:T-SQL 语言基础…………………………………………………….11
第五章:基本表的创建与管理……………………………………………….13
第七章:实现数据完整性…………………………………………………….13
三、SQL Server2000习题库…………………………………………………….15
第一章:书本例题(第六章)……………………………………………….15
第二章:课后习题…………………………………………………………….21
第三章:课间练习…………………………………………………………….32
第四章:单科考试题………………………………………………………….33
四、数据采集转换…………………………………………………………………41
第一章:课堂笔记…………………………………………………………….41
1、用excel自身的功能导入SQL Server数据………………………..41
2、将SQL Server里的表导入AO系统………………………………….41
3、把设有密码的access的密码取消的方法…………………………..41
4、金蝶.ais文件变成.mdb文件的处理………………………………..41
5、SQL Server数据采集方法……………………………………………42
6、业务数据的采集与分析……………………………………………….43
Ⅰ业务数据一(旌县医院)…………………………………………….43
Ⅱ业务数据二(空调费)……………………………………………….45
第二章:十一套数据………………………………………………………….46
0标准数据(2003年)…………………………………………………..47
1真实数据(2004年)…………………………………………………..47
2通用数据(2007年)………………………………………………….. 49
3新中大(2007年)………………………………………………………50
4 某软件数据(2007年)…………………………………………………51
5 浪潮(2007年)………………………………………………………..52
6 县区财政(2005年)…………………………………………………..55
7金碟(2003年)…………………………………………………………55
8 速达(2006年)游标..………………………………………………..57
9 博科(2001年)…………………………………………………………60
10 公积金(2007年)…………………………………………………….61
五、金审工程课堂笔记……………………………………………………………63
六、AO认证考试………………………………………………………………….63
试题……………………………………………………………………………63
另………………………………………………………………………………71
七、Sybase11.9……………………………………………………………………72
八、二期结业试题及答案………………………………………………………..74
一、Oracle课堂笔记
第一章:Oracle 9i数据库概述
1、Oracle 9i数据库中Oracle的中文意思是“甲骨文” ;i是interent的意思。
2、Oracle 10g数据库中g是“网格计算”的意思。
3、Oracle 11i数据库是Oracle 的ERP产品
4、Toad用于管理Oracle、SQL Server、Mysql、IBM的DB2四种数据库
用的最多的 免费 走高端路线
5、Oracle用的语言是PL/SQL
SQL Server用的语言是T-SQL,最新的标准是2003版本
6、Oracle有网络配置工具、网络配置助手、网络管理器
7、Net configuation assistant(网络配置助手) 缩写:OCNA→创建数据库
Net Manager(网络管理器) 缩写:ONM
第二章:Oracle 9i数据库的安装与卸载
1、数据库软件及数据库文件安装在不同的磁盘上,是分开的
光盘的镜像文件(.ISO)
2、安装时要把网线、杀毒软件、防火墙给关闭,但要确保光盘上没有病毒
3、验证Oracle服务器安装:Oracle Enterprise 、Manager console 企业管理器。打开后,数据库连接信息,“连接身份”选择sysdba
4、安装和卸载都是通过orcale installation products→universal installer
5、卸载:看服务器有没有启动和Oracle相关的服务;用通用安装工具卸载;
把安装后的文件夹删除、但在重启后才能真正删除掉。
第三章:Oracle 9i数据库的启动与关闭
1、关闭:打开数据库→例程→配置→一般信息中的“关闭”→正常(一般选)
2、启动:打开数据库→例程→配置→一般信息中的“启动”(有几种状态:已打开、连接、装载)
3、运用SQL PLUS 工具来访问网络数据库:
Oracle → orahome92 → APPlicalion development → SQLPlus(找到SQL PLUS 工具)
用户名称:system 口令:(建该数据库时设的密码)auditdb
主机字符串:auditdb(即打开的数据库名) as sysdba
回车后,进入Oracle SQL*Plus输入命令的界面:
Select * from V$version; 查询版本号
Select sysdate from sys.dual; 查看日期
输入shutdown命令 回车 是关闭数据库
输入Startup 命令 回车 是启动数据库
注:正常关闭时要把SQL PLUS 退出(在企业管理器状态下)
若不能打开数据库,使用startup forc e 命令,强制启动
4、通过浏览器访问网络数据库:
进入浏览器,输入:127.0.0.1/isglplus 网络访问数据库
用户名:建库时的用户名system
口 令:建库时的密码
连接标识符:数据库名
若连接网页失败进入计算机管理中服务器的Oracle orahome92 http server
点右键重启,Oracle server auditdb 点右键重启
输入SQL 语句
执行 select * from scott . dept
数据库 隶属 表名
第四章:创建数据库
1、创建数据库:
开始→orahome92→configuation and migration tools→database configuation assistant(数据库配置助手)→进入建数据库界面
注:⑴建完后验证一下
⑵默认的模板是general purpose
⑶多个数据库各自独立
(删除数据库也要从此中删除,但在数据库树中也要点一下删除数据库)
2、创建数据库以后验证(用数据库配置助手创建)auditdb2的四个方面:
⑴数据库的存放文件夹是:oracle→oradate 里是否有新建的数据库auditdb2
⑵计算机管理中的服务器里是否有Oracle service auditdb2
⑶Oracle企业管理器数据库中是否有auditdb2
⑷任务管理器中的Oracle.exe是否比原来的多了一个
3、添加数据库的方法:
进入企业管理器→导航器→将数据库添加到树→“从本地的……添加已选数据库”→选中audit1(★)
第五章:配置访问数据库
1、创建服务器名:
configuation and migration tools→Net Manager(网络管理器工具)→本地→服务器名→编辑→创建→audit1→TCP/IP协议→主机名127.0.0.1(或输入别人的子网IP地址→服务器名(创建的数据库名)auditdb→完成,创建了一个audit1服务器 →点击文件→保存网络配置
注:先建立数据库,再net manager创建一个数据库服务器名
2、查看本机监听器开启状态:
管理→服务→Oracle orahome92 TNSListener(监听器)
一个服务器可以有多个监听器,等待客户端的监听
3、查看当前监听器:
Net Manager→本地→监听程序→Listener→监听位置→数据库服务,出现数据的目录、名称等
4、新建监听器:创建→添加地址→添加数据库→listener1→保存网络配置
5、验证监听器是否启动:
⑴进行运行→cmd→输入lsnrctl 回车→help 回车→start listener1 即可看到这个监听器的信息(若已经启动显示already running,协议适配器错误)
⑵进入电脑→管理→服务,也可以看到listener1已启动
6、建立一个服务器,配置一个网络服务器名:
Oracle Net Manager→服务器→创建→audit2→TCP/IP→127.0.0.1(或其他地址)→输入一个端口号→输入要服务的数据库→测试完成→保存→进入企业管理器验证(同★)
第六章:管理数据库表
1、表空间:是系统建好的不要动,相当于SQL Server中的文件组
2、在数据库中创建用户(两种方法):
⑴打开企业管理器→打开一个数据库→安全性→用户→选中一个用户右键→类似创建→输入名称auditer→口令(把对象里的已授予权限全部取消)点击创建即可
⑵右键点击用户→创建→输入名称及口令→角色,找到DBA双击→系统,找到SYSDBA双击→创建即可
3、创建表:
⑴打开企业管理器→打开一个数据库→方案→表→选中一个表右键→创建或类似创建→输入名称,根据需要更改列的名称、数据类型等→点击创建即可
①先建表空间TS_AUDIT方法:企业管理器中点相应数据库→存储→表空间,右击创建
②创建用户auditer2方法:企业管理器中点相应数据库→安全性→用户,右击创建(“一般信息”中填用户名、密码并将默认表空间改为TS_AUDIT;“角色”中添加DBA;“系统”中添加SYSDBA)
③创建表方法:企业管理器中点相应数据库→方案→选择对象(如AUDITER2),在“表”上右击创建表“会计科目表”,在创建窗口中输入字段等。
右击创建好的表“会计科目表”,选择“查看、编辑目录”来输入数据。⑵通过SQL*Plus Worksheet来创建表:
进入Oracle-orahome92→application development→sqlplus worsheet→用户名(建立的用户名)→口令(刚才建用户的密码)→服务(刚建用户的网络服务器名,即该用户所在的数据库名)→连接身份(Normal)→点击确定进入
Show user 查看当前用户
Create table t1(c1 number) 创建表1,按F5执行
Insert into t1 values(100) 将三张表的数据库复制到当前
Select * from t1 查询t1表
Commit →提交 输入此命令,才会把刚才的查询命令反馈到企业管理器中去
执行完以后在auditdb→方案→system→创建的t1,点右键→查看/编辑目录
注:创建表失败时也要删除序列号,“数据库”→“方案”点开用户→“序列”
第7章 Oracle数据库的导入导出
1、从Oracle中将数据导入SQL Server中的方法:
开始→程序→SQL Server→导入导出数据→数据源的类型选择microsoft OLE DB Provider for Oracle,在“属性”中填写相应的数据库名、用户名,测试连接成功后下一步→数据库中选择“新建”(SQL中无该数据库)→下一步→选择要导入SQL中的表,下一步,完成。
2、从中将SQL Server数据导入Oracle中的方法:
开始→程序→SQL Server→“导入\导出数据”→数据源的类型选择“用于SQL Server 的Microsoft OLE DB提供程序”(不用改),数据库中选择“新建”(SQL中无该数据库)→目录类型选择Microsoft OLE DB Provider for Oracle,在“属性”中填写相应的数据库名、用户名,测试连接成功后下一步→下一步→选择要导入Oracle中的表,下一步,完成。
注:导入Oracle之前,必须先在Oracle中建立用户!
3、数据库的导入导出:
实验准备:建立表空间TS_Audit
建立用户Auditer1、Auditer2
建立属于用户Auditer1的三张表:会计科目表、科目余额表、凭证库表,并插入数据。
(1)导出Auditer1的会计科目表到文件auditer1-kjkmb.dmp中:
运行cmd→exp auditer1/auditer1@auditDB tables=(会计科目表) file=auditer1-kjkmb.dmp→回车
用户名 密码 服务器名 已将Auditer1的会计科目表导出到文件
=>相当于把表和数据库备份(exp)
注:若想重新执行命令,用方向箭头的向上箭头就出现了刚才出现的命令。
导出的文件位置在:---file=f:\auditer1-kjkmb.dmp (在f盘下)
(2)导入Auditer1-kjkmb.dmp将Auditer1-kjkmb.dmp这个表导入Auditer1的表中:运行cmd→imp auditer1/auditer1@auditDB tables=(会计科目表)file=auditer1-kjkmb.dmp→回车 (将Auditer1-kjkmb.dmp成功导入)
=>相当于把表和数据库恢复(imp)
注:实验中,再次导入auditer1时需先将原来的会计科目表删除。
(3)导出用户的数据库对象(将auditer1的三张表导出放在auditer1.dmp文件中):运行cmd→exp auditer1/auditer1 @ auditDB file=f:\auditer1.dmp→回车
(4)导入用户的数据库对象(将auditer1.dmp文件导入到auditer1用户的数据库中):运行cmd→imp auditer1/auditer1@auditDB file=f:\auditer1.dmp full=y→回车 (将Auditer1.dmp成功导入)
注:实验中,再次导入auditer1时需先将原来的会计科目表删除。
(5)导入不同账户:
从auditer1的数据库对象导到auditer2的数据库对象中:
运行cmd→imp auditer1/auditer1@auditDB file=f:\auditer1.dmp fromuser = auditer1 touser=auditer2→回车
注:auditer2中已有三张表,用imp auditer2也行(有足够的权限)
(6)数据库转换:
①从SQL Server向Oracle迁移(方法为本章2)
②从Oracle向SQL Server转换(方法为本章1)
③从SQL Server向Access迁移
(方法同本章2,先新建数据库文件,数据源类型选Microsoft Access)
④从SQL Server向Excel迁移
(方法同本章2,先新建数据库文件,数据源类型选Microsoft Excel97-2000)
⑤转换海量数据:(在SQL*plus worksheet里输命令)
insert into表名 select * from表名;
commit;
select count(*) from表名;
注:多次执行上述语句形成海量数据,在SQL Server里执行导入数据;
命令中的“;”是在半角状态下的,即英文状态下的。
第8章 PL/SQL语言
1、desc 会计科目表 → 显示表定义,表的字段名
2、delete from 会计科目表 → 删除表中的数据,但日志文件仍然在
3、truncate table 科目余额表 → 删除科目余额表中的数据,无日志文件
4、SQLServer2K与 Oracle9i比较:
(1)数据库的逻辑存储结构:sql是文件组,oracle是表空间
(2)数据类型:oracle中的数字类型只有number,sql中有int、tinyint等;字符型中sql的varchar在oracle中是varchar2;日期时间型oracle只有date,sql为datetime、smalldatetime。
(3)数据库语言:sql是Transact-SQL,oracle是PL/SQL
(4)Web访问:SQL Server不支持;Oracle支持Web管理,即是通过浏览器管理服务器和执行SQL语句
(5)显示部分查询结果(题目:显示前3条的记录):
①SQL语句:
select top 3 科目编码,科目名称,科目类型,编码级次 from 会计科目表
--返回前3条记录
②Oracle的语句:
select 科目编码,科目名称,科目类型,编码级次 from 会计科目表
where rownum<=3;
(6)数据库:Sql数据库对应至少一个数据文件和日志文件,所有数据库共享相同的安全机制;Orcale数据库就是服务,对应多个实例,独立的安全机制。
(7)管理员:sql是sa,oracle是system
注:客户端的配置和数据的转换是我们平时工作的重点★
实例一:
1)建立三张表(会计科目表、科目余额表、凭证库表)
方法1(利用OEM图形化操作):在“方案”中创建“表”。
方法2(利用查询分析编程):在查询分析中使用create table命令创建
2)插入三个表数据:
方法1(利用OEM图形化操作):选中表名,选“编辑/查看目录”添加
方法2(利用查询分析编程):在查询分析中使用insert into语句。
实例二:
社保养老保险oracle数据导入导出方法:
1)导入:
(1)安装ORACLE9I
(2)利用Database Configuration Assistant建立“stsi”数据库(也可删除数据库) (3)在Enterprise Manager Console建立表空间“stsi”
(4)建立用户“stsi”,选择表空间为stsi,并授权为dba
(5)在DOS方面下输入命令imp stsi/stsi@stsi file=d:\expdat.dmp full=y(说明:第一个stsi为用户名,第二个stsi为密码,第三个stsi为数据库,expdat.dmp从被审计单位采集的数据文件)
(6)进入“方案”中的stsi,就可以看到还原的各个表
2)导出:新建MDB空数据库,选“导入”,文件类型选“odbc数据源”,选“机器数据源”,选“新建”,建立一个数据源(驱动程序选Oracle in OraHome92)。数据源建立过程中要输入用户名stsi,密码stsi,TNS server Name选stsi,并测试连接成功就可以导入到Access中。
二、SQL Server2000课堂笔记
SQLServer2000安装时,提示文件挂起!如何再安装?
1、卸载原来的SQL Server 2000
2、删除C:\Program Files\Microsoft SQL Server下的“80”文件夹
如果这样安装时还是提示挂起,则
3、删除注册表里的HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Control \Session Manager \Pending File Rename Operations
第一章:关系数据库基础
1、数据库管理系统的优点:将相互关联的数据集成在一起、较少的数据冗余、程序与数据相互独、保证数据的安全可靠、最大限度地保证数据的正确性、数据可以共享并能保证数据的一致性。
2、数据库系统的组成:数据库、数据库管理系统、应用程序、系统管理员。数据库强调的是数据,数据库管理系统是系统软件,而数据库系统强调的是整个应用系统。
3、数据库管理系统的功能:数据定义功能、数据查询功能、数据控制功能、数据管理功能、数据管理功能、数据通信功能,还有性能优化、并发控制等。
4、数据模型三要素:数据结构,数据操作,数据完整性约束。
5、关系模型中的基本术语:
①关系(表):关系就是二维表,每一列不可再分,属性不能重名,可交换列的前后顺序 。
②元组(行,记录):表中每行数据称作是一个元组。元组中每一个属性值称为元组的一个分量,表中每行实际上就是某一具体属性的反映。
③属性(列,字段):表中每列是一个属性值集,列可以命名,称属性名。
④主键(PK,关键字,码):用于惟一的确定表中的一个元组。
⑤外键(FK,外码):当一个表的主键在另一个表中作为一个属性存在时,它就在另外一个表中被称作是外键,外键是可以重复的。
⑥域(值域):属性的取值范围就称为域。
6、关系模型的数据操作主要包括:查询,插入,删除,修改。
7、关系模型的数据完整性约束主要包括三大类:
①实体完整性:保证关系中的每一元组都可惟一识别,即为主码。
②参照完整性:一般借助外码来实现。
③用户定义的完整性:防止属性的值与应用语义矛盾,即域完整性。
8、关系规范化:
①第一范式:规定表中每列的值都是不可分的简单数据项。
②第二范式:满足一后,表中每个非主键列都必须完全依赖于主键。
③第三范式:满足一、二后,表中每个非主键列对主键都不存在传递依赖,而应为直接依赖。
第二章:SQL Server 2000 基础
1、SQL Server 2000提供四种基本的服务类型:SQL server(最核心的服务)SQL server Agent(代理服务)DTC(分布式事务协调器)Microsoft Search(全文检索服务)
2、在客户机/服务器通信架构中,客户端主要包括三个组件:客户端应用程序、数据库API、客户端网库。
3、应用程序开发架构:接口类型:ODBC、OLE DB、ADO
4、SQL server2000提供了两种身份验证模式:Windows身份验证模式 混合模式。
第三章:数据库的创建与管理
1、数据库文件:主数据库文件mdf 辅助数据库文件ndf 事务日志文件ldf大小至少是512KB
2、创建数据库:Create database students on (name=students_dat,filename =’d:\students.mdf’,size=2mb,filegrowth=1mb) log on (name=students_log, filename=’d:\students.ldf’,size=2mb,filegrowth=10%)
第四章:T-SQL 语言基础
1、SQL语言功能概述:数据查询(select)、数据定义(create\drop\alter)、数据操纵(insert\update\delete)、数据控制(grant\revoke\deny)
2、SQL数据类型:
数值型:bigint\int\smallint\tinyint\bit\numeric或decimal\float\real
字符串型:char(n)\varchar(n)\text(普通编码)
nchar(n)\nvarchar(n)\ntext(统一编码)
binary\varbinary\image(二进制编码)
日期时间类型:datetime\smalldatetime
货币类型:money\smallmoney
3、系统数据库:master、msdb、model、tempdb;用户示例数据库:pubs、northwind。
4、系统数据库的作用:master是SQLserver的最主要的数据库,用于记录所有系统信息。msdb是代理服务调度报警和作业以及记录操作员时使用,保存关于调度报警、作业、操作员等信息。Model是样板数据库,其中包含所有用户数据库的共享信息。Tempdb是临时数据库,用于存储用户创建的临时表、用户声明的变量以及用户定义的游标数据等。
5、sqlserver的数据库由两种文件组成:数据文件(主数据文件和辅助数据文件)和日志文件(最小为512KB,但最好不要小于1MB)。
6、sql支持4种数据类型:字符、数值、日期、货币型。
7、Tinyint数据类型定义的数据的取值范围:1个字节、0-255。
8、日期时间数据类型中的日期和时间的输入格式是:英文数字格式、数字加分隔符和纯数字格式。
9、smalldatetime类型精确到分钟时间单位。定点小数类型numeric中的p和q的含义分别是长度和小数位。货币数据类型精确到小数点19位。语句批的结束标记是go。Sql语句脚本文件的扩展名是sql。Sql支持的变量有全局和局部变量。
10、数据库系统的组成:数据库(DB)、数据库管理系统(DBMS)、应用系统(Application)、数据管理员(DBA)和用户(USER)
数据库是以一定的数据结构形式存储在一起的相互有关的具有冗余数据少、共享性、独立性、完整性等特点的数据集合
11、联系有三种类型:一对一,一对多,多对多
12、SQL Server 2000的新特性:
①多个SQL Server实例:SQL Server 2000支持在同一台计算机上运行多个关系数据库引擎的实例;②引入了三种新的数据类型;③支持XML(Extensive Markup Language,扩展标记语言);④支持用户自定义函数;⑤支持强大的基于Web的分析;⑥支持OLE DB和多种查询;⑦支持分布式的分区视图。
13、利用统一的数据库API(数据库接口)开发应用程序,分为两层:
应用程序接口:ADO,RDO 数据对象接口:OLE DB,ODBC。
14、数据库名:新数据库的名称。数据库名称在服务器中必须惟一,并且符合标识符的规则。数据库名最多可以包含 128 个字符。
model数据库中任何对象均复制到所有新创建的数据库中。因此可以通过向model 数据库中添加对象来将这些对象添加到所有数据库中。
一台服务器上最多可以指定32767个数据库。
每个数据库至少有两个文件,一个主要数据文件和一个事务日志文件。
尽管物理文件名可以是任何有效的操作系统文件名,但如果使用以下建议的扩展名,则可以更加清楚地反映文件的用途。主要数据文件用 .mdf;次要数据文件用 .ndf;事务日志文件用 .ldf。
创建用户数据库后,应备份master数据库。
第五章:基本表的创建与管理
1、注意:当数据库处于以下三种情况之一时,不能被删除。
当数据库正在被恢复(Restore)时;
当数据库正在参与复制时。
2、sp_helpdb可以查看数据库列表。
3、TINYINT: 1 个字节,SMALLINT: 2个字节,
INT(INTEGER): 4个字节, BIGINT: 8个字节。
REAL:4个字节,FLOAT:8 个字节(可精确到第15 位小数,当整数位数达到17位时,系统自动以指数形式表示)。
DECIMAL: 不包括小数点,MONEY:使用8个字节存储,SMALLMONEY:4 个字节 。
4、SMALLDATETIME:
(1) 日期范围:从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟;
(2) 存储大小:使用4 个字节存储数据。
(3) 日期输入格式:允许用斜杠(/)、连接符(-)和小数点(.)作为用数字表示的年、月、日之间的分隔符。
5、Char(n)与VARCHAR(n):每个汉字占两个字节,英文字符、数字、符号占一个字节。Nchar(n): 字符串中每个字符、符号和汉字均占两个字节的存储空间。
6、一个表只能有一个聚集索引。聚集索引改变表中数据的物理顺序 。理论上讲,一个表最多可以建249 个非聚集索引。非聚集索引不改变表中数据的物理顺序 。
第七章:实现数据完整性
1、数据完整性分为四种类型:
实体完整性是指表中的每一行必须是惟一的。实体完整性强制表中的所有记录都有一个惟一的标识列,这个惟一标识列可能是一列,也可能有若干列的组合。强制实体完整性的方法有:UNIQUE约束、PRIMARY KEY约束或IDENTITY属性。域完整性是指给定列的输入有效性。
强制域有效性的方法有:通过限制数据类型(包括自定义数据类型)、格式(CHECK约束和规则)或可能的取值范围(FOREIGN KEY约束、CHECK约束、DEFAULT定义、NOT NULL定义和规则)来实现。
参照完整性确保数据库中数据的一致性。在SQL Server中,参照完整性基于外键(引用表)与主键(被引用表)之间或外键与惟一键之间的关系(通过FOREIGN KEY和 CHECK约束)。通过外键将引用表和被引用表关联起来。参照完整性通过已定义的表间关系,确保键值在所有表中都必须一致,因此不能引用不存在的值(即指向不存在的行)。如果在被引用的表中,某一记录被外键引用,则该记录就不能删除;若需要更改键值,那么在整个数据库中,对该键值的所有引用都要进行一致的更改,以保证数据的参照完整性。
用户可以根据需要,可以在SQL Server中定义不属于上述标准类别的特定规则的用户完整性定义。所有的完整性类型都支持用户自定义完整性(CREATE TABLE中的所有列级和表级约束、存储过程和触发器)。
CLUSTERED:表示聚簇索引。
2、唯一约束和主键约束的区别:
唯一约束与主键约束都为指定的列建立唯一索引,即不允许唯一索引的列上有相同的值。主键约束限制更严格,不但不允许有重复值,而且也不允许有空值。
唯一约束与主键约束产生的索引可以是聚簇索引也可以是非聚簇索引,但在缺省情况下唯一约束产生非聚簇索引,主键约束产生聚簇索引。
外键约束用于强制参照完整性,提供单个字段或者多个字段的参照完整性。
3、当使用外键约束时,应该考虑以下几个因素:
①被引用列必须是创建了主键约束的列 。
②外键从句中的字段数目和每个字段指定的数据类型必须和REFERENCES从句中的字段相匹配。
③外键约束不能自动创建索引,需要用户手动创建。
④用户想要修改外键约束的数据,必须有对外键约束所参考表的SELECT权限或者REFERENCES权限。
⑤参考同一表中的字段时,必须只使用REFERENCES子句,不能使用外键子句。
⑥一个表中最多可以有31个外键约束。
⑦在临时表中,不能使用外键约束。
⑧主键和外键的数据类型必须严格匹配。
4、能够禁用的约束只有CHECK和FOREIGN KEY。
5、WITH CHECK OPTION:强制所有通过视图修改的数据满足select_statement语句中指定的条件。
6、SQL Server 2000对所要备份内容的选项设置,提供了四种不同的方式:
(1)完全数据库备份
(2)差异备份或称增量备份
(3)事务日志备份
(4)数据库文件和文件组备份
7、用户按其操作权限的大小可分为
数据库系统管理员
数据库对象拥有者
普通用户
8、建立在认证和访问许可机制上的:身份验证、访问权验证、操作权验证
9、SQL Server登录账户的来源:Windows授权用户(来自于Windows的用户或组);
SQL授权用户(来自于非Windows的用户,即:SQL用户)
10、用户在连接SQL Server 时必须提供登录名和登录密码,这些登录信息存储在系统表syslogins 中,与NT 的登录账号无关 。
三、SQL Server2000习题库
第一章:书本例题(第六章)
1、查询全体学生的学号与姓名
select sno,sname from student
2、查询全体学生的姓名、学号和所在系
select sname,sno,sdept from student
3、查询全体学生的详细记录
select * from student
4、查询全体学生的姓名及其出生年份和所在系,要求去掉所在系名左边的无用空格
select sname,2009-sage as 出生年份,ltrim(sdept) from student
6、在修课表中查询有哪些学生修了课程,要求列出学生的学号,去除重复的行
select distinct sno from sc
7、查询计算机全体学生的姓名
select sname from student where sdept='计算机系'
8、查询所有年龄在20岁以下的学生的姓名及年龄
select sname,sage from student where sage<20
9、查询考试成绩有不及格的学生的学号
select distinct sno from sc where grade<60
10、查询年龄在20-23岁之间的学生的姓名、所在系和年龄
select sname,sdept,sage from student where sage between 20 and 23
11、查询年龄不在20-23岁之间的学生姓名、所在系和年龄
select sname,sdept,sage from student where sage not between 20 and 23
12、在pubs数据库的titles表中查询1991年6月出版的图书的书号(title_id)、类型(type)、价格(price
展开阅读全文