SPARSE列的使用

稀疏列是对 Null 值采用优化的存储方式的普通列.稀疏列减少了 Null 值的空间需求,但代价是检索非 Null 值的开销增加.当至少能够节省 20%  40% 的空间时,才应考虑使用稀疏列.稀疏列和列集是通过使用 CREATE TABLE ALTER TABLE 语句定义的.

稀疏列可以与列集和筛选索引一起使用

1.列集:INSERTUPDATE  DELETE 语句可以通过名称来引用稀疏列.但是,您也可以查看并处理表中组合为一个 XML 列的所有稀疏列.此列称为列集.

2.筛选索引:因为稀疏列有许多 Null 值行,所以尤其适用于筛选索引.稀疏列的筛选索引可以仅仅对已填充值的行编制索引.这会创建一个更小、更有效的索引.

稀疏列和筛选索引使应用程序( Windows SharePoint Services)可以通过 SQL Server 2008 有效地存储和访问大量的用户定义属性.

注意:

下面的数据类型不能指定为 SPARSE

geography

text

geometry

timestamp

image

user-defined data types

ntext

 

创建存储过程时的WITH RECOMPILE 选项

RECOMPILE:

指示数据库引擎不缓存该过程的计划,该过程在运行时编译.如果指定了 FOR REPLICATION,则不能使用此选项.对于CLR 存储过程,不能指定 RECOMPILE.

若要指示数据库引擎放弃存储过程内单个查询的计划,请使用 RECOMPILE 查询提示.如果非典型值或临时值仅用于属于存储过程的查询子集,则使用 RECOMPILE 查询提示.

 

查询提示:

查询提示指定应在整个查询中使用指示的提示.查询提示影响到语句中的所有运算符.如果主查询中涉及 UNION,则只有涉及 UNION 运算符的最后一个查询才能有 OPTION 子句.查询提示作为 OPTION 子句的一部分指定.如果一个或多个查询提示导致查询优化器不能生成有效计划,则引发 8622 错误.

注意:由于 SQL Server 查询优化器通常会为查询选择最佳执行计划,因此我们建议资深开发人员和数据库管理员只有在不得已时才可使用提示.

SCOPE_IDENTITY 函数使用

返回插入到同一作用域中的标识列内的最后一个标识值.一个范围是一个模块:存储过程、触发器、函数或批处理.因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中.

语法:SCOPE_IDENTITY()

返回类型:numeric(38,0)


SCOPE_IDENTITYIDENT_CURRENT  @@IDENTITY 是相似的函数,因为它们都返回插入到标识列中的值.

IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表.IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值.

SCOPE_IDENTITY  @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值.但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域.

例如,有两个表 T1  T2,并且在 T1 上定义了 INSERT 触发器.当将某行插入 T1 ,触发器被激发,并在 T2 中插入一行.该方案演示了两个作用域:在 T1 上的插入,以及在 T2 通过触发器的插入.

假设 T1  T2 都有标识列,@@IDENTITY  SCOPE_IDENTITY 将在 T1 上的 INSERT 语句的最后返回不同的值.@@IDENTITY 将返回在当前会话中的任何作用域内插入的最后一个标识列的值.这是在 T2 中插入的值.SCOPE_IDENTITY() 将返回在 T1 中插入的 IDENTITY .这是在同一个作用域内发生的最后的插入.如果在任何 INSERT 语句作用于作用域中的标识列之前调用 SCOPE_IDENTITY() 函数,则该函数将返回 Null.

如果语句和事务失败,它们会更改表的当前标识,从而使标识列中的值出现不连贯现象.即使未提交试图向表中插入值的事务,也永远无法回滚标识值.例如,如果因 IGNORE_DUP_KEY 冲突而导致 INSERT 语句失败,表的当前标识值仍然会增加.

 

示例

A.  @@IDENTITY  SCOPE_IDENTITY 用于触发器

下面的示例创建两个表,TZ  TY,并对 TZ 创建一个 INSERT 触发器.当将某行插入表 TZ 中时,触发器 (Ztrig)将激发并在 TY 中插入一行.

USE tempdb

GO

CREATE TABLE TZ (

Z_id int IDENTITY(1,1)PRIMARY KEY,

Z_name varchar(20) NOT NULL)

 

INSERT TZ

VALUES (‘Lisa’)

INSERT TZ

VALUES (‘Mike’)

INSERT TZ

VALUES (‘Carla’)

 

SELECT * FROM TZ

 

–Result set: This is how table TZ looks.

 

Z_id Z_name

————-

1 Lisa

2 Mike

3 Carla

 

CREATE TABLE TY (

Y_id int IDENTITY(100,5)PRIMARY KEY,

Y_name varchar(20) NULL)

 

INSERT TY (Y_name)

VALUES (‘boathouse’)

INSERT TY (Y_name)

VALUES (‘rocks’)

INSERT TY (Y_name)

VALUES (‘elevator’)

 

SELECT * FROM TY

–Result set: This is how TY looks:

 

Y_id Y_name

—————

100 boathouse

105 rocks

110 elevator

 

/*Create the trigger that inserts a row in table TY

when a row is inserted in table TZ.*/

CREATE TRIGGER Ztrig

ON TZ

FOR INSERT AS

BEGIN

INSERT TY VALUES (”)

END

 

/*FIRE the trigger and determine what identity values you obtain

with the @@IDENTITY and SCOPE_IDENTITY functions.*/

INSERT TZ VALUES (‘Rosalie’)

 

SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]

GO

SELECT @@IDENTITY AS [@@IDENTITY]

GO

 

下面是结果集:

SCOPE_IDENTITY

4

/*SCOPE_IDENTITY 返回同一个作用域中的最后一个标识值.这对于表 TZ 是插入操作.*/

@@IDENTITY

115

/*@@IDENTITY 返回由触发器插入到 TY 的最后一个标识值.之所以激发,是因为以前对 TZ 执行了插入.*/

B.  @@IDENTITY  SCOPE_IDENTITY() 用于复制

下面的示例说明如何针对为合并复制发布的数据库中的插入内容使用 @@IDENTITY  SCOPE_IDENTITY().示例中的两个表都在 AdventureWorks2008R2 示例数据库中,其中 Person.ContactType 未发布,Sales.Customer已发布.合并复制将把触发器添加到已发布的表中.因此,@@IDENTITY 可以从复制系统表中的插入内容而非用户表中的插入内容返回值.

Person.ContactType 表的最大标识值为 20.如果在该表中插入一行,@@IDENTITY  SCOPE_IDENTITY() 将返回相同的值.

USE AdventureWorks2008R2;

GO

INSERT INTO Person.ContactType ([Name]) VALUES (‘Assistant to the Manager’);

GO

SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY];

GO

SELECT @@IDENTITY AS [@@IDENTITY];

GO

 

下面是结果集:

SCOPE_IDENTITY

21

@@IDENTITY

21

Sales.Customer 表的最大标识值为 29483.如果在此表中插入一行,@@IDENTITY  SCOPE_IDENTITY() 将返回不同值.SCOPE_IDENTITY() 从用户表的插入内容返回值, @@IDENTITY 从复制系统表中的插入内容返回值.请对需要访问插入的标识值的应用程序使用 SCOPE_IDENTITY().

INSERT INTO Sales.Customer ([TerritoryID],[PersonID]) VALUES (8,NULL);

GO

SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY];

GO

SELECT @@IDENTITY AS [@@IDENTITY];

GO

 

下面是结果集:

SCOPE_IDENTITY

29484

@@IDENTITY

89

SqlServer中日期和时间数据类型及函数

日期和时间数据类型

下表列出了 Transact-SQL 的日期和时间数据类型.

数据类型

格式

范围

精确度

存储大小(以字节为单位)

用户定义的秒的小数精度

时区偏移量

time

hh:mm:ss[.nnnnnnn]

00:00:00.0000000 23:59:59.9999999

100 纳秒

5

date

YYYY-MM-DD

0001-01-01  9999-12-31

3

smalldatetime

YYYY-MM-DD hh:mm:ss

1900-01-01  2079-06-06

分钟

4

datetime

YYYY-MM-DD hh:mm:ss[.nnn]

1753-01-01  9999-12-31

0.00333

8

datetime2

YYYY-MM-DD hh:mm:ss[.nnnnnnn]

0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999

100 纳秒

8

datetimeoffset

YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm

0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999(以UTC 时间表示)

100 纳秒

10

 

注意:Transact-SQL rowversion 数据类型不是日期或时间数据类型.timestamp  rowversion 的同义词,但不推荐使用.

 

日期和时间函数

用来获取系统日期和时间值的函数

所有系统日期和时间值均得自运行 SQL Server 实例的计算机的操作系统.
精度较高的系统日期和时间函数

SQL Server 2008 使用 GetSystemTimeAsFileTime() Windows API 来获取日期和时间值.精确程度取决于运行 SQL Server 实例的计算机硬件和 Windows 版本. API 的精度固定为 100 纳秒.可通过使用 GetSystemTimeAdjustment() Windows API 来确定该精确度.

函数

语法

返回值

返回数据类型

确定性

SYSDATETIME

SYSDATETIME ()

返回包含计算机的日期和时间的 datetime2(7),SQL Server 的实例正在该计算机上运行.时区偏移量未包含在内.

datetime2(7)

不具有确定性

SYSDATETIMEOFFSET

SYSDATETIMEOFFSET ( )

返回包含计算机的日期和时间的datetimeoffset(7),SQL Server 的实例正在该计算机上运行.时区偏移量包含在内.

datetimeoffset(7)

不具有确定性

SYSUTCDATETIME

SYSUTCDATETIME ( )

返回包含计算机的日期和时间的 datetime2(7),SQL Server 的实例正在该计算机上运行.日期和时间作为 UTC 时间(通用协调时间)返回.

datetime2(7)

不具有确定性


精度较低的系统日期和时间函数

函数

语法

返回值

返回数据类型

确定性

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP

返回包含计算机的日期和时间的datetime2(7) ,SQL Server的实例正在该计算机上运行.时区偏移量未包含在内.

datetime

不具有确定性

GETDATE

GETDATE ( )

返回包含计算机的日期和时间的datetime2(7) ,SQL Server的实例正在该计算机上运行.时区偏移量未包含在内.

datetime

不具有确定性

GETUTCDATE

GETUTCDATE ( )

返回包含计算机的日期和时间的datetime2(7) ,SQL Server的实例正在该计算机上运行.日期和时间作为 UTC 时间(通用协调时间)返回.

datetime

不具有确定性

用来获取日期和时间部分的函数

函数

语法

返回值

返回数据类型

确定性

DATENAME

DATENAME ( datepartdate )

返回表示指定日期的指定datepart 的字符串.

nvarchar

不具有确定性

DATEPART

DATEPART ( datepartdate )

返回表示指定 date 的指定datepart 的整数.

int

不具有确定性

DAY

DAY ( date )

返回表示指定 date 部分的整数.

int

具有确定性

MONTH

MONTH ( date )

返回表示指定 date 部分的整数.

int

具有确定性

YEAR

YEAR ( date )

返回表示指定 date 部分的整数.

int

具有确定性

用来获取日期和时间差的函数

函数

语法

返回值

返回数据类型

确定性

DATEDIFF

DATEDIFF ( datepart ,startdate , enddate )

