Access 2003完整教程:关于 SQL Server 数据库的“数据库设计器”注意事项 (ADP)

注释本主题中的信息仅适用于 Microsoft Access 项目 (.adp)。

下面的说明将简述可以使用的 Microsoft SQL Server 特定功能。

SQL Server 版本

“数据库设计器”是专为支持 Microsoft SQL Server 2000 而设计的,但它也与早期版本相兼容。当连接到 SQL Server 7.0 或 6.5 时,如果试图使用 SQL Server 2000 功能,则服务器将报告出错。

对象名称

在 Microsoft Access 项目中,对象的名称:

区分大小写

SQL Server 数据库中的列名和表名可以使用大写字母、小写字母或两者的组合来存储。例如,列名可以显示为“LASTNAME”、“LastName”、或“lastname”。

根据安装 SQL Server 的方式的不同,数据库可以是区分大小写的,也可以是不区分大小写的。如果数据库是区分大小写的,则必须使用正确的大小写字符的组合输入所有者、表和列的名称。如果使用的是区分大小写的数据库,则在按名称引用数据库对象时必须谨慎行事,因为在同一数据库中可能存在名为“CUSTOMER”和“Customer”的两个对象。

如果使用不区分大小写选项安装服务器,则可以使用任意大小写字符组合输入数据库对象的名称。

提示

为了确定服务器是否区分大小写,请执行系统存储过程sp_server_info,然后检查第 18 行的内容。如果服务器是使用不区分大小写设置安装的,sort_order选项将设为nocase _iso

全文索引

表可以包含全文索引。“数据库设计器”和“表设计器”提供对使用全文索引操作表的有限支持。但是如果修改了带全文索引的表,则不能使用“数据库设计器”和“表设计器”创建全文索引,如果所作的修改内容影响全文索引,则“数据库设计器”或“表设计器”会发出警告。不过,在多数情况下,当保存所作修改时,“数据库设计器”和“表设计器”会重新建立表的全文索引。

有关全文索引的详细信息,请参考 SQL Server 文档。

更改列属性

列属性的默认值

对于新的列属性,将自动添加以下默认值:

数据类型说明默认值
列名表中列的名称。列名必须符合用户数据库标识符规则且在表中必须是唯一的。
数据类型列的数据类型。可接受系统或用户定义的数据类型。字符 (char)
长度列中对于值所允许的数字(对于数字数据类型)或字符的最大数目。对不同的数据类型(如,对于字符型为 10,对于 VARBINARY 型为 50)会有所不同
精度可以存储的小数数字的最多位数,包括小数点的左边和右边。0
小数位数对于小数点右边可以存储的小数数字的最多位数。该值必须小于或等于精度位数。仅应用于 DECIMAL 和 NUMERIC 数据类型。0
允许 Null列是否可以接受空值。是(已选中)
默认值如果用户不作任何输入,会将该值自动插入到列中。对于具有时间戳数据类型的列,忽略默认值。如果没有定义默认值并且列允许空值,将插入 NULL。
标识列是否为新的列基于“标识种子”和“标识递增量”生成递增的值。否(没有选中)
标识种子分配给表中第一行的值。如果“标识”设为“否”,“标识种子”为空。如果“标识”设为“是”,“标识种子”默认为 1。空或 1。
标识递增量添加到“标识种子”中并分配给表中第二行的值。每个后续行将按照该值递增。如果“标识”设为“否”,“标识递增量”将为空。如果“标识”设为“是”,“标识递增量”将默认为 1。空或 1。
是 RowGuidSQL Server 是否可以将标识列用作 ROWGUID 列。
公式计算列的公式。
排序在列值用于对查询结果行进行排序的任何时刻,SQL Server 默认应用于列的排序序列(仅用于 SQL Server 2000)。数据库默认值。
说明存储为 SQL Server 扩展属性的所选列的文本说明(仅用于 Microsoft SQL Server 2000)。

更改为列指定的数据类型

列的数据类型确定了可以在列中存储的数据的类型。系统定义的数据类型列表出现在“数据类型”列中。

对于希望存储在列中的信息,可以选择合适的数据类型。如果数据库存在用户定义的数据类型,这些类型将出现在“数据类型”列表的末尾。与用户定义的数据类型相对应的系统定义的数据类型出现在用户定义的数据类型名末尾的括号中。例如:“id (varchar)”。

有关为列指定用户定义的数据类型的特殊注意事项

有关在 Microsoft SQL Server 中创建用户定义数据类型的信息,请参阅 SQL Server 文档。

注释当保存表或图表时,更改数据类型将在数据库中重新创建表。

注意如果列与其他表中的列相关联,则更改该列的数据类型时,也必须更改相关列的数据类型才能保留参照完整性。保存表或图表时,“需要更改数据类型”对话框可以使用户自动更改相关列的数据类型。

有关 Microsoft SQL Server 数据类型的信息,请参阅 SQL Server 文档。

Microsoft SQL Server 2000 数据类型

SQL Server 2000 包括下列数据类型的增强功能:

有关数据类型的详细信息,请参阅 SQL Server 文档。

更改列长度

