Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性

Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性
Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性

https://www.360docs.net/doc/1d11523639.html,/developerworks/cn/data/tutorials/dm-ids-cert5552/i ndex.html

Informix Dynamic Server 11.50 基础考试555 认证准备,第 2 部分: 安全性

开始之前

关于本系列

您正在考虑参加 Informix Dynamic Server (IDS) 基础认证考试 555 吗?如果是的话,那么请阅读本文。这个免费的共包含 9 篇教程的教程系列讨论了 IDS 认证准备的所有基础方面——在参加认证考试之前,您必须理解这些主题。即使您还不打算马上参加认证考试,这个教程系列也是了解 IDS 11.50 的新特性的好材料。

这个认证将考察关于 IDS 11.50 管理的入门级知识,包括基础 SQL、如何安装IDS 11.50、如何创建数据库和数据库对象、安全性、事务隔离、备份和恢复流程,以及数据复制技术。

这些教程为考试的每部分打下了坚实的基础。不过,您不能仅使用这些教程作为唯一的考试准备材料。

回页首

关于本教程

通过本教程了解 IDS 11.50 的安全特性,包括 11.50 身份认证、授权和特权。

这个帮助您准备 IDS 11.50 基础考试 555 的教程系列共包含 9 篇教程,本教程是第 2 篇。本教程主要讨论测试的第 2 部分的目标。

回页首

先决条件

为了理解本文描述的概念,您应该了解数据库的基础概念和操作系统安全特性。

回页首

系统需求

本教程的例子基于运行在UNIX? 操作系统(具有本机安全特性)上的 IDS 11.50。不过,本教程提供的概念和信息与运行在任意分布式平台上的 IDS 相关。

数据库安全

在当今,数据库安全是极其重要的。您的数据库可能允许客户通过 Internet 购买产品,或者包含用于预测商业走势的历史数据;不管哪种情况,您的公司都需要一个健全的数据库安全计划。数据库安全计划应该确定:

?谁可以访问数据库服务器实例和数据库

?从哪里以什么方式验证用户密码

?用户的授权级别

?用户能够运行的命令

?用户能够读取或修改的数据

?用户能够创建、修改或删除的数据库对象

IDS 安全性机制

IDS 为实现数据库安全计划提供 3 个主要的机制:身份验证、授权和特权。

?身份验证:是指 IDS 验证用户的身份的过程。IDS 身份验证在验证用户ID 和密码时与底层操作系统的安全特性密切合作。IDS 还可以在验证用

户身份方面与安全协议合作,比如 PAM 和 Kerberos。

?授权:涉及到确定用户或组能够执行的操作,或能够访问的数据对象。用户执行高级数据库和实例管理操作的能力取决于授予他们的权限。

?特权:比授权的粒度更细,可以授予用户或组。特权帮助定义用户能够创建和删除的对象。特权还可以定义用户能够用于访问对象(比如表、视图、索引和包)的命令。IDS 支持基于标签的访问控制 (LBAC),它提供更细

粒度的控制,甚至可以控制谁有权限访问某个行或列。

IDS 还为更高级别的安全性提供加密。

IDS 中的身份验证机制

身份验证是确认用户或应用程序的身份的机制。数据库服务器仅允许身份得到确认的用户访问数据,如图 1所示。IDS 采用客户机-服务器架构,其中客户机可以是远程用户或本地用户。

图 1. 身份验证流程

本地连接是指客户机和位于相同机器上的服务器之间的连接。远程连接是指客户机和位于不同机器上的服务器之间的连接。IDS 支持传统的身份验证机制,即用户需要提供用户 ID 和密码才能连接到数据库。IDS 还支持其他身份验证机制,比如插入式验证模块(Pluggable Authentication Module,PAM)。

传统身份验证

IDS 服务器在连接方面遵循 UNIX 安全性需求。在传统的身份验证中,IDS 通过操作系统 API 验证用户的 UNIX 或Windows? 登录 ID 和密码。

回页首

插入式身份验证模块

插入式身份验证模块 (PAM) 是一个框架,它允许用户开发和实现定制的身份验证机制,同时不对应用程序进行任何修改。IDS 支持的模式包含密码模式和询问响应模式。在密码模式下,用户仅凭密码就能够通过身份验证。在询问响应模式下,服务器将提出一个问题,而客户机需要发送一个响应。仅当客户机发送正确的响应时,它才能够访问数据库。

回页首

配置 IDS 以使用 PAM

下面是将 IDS 配置为使用 PAM 模块的基础步骤(有些细节是特定于平台的,但是概念是通用的):

1.定义 PAM 模块:标识或创建需要使用的 PAM 模块。例如,您可以使用

pam_unix/pam_aix/pam_unix_auth,它进行传统的基于网络文件的身份验

证。这个共享对象通常位于独立于平台的路径(比如 Solaris 上的

/usr/lib/security/pam_unix.so)。如果您亲自创建模块,则要把它复

制到正确的位置。

2.配置 PAM 模块:在 $INFORMIXDIR/etc/sqlhosts 文件添加选项字段,表

明将使用 PAM 身份验证。清单 1 显示如何配置密码类型的模块:

清单 1. PAM 的 sqlhosts 条目

#Server-name service machinename portno Options

demo_on ontlitcp demohost 1111

s=4,pam_serv=(login),pamauth=(password)

Where login is name of the PAM module set the PAM configuration file sqlhosts entry for a challenge-type module

#Server-name service machinename portno Options

demo_on ontlitcp demohost 1111

s=4,pam_serv=(xxx),pamauth=(challenge)

Note: Here xxx is a challenge-oriented module which will have the required entry

in the PAM configuration file.

回页首

单点登录 (SSO)

单点登录是一个身份验证特性,只要用户登录客户机的操作系统之后就不再需要

提供用户名和密码。IDS 使用 Kerberos 5 安全协议实现了对单点登录(SSO)

的支持。

使用 SSO 时,DBMS 和其他支持 SSO 的服务在用户首次登录到客户机系统(或Windows 中的域)时进行身份验证。Kerberos 实现验证用户凭证。Kerberos 身

份验证生成一组用于储存登录凭证的密匙。当用户操作试图访问 Dynamic

Server 数据库时,票据授予票据(ticket-granting ticket,TKT)交换允许不

提示登录访问数据库。

SSO 还支持机密性和完整性服务,因此 SSO 环境不需要具有其他 Dynamic Server CSM。启用机密性之后,对于通过 SSO 验证的用户,向其传入或其输出的数据都经过加密,并且仅使用授权凭证登录的用户能够查看这些数据。完整性服务确保在用户和 DBMS 之间发送的数据没有在传输过程中被篡改。

将 IDS 配置为使用 SSO 需要大量特定于平台的设置。不过,对于基础考试,您仅需理解如何设置 sqlhosts 文件和 concsm.cfg 文件以使用 SSO。这在“Encryption Support in IDS”的 Generic Security Services Communications Support Module (GSSCSM) 主题下讨论。

IDS 中的访问控制

可以通过多种方法使用 SQL 语句保护对数据的访问。首先,本教程描述数据库服务器中用于控制访问 SQL 对象的各种访问控制机制。接着描述列级别的加密特性,该特性用于加密表中指定的列上的数据。

IDS 中包含的访问控制机制大体分为两类,即自主访问控制(DAC)和基于标签的访问控制(LBAC)。在数据库服务器中使用特权和角色来实施 DAC。LBAC 的实施是使用安全标签来实现的。

数据库管理员(DBA)在保护敏感数据免受非授权用户访问方面起到关键作用。SQL 提供在不同粒度级别上实现数据保护的方法。注意,DBA 与数据库系统管理员(DBSA)是不同的。DBSA 的角色是维护服务器,而 DBA 的角色是创建和维护数据库。

自主访问控制

自主访问控制(Discretionary access control,DAC)是主要的访问控制机制,它支持使用特权和角色访问 SQL 对象。在数据库服务器中,使用 DAC 保护的对象包括数据库、表、列、视图、类型、例程和语言。DAC 不能用于行级别的保护;因此,保护行要使用 LBAC。通过保护这些对象以及给授权用户授予访问这些对象的特权可以实现高效的访问控制。没有所需权限的用户不能执行访问这些对象的查询。