返回两个指定日期之间所跨的日期或时间 datepart 边界的数目.

int

具有确定性

用来修改日期和时间值的函数

函数

语法

返回值

返回数据类型

确定性

DATEADD

DATEADD (datepartnumber date )

通过将一个时间间隔与指定date 的指定 datepart相加,返回一个新的datetime .

date 参数的数据类型.

具有确定性

SWITCHOFFSET

SWITCHOFFSET(DATETIMEOFFSET ,time_zone)

SWITCH OFFSET 更改DATETIMEOFFSET 值的时区偏移量并保留 UTC .

具有DATETIMEOFFSET的小数精度的datetimeoffset

具有确定性

TODATETIMEOFFSET

TODATETIMEOFFSET (expression ,time_zone)

TODATETIMEOFFSET datetime2 值转换为datetimeoffset.datetime2 值被解释为指定 time_zone 的本地时间.

具有 datetime 参数的小数精度的datetimeoffset

具有确定性

用来设置或获取会话格式的函数

函数

语法

返回值

返回数据类型

确定性

@@DATEFIRST

@@DATEFIRST

返回对会话进行 SET DATEFIRST操作所得结果的当前值.

tinyint

不具有确定性

SET DATEFIRST

SET DATEFIRST {number |@number_var }

将一周的第一天设置为从 1  7 的一个数字.

不适用

不适用

SET DATEFORMAT

SET DATEFORMAT {format |@format_var }

设置用于输入 datetime smalldatetime 数据的日期各部分(月//年)的顺序.

不适用

不适用

@@LANGUAGE

@@LANGUAGE

返回当前使用的语言的名称.@@LANGUAGE 不是日期或时间函数.但是,语言设置会影响日期函数的输出.

不适用

不适用

SET LANGUAGE

SET LANGUAGE { [ N ] language |@language_var }

设置会话和系统消息的语言环境.SET LANGUAGE 不是日期或时间函数.但是,语言设置会影响日期函数的输出.

不适用

不适用

sp_helplanguage

sp_helplanguage [ [@language = ]language ]

返回有关所有支持语言日期格式的信息.sp_helplanguage 不是日期或时间存储过程.但是,语言设置会影响日期函数的输出.

不适用

不适用

用来验证日期和时间值的函数

函数

语法

返回值

返回数据类型

确定性

ISDATE

ISDATE (expression )

确定 datetime smalldatetime 输入表达式是否为有效的日期或时间值.

int

只有与 CONVERT 函数一起使用,同时指定了 CONVERT 样式参数且样式不等于 0,100,9  109,ISDATE 才是确定的.

 

日期和时间相关主题

主题

说明

使用日期和时间数据

提供通用于日期和时间数据类型及函数的信息和示例.

CAST  CONVERT (Transact-SQL)

提供有关在日期和时间值与字符串文字及其他日期和时间格式之间进行相互转换的信息.

编写国际化 Transact-SQL 语句

提供使用 Transact-SQL 语句的数据库和数据库应用程序在不同语言之间的可移植性准则,或支持多种语言的数据库和数据库应用程序的可移植性准则.

ODBC 标量函数(Transact-SQL)

提供有关可在 Transact-SQL 语句中使用的 ODBC 标量函数的信息.这包括ODBC 日期和时间函数.

分布式查询的数据类型映射

提供有关以下方面的信息:日期和时间数据类型对具有不同版本的 SQL Server 或不同访问接口的服务器之间的分布式查询有何影响.

Common Table Expression (CTE)

指定临时命名的结果集,这些结果集称为公用表表达式 (CTE).该表达式源自简单查询,并且在单条SELECT,INSERT,UPDATE,MERGE  DELETE 语句的执行范围内定义.该子句也可用在 CREATE VIEW 语句中,作为该语句的 SELECT 定义语句的一部分.公用表表达式可以包括对自身的引用.这种表达式称为递归公用表表达式.

 

语法

[ WITH <common_table_expression> [ ,…] ]

 

<common_table_expression>::=

        expression_name [ ( column_name [ ,…] ) ]

    AS

        ( CTE_query_definition )

参数

expression_name

公用表表达式的有效标识符. expression_name 必须与在同一 WITH <common_table_expression> 子句中定义的任何其他公用表表达式的名称不同, expression_name 可以与基表或基视图的名称相同.在查询中对 expression_name 的任何引用都会使用公用表表达式,而不使用基对象.

column_name

在公用表表达式中指定列名.在一个 CTE 定义中不允许出现重复的名称.指定的列名数必须与CTE_query_definition 结果集中列数匹配.只有在查询定义中为所有结果列都提供了不同的名称时,列名称列表才是可选的.

CTE_query_definition

指定一个其结果集填充公用表表达式的 SELECT 语句.除了 CTE 不能定义另一个 CTE 以外,CTE_query_definition  SELECT 语句必须满足与创建视图时相同的要求.

如果定义了多个 CTE_query_definition,则这些查询定义必须用下列一个集合运算符联接起来:UNION ALL,UNION,EXCEPT  INTERSECT.

注释

创建和使用公用表表达式的准则

下面的准则适用于非递归公用表表达式.

  • CTE 之后必须跟随引用部分或全部 CTE 列的单条 SELECT,INSERT,UPDATE,MERGE  DELETE 语句.也可以在 CREATE VIEW 语句中将 CTE 指定为视图中 SELECT 定义语句的一部分.
  • 可以在非递归 CTE 中定义多个 CTE 查询定义.定义必须与以下集合运算符之一结合使用:UNION ALL,UNION,INTERSECT  EXCEPT.
  • CTE 可以引用自身,也可以引用在同一 WITH 子句中预先定义的 CTE.不允许前向引用.
  • 不允许在一个 CTE 中指定多个 WITH 子句.例如,如果 CTE_query_definition 包含一个子查询,则该子查询不能包括定义另一个 CTE 的嵌套的 WITH 子句.
  • 不能在 CTE_query_definition 中使用以下子句:
    • COMPUTE  COMPUTE BY
    • ORDER BY(除非指定了 TOP 子句)
    • INTO
    • 带有查询提示的 OPTION 子句
    • FOR XML
    • FOR BROWSE
  • 如果将 CTE 用在属于批处理的一部分的语句中,那么在它之前的语句必须以分号结尾.
  • 可以使用引用 CTE 的查询来定义游标.
  • 可以在 CTE 中引用远程服务器中的表.
  • 在执行 CTE ,任何引用 CTE 的提示都可能与该 CTE 访问其基础表时发现的其他提示相冲突,这种冲突与引用查询中的视图的提示所发生的冲突相同.发生这种情况时,查询将返回错误.
  •  CTE  UPDATE 语句的目标时,在该语句中对 CTE 的所有引用都必须匹配.例如,如果在 FROM 子句中向 CTE 分配了一个别名,则该别名必须用于对 CTE 的所有其他引用.不明确的 CTE 引用可能会产生意外的联接行为和意外的查询结果.

 

定义和使用递归公用表表达式的准则

下面的准则适用于定义递归公用表表达式:

  • 递归 CTE 定义至少必须包含两个 CTE 查询定义,一个定位点成员和一个递归成员.可以定义多个定位点成员和递归成员;但必须将所有定位点成员查询定义置于第一个递归成员定义之前.所有 CTE 查询定义都是定位点成员,但它们引用 CTE 本身时除外.
  • 定位点成员必须与以下集合运算符之一结合使用:UNION ALL,UNION,INTERSECT  EXCEPT.在最后一个定位点成员和第一个递归成员之间,以及组合多个递归成员时,只能使用 UNION ALL 集合运算符.
  • 定位点成员和递归成员中的列数必须一致.
  • 递归成员中列的数据类型必须与定位点成员中相应列的数据类型一致.
  • 递归成员的 FROM 子句只能引用一次 CTE expression_name.
  • 在递归成员的 CTE_query_definition 中不允许出现下列项:
    • SELECT DISTINCT
    • GROUP BY
    • HAVING
    • 标量聚合
    • TOP
    • LEFT,RIGHT,OUTER JOIN(允许出现 INNER JOIN)
    • 子查询
    • 应用于对 CTE_query_definition 中的 CTE 的递归引用的提示.

 

下面的准则适用于使用递归公用表表达式:

  • 无论参与的 SELECT 语句返回的列的为 Null 性如何,递归 CTE 返回的全部列都可以为空.
  • 如果递归 CTE 组合不正确,可能会导致无限循环.例如,如果递归成员查询定义对父列和子列返回相同的值,则会造成无限循环.可以使用 MAXRECURSION 提示以及在 INSERT,UPDATE,MERGE,DELETE SELECT 语句的 OPTION 子句中的一个 0  32,767 之间的值,来限制特定语句所允许的递归级数,以防止出现无限循环.这样就能够在解决产生循环的代码问题之前控制语句的执行.服务器范围的默认值为100.如果指定 0,则没有限制.每一个语句只能指定一个 MAXRECURSION .
  • 不能使用包含递归公用表表达式的视图来更新数据.
  • 可以使用 CTE 在查询上定义游标.CTE 是定义游标结果集的 select_statement 参数.递归 CTE 只允许使用快速只进游标和静态(快照)游标.如果在递归 CTE 中指定了其他游标类型,则该类型将转换为静态游标类型.
  • 可以在 CTE 中引用远程服务器中的表.如果在 CTE 的递归成员中引用了远程服务器,那么将为每个远程表创建一个假脱机,这样就可以在本地反复访问这些表.如果为 CTE 查询,Index Spool/Lazy Spool 则显示在查询计划中,并具有额外的 WITH STACK 谓词.这是一种确认正确递归的方法.
  • SQL Server 2008 不允许在 CTE 的递归部分中使用分析和聚合函数.

 

 

示例

A. 创建一个简单公用表表达式

以下示例显示直接向 Adventure Works Cycles 的每个经理报告的雇员的数目.

USE AdventureWorks2008R2;
GO

WITH Sales_CTE (SalesPersonID, NumberOfOrders)
AS
(
SELECT SalesPersonID, COUNT(*)
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
GROUP BY SalesPersonID
)

SELECT SalesPersonID, NumberOfOrders
FROM Sales_CTE
ORDER BY SalesPersonID;
GO

B. 使用公用表表达式来限制次数和报告平均数

以下示例显示向经理报告的雇员的平均数.

WITH Sales_CTE (SalesPersonID, NumberOfOrders)
AS
(
SELECT SalesPersonID, COUNT(*)
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
GROUP BY SalesPersonID
)
SELECT AVG(NumberOfOrders) AS “Average Sales Per Person”
FROM Sales_CTE;
GO

C. 多次引用同一个公用表表达式

以下示例显示 SalesOrderHeader 表中每个销售人员的销售订单的总数和最近的销售订单的日期.CTE 在运行的语句中被引用两次:一次返回为销售人员所选的列,另一次检索销售经理的类似详细信息.销售人员和销售经理的数据都返回在一行中.

USE AdventureWorks2008R2;
GO
— Define the CTE expression name and column list.
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear)
AS
— Define the CTE query.
(
SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
)
— Define the outer query referencing the CTE name.
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear
FROM Sales_CTE
GROUP BY SalesYear, SalesPersonID
ORDER BY SalesPersonID, SalesYear;
GO