选择数据类型时,自动定义列长度。如果需要增加或减小具有 binary、char、nchar、nvarchar、varbinary 或 varchar 数据类型的列中可接受的值的长度,可以重置它们的长度属性。对于具有其他数据类型的列,长度是从数据类型衍生出来的。

更改列精度

对于大多数数据类型,列精度是自动定义的。如果需要重新定义 decimal 和 numeric 数据类型的列所使用的数字的最多位数,可以更改这些数据类型的列精度。数字列的精度表示所选数据类型使用的数字的最多位数。非数字列的精度通常表示列的最大长度或定义的列长度。

“数据库设计器”防止用户更改数据类型不是 decimal 或 numeric 类型的列的精度。

更改列的小数位数

选择数据类型时,列的小数位数默认设为 0。数字列的小数位数表示小数点右方数字的最多位数。对于具有估算的浮动小数点数目,因为对于小数点右方数字的位数不固定,所以不定义小数位数。

如果需要重新定义出现在小数点右方数字的位数,可以更改 numeric 或 decimal 列的小数位数。

更改分配给列的 Null 选项

对于表中的每一列,可以指定是允许使用空值还是不允许使用空值。空值或 NULL 值与零 (0) 或空不同,NULL 是指没有输入项。它通常隐性表示值为未知或尚未定义。例如,pubs示例数据库titlesprice列中的空值是指没有价格;即价格未知或还没有设置。

如果不允许空值,用户在表中输入数据时必须在该列中输入值,否则该表行将无法在数据库中被接受。

注释不能更改主键列上的这一属性。并且,标识列也不能有空值。也就是说,不能创建或修改某一列使其“标识”设置为“是”且其“允许 Null 值”设置为“是”。

指定列的默认值

对于表中的每一列,可以指定在用户将列留空的情况下将输入在列中的默认值。如果没有指定默认值而且用户将列留空,则:

对于文本字符串,将值包含在单引号 (') 中;不要使用双引号 ("),因为双引号是为引用的标识符而保留的。例如98036'Paris, France'.

如果“默认值”列中的输入代替了绑定默认值(它的显示没有括号),则默认值将是非绑定的并且使用新的值进行代替。

重定义全局默认值

全局默认值是为特定数据库定义的默认值,并且由不同表中的列所共享。例如,假定有好几个表都具有quantity列。可以在数据库中定义全局默认值,这样,当用户将任何表中的该列留空时,quantity列中都会插入 1。

如果全局默认值是与列绑定的,则可以为特定表中的那一列指定其他的默认值。这种情况下,在新默认值绑定到列之前,现有的全局默认值从该列中解除绑定。

更改列的标识属性

如果需要在向表添加新行时重新定义自动生成并存储在该列中的后续数字,可以更改列的标识属性。每个表只能在一列上设置标识属性。

具有标识属性的列包含系统生成的后续值,该值唯一标识了表中的每一行(例如,雇员标识号)。当向具有标识列的表中插入值时,Microsoft SQL Server 自动基于最后使用的标识值(“标识种子”属性)和在列创建过程中指定的递增值(“标识递增量”属性)生成下一个标识符。

只能对数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 以及不允许空值的列设置标识属性。

例如,假设要为添加到orders表(该表以 10000 开始并按 10 进行递增)的每一行自动生成 5 位数字的“订单 ID”。为此,需选择“标识”属性框,键入“识别种子”为10000,然后键入“标识递增量”为10

如果更改了表的任一标识属性,现有的标识值将保留不变。新设置仅应用于添加到表中的新行。

注释如果频繁删除的表存在标识列,那么在两个标识值之间可能出现间隙。如果要避免这样的间隙,则请不要使用标识属性。

上页:Access 2003完整教程:表达式的结构 (ADP) 下页:Access 2003完整教程:输入搜索值的规则 (ADP)

Access 2003完整教程:关于 SQL Server 数据库的“数据库设计器”注意事项 (ADP)

Access 2003完整教程:输入搜索值的规则 (ADP)Access 2003完整教程:处理表达式的 SQL 标量函数 (ADP)
Access 2003完整教程:“查询设计器”表示联接的方式 (ADP)Access 2003完整教程:关于索引视图和架构绑定 (ADP)
Access 2003完整教程:关于索引 (ADP)Access 2003完整教程:数据库图表和表设计窗口之间的交互 (ADP)
Access 2003完整教程:数据库图表、表设计窗口和数据库之间的交互 (ADP)Access 2003完整教程:关于自动联接表 (ADP)
Access 2003完整教程:关于键 (ADP)Access 2003完整教程:关于大型数据库项目 (ADP)
Access 2003完整教程:逻辑运算符 (ADP)Access 2003完整教程:关于数据库对象的所有权 (ADP)
Access 2003完整教程:关于 SQL Server 数据库的“查询设计器”注意事项 (ADP)Access 2003完整教程:关于“查询设计器”布局 (ADP)
Access 2003完整教程:在查询中选择与值不匹配的行 (ADP)Access 2003完整教程:关于创建查询 (ADP)
Access 2003完整教程:关于聚合函数 (ADP)Access 2003完整教程:关于“查询设计器”中的汇总和分组行为 (ADP)
Access 2003完整教程:关于不同的查询类型 (ADP)Access 2003完整教程:关于“表设计器” (ADP)
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号