在典型的 IDS 安装中,有大量的用户访问系统、执行查询和修改数据。为所有用户创建必要的特权会使管理员角色的工作过于琐碎繁杂。另外,公司的策略可能为用户规定不同的特权,这取决于他们执行的工作。这让管理员的责任更加重大,因为必须根据最新的特权策略授予或撤销特权。服务器中的角色功能减轻了管理员的压力。基于角色的访问控制(RBAC)将特权合并到角色中然后再将角色分配给用户,从而扩展了基于特权的访问。

回页首

受保护的 SQL 对象

DBMS 中的以下对象需要用户具有特定的授权或特权才能访问:?数据库

?表

?表中的列

?片段

?视图

?用户定义类型 (UDT)

?例程

?语言

用户提交的大部分 SQL 查询都与一个或多个这些对象进行交互。在这些对象上为用户授予的特权确定用户能够执行所需的操作。图 2显示了在 SQL 查询执行路径上进行的特权检查。首先,检查数据库特权。然后检查与用户查询相关联的SQL 对象上的特权。用户特权基于显式地授予用户的特权、用户当前角色具有的特权和公共特权。

图 2. SQL 查询中的特权检查

表 1 总结了特定 SQL 对象可用的特权:

表 1. SQL 对象及其特权

SQL 对象特权

Database Connect, resource, DBA

Table Select, update, insert, delete, index, alter, references Column Select, update, references

Fragment Insert, update, delete

View Select, insert, delete, update

Sequence Select, alter

UDT Usage, under

Routine Execute

Language Usage

每个 SQL 对象都与某个特权相关联,并且每个特权都与一组功能相关联。当用户被授予某个特权时,他就有权限执行该 SQL 对象上的功能。IDS 提供 GRANT 和 REVOKE 语句来授予或删除特权。

GRANT 和 REVOKE 语句

SQL 提供 GRANT 和 REVOKE 语句来向用户授予特权或回收特权。清单 2显示了数据库对象上的 GRANT 和 REVOKE 语句的语法。这个例子中的特权表示CONNECT、RESOURCE 或 DBA 特权之一。“user-list”表示用户列表,包括PUBLIC。

清单 2. 语法:GRANT/REVOKE 语句

GRANT privilege TO user-list

REVOKE privilege FROM user-list

向一个用户或用户列表授予特权。PUBLIC 是用于表示数据库系统中的所有用户的关键字。当特权授予 PUBLIC 时,则表示系统的所有用户都拥有该特权。类似地,当从 PUBLIC 回收特权时,系统中的所有用户都被剥夺授予给 PUBLIC 的特权。不过,他们还拥有单独授予的特权,或通过角色授予的特权。授予用户的特权只有在回收该特权时才失效。仅特权授予者和 DBA 能够撤销特权。表 2 列出了可以授予用户的数据库特权:

表 2. 数据库特权

数据库特权说明

DBA 数据库创建者/所有者。能够授予数据库中的其他对象上的特权。Resource 能够连接到数据库并创建其他对象。

Connect 能够连接到数据库执行查询。

DBA 特权授予创建数据库的用户,但也可以在数据库创建之后授予其他用户。DBA 特权是 3 个数据库级别的特权中最高级的特权。(因此,本教程将具有 DBA 特

权的用户称为 DBA)。DBA 能够执行数据库中的所有操作。DBA 还能够将 DBA、RESOURCE 和 CONNECT 特权授予数据库的其他用户。因此,一个数据库可以有多个 DBA。通常情况下,数据库中的对象创建者就是该对象的所有者。DBA 还可以在数据库中创建由其他用户拥有的对象。DBA 能够执行的任务包括:

?向其他用户授予数据库级别的特权,或回收这些特权

?在数据库的其他对象上授予特权,比如表、视图、序列、UDT、例程和语言等

?在数据库中创建由其他用户拥有的表、视图和索引

?修改和删除数据库中的对象,而不管其所有者是谁

?运行 DROP DATABASE 语句

?执行 RESOURCE 有权限执行的所有操作

在数据库中,RESOURCE 特权仅低于 DBA 特权。DBA 向其他用户授予 RESOURCE 特权,让他们能够在数据库中创建其他 SQL 对象。RESOURCE 特权用户能够执行的任务包括:

?创建永久的表、索引和 SPL 例程

?需要使用磁盘空间的任务

?执行 CONNECT 特权用户有权限执行的所有操作

DBA 向用户授予 CONNECT 特权,让他们能够连接到数据库并执行查询。CONNECT 是数据库级别的最低级特权,因为拥有该特权的用户不能在数据库中创建其他对象。以下是 CONNECT 用户能够执行的任务:

?连接到数据库

?在拥有必要的表级别特权的数据库表上运行查询和 DML 语句

?执行 SPL 例程,前提是拥有必要的表级别特权

?创建视图,前提是有权限在视图所在的表上执行查询

?创建临时表和在临时表上创建索引

表 3. 表特权

表特权说明

Select 允许用户从表读取数据。他们能够在表上执行 SELECT 查询或创建视图。

Update 允许用户更新表中的数据。Insert 允许用户在表中插入行。Delete 允许用户从表中删除行。

Index 允许用户在表上创建索引。Alter 允许用户修改表。

References 允许用户在表上创建引用约束。Under 允许用户在表下创建子表。

列特权

授予表级别特权之后,就隐式地对表中的所有列授予了列特权。列级别特权帮助进一步将用户的操作限定到特定的列上。在列级别上可用的特权仅包括 SELECT、UPDATE 和 REFERENCES。

片段特权

您可以使用 GRANT FRAGMENT 语句在表的单个片段上授予 INSERT、UPDATE 和DELETE 特权。片段特权仅适用于用表达式创建的片段。授予表中的片段的片段级别特权在以下情况下不存在:

?如果表的片段策略从基于表达式更改为其他策略,比如循环

(round-robin)

?如果从表中删除某个片段,这将导致删除该片段上的特权

?如果片段基于的表达式被更改,那么片段特权就会被删除,用户只能采用默认的表特权

表 4 列出了可以授予用户的类型特权:

表 4. 类型特权

类型特权说明

Usage 授权使用已命名的数据类型。

Under 授权在类型层级中将已命名的数据类型用作超类型。

视图特权

在一个视图(VIEW)创建之后,IDS 将在给视图的创建者或所有者授予特权之前检查底层表的特权。如果用户在底层表上拥有 SELECT 特权,那么将创建视图,并向用户授予视图的 SELECT 特权。如果用户在底层表上不具有 SELECT 特权,那么将不创建视图。如果用户在底层表上还拥有 INSERT、UPDATE 和 DELETE 特权,那么将向用户授予视图的这些权限。您使用视图时,将对该视图使用特权,而不是底层表。视图的创建者通常将视图的特权授予其他用户。

序列特权

序列特权(SEQUENCE)类似于表级别的特权。不同之处是在序列上仅授予 SELECT 和 ALTER 特权。具有 SELECT 特权的用户能够在查询中使用序列。具有 ALTER 特权的用户能够使用 ALTER SEQUENCE 或 RENAME SEQUENCE 语句修改序列。序列仅能由具有 DBA 特权的用户创建。可以向用户或角色授予序列上的 ALTER 和SELECT 特权。

例程特权

创建例程所需的特权与使用例程所需的特权不同。创建例程或过程需要以下特权:

?数据库级别的 DB2 特权或 RESOURCE 特权

?语言级别特权,决定编写例程使用的语言

?EXTEND 角色特权,如果 IFX_EXTEND_ROLE 配置参数设置为 1 并且例程使用 Java?技术或 C UDR 的话

默认情况下,例程的创建者拥有执行该例程的特权。如果另一个用户需要执行这个例程,那么例程的创建者必须向该用户授予 EXECUTE 特权。