使用递归公用表表达式显示递归的多个级别.

以下示例显示经理以及向经理报告的雇员的层次列表.

USE AdventureWorks2008R2;
GO
WITH DirectReports(ManagerID, EmployeeID, Title, EmployeeLevel) AS
(
SELECT ManagerID, EmployeeID, Title, 0 AS EmployeeLevel
FROM dbo.MyEmployees
WHERE ManagerID IS NULL
UNION ALL
SELECT e.ManagerID, e.EmployeeID, e.Title, EmployeeLevel + 1
FROM dbo.MyEmployees AS e
INNER JOIN DirectReports AS d
ON e.ManagerID = d.EmployeeID
)
SELECT ManagerID, EmployeeID, Title, EmployeeLevel
FROM DirectReports
ORDER BY ManagerID;
GO

E. 使用递归公用表表达式显示递归的两个级别.

以下示例显示经理以及向经理报告的雇员.将返回的级别数目被限制为两个.

USE AdventureWorks2008R2;
GO
WITH DirectReports(ManagerID, EmployeeID, Title, EmployeeLevel) AS
(
SELECT ManagerID, EmployeeID, Title, 0 AS EmployeeLevel
FROM dbo.MyEmployees
WHERE ManagerID IS NULL
UNION ALL
SELECT e.ManagerID, e.EmployeeID, e.Title, EmployeeLevel + 1
FROM dbo.MyEmployees AS e
INNER JOIN DirectReports AS d
ON e.ManagerID = d.EmployeeID
)
SELECT ManagerID, EmployeeID, Title, EmployeeLevel
FROM DirectReports
WHERE EmployeeLevel <= 2 ;
GO

F. 使用递归公用表表达式显示层次列表

以下示例在示例 C 的基础上添加经理和雇员的名称,以及他们各自的头衔.通过缩进各个级别,突出显示经理和雇员的层次结构.

USE AdventureWorks2008R2;
GO
WITH DirectReports(Name, Title, EmployeeID, EmployeeLevel, Sort)
AS (SELECT CONVERT(varchar(255), e.FirstName + ‘ ‘ + e.LastName),
e.Title,
e.EmployeeID,
1,
CONVERT(varchar(255), e.FirstName + ‘ ‘ + e.LastName)
FROM dbo.MyEmployees AS e
WHERE e.ManagerID IS NULL
UNION ALL
SELECT CONVERT(varchar(255), REPLICATE (‘|    ‘ , EmployeeLevel) +
e.FirstName + ‘ ‘ + e.LastName),
e.Title,
e.EmployeeID,
EmployeeLevel + 1,
CONVERT (varchar(255), RTRIM(Sort) + ‘|    ‘ + FirstName + ‘ ‘ +
LastName)
FROM dbo.MyEmployees AS e
JOIN DirectReports AS d ON e.ManagerID = d.EmployeeID
)
SELECT EmployeeID, Name, Title, EmployeeLevel
FROM DirectReports
ORDER BY Sort;
GO

G. 使用 MAXRECURSION 取消一条语句

可以使用 MAXRECURSION 来防止不合理的递归 CTE 进入无限循环.以下示例特意创建了一个无限循环,然后使用MAXRECURSION 提示将递归级别限制为两级.

USE AdventureWorks2008R2;
GO
–Creates an infinite loop
WITH cte (EmployeeID, ManagerID, Title) as
(
SELECT EmployeeID, ManagerID, Title
FROM dbo.MyEmployees
WHERE ManagerID IS NOT NULL
UNION ALL
SELECT cte.EmployeeID, cte.ManagerID, cte.Title
FROM cte
JOIN  dbo.MyEmployees AS e
ON cte.ManagerID = e.EmployeeID
)
–Uses MAXRECURSION to limit the recursive levels to 2
SELECT EmployeeID, ManagerID, Title
FROM cte
OPTION (MAXRECURSION 2);
GO

 

在更正代码错误之后,就不再需要 MAXRECURSION.以下示例显示了更正后的代码.

USE AdventureWorks2008R2;
GO
WITH cte (EmployeeID, ManagerID, Title)
AS
(
SELECT EmployeeID, ManagerID, Title
FROM dbo.MyEmployees
WHERE ManagerID IS NOT NULL
UNION ALL
SELECT  e.EmployeeID, e.ManagerID, e.Title
FROM dbo.MyEmployees AS e
JOIN cte ON e.ManagerID = cte.EmployeeID
)
SELECT EmployeeID, ManagerID, Title
FROM cte;
GO

 

H. 使用公用表表达式来有选择地执行 SELECT 语句中的递归操作

以下示例显示了为 ProductAssemblyID = 800 生产自行车所需的产品装配和部件层次结构.

USE AdventureWorks2008R2;
GO
WITH Parts(AssemblyID, ComponentID, PerAssemblyQty, EndDate, ComponentLevel) AS
(
SELECT b.ProductAssemblyID, b.ComponentID, b.PerAssemblyQty,
b.EndDate, 0 AS ComponentLevel
FROM Production.BillOfMaterials AS b
WHERE b.ProductAssemblyID = 800
AND b.EndDate IS NULL
UNION ALL
SELECT bom.ProductAssemblyID, bom.ComponentID, p.PerAssemblyQty,
bom.EndDate, ComponentLevel + 1
FROM Production.BillOfMaterials AS bom
INNER JOIN Parts AS p
ON bom.ProductAssemblyID = p.ComponentID
AND bom.EndDate IS NULL
)
SELECT AssemblyID, ComponentID, Name, PerAssemblyQty, EndDate,
ComponentLevel
FROM Parts AS p
INNER JOIN Production.Product AS pr
ON p.ComponentID = pr.ProductID
ORDER BY ComponentLevel, AssemblyID, ComponentID;
GO

I.  UPDATE 语句中使用递归 CTE

以下示例为直接或间接用于创建 ProductAssemblyID 800 的所有部件和组件更新 PerAssemnblyQty .公用表表达式将返回用于直接生成 ProductAssemblyID 800 的部件和用于生成这些组件的部件等的列表.只修改公用表表达式所返回的行.

USE AdventureWorks2008R2;
GO
WITH Parts(AssemblyID, ComponentID, PerAssemblyQty, EndDate, ComponentLevel) AS
(
SELECT b.ProductAssemblyID, b.ComponentID, b.PerAssemblyQty,
b.EndDate, 0 AS ComponentLevel
FROM Production.BillOfMaterials AS b
WHERE b.ProductAssemblyID = 800
AND b.EndDate IS NULL
UNION ALL
SELECT bom.ProductAssemblyID, bom.ComponentID, p.PerAssemblyQty,
bom.EndDate, ComponentLevel + 1
FROM Production.BillOfMaterials AS bom
INNER JOIN Parts AS p
ON bom.ProductAssemblyID = p.ComponentID
AND bom.EndDate IS NULL
)
UPDATE Production.BillOfMaterials
SET PerAssemblyQty = c.PerAssemblyQty * 2
FROM Production.BillOfMaterials AS c
JOIN Parts AS d ON c.ProductAssemblyID = d.AssemblyID
WHERE d.ComponentLevel = 0;

使用多个定位点和递归成员

以下示例使用多个定位点和递归成员来返回指定的人的所有祖先.创建了一个表,并在表中插入值,以建立由递归 CTE 返回的宗谱.

— Genealogy table
IF OBJECT_ID(‘dbo.Person’,’U’) IS NOT NULL DROP TABLE dbo.Person;
GO
CREATE TABLE dbo.Person(ID int, Name varchar(30), Mother int, Father int);
GO
INSERT dbo.Person
VALUES(1, ‘Sue’, NULL, NULL)
,(2, ‘Ed’, NULL, NULL)
,(3, ‘Emma’, 1, 2)
,(4, ‘Jack’, 1, 2)
,(5, ‘Jane’, NULL, NULL)
,(6, ‘Bonnie’, 5, 4)
,(7, ‘Bill’, 5, 4);
GO
— Create the recursive CTE to find all of Bonnie’s ancestors.
WITH Generation (ID) AS
(
— First anchor member returns Bonnie’s mother.
SELECT Mother
FROM dbo.Person
WHERE Name = ‘Bonnie’
UNION
— Second anchor member returns Bonnie’s father.
SELECT Father
FROM dbo.Person
WHERE Name = ‘Bonnie’
UNION ALL
— First recursive member returns male ancestors of the previous generation.
SELECT Person.Father
FROM Generation, Person
WHERE Generation.ID=Person.ID
UNION ALL
— Second recursive member returns female ancestors of the previous generation.
SELECT Person.Mother
FROM Generation, dbo.Person
WHERE Generation.ID=Person.ID
)
SELECT Person.ID, Person.Name, Person.Mother, Person.Father
FROM Generation, dbo.Person
WHERE Generation.ID = Person.ID;
GO

UPDATE SET FROM 语句

有这样一个需求:两个表ab,想使b中的memo字段值等于a表中对应id的name值  

a:

id

name  

1

Kobe

2

Jordon

3

Yao

b:

id

memo

1

 

2

 

3

 

T-SQL语句:UPDATE b SET b.memo = a.name FROM a, b WHERE a.id = b.id

 

UPDATE SET FROM 语句格式

WHERESET都需要关联一个表进行查询时,整个UPDATE执行时,就需要对被关联的表进行两次扫描,显然效率比较低.

对于这种情况Sybase和SQL SERVER的解决办法是使用UPDATE…SET…FROM…WHERE…的语法,实际上就是从源表获取更新数据.

T-SQL中,表连接(LEFT JOIN, RIGHT JOIN, INNER JOIN)等常常用于SELECT语句,其实在T-SQL语法中,这些连接也是可以用于UPDATEDELETE语句的,在这些语句中使用JOIN还常常得到事半功倍的效果.

UPDATE b SET b.memo = a.name FROM b LEFT JOIN a ON a.id = b.id

如果需要更新多个字段的话使用:

UPDATE A  SET A1 = B1, A2 = B2, A3 = B3  FROM A LEFT JOIN B ON A.ID = B.ID

或者:

UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A, B WHERE A.ID = B.ID

防止表被删除的触发器

问题:如何防止数据库中表被删除,除了控制权限(登录账户没有删除表的权限)之外还可以通过创建触发器实现

创建触发器方法:

1.创建一个数据库级别的触发器,防止表被误删除

 

2.当删除表时会有如下图提示:

 

如何保存数据库级别修改的记录

前几天在论坛上发了一个帖子”SQL Server 2008如何查看表结构修改记录“,很感谢马上有人热心回复并给出建议,现在我把问题的原因和到最后的解决办法与大家分享,希望对大家有帮助.

问题:上午一上班就有用户打电话说系统出了问题,第一反应是马上去看系统是否有BUG,经过测试之后发现系统是完全没有问题的,但是原来能使用此页面的用户竟然都没有了权限,再次DEBUG系统时,发现从数据库的权限表里拿到的数据都是乱码,推测应该是有人修改了表的”排序规则”,使得中文部分都变成了问号,最郁闷的是查看日志之后也不知道是谁修改的,赶紧先把数据库恢复,之后分析原因主要有以下几点:

1.对数据库权限粒度划分不明确;

2.对数据库修改的日志没有记录;

解决办法:

1.创建数据库修改日志表(如何害怕不小心被删除,可以参考防止表被删除的触发器)

  1. USE [QSBN]
  2. GO
  3. SET ANSI_NULLS ON
  4. GO
  5. SET QUOTED_IDENTIFIER ON
  6. GO
  7. — 创建数据库修改日志表
  8. CREATE TABLE dbo.[DatabaseModifiedLog](
  9.          [ID] INT           IDENTITY(1,1) NOT NULL,
  10.          [EventType]        NVARCHAR(500) NULL,
  11.          [PostTime]         DATETIME NULL,
  12.          [ClientUser]       NVARCHAR(10) NULL,
  13.          [ServerName]       NVARCHAR(250) NULL,
  14.          [LoginName]        NVARCHAR(250) NULL,
  15.          [UserName]         NVARCHAR(250) NULL,
  16.          [DatabaseName]     NVARCHAR(250) NULL,
  17.          [SchemaName]       NVARCHAR(250) NULL,
  18.          [ObjectName]       NVARCHAR(250) NULL,
  19.          [ObjectType]       NVARCHAR(250) NULL,
  20.          [CommandText]      NVARCHAR(MAX) NULL,
  21.          [EventData]        XML NULL,
  22. PRIMARY KEY CLUSTERED
  23. ([ID] ASC)
  24. WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
  25. )ON [PRIMARY]
  26. GO

2.创建数据库级别的触发器

  1. — 创建数据库级别的触发器
  2. CREATE TRIGGER [DataBase_DDL_TRIGGER]
  3. ON DATABASE
  4. FOR DDL_DATABASE_LEVEL_EVENTS
  5. AS
  6.   DECLARE @EventData        XML
  7.   DECLARE @EventType        NVARCHAR(250)
  8.   DECLARE @PostTime         DATETIME
  9.   DECLARE @SPID             NVARCHAR(6)
  10.   DECLARE @ClientUser       NVARCHAR(50)
  11.   DECLARE @ServerName       NVARCHAR(250)
  12.   DECLARE @LoginName        NVARCHAR(250)
  13.   DECLARE @UserName         NVARCHAR(250)
  14.   DECLARE @DatabaseName     NVARCHAR(250)
  15.   DECLARE @SchemaName       NVARCHAR(250)
  16.   DECLARE @ObjectName       NVARCHAR(250)
  17.   DECLARE @ObjectType       NVARCHAR(250)
  18.   DECLARE @CommandText      NVARCHAR(MAX)
  19.   SET @EventData = EVENTDATA();
  20.   SET @EventType = @EventData.value(‘(/EVENT_INSTANCE[1]/EventType[1])’, ‘NVARCHAR(250)’)
  21.   SET @PostTime = @EventData.value(‘(/EVENT_INSTANCE[1]/PostTime[1])’, ‘DATETIME’)
  22.   SET @SPID = @EventData.value(‘(/EVENT_INSTANCE[1]/SPID[1])’, ‘NVARCHAR(6)’)
  23.   SELECT @ClientUser = hostname FROM master..sysprocesses WHERE spid = @SPID
  24.   SET @ServerName = @EventData.value(‘(/EVENT_INSTANCE[1]/ServerName[1])’, ‘NVARCHAR(250)’)
  25.   SET @LoginName = @EventData.value(‘(/EVENT_INSTANCE[1]/LoginName[1])’, ‘NVARCHAR(250)’)
  26.   SET @UserName = @EventData.value(‘(/EVENT_INSTANCE[1]/UserName[1])’, ‘NVARCHAR(250)’)
  27.   SET @DatabaseName = @EventData.value(‘(/EVENT_INSTANCE[1]/DatabaseName[1])’, ‘NVARCHAR(250)’)
  28.   SET @SchemaName  = @EventData.value(‘(/EVENT_INSTANCE[1]/SchemaName[1])’, ‘NVARCHAR(250)’)
  29.   SET @ObjectName = @EventData.value(‘(/EVENT_INSTANCE[1]/ObjectName[1])’, ‘NVARCHAR(250)’)
  30.   SET @ObjectType = @EventData.value(‘(/EVENT_INSTANCE[1]/ObjectType[1])’, ‘NVARCHAR(250)’)
  31.   SET @CommandText = @EventData.value(‘(/EVENT_INSTANCE[1]/TSQLCommand[1]/CommandText[1])’, ‘NVARCHAR(MAX)’)
  32. — 将记录插入到数据库
  33. INSERT INTO [dbo].[DatabaseModifiedLog]
  34.            ([EventType]
  35.            ,[PostTime]
  36.            ,[ClientUser]
  37.            ,[ServerName]
  38.            ,[LoginName]
  39.            ,[UserName]
  40.            ,[DatabaseName]
  41.            ,[SchemaName]
  42.            ,[ObjectName]
  43.            ,[ObjectType]
  44.            ,[CommandText]
  45.            ,[EventData])
  46.      VALUES
  47.            (@EventType
  48.            ,@PostTime
  49.            ,@ClientUser
  50.            ,@ServerName
  51.            ,@LoginName
  52.            ,@UserName
  53.            ,@DatabaseName
  54.            ,@SchemaName
  55.            ,@ObjectName
  56.            ,@ObjectType
  57.            ,@CommandText
  58.            ,@EventData)
  59. GO
  60. SET ANSI_NULLS OFF
  61. GO
  62. SET QUOTED_IDENTIFIER OFF
  63. GO
  64. DISABLE TRIGGER [DataBase_DDL_TRIGGER] ON DATABASE
  65. GO
  66. ENABLE TRIGGER [DataBase_DDL_TRIGGER] ON DATABASE
  67. GO

3.执行DDL语句之后,查看日志表中数据,如图:

SQLServer2008阻止保存要求重新创建表的更改

问题:当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示:不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的标进行了更改或者启用了”阻止保存要求重新创建表的更改”选项,如图:

解决办法:

1.打开SQL Server 2008选择”工具”菜单,选择”选项”,如图:

 

2.选择”Desgners(设计器)”菜单中的”表设计器和数据库设计器”选项,看到”表选项”中的”组织保存要求重新创建表的更改”选项是选中状态,如图:

 

3.勾选掉此选项,点击确定即可.如图:

国家信息(德语)

德语中一些国家信息的表示方法:

 国家

国家人()

国家人()

国家的

语言

Indien(印度)

der Inder

die Inderin

indisch

Englisch

England(英格兰)

der Engländer

die Engländerin

englisch

Englisch

Italien(意大利)

der Italiener

die Italienerin

italienisch

Italienisch

die Schweiz(瑞士)

der Schweizer

die Schweizerin

schweizerisch

Schweizerdeutsch

Südafrika(南非)

der Südafrikaner

die Südafrikanerin

südafrikanish

 

die Niederlande(pl.)(荷兰)

der Niederländer

die Niederländerin

niederländisch

Niederländisch

Japan(日本)

der Japaner

die Japanerin

japanisch

Japanisch

Amerika(美国)

der Amerikaner

die Amerikanerin

amerikanisch

English

Südkorea(韩国)

der Koreaner

die Koreanerin

koreanisch

Koreanisch

Ungarn(匈牙利)

der Ungar

die Ungarin

ungarisch

Ungarisch

der Libanon(黎巴嫩)

der Libanese

die Libanesin

libanesisch

Libanesisch

die Türkei(土耳其)

der Türke

die Türkin

türkisch

Türkisch

Russland(俄罗斯)

der Russe

die Russin

russisch

Russisch

China(中国)

der Chinese

die Chinesin

chinesisch

Chinesisch

Tschechien(捷克)

der Tscheche

die Tschechin

tschechisch

Tschechisch

Frankreich(法国)

der Franzose

die Französin

französisch

Französisch

Deutschland(德国)

der Deutsche

die Deutsche

deutsch

Deutsch

Chile(智利)

der Chilene

die Chilenin

chilenisch

Chilenisch

Rumänien(罗马尼亚)

der Rumäne

die Rumänin

rumänisch

Rumänisch

die Dänemark(丹麦)

der Däne

die Dänin

dänisch

Dänisch

瑞托罗马

der Rätoromane

die Rätoromanin

rätoromanisch

Rätoromanisch

Polen(波兰)

der Pole

die Polin

polnisch

Polnisch

大不列颠

der Brite

die Britin

britisch

English

Übung zum Semesterabschlusstest 3 Passwort Deutsch A1“

Teil 2 Grammatik und Wortschatz (82 P)

I. Wählen Sie die richtige Antwort aus. (6 P)

1. Welches ch ist anders?

   a) chinesisch        b) Bücher        c) kochen        d) dich

2. Welches Land liegt nicht in Europa?

   a) Belgien        b) Ungarn    c) Ecuador    d) Tschechen

3. Hast du keinen Onkel in Deutschland? – _________, ich habe nur eine Tante dort.

   a) Nein            b) Ja        c) Doch        d) Richtig

4. Wie spricht man die Uhrzeit „20.25“ aus?

   a) Fünf nach halb acht            b) Fünf nach halb neun

   c) Fünfundzwanzig nach neun        d) Fünf vor halb neun

5. Welches a ist lang?

   a) bald        b) fahren        c) lang        d) Stadt   

6. Sprechen Sie Deutsch? – __________, aber nur ein bisschen.

   a) Ja            b) Nein        c) Richtig        d) Doch

 

II. Ergänzen Sie die folgenden Artikelwörter. (8 P)

    das, der, ein, eine, einen, keinen, /, /

1. Im Souvenirladen gibt es __________ Postkarten und Souvenirartikel.

2. Wie heißt _____________ Fernsehturm von Shanghai?

3. Willst du ____________ Wörterbuch haben? Ich habe schon zwei Wörterbücher.

4. Am Bund liegt __________ Peace-Hotel.

5. Das Kind lernt jetzt gerade _________ Klavier spielt.

6. Er bestellt ___________ Tasse Kaffee.

7. Findest du deutsche Filme interessant? – Nein, ich habe noch _________ Film gesehen.

8. Was möchten Sie haben? – Ich nehme ________ Wintermantel.

 

III. Ergänzen Sie das passende Personalpronomen. (5 P)

1. Peter kommt aus Deutschland. Ich möchte ________ gern kennen lernen.

2. Die Kinder schlafen noch. Kannst du __________ wecken?

3. Gestern habe ich _________ auf der Straße gesehen. Du warst mit deinem Freund im Kaufhaus.

4. Eine Kollegin von Frau Bürgi kommt aus Indien und spricht mit ________ nur Englisch.

5. Herr Eberle arbeitet bei einer Chemiefirma. _________ befindet sich in Basel.

6. Unsere Studenten sind sehr freundlich und fleißig. Mit ____________ hat man viel Spaß.

7. Habt ihr jetzt Zeit für mich? Ich möchte mit _______ Deutsch sprechen.

8. Unser Onkel kommt oft zu uns zu Besuch. Er bringt manchmal Schokolade für ________ .

9. Zu ___________ kannst du oft kommen. Ich bleibe doch zu Hause.

10. Der alte Fernseher aus Deutschland hat gute Qualität. ___________ funktioniert nach 15 Jahren noch.

 

IV. Ergänzen Sie das passende Possessivpronomen. (5 P)

1. Sie wohnt in der City und ist mit ___________ Kleinzimmer sehr zufrieden.

2. Diese Projektarbeit haben wir allein geschrieben. Wie findest du __________ Arbeit?