语言特权

在 IDS 中,用户定义例程(UDR)是用 SPL 或其他外部语言(比如 C 和 Java)编写的。要用特定语言创建例程,用户需要使用该语言的 USAGE 特权。默认情况下,SPL 的语言使用特权对用户 informix 和持有数据库 DBA 特权的用户可用。不过,informix 用户可以向其他用户授予该语言使用特权。具有 DBA 特权的用户不能向其他用户授予该特权。默认情况下,创建 SPL 例程的 USAGE 特权授予 PUBLIC。

角色

基于角色的访问控制(RBAC)将特权合并到角色中然后再将角色分配给用户,从而扩展了基于特权的访问。角色可以定义为工作任务的类别。例如,您可以在公司中定义经理角色。经理角色有一组职责,比如雇用职员、审查绩效、工薪谈判和批准奖金等等。一般情况下,经理都要在所有部门中完成这些职责。为了完成这些任务,经理需要某些特权,比如访问员工记录或其他仅经理可以访问的数据。当员工晋升为经理或招聘了新的经理时,他们将担任经理角色并获得与该角色相关的特权。IDS 在 DBMS 提供的角色与这里的角色属于同一概念。

预定义角色

从安全性角度看,为了最大限度地限制滥用数据库内容,在公司中有必要将管理职责分配给不同的职员。为了支持职责分离,IDS 具有以下预定义角色:

?数据库服务器管理员(DBSA)

o用户帐户,负责配置、调优、和维护基于本地 IDS 数据库服务器的服务器实例

o职责包括启动和关闭数据库服务器、磁盘空间管理、备份恢复、性能调优和故障诊断

?数据库系统安全维护员(DBSSO)

o为在本地数据库服务器实例上工作的特定用户定义审计掩码?审计分析员(AAO)

o负责审计配置和审计跟踪分析

?数据库管理员(DBA)

o在本地数据库服务器中维护特定的数据库

o自动地将权限授予数据库创建者或由数据库创建授予权限

o不一定要包含数据库服务器特权

?操作系统管理员(OSA)

o定义和维护本地用户帐户,包括 AAO、DBSA 和 DBSSO 组

o安装 IDS 产品;负责为角色分离更改所需的组权限

o维护内核参数设置和资源限制,比如文件和内存

?用户

o用于运行基于数据库的应用程序的本地或远程用户帐户?特权用户

o IDS 将 informix 和根用户定义为特权用户

您可以在数据库中根据自己的需求创建定制的角色。角色仅能由 DBA 特权用户创建。特权由 DBA 授予角色,而角色被分配给用户。用户可以根据需要执行的任务担任角色,并且在任务完成之后脱离角色。可以给一个用户授予多个角色,但一个用户一次仅能担任一个角色。因此,取决于需要执行的操作,用户将担任一个角色并获取该角色拥有的特权。

以下的小节描述创建角色、授予和设置角色、默认角色、撤销用户的角色、撤销角色的特权和删除角色等的语法和语义。

创建角色

角色仅适用于创建它的数据库中。清单 3提供了 CREATE ROLE 语句的语法,其中role_name是角色的名称:

清单 3. 语法:CREATE ROLE

CREATE ROLE role_name;

授予角色特权

为角色授予特权的语法与为用户授予特权的语法相同。在指定用户名的位置将用户名替换为角色名。仅 DBA 能够给角色授予特权。

清单 4. 语法:给角色授予特权

GRANT priv_list ON table To role_list;

授予/撤销用户的角色

给用户授予角色类似于给用户授予特权。主要区别是授予特权是在 SQL 对象上授予的,比如表、列、视图、例程、语言或片段,而授予角色时不与 SQL 对象相关联。角色存在数据库内部,用户担任拥有一组特权的角色。这些特权可以在任何 SQL 对象上,如前面小节所述。撤销角色的语句也与撤销特权的语句相似。

清单 5. 语法:授予/撤销用户角色

GRANT role_name TO user_list;

REVOKE role_name FROM user_list;

拥有 DBA 特权的用户将角色授予其他用户。CREATE ROLE 和 GRANT 角色语句不能激活角色。角色由 SET ROLE 语句激活。

默认角色

管理员可以定义一个默认的角色,并将其授予其他用户或在特定数据库中授予PUBLIC。默认的角色在用户建立与数据库的连接时会自动应用。清单 6提供GRANT DEFAULT ROLE 语句的语法。可以将默认角色授予一组用户。

清单 6. 语法:授予默认角色

GRANT DEFAULT ROLE role_name TO user_list;

担任角色

将非默认角色授予用户之后,用户必须使用 SET ROLE 语句启用该角色。在建立到数据库的连接时,用户就担任了默认的角色。如果没有给用户授予默认角色,那么建立连接之后用户在数据库中不担任任何角色。通过使用 SET ROLE 语句,用户可以更改当前角色或切换到新的角色。清单 7提供 SET ROLE 语句的语法。角色可以设置为 role_name。此外,还可以将角色设置为 NULL 值或 NONE,在这种情况下禁用了当前的角色。当将角色设置为 DEFAULT 时,将启用默认的角色。

清单 7. 语法:设置角色

SET ROLE role_name;

SET ROLE NULL;

SET ROLE NONE;

SET ROLE DEFAULT;

当用户担任一个新角色时,除了用户已有的特权和公共特权之外,他还将得到该角色的所有特权。如果将一个角色授予已经担任一个角色的用户,那么除了用户已有的特权和公共特权之外,该用户还将拥有这两个角色的所有特权。可以给同一用户授予多个角色,但用户最多只能担任一个非默认角色,这是 SET ROLE 语句指定的。如果 SET ROLE 语句重复了,那么新的角色将作为当前角色代替旧角色。

删除角色

仅有 DBA 或使用 WITH GRANT OPTION 向其授予角色的用户能够删除角色。一旦删除角色之后,任何用户都不能授予或启用被删除的角色。此外,担任被删除角色的用户将失去该角色的所有特权,除非用户本身被授予相同的特权,或相同的特权授予 PUBLIC。如果删除的角色是默认的角色,那么用户的默认角色将变成NULL。清单 8提供 DROP ROLE 语句的语法。角色的名称由role_name表明。

清单 8. 语法:删除角色

DROP ROLE role_name;

回页首

基于标签的访问控制(LBAC)

自主访问控制是在数据库对象级别上工作的,比如数据库、表、列和视图等,而基于标签的访问控制是在数据的行和列级别上工作的。表由安全策略保护,单个的行和列则由安全标签保护。数据库安全管理员(DBSECADM)创建安全策略和标签,并将标签授予用户。当具有安全标签的用户向由等效安全策略保护的表写入数据行时,将在该表的每个行生成数据标签。LBAC 工作的基本原理是,在保护行的数据标签中,其安全标签占据优势的用户能够读取数据。如何计算优势?任何标签都由每个组件中的个体组件和元素组成。如果用户标签中的个体组件超过特定安全策略的行标签的个体组件,那么用户标签就占优势。通过样例场景能够更好的展示这些概念。

样例 LBAC 场景

考虑一个具有传统组织结构的公司 LBL Corp.。图 3显示了该公司的部分组织结构。该图显示由各自的 VP 领导的所有公司部门:

?Marketing (VP)

?Sales (VP)

o West-region (Director)

o East-region (Director)

o South-region (Director)

o North-region (Director)

?Engineering (VP)

?Finance (VP)

?HR (VP)

图 3. LBL Corp. 的部门

以下场景描述 LBL Corp. 公司的 3 个业务需求,然后描述如何使用 LBAC 实现这些业务需求。

场景 1:部门层级结构

销售部门进一步划分为由各个区域主管领导的区域。这个层次结构进一步划分为更小的区域,最后一级是个体销售人员。图 4显示了扩展后的销售组织:

?Sales (VP

o West-region (Director)

o East-region (Director)

?Georgia (Manager)

?Atlanta (Sales rep 1; Sales rep 2)

?Florida (Manager)

o South-region (Director)

?Texas

?Dallas (Sales rep 1; Sales rep 2)

?Houston (Sales rep 1; Sales rep 2)

o North-region (Director)

图 4. LBL Corp. 的销售部门

存储销售数据的首要要求是,员工能够看到属于自己或自己管辖的下属组织的数据,同时他们又不能看到属于其他同事的数据。例如,销售副总裁能够看到属于所有区域的数据,而每个区域的主管仅能看到属于他们的区域的数据。在该层级结构的最末端,个体销售人员仅能看到自己的数据。

这可以通过以下途径实现,将标签授予组织中的用户,并且让位于层次结构的更高层的人员比位于更底层的人员占有更多标签。这样,授予销售 VP 的标签多于授予任何区域主管的标签,授予区域主管的标签多于授予任何子区域经理的标签,而授予子区域经理的标签多于授予个体销售人员的标签。这种关系最好通过为销售部门定义一个 TREE 组件来实现。本教程继续将该场景作为例子讨论,并且为销售数据表定义安全策略和标签。

场景 2:文档分类

另一个能够将 LBAC 派上用场的场景是:根据文档的敏感级别将其分类,拥有某个敏感级别的用户能够读取敏感级别更低的文档。回过头来看看图 3,销售文档可以根据敏感级别进行分类,比如 Top Secret、Secret、Confidential 和Unclassified。公司的 CEO 被授予组件元素为 Top Secret 的标签。技术架构师甚至应该被授予更高的敏感级别,以让他们能够访问核心竞争信息。这种关系最好通过定义一个敏感级别 ARRAY 组件来实现。本教程继续将该场景作为例子讨论,并且描述创建安全组件的例子。

场景 3:特殊用户

现在我们进入第 3 个场景,它描述了 SET 组件类型的使用。回顾图 3的 HR 部门。每个部门的 VP 能够看到自己部门的员工的记录,但不能看到其他部门的

员工的记录。不过人力资源 VP 应该能够看到公司的所有员工的记录。因此,HR VP 的标签包含所有部门。其他 VP 的标签仅将各自的部门作为 SET 组件的一部分。本教程在后面的小节中通过例子对此进行演示。

样例场景展示了 LBAC 能够以多种方式提供创建安全策略的框架,并使用这些策略保护数据。受 LBAC 保护的表的主要特征是,通过细化数据访问粒度来实现安全性和隐私性。支持 LBAC 实施的 SQL 对象是安全标签组件、安全策略和安全标签。这些对象用于保护表中的各个行和列。LBAC 的实施级别低于 DAC 的实施级别。在数据库级别和表级别检查了特权之后,将在获取数据的行和列级别实施LBAC。仅有 DBSECADM 能够创建 LBAC SQL 对象或将它们应用到表或授予用户。DBSECADM 是 IDS 提供的内置角色,并且由数据库系统管理员将该角色授予个体用户。所有 LBAC SQL 对象都存在数据库上下文中。创建 LBAC 框架有 3 个重要步骤:

?定义安全策略

?创建安全标签

?将安全标签分配给用户

IDS 中的加密支持

加密技术是作为插入式通信支持模块(pluggable communication supports module,CSM)与 IDS 集成的。表 5 给出了 IDS 提供的 CSM 列表:

表 5. IDS 中的 CSM

CSM 名

称操作系

库位置和名称

ENCCSM UNIX $INFORMIXDIR/lib/csm/iencs11a.so 这个模块用于加密在客户机和服务器之间

据WINDOWS %INFORMIXDIR%\lib\csm\iencs11a.dll

SPWDCSM U NIX $INFORMIXDIR/lib/csm/ispws11a.so 这个模块仅用于加密从客户机发送到服务器的密码

WINDOWS %INFORMIXDIR%\lib\csm\ispws11a.dll

GSSCSM UNIX $INFORMIXDIR/lib/csm/igsss11a.so 这个模块用于在IDS 中指出单点

WINDOWS %INFORMIXDIR%\lib\csm\igsss11a.dll

回页首

配置 IDS 以使用加密

这个配置过程包含 2 个步骤:

步骤 1:在 CSM 配置文件 (concsm.cfg) 中配置 CSM

这个文件位于 $INFORMIXDIR/etc,您也可以使用 INFORMIXCONCSMCFG 环境变量。

?定义加密 CSM。清单 9 显示了 concsm.cfg\ 中的 ENCCSM 条目的语法:清单 9. ENCCSM 语法

ENCCSM ("path","cipher[options],mac[ options], switch[ options]", "") Where the options are:

Path - The absolute path of the CSM shared library

Cipher - Specifies the names of the ciphers that you want to use

for encryption

Mac - Specifies the absolute path of the MAC key file

Switch - Specifies the time interval for switching between ciphers if

multiple ciphers are defined

For example,

ENCCSM("/usr/informix/lib/csm/iencs11a.so","cipher[des:ecb,ede:ecb], mac[levels:,files:],

switch[cipher:2,key:1]","")

?定义简单密码 CSM。清单 10 显示了 concsm.cfg 中的 SPWDCSM 的语法:

清单 10. SPWDCSM 语法

SPWDCSM("path","global option","conn_options")

Where the options are:

Path - Absolute path of the CSM shared library

Global option - Not supported currently, must be null

conn_options - p=0 password not mandatory

p=1 password mandatory for authentication

The following example shows how the entry for SPWDCSM in the concsm.cfg file should

look. Here ispws11a.so is a CSM library and p=1 mandates that the password verification

is needed.

SPWDCSM("/usr/informix/lib/csm/ispws11a.so","","p=1")

定义 GSSCSM。清单 11 显示了 concsm.cfg 中的 GSSCSM 条目的语法:清单 11. GSSCSM 语法

GSSCSM("path", "global options", "conn_options")

Where the options are:

Path - Absolute path of the CSM shared library

Global option - Not supported currently, must be null

Conn_options - You can configure Kerberos-defined confidentiality and

integrity services leave it blank to accept the defaults.

You can enter any values, you can do this for one service or for both services. The settings must be

entered as comma-separated values. The

conn_options in

the concsm.cfg file are as follows:

Settings Result

c=0 Confidentiality service of the Generic Security

Services (GSS)API is disabled.

c=1 Confidentiality service is

enabled. This is the

default setting.

i=0 Integrity service of the GSS-API is disabled.

i=1 Integrity service is enabled. This is the default

setting.

The following example shows how the entry for SPWDCSM in the concsm.cfg file should

look. Here ispws11a.so is a CSM library and p=1 mandating the password verification

is needed.

GSSCSM("/usr/informix/lib/csm/igsss11a.so","","")

步骤 2:将 CSM 与 IDS 实例关联起来

设置了 concsm.cfg 之后,您可以通过更新 sqlhosts 文件将 CSM 与 IDS 关联起来。

清单 12. ENCCSM/SPWDCSM/GSSCSM 的 sqlhosts 条目

demo_on1 onsoctcp demohost 1111 csm=(ENCCSM)

demo_on2 onsoctcp demohost 1112 csm=(SPWDCSM)

demo_on3 onsoctcp demohost 1113 s=7,csm=(GSSCSM)

除了通过连接进行加密以外,IDS 还支持列级加密(CLE),这是一个基于 SQL 的实现。

回页首

IDS 中的安全套接字层(SSL)

安全套接字层(SSL)协议是一个通信协议,它通过网络两个点之间的可靠的端到端安全连接使用加密为数据通信提供隐私性和完整性。

配置 IDS 实例以使用 SSL

数据库期末考试填空题及答案

1 .数据库数据具有__________、__________和__________三个基本特点。 2.数据库管理系统是数据库系统的一个重要组成部分,它的功能包括__________、__________、__________、__________。 3. 数据库系统是指在计算机系统中引入数据库后的系统,一般由__________、__________、__________和__________构成。 4. 数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。 5. 数据库具有数据结构化、最小的__________、较高的__________等特点。 6. DBMS还必须提供__________保护、__________检查、__________、__________等数据控制功能。 7. 模式(Schema)是数据库中全体数据的__________和__________的描述,它仅仅涉及到__________的描述,不涉及到具体的值。 8. 三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的__________和__________。 9. 根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是__________,第二类是__________。 10. 数据模型的三要素是指__________,__________,__________。实际数据库系统中所支持的主要数据模型是__________,__________,__________。 11. 数据模型中的__________是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,__________是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。 12. 用树型结构表示实体类型及实体间联系的数据模型称为__________模型,上一层的父结点和下一层的子结点之间的联系是的联系。 13. 用有向图结构表示实体类型及实体间联系的数据模型称为__________模型,数据之间的联系通常通过__________实现。 14. 关系的完整性约束条件包括三大类:__________、__________和__________。 15. 关系数据模型中,二维表的列称为________,二维表的行称为________。 16. 用户选作元组标识的一个候选码为________,其属性不能取________。 17. 关系代数运算中,传统的集合运算有_____,_____,_____,_____。 18. 关系代数运算中,基本的运算是________,________,________,________,________。 (问答题) 19. 关系代数运算中,专门的关系运算有________,________,________。 20. 关系数据库中基于数学上的两类运算是________和________。 21. 关系代数中,从两个关系中找出相同元组的运算称为________运算。 22. R S表示R与S的________。 23. 设有学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,XB表示性别,NL表示年龄,DP表示系部。查询学生姓名和所在系的投影操作的关系运算式是________________。 24. 在“学生-选课-课程”数据库中的3个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE); C(C#,CNAME,TEACHER),查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表达式来表示为________________。 25. 已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是________,系关系的外码是________,学生关系的主码是________,学生关系的外码是________。

SQLServer数据库试题九及答案

SQL Server数据库试题九及答案 一、选择题(每题2分,共30分) 1、下面不属于数据定义功能的SQL语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、SQL数据库中的视图与下列哪项是对应的()。 A.关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A.快照复制 B.差异复制 C.事务复制 D.合并复制 4、下列说法错误的是: ()。 A.一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A.Echo B.Message C.Warn D.MsgBox 6、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是()。 A.聚集索引 B.非聚集索引 C.主键索引 D.唯一索引 7. SQL Server的字符型系统数据类型主要包括()。 A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是() A.* B.% C.- D.? 10、SELECT语句中与HA VING子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15题使用如下数据: 当前盘当前目录下有数据库db_stock,其中有表stock的内容是: 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机9.96 上海 600605 轻工机械14.59 上海 000001 深发展7.48 深圳 000002 深万科12.50 深圳 11、有如下SQL语句 create view stock_view as select * from stock where 交易所=”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL语句

win7系统知识

快捷键 一、Windows键 + 空格键“Space” [作用]:透明化所有窗口,快速查看桌面(并不切换) [快捷键]:win+空格 [小结]:当你打开了很多程序窗口的时候,这招非常有用,而且桌面还会有华丽的光影效果哦。 二、Windows键 + D [作用]:最小化所有窗口,并切换到桌面,再次按又重新打开刚才的所有窗口 [快捷键]:win+d [小结]:这个功能在以前的系统里是都有的,只不过win7的显示桌面放到了任务栏的右下角了(就是最右边的那个长方形小条) 三、Windows键 + tab键 [作用]:传说中的3D桌面展示效果 [快捷键]:win+tab [小结]:记得本区应该有一个帖就是关于这个效果的,不过感觉这招最简单了 四、Windows键 + ctrl键+tab键 [作用]:3D桌面浏览并锁定(可截屏) [快捷键]:win+ctrl+tab [小结]:见识了它的效果想留个图,win+tab是办不到di,win7说了-- I can! 五、Windows键 + 数字键 [作用]:针对固定在快速启动栏中的程序,按照数字排序打开相应程序 [快捷键]:win+数字(1-9) [小结]:吼吼,这个功能爽吧 六、Windows键 + P [作用]:打开“外接显示”的设置窗口 [快捷键]:win+p [小结]:办公室一族,对这个功能肯定不会陌生吧。对了,接投影仪快速切换,嘿嘿。

七、Windows键 + X [作用]:打开“移动中心”设置窗口 [快捷键]:win+x [小结]:设置窗口里包括显示器亮度控制、音量控制、笔记本电池监控、Mobile手机同步设置、外接显示器管理...等多种功能 八、修复系统默认文件关联 [作用]:修复系统默认文件关联 [快捷键]:无 [小结]:当我们无意中破坏了系统默认的文件关联,这招就派上用场了。win7下可不像winxp那样容易修改文件关联的,不信?试试 *_* [操作方法]:开始->cmd,按如下格式输入assoc.XXX=XXXfile XXX代表文件类型,比如修复TXT和BAT的文件关联,命令就是 assoc.TXT=TXTfile 和 assoc.BAT=BATfile 九、关闭系统休眠功能 [作用]:关闭系统休眠功能 [快捷键]:无 [小结]: windows7下的休眠功能需要硬件和操作系统的功能支持,目前该功能出现多种问题,建议在正式版出来之前先关闭它,而且还可以为系统盘节省大量磁盘空间(大约4G)。 [操作方法]:开始->cmd,输入powercfg -h off,回车 解决WIN7无法识别的网络方法 安装win7应经两个星期了,每次开机都会出现两个网络连接,一个家庭网络,一个未识别的网络,但是我的电脑只装了一个网卡,所以每次开机后总是首先禁用一下网卡在启用才能上网,那么怎么才能把那个开机启动的未识别的网络禁用呢。。下面进入正题。 出现未识别的网络是因为win7有一个DNSresponder.exe的开机启动进程,这是安装adobe ps3 后的Bonjour.exe在作怪,这是一个搜寻局域网的进程,此文件夹在X:\program Files\下,有一个Bonjour 的文件夹。首先用360软件管家,再点高级工具,找到DNSresponder.EXE进程,点结束进程,然后回到文件夹,把文件夹里面的mdnsNSP.dll重命名为mdnsNSP.txt。然后重启电脑,找到Bonjour文件夹,直接删除,重启电脑,看一下是不是就一个网络连接了。。希望能对大家有所帮助。。 双系统完全卸载Windows 7的方法 目前window 7 逐渐代替我们现在电脑系统,在window 7的步入之

sql数据库期末考试题及答案

一、单选题(共 10 道试题,共 50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是( C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。 A. Update B. Delete C. Insert D. Alter 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A )。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D )约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(D )。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。 A. SELECT * FROM CP WHERE 产品名称 LIKE ‘冰箱’ B. SELECT * FROM XSH WHERE 产品名称 LIKE ‘冰箱’ C. SELECT * FROM CP WHERE 产品名称 LIKE ‘%冰箱%’ D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D )。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的( D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE 9. 列值为空值(NULL),则说明这一列( C)。 A. 数值为0

WINDOWS XP操作系统教程

WINDOWS操作系统(以WinXP为例) 一、WINDOWS的发展简史 WINDOWS是美国MICROSOFT(微软)公司在1985年11月发布的第一代窗口式多任务单用户操作系统软件,它使PC机开始进入了所谓的图形用户界面(GRAPHIC USER INTERFACE,GUI)时代。 1990年5月MICROSOFT公司推出了WINDOWS3.0,它的功能进一步加强。随后1992年4月WINDOWS发表3.1版,而且推出了相应的中文版。 1995年8月,MICROSOFT公司推出了WINDOWS95。 1998年6月,MICROSOFT公司推出了WINDOWS95的改进版WINDOWS98。 2000年2月,MICROSOFT公司推出了WINDOWS2000。 2001年10月,MICROSOFT公司推出了WINDOWS XP。 2003年4月,MICROSOFT公司推出了WINDOWS 2003。 2007年1月30,MICROSOFT公司推出了WINDOWS VISTA。 2008年2月,MICROSOFT公司推出了WINDOWS 2008。 2009年10月22号,MICROSOFT公司推出了WINDOWS7。 二、WINDOWS的启动和退出

1、WINDOWS的启动:开外设→开显示器→开主机电源(POWER) 2、WINDOWS的退出:关闭所有应用程序→单击开始→单击关闭计算机→单击关闭→关显示器→关外设。 三、WINDOWS的基本操作 1、WINDOWS的桌面组成 ⑴桌面(desktop):是指WINDOWS启动成功后的整个屏幕区域。 ⑵图标:是代表程序、文件(夹)、打印机信息和计算机信息等的图形,称这些图标为对象。这些对象被打 开后就成为窗口。桌面上出现的图标会因WINDOWS的安装方式不同或计算机的不同而有所不同。 ㈠我的文档:存放用户个人文档。 ㈡我的电脑:管理本地计算机资源,进行磁盘、文件夹和文件操作;配置计算机的软、硬环境。 ㈢网上邻居:如果计算机连接到网络上,桌面上就会有一个网上邻居的图标,通过它可以访问网络 上的其他计算机,共享其他计算机的资源。 ㈣回收站:暂存被用户删除的文件、文件夹等内容,以便在需要时恢复。 ㈤INTERNET EXPLORER:用来浏览网页信息。 ㈥快捷方式:左下角带小箭头的图标,是为了方便使用而复制的指向系统中某个对象的一个快捷指针。 ⑶任务栏:通常在桌面最底下一栏,用于显示当前打开的窗口或正在运行的程序的按钮。 2、鼠标操作 指向:将光标移到某一个操作对象上,是所有鼠标操作的基础,通常会显示该对象的有关提示信息。 单击:指向对象后,按左键一下放手,用于选定对象或执行某个操作命令。 双击:指向对象后,快速连按左键两下放手,用于启动程序或打开窗口。 拖移:指向对象后,按左键不放,拖到新位置放手,用于移动对象或缩放对象。 右击:指向对象后,按右键一下放手,会弹出一个关于该对象操作的快捷命令菜单。 中键:上下拨动,用于滚屏或在图形设计软件中缩放对象。 框选:按左键不放拖,拖出一个虚线框,框内对象都被选中,用于选定连续多个对象。 其它:三击、左右键同按等。 3、桌面操作: ⑴添加新对象:㈠文件夹:右击桌面空白处→指向新建→单击文件夹→输入名称→回车(ENTER)。 ㈡快捷方式:①CTRL+SHIFT不放,直接从别处将对象拖移到桌面,先放鼠标,后放键盘。 ②右击对象→指向发送到→单击桌面快捷方式。 ③右击桌面空白处→指向新建→单击快捷方式→单击浏览→单击我的电脑前的+号 →单击X盘前的+号→单击X文件夹前的+号→直到找到对象后单击→单击确定→ 单击下一步→输入名称→单击完成。 ㈢空白文档:右击桌面空白处→指向新建→单击任一种所需的文件类型→输入名称(不要动扩展 名如.docx.txt.cdr等)→回车(ENTER)。 ⑵删除对象:㈠拖移对象到回收站即可。 ㈡右击对象→单击删除→单击是。 ㈢单击对象→DELETE→回车。 ⑶找回被删除的对象:双击回收站→直接将对象拖移到桌面或单击对象→单击文件→单击还原或单击对象→单击还原此项目或右击对象→单击还原。 ⑷清空回收站:右击回收站→单击清空回收站→单击是。 ⑸排列图标:右击桌面空白处→指向排列图标→单击四种排列方式之一即可。 ⑹图标更名:右击对象→单击重命名或单击对象→F2或单击两下标签→输入新名称(不要动扩展名)→回车。 ⑺更换快捷方式图标:右击对象→单击属性→单击快捷方式→单击更改图标→单击一中意图标→单击确定→单击确定。 更换系统图标:右击桌面空白处→单击属性→单击桌面→单击自定义桌面→单击某一个系统图标→单击更改图标→单击一中意图标→单击确定→单击确定→单击确定。 ⑻更换桌面背景:右击桌面空白处→单击属性→单击桌面→在列表框中单击一中意图片(如不满意单击浏览→在查找范围中选择存放图片的文件夹→单击一中意图片→单击打开)→单击确定。 ⑼设置图标标签背景透明:右击桌面空白处→指向排列图标→单击取消勾选“在桌面上锁定WEB项目”→右击我的电脑→单击属性→单击高级→单击第一个设置→在自定义列表框中单击“在桌面上为图标标签使用阴影”→单击确定→单击确定。

(SQLServer)考试试题及答案

2013年(下)全国信息技术水平考试数据库应用系统设计技术水平证书 (SQL Server)考试试卷 第一大题:单选题(30 分) 1. (1分) 数据模型的三要素不包括()。 (A) 数据结构(B) 数据操作(C) 数据完整性约 束(D) 数据恢复 2. (1分) 数据的存储结构与数据逻辑结构之间的独立性称为数据的 ()。 (A) 结构独立性(B) 物理独立性(C) 逻辑独立 性(D) 分布独立性 3. (1分) 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联 系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有()。 (A) 1:1联系(B) 1:n联系(C) n:m联 系(D) 多种联系 4. (1分) 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的()。 (A) 元组(B) 关键字(C) 记 录(D) 属性 5. (1分) 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为()。 (A) R1(A,B,C,D) R2(A,E) (B) R1(A,B,C) R2(A,D,E) (C) R1(A,B,C) R2(D,E) (D) R1(A,B) R2(A,C,D,E) 6. (1分) SQL语言查询一次的结果是一个()。 (A) 元组(B) 表(C) 属性(D) 数据

库 7. (1分) 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为()。 (A) 平凡函数依赖 (B) 部分函数依赖 (C) 完全 函数依赖 (D) 传递函数依赖 8 . (1分) 在Transact-SQL中,下列命令能让程序完全跳出循环的是( )。 (A) CASE (B) WAIT (C) BREAK (D) CONTINU E 9 . (1 分) 在Transact-SQL中,下列选项不属于数值型数据类型的是( )。 (A) NUMERIC (B) DECIMAL (C) INTEGER (D) DATE 10. (1分) 下列选项中,可以正确表达姓“张”的通配符是( )。 (A) 张 _ (B) 张 % (C) 张 ^ (D) 张& 1 1. (1 分) 下列聚合函数中正确的是( )。 (A) SUM (*) (B) MAX (*) (C) COUNT (*) (D) AVG (*) 12. (1 分) 如果某一列的数据类型是FLOAT,则不允许对该列使用的函数是( )。 (A) SUM (B) ABS (C) LEFT (D) ROUND 13 . (1 分 ) 在SQL的SELECT语句中,与投影运算对应的子句是( )。 (A) SELECT (B) FROM (C) WHERE (D) GROU P BY 14. (1 分) 在SQL语言中,给表起别名应使用( )。 (A) AS (B) RENAME (C) SET (D) FOR 15. (1分) 在SELECT语句中使用GROUP BY SNO时,SNO必须() 。 (A) 在WHERE中出现 (B) 在FROM中出现

SQLServer数据库期末复习试题试卷及答案

现有关系数据库如下: 数据库名:教学数据库(Teacher) 教师信息表(教师编号,姓名,性别,民族,职称,身份证号) 课程信息表(课程号,课程名,标准课时数) 任课信息表(教师编号,课程号,实际课时数) 一、用SQL语言实现下列功能 1. 创建数据库。 要求:数据库名为 Teacher,主数据文件名为 Teacher_data.MDF,存放在目录下,初始值大小为2MB增长方式为按照10%的比例增长;日志文件名为Teacher_log.LDF,存放在目录下,初始值大小为 1MB增长方式为按照1MB的增量增长。 2. 创建教师信息表Teacherinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Teacher_Id char 6 主键教师编号 Teacher_Name n varchar 8 不允许空姓名 Sex n char 2 检查(男/女)性别 Birth_Place n varchar 20 默认值(汉族)民族 Zhiche ng n varchar 20 不允许空职称 H Id char 16 唯一身份证号 3.创建课程信息表Course info,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Course_ld char 5 主键】田千口i=r. 课程 号 Course_Name n varchar 20 不允许空课程名 B Hours Int 检查(0~200) 标准课时数 4.创建任课信息表TCinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Id int 自动编号 Teacher_Id char 6 外键教师编号 Course_Id char 5 外键】田千口 i=r. 课程号S Hours Int 实际课时数 5. 将下列课程信息添加到课程表中: 课号课程名称课时数 30001 SQL Server 数据库 90 30002 数据结构60 30003 VB 程序设计72 修改课号为30003的课程名称:Visual Basic 程序设计。

SQLServer单科测试题(带答案)

选择题(每题2分,共计100分) 1.在SQL Server中,要防止大于100的数被保存到int类型的列,可以使用()。 -------------------------------------- 2.装-------------------------------------- 3. 4.订------------------------------ 5.线---------------------------------------- 6. 7. 8.A.主键约束 B.限制约束 C.外键约束 D.检查约束 在SQL Server中,下面关于数据完整性的描述正确的是()。[选两项] A.如果数据库中没有重复的数据,数据就是完整的 B.维护数据完整性就是保证数据的准确性 C.数据库中数据越详细越符合数据完整性 D.维护数据完整性可以保证数据的一致性,避免出现没有意义的数据 在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。

A.master B.model C.msdb D.pubs 在SQL Sever 2005中,假设表users包含主键列id,那么执行”update users set id=20 whereid=30”,执行的结果可能有()。 A.如果表中含有id为30的记录,但不包含id为20的记录,则更新失败 B.执行出错,因为主键列不可以被更新 C.如果表中同时含有id为20和id为30的记录,则更新失败。 D.如果表中不包含id为20和id为30的记录,则更新一行记录 在SQLServer2005数据库中,使用update语句更新数据库表中的数据,以下说法正确的是()。 A.每次只能更新一行数据 B.每次可更新多行数据 C.如果没有数据项被更新,将提示错误消息 D.更新数据时,必须带有WHERE条件句子 关于数据完整性,以下说法正确的是()。[选两项] A.引用完整性通过主键和外键之间的引用关系实现 B.引用完整性通过限制数据类型、检查约束等实现 C.数据完整性是通过数据操纵者自身对数据的控制来实现的 D.如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性

WindowsXP系统安装完全教程

学客日志WindowsXP系统安装全教程一、系统信息 安装系统之前应该了解一下自己的机子,装系统需要先弄清机子里的硬件设备; 先来看主板,主板有时候也称主板芯片组,比较著名的有intel、VIA、SIS、ALI等等; 如果有说明书,那么里头也会有相关的介绍,下面我们通过一个练习来看一下; 1、进到系统以后,在“我的电脑”图标上单击右键选“属性”,会出来系统属性面板,在上边选“硬件”标签,然后找到“设备管理器”按钮; 2、点击“设备管理器”按钮,进入面板,里面有许多的分类;

1)单击下边的“系统设备”左边的加号,打开它,然后就可以看到里面的列表,找一下相关的主板信息; 这儿可以看到SiS的英文名称,另外在“通用串行总线控制器”那儿也可以找着SiS的名称,说明这个主板是跟SiS有关的; 2)点击最下边的“显示卡”旁边的加号,查看一下显卡的信息;