3. Hanna und Petra sind meine Kolleginnen aus der Schweiz. _________ Mutter arbeitet noch auf dem Land.

4. Hast du viele Bücher über Deutschland? Wir möchten gern _________ Bücher lesen.

5. Frau Stein, wir möchten gern _______ neue Wohnung einmal besichtigen.

6. Klaus geht immer gern mit _________ Freundin ins Kino.

7. Das Kind möchte die Großmutter besuchen. ________ Vater kommt natürlich gern mit.

8. Was sollen wir als Geschen für _________ Kinder bringen, Herr und Frau Motsch?

9. Hast du ________ Brille gesehen? Ich finde sie nicht.

10. Was ist _________ Vater von Beruf, Sabine?

 

V. Ergänzen Sie die folgenden Verben im Präsens. (8 P)

   „anfangen, ankommen, einladen, essen, fernsehen, lesen, nehmen, werden“

1. Martin hat viel Arbeit. Er ________ nur am Samstag eine Stunde _____________ .

2. Er ____________ bald Chemiker. Als Laborant arbeitet er bei BASF.

3. Das Essen schmeckt nicht gut. _________ du es wirklich?

4. Die Gäste ____________ pünktlich ___________. Die Studenten begrüßen die Gäste.

5. __________ ihr gern Bücher oder Zeitungen?

6. Zu Weihnachten möchten wir Studienkollegen ______________ .

7. Ich hätte gern einen Hamburger. ___________ du auch einen Hamburger, Peter?

8. Der Unterricht _________ um 18 Uhr ___________ ?

 

VI. Ergänzen Sie die folgenden Modalverben im Präsens. (6 P)

    „dürfen, können x 2, müssen x 2, wollen“

1. Ich _________ noch nicht Auto fahren. Deshalb ________ ich immer mit dem Taxi fahren.

2. Im nächsten Semester_________ Xiao Wang den Deutschkurs besuchen. Er möchte nach Deutschland zum Studium gehen.

3. In Deutschland _________ man bei Rot stehen bleiben. Man _________ nicht über die Straße gehen.

4. Wer __________ mir beim Deutschlernen helfen? Ich habe noch Probleme.

 

VII. Ergänzen Sie „es gibt“, „sein“ und „haben“ im Präsens oder im Präteritum. (6 P)

Jetzt (1) _________ wir Studenten Jobs, früher (2) ________ keine Jobs. Ohne Jobs (3) __________ viele dann nicht so glücklich, und natürlich (4)________ sie auch nicht zufrieden. Aber früher (5) ________ viele trotzdem zufrieden, und viele (6) ______ früher Zeit.

 

VIII. Ergänzen Sie das gegebene Verb im Perfekt. (10 P)

1. (steigen) Außerdem ___________ ich noch auf den Berg _________ .

2. (arbeiten) Von 2002 bis 2004 ___________ ich bei der Universität Bonn _____________ .

3. (verlieren) Leider _____________ mein Bruder seine Uhr _____________ .

4. (sprechen) __________ du mit Deutschen nur Englisch ____________ ?

5. (bleiben) Gestern Abend _________ wir leider nicht zu Hause _________.

6. (aufstehen) Ihr _________ gestern Morgen sehr spät ____________ .

7. (gehen) Johann ____________ ins Kino ________________ .

8. (mitbringen) _____________ Gabi das Wörterbuch __________ ?

9. (abfahren) Der Bus nach Bonn _____________ leider schon ____________ .

10. (reservieren) _____________ die Gäste das Zimmer ____________ ?

 

IX. Stellen Sie zum unterstrichenen Teil des Satzes eine Frage. (10 P)

1. Frau Raptis kocht das Abendessen für ihre Familie.

2. Lisa spricht gern mit ihren Freundinnen.

3. Linda braucht viele Bücher für ihr Studium.

4. Der Unterricht fängt um 18 Uhr an.

5. Maria gefällt das Kleid in Grün sehr gut.

6. Familie Karl möchte einen Computer kaufen.

7. Herr Schmidt fährt im Sommer nach Spanien.

8. Frau Eberle kommt gerade aus Freiburg vom Arzt.

9. Frau Miller ist sehr freundlich.

10. Das Hochhaus ist 345 Meter hoch.

 

X. Ergänzen Sie das gegebene Adjektiv oder Adverb im Positiv, Komparativ oder Superlativ. (6 P)

1. (gesund) Gemüse ist viel _________als das Schweinefleisch.

2. (schnell) Das Velo fährt nicht so _________ wie das Auto.

3. (viel) Was kaufst du ____________, Gemüse, Obst oder Fisch?

4. (teuer) Ein Auto ist natürlich ____________ als ein Fahrrad.

5. (schlecht) Von den vier Getränken ist die Qualität von Orangesaft ____________ .

6. (gern) Was trinkst du __________, Apfelsaft oder Mineralwasser?

 

XI. Ergänzen Sie die passende Präposition und die entsprechend Artikelendung. (12 P)

1. Makay und Rudi kommen ____________ d___ Niederlanden.

2. Josef arbeitet jetzt ___________ ein____ Fabrik.

3. Frau Müller macht jeden Tag Mittagessen __________ d_______ Kinder.

4. Am Sonntag gehe ich gern __________ mein____ Eltern in den Park.

5. Die Studenten machen Hausaufgaben _________ ein_____ Café.

6. Sie geht ___________ d_______ Markt und möchte ein paar Schreibwaren kaufen.

7. Viel Leute stehen _________ d____ Bushaltestelle und warten auf den Bus.

8. Die Kinder kommen gegen halb eins __________ d______ Schule zurück.

9. _________ d____ Sportplätzen machen die Studenten Sport.

10. Ich fahre selten _________ d_____ Fahrrad zur Arbeit.

11. Ich wohne noch ___________ mein_______ Eltern.

12. Im August fliegen Herr und Frau Busch ________ d___ Schweiz.

Lösung 

Teil 2:

I.1-6bccadba

II.1./;2.der;3.ein;4.das;5./;6.eine;7.keinen;8.einen

III.1.ihn;2.sie;3.dich;4.ihr;5.Sie;6.ihnen;7.euch;8.uns;9.mir;10.Er

IV.1.ihrem;2.unsere;3.Ihre;4.deine;5.Ihre;6.seiner;7.Sein;8.Ihre;9.meine;10.dein

V.1.sieht fern;2.wird;3.Isst;4.kommen an;5.Lest;6.einladen;7.Nimmst;8.fängt an

VI.1.kann muss;2.will;3.muss darf;4.kann

VII.1.haben;2.gab es;3.sind;4.sind;5.waren;6.hatten

VIII.1.bin gestiegen;2.habe gearbeitet;3.hat verloren;4.Hast gesprochen;5.sind geblieben;

     6.seid aufgestanden;7.ist gegangen;8.Hat mitgebracht;9.ist abgefahren;10.Haben reserviert

IX.1. Für wen kocht Frau Raptis das Abendessen?

   2. Womit spricht Lisa gern?

   3. Wofür braucht Linda viele Bücher?

   4. Um wie viel Uhr fängt Der Unterricht an?

   5. Welches kleid gefällt Maria sehr gut?

   6. Was möchte Familie Karl kaufen?

   7. Wohin fährt Herr Schmidt im Sommer?

   8. Woher kommt Frau Eberle gerade?

   9. Wie ist Frau Miller?

   10. Wie hoch ist Das Hochhaus?

X.1.gesünder;2.schnell;3.am meisten;4.teurer;5.am schlechtesten;6.lieber

XI.1.aus den;2. bei einer;3.für die;4.mit meinen;5.in einem;6.auf den;

   7.an der;8.von der;9.Auf den;10.mit dem;11.bei meinen;12.in die

Übung zum Semesterabschlusstest 2 Passwort Deutsch A1“

Teil 1 Hörverstehen(10P)

I. Hören Sie den Text zweimal und dann ergänzen Sie zu jeder Lücken ein Wörter. (1 P x 6)

Julia gibt heute __1__ eine Party. Thomas hat __2__ keine Zeit. Er fährt nach Hause und lernt __3__ . Am Donnerstag __4__ er ein Diktat. Am __5__ gibt es immer Hausaufgaben und er hat auch keine Zeit für __6__ .

 

II. Hören Sie den Text dreimal. Sind die Sätze richtig (r) oder falsch (f). (1 P x 4)

 

 

r

f

1.

Meine Großmutter ist schon 74 Jahre alt.

(   )

(   )

2.

Meine Großmutter steht morgens um 8.30 Uhr auf.

(   )

(   )

3.

Meine Großmutter isst gern Gemüse und Obst.

(   )

(   )

4.

Meine Großmutter lebt jetzt allein.

(   )

(   )

 

Teil 2 Grammatik und Wortschatz (82 P)

I. Wählen Sie die richtige Antwort aus. (1 x 10 P)

1. Welchen unterstrichenen Teil spricht man anders aus?

   a) mitten        b) China        c) ihm        d) Lied

2. A: ______ ist Ihre Adresse? B: Meine Adresse ist Sandhofstraße 12.

   a) Was        b) Wo        c) Wie        d) Wohin

3. _____ Sie Französisch oder Englisch?

   a) Sprechen        b) Sagen        c) Erzählen    d) Erklären

4. ________ Farbe hätten Sie gern?

   a) Wo            b) Was        c) Wie        d) Welche

5. Die Mutter bereitet das Frühstück _________.

   a) an            b) auf        c) ein        d) vor

6. Wir möchten zwei _________ Obstkuchen.

   a) Stück        b) Stücke        c) Glas        d) Gläser

7. Welches Wort passt hier nicht?

   a) Zitrone        b) Berg        c) Tomate        d) Banane

8. A: Kommen Sie aus China? B: _______ wir sind aus China, aus Shanghai.

   a) Nein        b) Ja            c) Doch        d) Aber

9. Wie spricht man die Uhrzeit „15.25“ richtig aus?

   a) drei Uhr fünfundzwanzig    b) fünf vor halb vier

c) fünf nach halb vier        d) fünfunddreißig vor vier

10. Wie spricht man die Zahl „4031“ aus?

   a) viertausendeinunddreizig            b) viertausendeinsunddreißig

c) viertausendundeinunddreißig        d) viertausendeinunddreißig

 

II. Ergänzen Sie die folgenden Artikelwörter. (0,5 P x 10)

    den, der, die, eine, einem, einen, keine, keinen, /, /“

1. Shanghai ist __________ Stadt in China.

2. In meinem Zimmer gibt es ein Telefon, _____________ Computer und viele Bücher.

3. Ich lese _________ Bücher. Ich lese nur die Zeitung.

4. Mein Vater ist ____________ Koch. Ich finde seinen Beruf interessant.

5. Die Kinder spielen gern __________ Fußball.

6. Heute habe ich _________ Unterricht. Ich möchte mit meiner Freundin ins Kino gehen.

7. Die Lehrerin arbeitet in ___________ Schule.

8. Meine Eltern steigen auf ________ Kirchturm.

9. Das sind Restaurants. ___________ Restaurants liegen im Zentrum.

10. Der Journalist interviewt Leute in ___________ Café.

 

III. Ergänzen Sie das passende Personalpronomen. (0,5 P x 10)

1. Das sind Andreas und Nina. Mit ________ bin ich gut befreundet.

2. Er kommt aus Italien. Ich verstehe __________ nicht.

3. Hallo, Lisa und Christina. Wohin geht ihr? Der Lehrer sucht _________ .

4. Nehmen Sie den Regenschirm! ________ regnet.

5. Meine Freundin kann gut kochen. Ich esse oft bei _________ .

6. Anna, hast du heute Mittag Zeit? Ich möchte ____________ zum Essen einladen.

7. Das ist Frau Meyer, _______ ist meine Kollegin.

8. Hallo Peter, Wie geht es ________?

9. Wir sind morgen zu Hause. Besuchen Sie ___________ ?

10. Kennst du ___________ nicht? Ich bin dein Mitschüler.

 

IV. Ergänzen Sie den passenden Possessivartikel in der richtigen Form! (1 P x 8)

1. Frau Müller, wie geht es ___________ Familie?

2. Anna und Peter, ich suche __________ Eltern. Wo sind sie?

3. Der Vater spielt oft mit _________ Kindern.

4. A: Wo arbeitet dein Bruder? B: _________ Bruder arbeitet bei Siemens.

5. Die Kinder spielen gern in _______ Zimmer.

6. Am Wochenende sind wir zu _________ Großmutter gefahren.

7. Das Kind hat ________ Geld verloren.

8. Frau Mainka ist Hausfrau. _________ Hobby ist Musik hören.

 

V. Ergänzen Sie die folgenden Verben im Präsens. (1 P x 10)

   „aufräumen, essen, fahren, fotografieren, hören, kosten, lesen, stattfinden, waschen, wissen“

1. Der Zug ________ von Berlin nach München.

2. Das Expo 2010 ____________ in Shanghai __________.

3. Meine Großmutter _________ jeden Tag Radio.

4. Der Computer ____________ 900 Euro.

5. Der Koch __________ die Kartoffeln und schält sie.

6. Meine Tante _________ sehr gern Bücher.

7. Die Zimmermädchen ___________ die Zimmer _______ .

8. A: Peter, was _________ du gern ? B: Ich esse gern Fisch.

9. A: Was ist sein Bruder von Beruf? B: Das ________ ich nicht.

10. A: Was machst du denn ? B: Ich _______ das Rathaus.

 

VI. Ergänzen Sie die folgenden Verben im Perfekt. (1 P x 10)

   „ankommen, aufstehen, besichtigen, bleiben, gehen, machen, produzieren, treffen, vergessen, werden“

1. Unsere Kinder __________ den ganzen Tag zu Hause ___________ .

2. Elisabeth ___________ krank _____________ und kann heute nicht zum Unterricht kommen.

3. Wen ____________ ihr gestern im Supermarkt ________________ ?

4. Die Fabrik __________ im Jahr 2006 viele Autos ____________ .

5. Ich _________ die Kirche schon ____________ ?

6. Wir _____________ heute Morgen sehr früh __________ und haben dann zu Hause gefrühstückt.

7. Unsere Gäste _________ gestern in Shanghai __________.

8. _____________ du am Nachmittag einen Spaziergang ____________ ?

9. Die Suppe schmeckt nicht. Mein Vater ___________ wieder den Salz _________ .

10. Wohin _____________ ihr gestern _____________ ? Ins Kino?

 

VII. Ergänzen Sie die folgenden Modalverben im Präsens. (1 P x 5)

   „dürfen, können, möchte-. müssen, wollen“

1. Im Unterricht ________ man nicht telefonieren.

2. Du hast Urlaub. Du _________ nicht arbeiten.

3. Das Kind ist fünf Jahre alt. Es _________ noch nicht schreiben.

4. Thomas und Nina, wir spielen Karten. __________ ihr mitspielen?

5. Die Kinder _________ später Ärzte werden.

 

VIII. Ergänzen Sie „es gibt“, „sein“ und „haben“ im Präsens oder im Präteritum. (0,5 P x 10)

1. Früher ________ ich Koch, jetzt ___________ ich Rentner.

2. Gestern _________ ich keinen Unterricht. Ich _________ in Hongzhou.

3. Meine Mutter _________ immer Zeit für mich.

4. Die Geschäfte __________ früher klein, aber man ________ mehr Kontakt.

5. Früher _________ hier keinen Supermarkt. Heute __________ die Supermarkte hier sehr groß. Dort _________ alles.

 

IX. Ergänzen Sie die folgende Adjektive im Positiv, Komparativ oder Superlativ. (1 P x 8)

   „alt, gern, hoch, interessant, sauber, schnell, teuer, viel“

1. Ich habe _________ Bücher als er.

2. Ich wohne _________ in der Stadt als auf dem Land.

3. Die Luft auf dem Land ist ____________ als in der Stadt.

4. Die Wohnungen in Shanghai sind ____________ als in Chengdu.

5. Mit dem Auto kann man genauso ____________ fahren wie mit dem Zug.

6. Der Kölner Dom ist 160 Meter hoch. Er ist in Deutschland __________ .

7. Den Film finde ich sehr ____________. Ich möchte ihn noch einmal sehen.

8. Ich bin 18 Jahre alt und meine Brüder sind 15 und 12. Ich bin __________ .

 

X. Ergänzen Sie die passende Präposition mit dem bestimmten Artikel, wenn nötig! (1 P x 8)

1. Morgen fahren meine Eltern ____________ die Schweiz.

2. Ich bin krank und muss ___________ Arzt fahren.

3. Das Auto kommt __________ Amerika.

4. Mein Vater kommt jeden Tag spät __________ der Arbeit nach Hause.

5. Die Leute warten _________ der Haltstelle.

6. Meine Großmutter kauft immer _______ dem Markt ein.

7. _________ Sonntag habe ich Englischkurs.

8. Die Kinder gehen jeden Tag __________ 9 Uhr ins Bett.

 

XI. Stellen Sie zum unterstrichenen Teil des Satzes eine Frage. (1 P x 6)

1. Ohne meine Frau ist die Reise nicht schön.

2. Helga hat das Gemüse für ihre Familie gekauft.

3. Martin Miller geht in die Touristen-Information.

4. Hans studiert in Köln.

5. Die Kellnerin bringt einen Kaffee.

6. Die Fotografin fotografiert Menschen auf dem Platz.

 

Teil 3 Leseverstehen (10 P)

Autofahren? Radfahren oder zu Fuß gehen?

Martin arbeitet seit Juli bei der Firma Siemens. Er verdient dort zwar nicht wenig, aber das Leben ist teuer, und die Miete für seine Wohnung ist auch nicht gerade niedrig. Trotzdem hat er schon etwas gespart (sparen:节省,储蓄).

Martin möchte ein Auto kaufen und denkt sofort an einen Mercedes. Aber Mercedes ist für ihn zu teuer. Sein Auto muss billig sein. Deshalb hat ein billiges Auto gekauft. Es ist zwar nicht neu, aber gut. Dann spart er Zeit. Von seiner Wohnung zur Firma sind es mit dem Auto nur ein paar Minute. Es ist sehr bequem. Aber er muss Benzin (汽油) und Versicherung (保险) bezahlen. Trotzdem ist er zufrieden, aber nicht lange. Ein paar Monate später war sein Auto kaputt (坏了). Die Reparatur (修理) war sehr teuer. Er hat es schnell verkauft.

Aber Martin braucht doch ein Verkehrsmittel! Mit dem Bus fahren? Dann muss er immer warten. Also denkt er an ein Fahrrad. Ein Fahrrad ist zwar langsam, aber sehr billig und Fahrradfahren ist gesund. So kauft er im Kaufhaus ein Fahrrad. Martin ist zufrieden, aber auch dieses Mal nicht lange. Er hat es einmal nicht abgeschlossen (锁上) und nur ist es verschwunden (消失,不翼而飞)!

Jetzt muss er täglich zu Fuß zur Arbeit! Die Firma ist nicht weit, und es macht auch Spaß.

 

I. Lesen Sie den Text und dann markieren Sie richtig (r) oder falsch (f). (1 P x 10)

 

 

r

f

1.

Martin arbeitet seht dem Sommer bei Siemens.

(   )

(   )

2.

Er verdient sehr wenig.

(   )

(   )

3.

Die Miete ist hoch. Deshalb hat er kein Geld mehr.

(   )

(   )

4.

Er möchte einen Mercedes kaufen, aber er ist zu teuer.

(   )

(   )

5.

Er hat ein Auto gekauft. Das Auto ist alt.

(   )

(   )

6.

Er wohnt sehr weit von der Firma.

(   )

(   )

7.

Ein paar Jahre später ist das Auto kaputt.

(   )

(   )

8.

Die Reparatur war sehr teuer. Deshalb hat er sein Auto verkauft.

(   )

(   )

9.

Martin fährt gern mit dem Bus.

(   )

(   )

10.

Fahrradfahren ist gefährlich(危险的).

(   )

(   )


Lösung 

Teil 1:

Teil 2:

I.1-5acadd;6-10abbbd

II.1.eine;2.einen;3.keine;4./;5./;6.keinen;7.der;8.den;9.Die;10.einem

III.1.ihnen;2.ihn;3.euch;4.Es;5.ihr;6.dich;7.sie;8.dir;9.uns;10.mich

IV.1.Ihrer;2.eure;3.seinen;4.Mein;5.ihrem;6.unserer;7.sein;8.Ihr

V.1.fährt;2.findet statt;3.hört;4.kostet;5.wäscht;6.liest;7.räumen auf;8.isst;9.weiß;10.fotografiere

VI.1.sind gelieben;2.ist geworden;3.habt getroffen;4.hat produziert;5.habe besichtigt;

   6.sind aufgestanden;7.sind angekommen;8.Hast gemacht;9.hat vergessen;10.seid gegangen

VII.1.darf;2.musst;3.kann;4.möchtet;5.wollen

VIII.1.war bin;2.hatte war;3.hat;4.waren hatte;5.gab es,sind,gibt es

IX.1.mehr;2.lieber;3.sauberer;4.teurer;5.schnell;6.am höchsten;7.interessant;8.am ältesten

X.1.in;2.zum;3.aus;4.von;5.an;6.auf;7.am;8.um

XI.1.Ohne wen ist die Reise nicht schön?

   2.Für wen har Helga das Gemüse gekauft?

   3.Wohin geht Martin Miller?

   4.Wo studiert Hans?

   5.Was bringt die Kellnerin?

   6.Was fotografiert die Fotografin?

Teil 3:1.r;2.f;3.f;4.r;5.r;6.f;7.f;8.r;9.f;10.f

Übung zum Semesterabschlusstest 1 Passwort Deutsch A1“

昨天刚刚结束了在同济大学的德语初级A1(走遍德国A1)学习,下午参加了结业考试.由于正式考试的试题不让带走,赶紧把之前写的三套模拟试题整理出来,有感兴趣的的童鞋可以参考一下.(听力部分没有答案的)

 

 

I. Diktat (5 P)

 

II. Hörverstehen (5 P)

1. Was ist die Frau da?

2. Geht Peter heute ins Theater?

3. Wo findet dieses Gespräch statt?

4. Wann fährt der Bus ab?

5. Wann ist die Tochter geboren?

 

III. Kreuzen Sie die richtige Lösung an! (10 P)