这儿可以查看到,是SiS650v/651/740的版本,找个本子都记下来,显卡种类挺多的,也可以在显示属性里头查出来,NV和ATI的都挺好的; 3)点击“声音、视频和游戏控制器”旁边的加号,看一下声卡的类型; 从第一个里头可以看到,是Realtek AC'97的声卡,也记一下; 4)网络适配器(网卡)也可以看一下,大多数是RTL8139的型号,安装的时候,系统可以自动识别; 另外也可以用一些工具软件来查看系统信息; 3、练习: 1)把自己的机子的主板、显卡、声卡、网卡的类型查出来; 本节学习了查看系统信息的一般方法,如果你成功地理解并完成了练习,请继续学习下一课内容,更多精彩计算机教程请访问学客日志:https://www.360docs.net/doc/1d11523639.html,; 学客日志WindowsXP系统安装全教程二、准备光盘 把机子的情况了解清楚以后,接下来就开始准备装机的各个软件光盘; 首先应该准备一张WinXPsp2的安装盘,如果是品牌机专用的更好,XP的版本有家庭版(H)和专业版(P),

sql数据库期末考试题及答案

一、单选题(共10 道试题,共50 分。) 1. SQL Server中,保存着每个数据库对象的信息的系统表是(C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D)。 A. Update B. Delete C. Insert D. Alter 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A)。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D)约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(D)。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。 A. SELECT * FROM CP WHERE 产品名称LIKE …冰箱? B. SELECT * FROM XSH WHERE 产品名称LIKE …冰箱? C. SELECT * FROM CP WHERE 产品名称LIKE …%冰箱%? D. SELECT * FROM CP WHERE 产品名称=…冰箱? 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D)。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的(D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE 9. 列值为空值(NULL),则说明这一列(C)。 A. 数值为0 B. 数值为空格 C. 数值是未知的 D. 不存在 10. 数据库的数据一般存放在(D)中。 A. 内存 B. CPU C. 寄存器 D. 磁盘 二、判断题(共10 道试题,共50 分。)V 1. 如果定义视图的FROM子句包括多张表,并且视图中列来自多张表,则不能用DML语句通过视图操纵数据。 A. 错误 B. 正确 2. 在sysdatabases中,还记录着存储过程中每个参数的信息。A A. 错误 B. 正确 3. 在SELECT语句中,当使用ORDER BY子句时,一定要使用GROUP BY 子句。A A. 错误 B. 正确 4. 由于索引是独立的,删除表时,与该表相关的索引并不被删除。A A. 错误 B. 正确 5. 日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldf B A. 错误 B. 正确 6. 使用INSERT命令一次只能插入一行数据。A A. 错误 B. 正确

数据库期末考试复习题(附答案)

数据库期末考试复习题(附答案) 数据库系统概论 2011年期末考试复习题 一、选择题 ? 第(1)至(3)题基于以下的叙述:有关系模式A(C,T,H,R,S),基中各属性的含义是: ? C:课程T:教员H:上课时间R:教室S:学生 ? 根据语义有如下函数依赖集:? F={C→T,(H,R)→C,(H,T)→R,(H,S)→R} ? 1、关系模式A的码是(D) ? A. C B. (H,R)C.(H,T)D.H,S) ? 2、关系模式A的规范化程度最高达到(B) ? A. 1NF B. 2NF C. 3NFD. BCNF ? 3、现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到(D) ? A. 1NF B. 2NF C. 3NF D. BCNF ? 4.设有关系R(A,B,C)和S(C,D)。与SQL语句? select A,B,D from R,S where R.C=S.C ? 等价的关系代数表达式是(B) ? A. σR.C=S.C(πA,B,D(R×S)) ? B. πA,B,D(σR,C= S.C (R×S)) ? C. σR.C=S.C((πA,B R)×(πDS)) ? D. σR,C=S.C(πD((πA,BR)×S) ? 5、设关系R和关系S的元数分别是3和4,关系T是R与S的广义笛卡尔积,即:T=R×S,则关系T的元数是(C) ? A. 7 B. 9 C. 12 D. 16 ? 6、数据库设计阶段分为(B) ? A. 物理设计阶段、逻辑设计阶段、编程和调试阶段 ? B. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段 ? C. 方案设计阶段、总体设计阶段、个别设计和编程阶段 ? D. 模型设计阶段、程序设计阶段和运行阶段 ? 7、设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,不正确的是(C) ? A. 若X→→Y,则X→→Z B. 若X→Y,则X→→Y ? C. 若X→→Y,且Y′?Y,则X→→Y′ D. 若Z=Φ,则X→→Y ? 8、查询优化策略中,正确的策略是(D) A.尽可能早地执行笛卡尔积操作B.尽可能早地执行并操作 C.尽可能早地执行差操作D.尽可能早地执行选择操作 ? 9、语句delete from sc 表明(A) A. 删除sc中的全部记录 B. 删除基本表sc? C. 删除基本表sc中的列数据 D. 删除基本表sc中的部分行 ? 10、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过哪种技术实现(B) ? A. 指针 B. 游标 C. 数组 D. 栈 11、五种基本关系代数运算是( A ) ? A. ∪,-,×,π和σ B. ∪,-,?,π和σ

SQLServer数据库入门学习总结

SQL Server数据库入门学习总结 经过一段时间的学习,也对数据库有了一些认识。 数据库基本是由表,关系,操作组成;对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数存储过程触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装、配置,服务器启动、停止,企业管理器、查询分析器 第一代数据库--网状数据库和层次数据库;第二代数据库--关系数据库 数据库(DB);数据库管理系统(DBMS);数据库系统(DBS) SQL Server 2000 提供了不同版本:企业版、标准版、个人版、开发版 SQL Server中的数据类型:整数:int,smallint,tinyint,bigint;浮点数:real,float,decimal;二进制:binary,varbinary;逻辑:bit;字符:char,nchar,varchar,nvarchar;文本和图形:text,ntext,image;日期和时间:datetime,smalldatetime;货币:money,smallmoney 数据库的创建和删除;数据库表的创建、修改和删除 数据完整性:实体完整性:Primary Key,Unique Key,Unique Index,Identity Column;域完整性:Default,Check,Foreign Key,Data type,Rule;参照完整性:Foreign Key,Check,Triggers,Procedure;用户定义完整性:Rule,Triggers,Procedure;Create Table中得全部列级和表级约束 SQL Server中有5种约束:主键约束(Primary Key Constraint)、默认约束(Default Constraint)、检查约束(Check Constraint)、唯一性约束(Unique Constraint)、外键约束(Foreign Key Constraint). 关系图 数据库设计的步骤:需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护 两个实体之间的联系:一对一(1:1)、一对多(1:n)、多对多(m:n) 实体关系模型-- E-R图

SQLSERVER试题

**学院课程考试试卷 课程名称:《SQLServer:数据库设计和高级查询》(A)卷 年级:班级: 1. 授予用户teacher对Score表的插入和修改的权限,正确的授权语句是()。 A. GRANT INSERT,UPDATE TO TABLE Score ON teacher B. GRANT INSERT AND UPDATE TO TABLE Score ON teacher C. GRANT INSERT,UPDATE ON Score TO teacher D. GRANT INSERT AND UPDATE ON Score TO teacher 2. 建立如下数据库表: CREATE TABLE department ( DeptID int NOT NULL primary key, DeptName varchar (20) NOT NULL ) CREATE TABLE Employee ( EmployeeID int NOT NULL, DeptID int NOT NULL, Name varchar (20) NOT NULL ) 要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department表中已经存在的部门,最佳的做法是()。 A. EmployeeID 和DeptID 设为组合主键 B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束 C. EmployeeID设为主键,同时在DeptID列上创建一个检查约束 D. 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外键约束 3. 建立一张员工表(employee),当向表中插入数据时,若不提供入职时间(beginTime),就把系统当前时间自动作为员工入职时间插入数据库中,以下说法正确的是()。 A. 约束中不能使用各种函数,所以只能使用触发器来实现 B. 可以使用CHECK约束实现,默认值采用日期函数getDate() C. 入职时间必须设为日期类型 D. 可以使用DEFAULT 约束实现,默认值采用日期函数getDate() 4. 为了加快对某表的访问速度,应对此表建立()。 A. 约束 B. 存储过程 C. 规则 D. 索引 5. 假设有表student的设计如下: ID(学号) Name(姓名) Address(家庭住址) Department(所在系) DepartmentHead(系主任) 该表最高满足第()范式。 A. 1NF B. 2NF C. 3NF D. 不满足任何范式 6. 为数据库中一个或多个表的数据提供另一种查看方式的逻辑表被称为()。

sql数据库期末考试题及答案

sql数据库期末考试题及答案 一、单选题(共10道试题,共50分。)1. SQL Server中,保存着每个数据库对象的信息的系统表是 (C)。 A. sysdatabases B. Syscolu mns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。 A. Update B. Delete C. I nsert D. Alter 3. 在查询语句的Where子句中,如果出现了" age Between 30 and 40 ” ,这个表达式等同于( A) A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用( D )约束。 A. PDRIMARY KEY B. FOREIGN KEY C. uni que D. check 5. 记录数据库事务操作信息的文件是( D )。 A.数据文件 B.索引文件 C.辅助数据文件 D.日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。 A. SELECT * FROM CP WHERE 产品名称LIKE '冰箱’ B. SELECT * FROM XSH WHERE 产品名称LIKE '冰箱’ C. SELECT * FROM CP WHERE 产品名称LIKE '淋箱% D. SELECT * FROM CP WHERE 产品名称='冰箱’ 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是( D )。 A. 一对一的联系 B. 一对多的联系 C.多对一的联系 D.多对多的联系 8. SQL的聚集函数COUN T SUM AVG MAX MIN不允许出现在查询语句的( D)子句之中。 A. SELECT B. HAVING C. GROUP BY- HAVING D. WHERE 9. 列值为空值(NULL)则说明这一列(C)。 A.数值为0 B. 数值为空格 C.数值是未知的 D. 不存在 10. 数据库的数据一般存放在(D )中。 A.内存 B. CPU C. 寄存器 D. 磁盘 SQL Server数据库试题十及答案 一、单项选择题(每题2分,共15题) 1. SQL Server 2000 是一个(C )的数据库系统。 (A)网状型 (B)层次型(C)关系型(D)以上都不是 2. DTS是一个简称,它的全称是(B )。 A.数据运输系统 B.数据传输服务 C.数据库传输系统 D.数据库运输服务 3. SQL Server 2000 采用的身份验证模式有( D)。 (A)仅Windows身份验证模式(B)仅SQL Server身份验证模式 (C)仅混合模式(D) Windows身份验证模式和混合模式 4. SQL语言按照用途可以分为三类,下面选项中哪一种不是的:(C) (A) DML (B) DCL (C) DQL (D) DDL 5. 在SELECT语句的WHER子句的条件表达式中,可以匹配0个到多个字符的通配符是(B ) (A) * (B) % (C) - (D) ? 6. SQL Server提供的单行注释语句是使用( B)开始的一行内容。 (A) “/* ”( B) “-- ”( C) “{”( D) “/” 7. 以下那种类型能作为变量的数据类型( C)。 (A) text (B) ntext (C) table ( D) image 8.下面不属于数据定义功能的SQL语句是:(C)

实验SqlServer的基本操作

§3.1实验一Sql Server2005的基本操作(2学时) 3.1.1 实验目的 1.熟悉SQL Server2005企业版的安装过程。 2.了解企业管理器的功能,掌握企业管理器的操作方法。 3.掌握数据库服务器的注册、配置、连接等操作。 3.1.2 实验内容和步骤 上机前先阅读本实验的详细内容,简要了解SQL SERVER2005,并完成以下操作: 1. SQL Server2005的安装 参考详细内容进行安装,在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库系统会有什么影响。 2.启动和停止服务 3.启动SQL Server Management Studio 4.查看数据库属性,了解数据文件、事务日志、权限 注意事项: 1.安装时选择混合方式登录; 2.赋予sa密码。

实验一Sql Server2005的基本操作(详解) 一、安装 下面以Windows xp平台为例,介绍如何安装SQL Server 2005个人开发版。 1.根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例 2.将SQL Server 2005 DVD 插入DVD驱动器。如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到DVD的根目录然后启动splash.hta。 3.在自动运行的对话框中,单击“运行SQL Server 安装向导”。 4.在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。接受许可协议后即可激活“下一步”按钮。若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。如下图: 5.在“SQL Server 组件更新”页上,安装程序将安装SQL Server 2005 的必需软件。有关组件要求的详细信息,请单击该页底部的“帮助”按钮。若要开始执行组件更新,请单击“安装”。更新完成之后若要继续,请单击“完成”。

相关文档
最新文档