1. _____ ist Ihr Name bitte? – Mein Name ist Schmidt.

   a) Wie        b) Was        c) Wer        d) Wen

2. Man nennt das Velo auch __________.

   a) das Auto    b) den Bus    c) den Zug    d) das Fahrrad

3. Die Mutter ist in der Küche und _________ das Essen ins Wohnzimmer.

   a) holt        b) nimmt        c) bringt        d) leiht

4. Wir fahren nach Hamburg. Der Zug fährt nur bis Frankfurt. Da steigen wir ________ .

   a) ein            b) aus        c) um        d) an

5. Früher _______ er viel Geld, aber ______ Zeit.

   a) hat, keine    b) hatte, kein    c) hatte, keine    d) hat, kein

6. Können Sie mir den Kugelschreiber mitbringen? – Ja, ich kann ________ mitbringen.

   a) Sie, es        b) Ihr, sie        c) Ihr, es        d) ihn, Ihnen

7. Hängen Sie das Bild ________ die Wand!

   a) über        b) um        c) auf        d) an

8. Wie lange möchtest du _________ Schweiz bleiben?

   a) nach        b) in der        c) in die        d) ins

9. Haben Sie heute zwei Stunden für mich? – Nein, so _________ habe ich nicht.

   a) viele Zeit    b) viel Zeiten    c) viel Zeit    d) vielen Zeit

10. Möchtest du keine Pause machen? – _________, aber nicht jetzt.

   a) Ja            b) Nein        c) Nicht        d) Doch

11. Welcher ist falsch?

   a) Jetzt ist es Viertel vor Zwölf.            b) Jetzt ist es eine Uhr.

c) Jetzt ist es drei Minuten nach halb eins.    d) Jetzt ist es zwanzig nach drei.

12. Deine Eltern wohnen jetzt in Berlin! Wie gefällt _________ denn dort?

   a) es sie        b) es            c) es ihnen    d) es Ihnen

13. _______ ich Sie zum Essen einladen?

   a) Darf        b) Will        c) Soll        d) Muss

14. Das Geschäft liegt __________ Straßenecke.

   a) an die        b) um        c) in der        d) an der

15. Wann sind Sie hierher gekommen? – ________ einem Monat.

   a) Seit        b) Vor        c) Nach        d) In

16. Ich suche ein Zimmer. Kann _______ hier ein Hotel finden?

   a) jemand        b) man        c) er            d) es

17. ________ kommt die Stehlampe? Ich stelle sie an den Tisch.

   a) Wo            b) Woher        c) Wonach    d) Wohin

18. Der Eiskaffee ______ mir nicht gut.

   a) geht        b) schmeckt    c) mag        d) möchte

19. Sagen Sie das bitte _____________!

   a) auf Chinesisch    b) in Chinesisch    c) mit Chinesisch    d) bei Chinesisch

20. Gibt es heute Abend einen Zug _______ Frankfurt __________ Berlin?

   a) von … nach    b) von … zu    c) vom … mach    d) vom … bis zum

 

IV. Ergänzen Sie!

A. Setzen Sie die passenden Präpositionen ein, wenn nötig, auch Artikel. (10 P)

1. Frau Hartmann dankt ihren Mitarbeitern __________ __________ Zusammenarbeit.

2. Heute möchte ich nicht _________ __________ Zug fahren. Ich nehme einfach den Bus.

3. __________ Wochenende liegt er immer _________ Bett.

4. Er hat vor einem Jahr __________ IBM gearbeitet.

5. Bist du morgen ________ Hause?

6. Die Schüler sind schon ____________ _____________ Kirchturm gestiegen.

7. Wo kann ich hier etwas essen? – _______ ________ Bratwurstständen.

8. Meine Mutter kommt oft um 5 Uhr ________ _______ Arbeit zurück.

9. Er will morgen _______ Ausland gehen.

10. Jedes Jahr _______ August spielen wieder Jazzbands in der Stadt.

11. Jeden Tag fährt er _________ zu Hause nach Basel zur Arbeit.

12. Lebkuchen sind typisch _______ _______ Winter.

 

B. Setzen Sie die richtigen Possessivartikel ein! (5 P)

1. Die Frau hat bald Geburtstag. _______ Mann hat für sie eine Tasche gekauft.

2. Gestern habe ich meinen Freund und ________ Frau getroffen.

3. Wo ist mein Pullover? – ________ Pullover habe ich gar nicht gesehen.

4. Bitte wiederholen Sie _________ Telefonnummer, Herr Klein!

5. Es ist stark windig. Ich will mit _______ Hut an die See gehen.

 

C. Setzen Sie die richtigen Personalpronomen ein! (5 P)

1. Letztes Jahr ist meine Katze weggelaufen. Ich denke bis heute noch an _________ .

2. Das Bier schmeckt nicht gut, ich trinke ___________ nicht mehr.

3. Peter und Monika, darf ich mit __________ zusammen in die Alpen gehen?

4. 3 Stunden lang hat Herr Wang seine Hausaufgabe gemacht. ________ ist sehr schwer.

5. Hier ist der frische Fisch. Du musst _________ waschen und salzen.

 

D. Setzen Sie die passenden Wörter ein! (5 P)

1. Viele Frauen ________ jetzt oft Sport.

2. Nehmen Sie doch die Jacke da! – ____________ Jacke?

3. Die Kinder dürfen nicht auf _________ Straße spielen!

4. Findest du den Film interessant? – Nein, ich finde ihn ___________.

5. Wie __________ kannst du hier in Shanghai bleiben? – Drei Wochen.

 

E. Ergänzen Sie die Sätze mit gegebenen Verben in richtiger Form! (5 P)

   „anfangen, schauen, aufstehen, waschen, mögen“

1. Vor dem Essen muss man sich die Hände ________.

2. Wir sind auf dem Turm, jetzt können wir auf die ganze Stadt _________.

3. Wie ist das Hemd? – Das _________ ich.

4. Frau Eva, Sie sind dran. __________ Sie _________!

5. Heute machen wir einen Ausflug, deshalb sind wir sehr früh _________.

 

F. Schreiben Sie das Ähnliche! (5 P)

1. Entschuldigen Sie!                       (________________________________)

2. Das ist ein Mobiltelefon.                (________________________________)

3. In diesem Laden kann man alles kaufen.   (________________________________)

4. Auf Wiedersehen!                         (________________________________)

5. Morgen will ich keine Reise unternehmen. (________________________________)

 

G. Setzen Sie das Adjektiv in richtiger Form ein! (8 P)

1. Frau Schmidt ist nicht so _________ (groß) wie ihre Schwester. Aber die Tochter ist _________ (groß) als ihre Tante. Sie ist ____________ (groß) unter ihnen.

2. Fleisch esse ich _____________ (gern) als Fisch.

3. Ich habe viel Geld, aber mein Freund Hans hat noch ____________ (viel) Geld.

4. Die Mieten in Berlin sind ____________ (hoch) als in Basel.

5. In der Stadt ist alles _________ (teuer) als auf dem Land.

6. Der Bus fährt nicht so ________ (schnell) wie der Zug.

 

H. Setzen Sie „können“ „müssen“ „dürfen“ und „wollen“ ein! (5 P)

1. Du ____________ am Wochenende mit Monika in die Berge gehen? Das habe ich von Peter gehört.

2. Ich brauche ein Wörterbuch. Wo _________ man es kaufen?

3. Er ist unsportlich und ________ nicht Fahrrad fahren. Deshalb muss er immer zu Fuß gehen.

4. Im Kino ___________ man nicht laut sprechen.

5. Am Sonntag ________ die Schüler nicht in die Schule gehen.

 

V. Bilden Sie Sätze mit gegebenen Wörtern! (4 P)

1. Morgen / müssen / er / zu / die Arbeit / gehen.

2. Er / wollen / der Stuhl / in / das Zimmer / stellen.

3. Wofür / brauchen / du / der Aal?

4. Bitte / ausfüllen / Sie / das Formular!

 

VI. Wie heißen die Nomen oder die Verben? (3 P)

1. arbeiten

 

2. reisen

 

3. studieren

 

4. die Demonstration

 

5. die Hilfe

 

6. die Fahrt

 

 

VII. Vervollständigen Sie den Kurzdialog! (5 P)

1. A: ___________ machst du das Bett?

  B: Für meinen Sohn.

2. A: Wohin soll ich den Koffer stellen?

  B: ___________ die Ecke.

3. A: Um ____________ gehen Sie zur Arbeit?

  B: Um 8 Uhr.

4. A: _________ Hemd möchten Sie anprobieren?

  B: Das weiße Hemd da.

5. A: ___________ kann Herr Bauer nicht arbeiten?

  B: Ohne seinen Tee.

 

VIII Leseverstehen (10 P)

Text A

Lieber Studienkollege!

Sie suchen ein Zimmer, wir habe eins. Wir sind drei Studenten und haben zusammen eine Wohnung. Die Wohnung liegt zentral (sehr nah von der U-Bahn). Das Haus ist alt und hat keinen Lift. Wir haben auch kein Telefon. Aber die Wohnung ist sehr groß. Sie hat fünf Zimmer, Küche, Bad, WC und einen Balkon. Jeder hat ein Zimmer. Das Wohnzimmer – mit Fernseher – haben wir gemeinsam. Ein Zimmer ist noch frei. Jeder zahlt 225 Euro Miete, zusammen 900 Euro monatlich. Die Nebenkosten (Strom, Gas, Heizung usw.) teilen wir zusammen.

 

Mit besten Grüßen!

Martin Sauer

 

Bitte antworten Sie!

1. Was haben die drei Studenten zusammen?

2. Wo liegt die Wohnung?

3. Hat das Haus einen Aufzug?

4. Wie viele Zimmer hat die Wohnung?

5. Wie viel zahlen sie für die Wohnung?

 

Text B

Das Inserat

In Deutschland gibt es inzwischen in fast jeder Stadt eine Anzeigenzeitung (广告报纸). Anzeigenzeitungen sind ein Supermarkt für alle, die etwas verkaufen oder günstig kaufen möchten. Sie erscheinen mindestens einmal in der Woche und sind überall erhältlich. In Frankfurt und Umgebung heißt diese Zeitung das Inserat.

das Inserat erscheint dreimal pro Woche, d.h. am Montag, Mittwoch und Freitag und kostet 2,10 Euro. Im Inserat findet man vor allem gebrauchte Möbel, Haushaltsgeräte, Fernseher und Videogeräte, Fotoartikel, Sportgeräte, Computer, Autos und vieles andere. Oft gibt es aber auch Sonderangebote für Neugeräte.

Sie Suchen eine neue Wohnung, eine neue Arbeit oder Partner für Ihr Hobby? Im Inserat finden Sie auch Wohnung- und Stellenanzeigen, Gruppen für alle Arten von Freizeitgestaltung und sogar Kontakt- und Heiratsanzeigen. Sie möchten jemandem Grüße schicken oder zum Geburtstag gratulieren? Setzen Sie einfach eine Anzeige ins Inserat.

Wer eine Anzeige aufsetzen möchte, schickt ein Fax, schreibt einen Brief oder greift zum Telefon. Eine Anzeige im Inserat kostet nichts (in anderen Zeitungen kosten Anzeigen zwischen 12 und 50 Euro).

Viele Leute nutzen diese günstige Gelegenheit. Deshalb ist das Inserat in den letzten Jahren immer dicker geworden.

 

Wählen Sie die richtige Lösung.

1. das Inserat ist _____________ .

   a. eine Anzeigenzeitung in Frankfurt        b. ein Supermarkt in Frankfurt

2. das Inserat gibt es ___________ .

   a. einmal in der Woche                    b. montags, mittwochs und freitags

3. Die Zeitung kostet _____________ .

   a. 2,10 Euro                            b. nichts

4. Hier gibt es _________ .

   a. nur gebrauchte Sachen                    b. viele Angebote

5. Eine Anzeige im Inserat kostet ___________ .

   a. 12 bis 50 Euro                        b. nichts

 

 

 

 

Lösung

III.1-5adccc;6-10ddbcd;11-15bcadb;16-20bdbaa

IV.A:1.für die;2.mit dem;3.Am im;4.bei;5.zu;6.auf den;7.An den;8.von der;9.ins;10.im;11.von;12.für den

   B:1.Ihr;2,seine;3.Deinen;4.Ihre;5.meinem

   C:1.sie;2.es;3.euch;4.Sie;5.ihn

   D:1.machen;2.Welche;3.der;4.langweilig;5.lange

   E:1.waschen;2.schauen;3.mag;4.Fangen an;5.aufgestanden

   F:1.Entschuldigung;2.Handy;3.Geschäft;4.Tschüss;5.machen

   G:1.groß größer am größten;2.lieber;3.mehr;4.höher;5.teurer;6.schnell

   H:1.willst;2.Kann;3.will;4.darf;5.müssen

V.1.Morgen muss er zur Arbeit gehen.

  2.Er will den Stuhl ins Zimmer stellen.

  3.Wofür brauchst du den Aal?

  4.Bitte füllen Sie das Formular aus!

VI.1.die Arbeit;2.die Reise;3.das Studium;4.helfen;5.demonstrieren;6.fahren

VII.1.Für wen;2.An;3.wie vile Uhr;4.welches;5.Ohne was

VIII.A:1.Die drei Studenten haben zusammen eine Wohnung.

  2.Die Wohnung liegt zentral(sehr nah von der U-Bahn).

  3.Nei, das Haus hat keinen Aufzug.

  4.Die Wohnung hat 5 Zimmer.

  5.Sie zahlen 900 Euro für die Wohnung?

B:ababb

VMware网络配置详解三:Host-only模式配置

   其实Host-only模式和NAT模式一样,都是以真实主机为基础建立一个虚拟网络,所以Host-only模式的配置与NAT模式基本上完全一样,这里不再螯述.不过这两种模式还是有区别的,关键在于Host-only不带NAT功能,无法连接外部网络.解决这一问题可以利用Windows 2000/XP里面自带的Internet连接共享(实际上是一个简单的路由NAT)来让虚拟机通过主机的真实网卡进行外网的访问.

1.查看真实主机网卡的属性,选择”高级”标签,将”允许其他网络用户通过此计算机的Internet连接来连接(N)”选项勾上,并设置允许共享的网卡为VMnet1:

2.现在查看一下主机VMnet1网卡的TCP/IP配置,发现已经被自动设置为:

  IP地址:192.168.0.1(也是虚拟网络的网关,等下会用到)

  子网掩码:255.255.255.0

3.进入虚拟系统(Host-only模式),假如你对TCP/IP没有进行任何配置(也就是都为空),那么虚拟机的DHCP服务器会为虚拟系统分配一个IP地址,但是,这个IP与主机VMnet1网卡的IP不会在同一个网段内,也就无法连接到主机.所以,我们要对虚拟系统进行手动TCP/IP配置:

  IP地址:192.168.0.x(1<x<255)

  子网掩码:255.255.255.0

  网关:192.168.0.1

  DNS:可以与主机的DNS地址相同,也可以是你能使用的DNS服务器地址

现在,使用Host-only模式也可以连接外部网络了.需要注意的是,DNS是域名解析服务,不设置并不代表不能访问网络,而是无法连接到DNS服务器,使得无法进行域名解析,但是直接使用IP地址不受这个影响.例如域名“www.abc.com”,你要通过请求DNS并返回该域名所对应的IP地址,才能访问到该IP所在的主机.

VMware网络配置详解二:NAT模式配置

   NAT模式即网络地址转换模式相当于以主机为基础建立一个虚拟的内部局域网,该网内的主机IP地址都由虚拟机的DHCP服务器来分配,不过也可以手动设置,前提是不要于其它主机的IP地址冲突(比如你建立了两个虚拟系统,都加入了这个虚拟出来的网络,手动配置就要考虑冲突问题).

   所以假如要使用DHCP服务器分配方式,就不用对虚拟系统的网卡TCP/IP协议做任何的配置和更改,这时只要真实主机能连通外部网络,这个虚拟网络里的主机也就都能连接外网.下面是采取DHCP模式网卡的TCP/IP配置信息:

补充:使用飞鸽传书查看,可以看到真实主机,IP地址为192.168.235.1(真实主机中VMnet8网卡IP),如图所示:

虚拟系统中飞鸽传书截图:

真实主机中飞鸽传书截图:

 

   假如手动配置TCP/IP,需要完整输入IP地址,子网掩码,网关,DSN服务器地址,前三项缺一不可,最后一项不填虽然可以与虚拟网络里的其它主机通信,却不能进行外网的域名解析(直接通过IP地址等方式可以访问网络).此时不论主机DNS设置与否,都没有影响.下面是手动配置的TCP/IP信息:

补充:主机VMnet8网卡IP:无;虚拟机网关IP:192.168.235.2(这个不能乱打了,“Edit”->”Virtual Network Settings”的最后NAT页可以看到(如图),虚拟机网卡IP:192.168.235.3(手动输入,最后一位随便选择,只要不冲突,不如不能选择真实主机的1和网关2).使用飞鸽传书查看,不能看到真实主机.

VMware网络配置详解一:网卡设置模式区别

安装好虚拟机以后,在网络连接里面可以看到多了两块网卡:

其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8NAT模式的网络接口.

选择虚拟机网络模式方法如下,单击”Edit virtual machine settings”,如图所示:

然后在”Hardware”选项卡中选择”Ethernet,在左边”Network connection”框架中有如下四个单选项:

1.Bridged(桥接模式)

   在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器.不过你需要多于一个的IP地址,并且需要手工为虚拟系统配置IP地址,子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.如果你想利用VMware在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式.

2.NAT(网络地址转换模式)

   使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网.也就是说,使用NAT模式可以实现在虚拟系统里访问互网.NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯.采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可.如果你想利用VMware安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式.

3.Host-only(主机模式)

   在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用Host-only模式.Host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的.可以利用Windows XP里面自带的Internet连接共享(实际上是一个简单的路由NAT)来让虚拟机通过主机真实的网卡进行外网的访问.虚拟系统的TCP/IP配置信息(IP地址,网关地址,DNS服务器等),都是由VMnet1(Host-only)虚拟网络的DHCP服务器来动态分配的.如果你想利用VMware创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择Host-only模式.

VMware中快捷键

虚拟机中的操作系统在启动时跟我们使用的真机一样需要Ctrl+Alt+Del才可以进入桌面,可是按下这3个键的组合之后就返回真机系统的任务管理器,因为虚拟机和真机之间相冲突.所以在虚拟机中的快捷键是Ctrl+Alt+Insert.

其它热键:

热键序列

说明

Alt-Tab

在虚拟机内部的应用程序之间切换

Alt-Esc

在虚拟机内部的应用程序窗口之间切换

Ctrl-Alt-Del

结束一个进程,主机操作系统和虚拟机都接收这个命令,即使在VMware Workstation拥有输入控制时也是这样

Ctrl-Alt-Insert

结束一个进程,这个命令只被虚拟机单独接收

Ctrl-Alt

虚拟机失去焦点

Ctrl-G

虚拟机获得焦点

Ctrl-Alt-Enter

当正在运行几台虚拟机时,扩展当前虚拟机进入全屏模式,重复这个命令切换下一台虚拟机进入全屏模式,这个命令提供在虚拟机之间移动的一个有用的方式

Ctrl-Alt-<空格>

发送任意命令到虚拟机中,以使VMware Workstation不处理它,在按下空格键时保持Ctrl-Alt不被释放,然后按下序列中的下一个键

XMind中如何添加自定义图标

问题:如何想要在XMind中添加自己喜欢的图标?

1.XMind中提供了丰富的图标资源,但是总是有自己不喜欢的或者自己觉得不够完善的图标,下图为XMind软件[其他]菜单里自带的一些图标:

2.想要添加以下自定义图片到[其他].

解决办法:

1.将想要添加的图片放到路径(D:/Program Files/XMind/plugins/org.xmind.ui.resources_3.1.1.200912022330/markers),如图

2.打开同目录下的markerSheet.xml文件,并添加<marker id=”other-i miss u” name=”i miss u” resource=”i miss u.png” />标记,如图:

3.关闭XMind再打开,就会出现我们自定义的图片:

XMind如何改变默认设置

问题:XMind如何改变默认设置(以字体名称为例)

1.XMind虽然提供了修改默认配置的接口,但是并不能保存这些设置.

2.用户想要设置自定义的字体名称,字体大小等等选项

3.需要导出设置在其它机器上不用再配置即可使用

解决办法:

1.默认设置打开的界面,如图:

2.打开设置默认风格的路径(D:/Program Files/XMind/plugins/org.xmind.ui.resources_3.1.1.200912022330/styles),打开defaultStyle.xml文件,如图:

3.默认字体为: font-family=”$system$”,替换为: font-family=”Courier New”

4.再次打开XMind如图:

5.修改其它设置:

  • font-weight=”bold”
  • fo:color=”#4c4c4c”
  • fo:font-family=”$system$”
  • fo:font-style=”normal”
  • fo:font-size=”18pt”
  • fo:text-decoration=”none”
  • shape-class=”org.xmind.topicShape.roundedRect”
  • shape-corner=”8pt”
  • svg:fill=”#97cbff”
  • fo:margin-left=”22pt”
  • fo:margin-right=”22pt”
  • fo:margin-top=”14pt”
  • fo:margin-bottom=”14pt”

如何改变XMind默认的语言?

问题:如何改变默认的语言?

1.比如,中文系统下如何选用英文版?

2.有时候装上去打开是英文版的想要选用中文版.

解决办法:

1.右键查看XMind快捷方式的属性,查看目标参数(“D:/Program Files/XMind/xmind.exe”),打开XMind后是中文简体,如图:

2.修改目标参数(“D:/Program Files/XMind/xmind.exe” -NL en_US),打开后英文版,如图:

3.还可以更改为其他国家语言版本

  • zh_CN中文(中国)
  • zh_HK中文(香港)
  • zh_TW中文(台湾)
  • en_US英文 (美国)
  • ja_JP日文(日本)
  • ko_KR朝鲜文(南朝鲜)
  • de_DE德文(德国)
  • de_DE_EURO德文(德国,Euro)
  • en_AU英文(澳大利亚)
  • en_CA英文(加拿大)
  • en_GB英文(英国)
  • fr_CA法文(加拿大)
  • fr_FR法文(法国)
  • iw_IL希伯来文(以色列)
  • u_RU俄文(俄罗斯)