Microsoft Word - ch04.doc

Size: px
Start display at page:

Download "Microsoft Word - ch04.doc"

Transcription

1 第 4 章数据库和表 教学提示 : 数据库是 SQL Server 用来存储数据表 视图 存储过程等对象的逻辑实体 一个数据库可以存放一个或多个操作系统文件, 但是, 一个文件只能存储一个数据库 数据修改是 SQL Server 进行数据维护和完善数据库设计的主要方式, 主要内容是利用可视化操作或 Transact-SQL 语句实现对各种数据库对象及其存储结构的添加 替换和删除, 这也是进行数据库设计和数据管理的基本方法 教学目标 : 本章主要讲述如何创建 修改 删除数据库和表以及添加 修改 删除数据等基本操作, 熟练掌握 SQL Server 提供的两种操作方式, 即命令方式和企业管理器方式 4.1 利用企业管理器创建数据库和表 一个数据库包含两种文件 : 一种是数据文件, 用于存储数据库中的所有对象, 如表 视图 存储过程和触发器等 ; 另一种是日志文件, 用于记录对数据库的所有修改操作, 以便在必要时恢复和重新启动数据库 数据文件又分为主数据文件和次数据文件, 主数据文件包含数据库和其系统的逻辑起点, 次数据文件存储不被主数据文件包含的全部数据和对象 一个数据库只有一个主数据文件, 但可以有多个次数据文件, 也可以没有次数据文件 创建数据库和表通常有两种方式 : 企业管理器方式和命令方式 利用企业管理器创建数据库在 SQL Server 中, 创建一个数据库, 仅是以 model 数据库为模板创建的一个空的数据库, 因此初始大小等于 model 数据库大小 在 SQL Server 企业管理器中创建数据库的步骤如下所述 1 在 SQL Server 企业管理器中, 展开服务器组, 选择 数据库 文件夹, 右击鼠标, 在弹出的快捷菜单上选择 新建数据库 命令, 如图 4.1 所示 2 打开 数据库属性 对话框, 在 名称 文本框中输入新建数据库的名称, 如 项目管理, 如图 4.2 所示 3 单击 数据文件 标签, 打开 数据文件 选项卡 在此选项卡中, 可以设置数据文件的名称 位置及大小, 如图 4.3 所示 注意 : 数据库名称默认是 数据库名 _Data, 用户可以修改这个名字, 而且可以指定多个文件 通过 位置 栏来指定文件所在的位置 在 初始大小 一栏中, 以 MB 为单位输入数据库文件的大小 在选项卡下面, 可以选择文件是否自动增长和是否有最大限制 如果选择了 文件自动增长 复选框, 表示数据库的数据容量超过了初始值大小时, 数据文件可以自动增长

2 78 SQL Server 数据库设计与管理 图 4.1 建立数据库 图 4.2 数据库属性 对话框 图 4.3 数据文件 选项卡 78

3 第 4 章数据库和表 79 4 单击 事务日志 标签, 打开 事务日志 选项卡, 用于设置事务日志文件的名称 位置及大小, 如图 4.4 所示 图 4.4 事务日志 选项卡注意 : 在 事务日志 列表框中, 选取更新日志文件存放的路径和文件名称 如果不想更改存放更新日志文件的路径和文件名时, 可使用默认的路径和文件名称 在 事务日志 列表框的 初始大小 列中, 可以设置数据库文件的大小 在 文件属性 选项区域中, 可以选取 文件自动增长 复选框, 由 SQL Server 将更新的日志文件自动增长 如果不希望更新日志文件的增长由系统来决定时, 可以在 文件增长 选区域中设置是 按兆字节 还是 按百分比 将更新日志文件增大 在 最大文件大小 选项区域中, 可以设置 文件增长不受限制 或者 将文件增长限制为 来限制更新日志文件的增长上限 5 单击 确定 按钮, 即可创建 项目管理 数据库 利用企业管理器创建表在 SQL Server 中, 表是存储在数据库中的 用来存储数据的一种逻辑结构 表由行和列组成, 行有时也称为记录, 列有时也称为字段 下面介绍如何利用企业管理器建立存储数据的表 在 SQL Server 企业管理器中创建表的步骤如下所述 1 在 SQL Server 企业管理器中, 展开服务器组, 选择 数据库 文件夹, 在 数据库 文件夹内选取创建表的数据库名称 2 在数据库中选取 表 项目后右击, 在弹出的快捷菜单上选择 新建表 命令, 如图 4.5 所示 3 此时, 打开 新建表 窗口, 在表设计器中编辑列名 数据类型 精度 空否等列的基本属性 选取适当的数据类型, 并设置长度 在表设计器的下半部分编辑列的其他属性 例如, 输入完成后的 部门信息 表, 如图 4.6 所示 79

4 80 SQL Server 数据库设计与管理 图 4.5 选取 新建表 命令 图 4.6 表设计器 窗口在图 4.6 中, 各个选项的含义如下所示 列名 : 字段名称 数据类型 : 字段的数据类型 用户可以单击该栏, 在数据类型下拉列表框中, 选取合适的数据类型 长度 : 数据类型的长度 描述 : 说明该字段的含义 默认值 : 在新增记录时, 如果给该字段赋值, 则此默认值为该字段的值 精度 : 数据类型的位数 小数位数 : 数据类型的小数位数 标识 : 表示对应字段是表中的一个标识列, 即新增的字段值是一个等差数列, 该字段类型必须是下列类型之一 :tinyint smallint int decimal(p,0) 或者 numeric(p,0) p 为精度,0 表示小数位数是 0 有此属性的字段会自动产生字段值, 不需要用户输入 80

5 第 4 章数据库和表 81 标识种子 : 等差数列的开始数字 是 RowGuid: 可以让 SQL Server 产生一个全局唯一的字段值, 字段类型必须是 uniqueidentifier 有此属性的字段会自动产生字段值, 不需要用户输入 公式 : 由公式来产生值 排序规则 : 指定该字段的排序规则 4 输入完成后, 单击 保存 图标, 将弹出 选择名称 对话框 将表名设定为 部门信息, 然后单击 确定 按钮, 如图 4.7 所示 图 4.7 选择名称 对话框 5 依照上述步骤, 再创建 3 个表 : 职员信息表 项目信息表 工作关系表 表的结构分别如图 4.8 图 4.9 图 4.10 所示 图 4.8 职员信息表结构 图 4.9 项目信息表结构 图 4.10 工作关系表结构 使用向导创建数据库 利用向导创建数据库的步骤如下所述 1 在 SQL Server 企业管理器中选择 工具 菜单, 单击 向导 命令, 如图 4.11 所示 81

6 82 SQL Server 数据库设计与管理 图 4.11 SQL Server 企业管理器 中的 控制台根目录 对话框 2 在弹出的 选择向导 对话框中, 选择 创建数据库向导 选项, 单击 确定 按钮, 如图 4.12 所示 3 进入 欢迎数据库创建向导 对话框, 直接单击 下一步 按钮, 如图 4.13 所示 图 4.12 选择向导 对话框 图 4.13 欢迎数据库创建向导 对话框 4 在 命名数据库和指定它的位置 对话框, 输入数据库名称并指定数据库的存储位置, 单击 下一步 按钮, 如图 4.14 所示 5 在 命名数据库文件 对话框中可以给数据库文件命名并设置初始值大小, 单击 下一步 按钮, 如图 4.15 所示 6 在 定义数据库文件的增长 对话框中指定数据库文件是否应该自动增长, 或者仅在扩大数据库文件时才可以增长, 单击 下一步 按钮, 如图 4.16 所示 82

7 第 4 章数据库和表 83 图 4.14 命名数据库文件并指定它的位置 图 4.15 命名数据库文件名 图 4.16 数据库文件增长 7 进入 命名事务日志文件 对话框, 对数据库的事务日志文件进行命名, 单击 下一步 按钮, 如图 4.17 所示 83

8 84 SQL Server 数据库设计与管理 图 4.17 命名事务日志 8 在 定义事务日志文件的增长 对话框中设定增长方式, 单击 下一步 按钮, 如图 4.18 所示 图 4.18 定义事务日志文件的增长 9 在 正在完成创建数据库向导 对话框中, 单击 完成 按钮, 完成数据库的创建, 如图 4.19 所示 图 4.19 完成 确认窗口 84

9 第 4 章数据库和表 命令方式创建数据库和表 利用命令方式创建数据库和表是在 SQL Server 查询分析器窗口中用 Transact-SQL 语句创建数据库和表 利用 CREATE DATABASE 命令创建数据库 利用命令创建一个新数据库及存储该数据库的文件, 或从先前创建的数据库的文件中附加数据库, 一台服务器上最多可以指定 个数据库 创建一个数据库的语法格式为 : CREATE DATABASE database_name [ ON [ < filespec > [,...n ] ] [, < filegroup > [,...n ] ]] [ LOG ON { < filespec > [,...n ] } ] [ COLLATE collation_name ] [FOR ATTACH ] < filespec > ::= [ PRIMARY ] ( [ NAME = logical_file_name, ] FILENAME = 'os_file_name' [, SIZE = size ] [, MAXSIZE = { max_size UNLIMITED } ] [, FILEGROWTH = growth_increment ] ) [,...n ] < filegroup > ::= FILEGROUP filegroup_name < filespec > [,...n ] 参数说明如下所示 1 database_name 是新数据库的名称 数据库名称在服务器中必须唯一, 并且符合标识符的规则 database_name 最多可以包含 128 个字符, 除非没有为日志指定逻辑名 如果没有指定日志文件的逻辑名, 则 SQL Server 会通过向 database_name 追加后缀来生成逻辑名 2 ON 指定显式定义用来存储数据库数据部分的磁盘文件 ( 数据文件 ) 该关键字后是以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义主文件组的数据文件 3 n 为占位符, 表示可以为新数据库指定多个文件 4 LOG ON 指定显式定义用来存储数据库日志的磁盘文件 ( 日志文件 ) 该关键字后是以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义日志文件 如果没有指定 LOG ON, 将自动创建一个日志文件, 该文件使用系统生成的名称, 大小为数据库中所有数据文件总大小的 25% 5 FOR ATTACH 指定从现有的一组操作系统文件中附加数据库, 必须有指定第一个主文件的 <filespec> 条目 至于其他 <filespec> 条目, 只需要与第一次创建数据库或上一次附加数据库时路径不同的文件的那些条目, 且必须为这些文件指定 <filespec> 条目 附加的数据库必须使用与 SQL Server 相同的代码页和排序次序创建 85

10 86 SQL Server 数据库设计与管理 6 collation_name 指定数据库的默认排序规则 排序规则名称既可以是 Windows 排序规则名称, 也可以是 SQL 排序规则名称 如果没有指定排序规则, 则将 SQL Server 实例的默认排序规则指派为数据库的排序规则 7 PRIMARY 指定关联的 <filespec> 列表定义主文件 主文件组包含所有数据库系统表 还包含所有未指派给用户文件组的对象 如果没有指定 PRIMARY, 那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件 8 NAME 为由 <filespec> 定义的文件指定逻辑名称 如果指定了 FOR ATTACH, 则不需要指定 NAME 参数 9 logical_file_name 是在创建数据库后执行的 Transact-SQL 语句中引用文件的名称 logical_file_name 在数据库中必须唯一, 并且符合标识符的规则 该名称可以是字符或 Unicode 常量, 也可以是常规标识符或定界标识符 10 FILENAME 为 <filespec> 定义的文件指定操作系统文件名 'os_file_name' 是操作系统创建 <filespec> 定义的物理文件时使用的路径名和文件名 os_file_name 中的路径必须指定 SQL Server 实例上的目录 os_file_name 不能指定压缩文件系统中的目录 如果文件在原始分区上创建, 则 os_file_name 必须只指定现有原始分区的驱动器字母 每个原始分区上只能创建一个文件 由于原始分区上的文件不会自动增长 ; 因此,os_file_name 指定原始分区时, 不需要指定 MAXSIZE 和 FILEGROWTH 参数 SIZE 指定 <filespec> 中定义的文件的大小 如果主文件的 <filespec> 中没有提供 SIZE 参数, 那么 SQL Server 将使用 model 数据库中的主文件大小 如果次要文件或日志文件的 <filespec> 中没有指定 SIZE 参数, 则 SQL Server 将使文件大小为 1 MB size 是 <filespec> 中定义的文件的初始大小, 可以使用千字节 (KB) 兆字节(MB) 千兆字节 (GB) 或兆兆字节 (TB) 后缀, 默认值为 MB 指定一个整数, 不要包含小数位 size 的最小值为 512 KB 如果没有指定 size, 则默认值为 1 MB 为主文件指定的大小至少应与 model 数据库的主文件大小相同 MAXSIZE 指定 <filespec> 中定义的文件可以增长到的最大设置 max_size 是 <filespec> 中定义的文件可以增长到的最大设置, 可以使用千字节 (KB) 兆字节 (MB) 千兆字节(GB) 或兆兆字节 (TB) 后缀, 默认值为 MB 指定一个整数, 不要包含小数位 如果没有指定 max_size, 那么文件将增长到磁盘变满为止 注意 : 在磁盘即将变满时,Microsoft Windows NT S/B 系统日志会警告 SQL Server 系统管理员 UNLIMITED 指定 <filespec> 中定义的文件将增长到磁盘变满为止 FILEGROWTH 指定 <filespec> 中定义的文件的增长增量 文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置 growth_increment 为每次需要新的空间时为文件添加的空间大小 指定一个整数, 不要包含小数位 0 值表示不增长 该值可以 MB KB GB TB 或百分比 (%) 为单位指定 如果未在数量后面指定 MB KB 或 %, 则默认值为 MB 如果指定%, 则增量大小为发生增长时文件大小的指定百分比 如果没有指定 FILEGROWTH, 则默认值为 10%, 最小值 86

11 第 4 章数据库和表 87 为 64 KB 指定的大小舍入为最接近的 64 KB 的倍数 注意 : 尽管 'os_file_name' 可以是任何有效的操作系统文件名, 但如果使用表 4-1 中建议的扩展名, 则可以更加清楚地反映文件的用途 表 4-1 数据库中的文件类型与推荐扩展名 文件类型 文件扩展名 主要数据文件 次要数据文件 事务日志文件.mdf.ndf.ldf 注意 :SIZE MAXSIZE 和 FILEGROWTH 参数中不能指定分数 若要在 SIZE 参数中指定以兆字节为单位的分数, 将该数字乘以 转换成千字节 例如, 指定 KB 而不要指定 1.5 MB(1.5 乘以 等于 1 536) 例 4.1 创建简单的数据库 创建名为 职员管理 的数据库, 并指定单个文件 指定的文件成为主文件, 并自动创建一个 1MB 的事务日志文件 因为主文件的 SIZE 参数中没有指定 MB, 所以主文件将以兆字节为单位进行分配 因为没有为事务日志文件指定 <filespec>, 所以事务日志文件没有 MAXSIZE, 可以增长到填满所有可用的磁盘空间为止 USE master CREATE DATABASE 职员管理 ON ( NAME = 职员管理 _dat, FILENAME = 'f:\program files\microsoft sql server\mssql\data\ 职员管理.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = 1 ) 注意 : 如果仅指定 CREATE DATABASE database_name 语句而不带其他参数, 那么数据库的大小将与 model 数据库的大小相等 例 4.2 创建指定数据文件和事务日志文件的数据库 创建名为 销售 的数据库 因为没有使用关键字 PRIMARY, 第一个文件 ( 销售 _dat) 成为主文件 因为 销售 _dat 文件的 SIZE 参数没有指定单位, 因此默认为 MB, 以兆字节为单位进行分配 销售 _log 文件以兆字节为单位进行分配, 因为 SIZE 参数中显式声明 MB 后缀 USE master CREATE DATABASE 销售 ON 87

12 88 SQL Server 数据库设计与管理 88 ( NAME = 销售 _dat, FILENAME = 'f:\program files\microsoft sql server\mssql\data\ 销售.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = ' 销售 _log', FILENAME = 'f:\program files\microsoft sql server\mssql\data\ 销售.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) 使用 CREATE TABLE 命令创建表 利用命令创建一个新表的语法格式是 : CREATE TABLE [ database_name.[ owner ]. owner.] table_name ( { < column_definition > column_name AS computed_column_expression < table_constraint > ::= [ CONSTRAINT constraint_name ] } [ { PRIMARY KEY UNIQUE } [,...n ] ) [ ON { filegroup DEFAULT } ] [ TEXTIMAGE_ON { filegroup DEFAULT } ] < column_definition > ::= { column_name data_type } [ COLLATE < collation_name > ] [ [ DEFAULT constant_expression ] [ IDENTITY [ ( seed, increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL] [ < column_constraint > ] [...n ] < column_constraint > ::= [ CONSTRAINT constraint_name ] { [ NULL NOT NULL ] [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor ] [ON {filegroup DEFAULT} ] ] ] [ [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE NO ACTION } ] [ ON UPDATE { CASCADE NO ACTION } ] [ NOT FOR REPLICATION ] ] CHECK [ NOT FOR REPLICATION ] ( logical_expression )

13 第 4 章数据库和表 89 } < table_constraint > ::= [ CONSTRAINT constraint_name ] { [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED ] { ( column [ ASC DESC ] [,...n ] ) } [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup DEFAULT } ] ] FOREIGN KEY [ ( column [,...n ] ) ] REFERENCES ref_table [ ( ref_column [,...n ] ) ] [ ON DELETE { CASCADE NO ACTION } ] [ ON UPDATE { CASCADE NO ACTION } ] [ NOT FOR REPLICATION ] CHECK [ NOT FOR REPLICATION ] ( search_conditions ) } 参数说明如下所述 1 database_name 是要在其中创建表的数据库名称 2 owner 是新表所有者的用户 ID 名,owner 必须是 database_name 所指定的数据库中的现有用户 ID,owner 默认为与 database_name 所指定的数据库中的当前连接相关联的用户 ID 3 table_name 是新表的名称 表名必须符合标识符规则 数据库中的 owner.table_name 组合必须唯一 table_name 最多可包含 128 个字符, 但本地临时表的表名最多只能包含 116 个字符 注意 : 临时表与永久表相似, 但临时表存储在 tempdb 数据库中, 退出系统时自动删除 临时表有本地和全局两种类型的临时表, 两者在名称 可见性和可用性上均不相同 本地临时表的名称以单个数字符号 (#) 开始, 仅对当前的用户连接是可见的 ; 当用户从 SQL Server 2000 实例断开连接时被删除 全局临时表的名称以数学符号 (##) 开始, 创建后对任何用户都是可见的, 当所有引用该表的用户从 SQL Server 断开连接时被删除 4 column_name 是表中的列名 列名必须符合标识符规则, 并且在表内唯一 以 timestamp 数据类型创建的列可以省略 column_name 如果不指定 column_name,timestamp 列的名称默认为 timestamp 5 computed_column_expression 是定义计算列值的表达式 计算列是物理上并不存储在表中的虚拟列 计算列由同一表中的其他列通过表达式计算得到 6 ON {filegroup DEFAULT} 指定存储表的文件组 如果指定 filegroup, 则表将存储在指定的文件组中, 数据库中必须存在该文件组 如果指定 DEFAULT, 或者根本未指定 ON 参数, 则表存储在默认文件组中 89

14 90 SQL Server 数据库设计与管理 7 ON {filegroup DEFAULT} 也可以在 PRIMARY KEY 约束或 UNIQUE 约束中指定 这些约束会创建索引 如果指定 filegroup, 则索引将存储在指定的文件组中 如果指定 DEFAULT, 则索引将存储在默认文件组中 如果约束中没有指定文件组, 则索引将与表存储在同一个文件组中 如果 PRIMARY KEY 约束或 UNIQUE 约束创建聚集索引, 则表的数据页将与索引存储在同一个文件组中 注意 : 在 ON {filegroup DEFAULT} 和 TEXTIMAGE_ON {filegroup DEFAULT} 的上下文中,DEFAULT 并不是关键字 8 TEXTIMAGE_ON 是表示 text ntext 和 image 列存储在指定文件组中的关键字 如果表中没有 text ntext 或 image 列, 则不能使用 TEXTIMAGE ON 如果没有指定 TEXTIMAGE_ON, 则 text ntext 和 image 列将与表存储在同一文件组中 9 data_type 指定列的数据类型, 可以是系统数据类型或用户定义数据类型 10 constant_expression 是作为列的默认值的常量 NULL 或系统函数 IDENTITY 表示新列是标识列 当向表中添加新行时,SQL Server 2000 将为该标识列提供一个唯一的 递增的值 标识列通常与 PRIMARY KEY 约束一起用做表的唯一行标识符 Seed 是装入表的第一行所使用的值 Increment 是添加到前一行的标识值的增量值 NOT FOR REPLICATION 表示当复制登录 ( 如 sqlrepl) 向表中插入数据时, 不强制 IDENTITY 属性 复制的行必须保留发布数据库中所赋予的键值 ;NOT FOR REPLICATION 子句确保不向复制进程所插入的行赋予新的标识值 其他登录所插入的行仍然具有以通常的方式创建的新标识值 ROWGUIDCOL 表示新列是行的全局唯一标识符列 对于每个表只能指派一个 uniqueidentifier 列作为 ROWGUIDCOL 列 ROWGUIDCOL 属性只能指派给 uniqueidentifier 列 如果数据库兼容级别小于或等于 65, 则 ROWGUIDCOL 关键字无效 ROWGUIDCOL 属性并不强制列中所存储值的唯一性 该属性也不会为插入到表中的新行自动生成值 若要为每列生成唯一值, 那么或者在 INSERT 语句中使用 NEWID 函数, 或者将 NEWID 函数指定为该列的默认值 collation_name 指定列的排序规则 排序规则名称既可以是 Windows 排序规则名称, 也可以是 SQL 排序规则名称 collation_name 仅适用于数据类型为 char varchar text nchar nvarchar 及 ntext 的列 CONSTRAINT 是可选关键字, 表示 PRIMARY KEY NOT NULL UNIQUE FOREIGN KEY 或 CHECK 约束定义的开始 约束是特殊属性, 用于强制数据完整性并可以为表及其列创建索引 constrain_name 是约束的名称 约束名在数据库内必须是唯一的 NULL NOT NULL 是确定列中是否允许空值的关键字 PRIMARY KEY 是通过唯一索引对给定的一列或多列强制实体完整性的约束 对于每个表只能创建一个 PRIMARY KEY 约束 UNIQUE 是通过唯一索引为给定的一列或多列提供实体完整性的约束 一个表可以 90

15 有多个 UNIQUE 约束 第 4 章数据库和表 91 CLUSTERED NONCLUSTERED 是表示为 PRIMARY KEY 或 UNIQUE 约束创建聚集或非聚集索引的关键字 PRIMARY KEY 约束默认为 CLUSTERED,UNIQUE 约束默认为 NONCLUSTERED [ WITH FILLFACTOR = fillfactor] 指定 SQL Server 存储索引数据时每个索引页的充满程度 用户指定的 fillfactor 取值范围从 1 到 100 如果没有指定 fillfactor, 则默认为 0 创建索引时,fillfactor 的值越低, 不必分配新空间即可由新索引项使用的空间就越多 FOREIGN KEY...REFERENCES 是为列中的数据提供引用完整性的约束 ref_table 是 FOREIGN KEY 约束所引用的表名 (ref_column[,...n]) 是 FOREIGN KEY 约束所引用的表中的一列或多列 ON DELETE {CASCADE NO ACTION} 指定当要创建的表中的行具有引用关系, 并且从父表中删除该行所引用的行时, 要对该行采取的操作, 默认设置为 NO ACTION ON UPDATE{CASCADE NO ACTION} 指定当要创建的表中的行具有引用关系, 并且在父表中更新该行所引用的行时, 要对该行采取的操作, 默认设置为 NO ACTION CHECK 是通过限制可输入到一列或多列中的可能值强制域完整性的约束 NOT FOR REPLICATION 是用于防止在复制所使用的分发过程中强制 CHECK 约束的关键字 NOT FOR REPLICATION CHECK 约束适用于被更新记录的前像和后像, 以防在复制范围中添加记录或从复制范围中删除记录 ; 将检查所有删除和插入操作 ; 如果操作在复制范围内, 则拒绝执行该操作 logical_expression 是返回 TRUE 或 FALSE 的逻辑表达式 Column 是用括号括起来的一列或多列, 在表约束中表示这些列用在约束定义中 [ASC DESC] 指定加入到表约束中的一列或多列的排序次序, 默认设置为 ASC n 是表示前面的项可重复 n 次的占位符 注意 :SQL Server 的每个数据库最多可存储 20 亿个表, 每个表可以有 1024 列 表的行数及总大小仅受可用存储空间的限制 每行最多可以存储 8060 B 如果创建具有 varchar nvarchar 或 varbinary 列的表, 并且列的字节总数超过 8060 B, 虽然仍可以创建此表, 但会出现警告信息 如果试图插入超过 8060 B 的行或对行进行更新以至字节总数超过 8060, 将出现错误信息并且语句执行失败 例 4.3 在 销售 数据库中创建的一个表 job1 USE 销售 CREATE TABLE job1 ( 工号 smallint, 姓名 char(10) NOT NULL, 底薪 int NOT NULL, 提成 int NOT NULL ) 91

16 92 SQL Server 数据库设计与管理 4.3 修改数据库 随着数据库文件的增长或更改, 可以自动方式或手工方式来扩展或收缩数据库的大小, 既可以使用 SQL Server 企业管理器, 也可以利用 ALTER DATABASE 语句来实现对数据库的这些操作, 但 ALTER DATABASE 语句必须在 master 数据库中使用 而且一般要求退出数据库正常操作模式之后修改 修改数据库的常见操作主要有以下几种 1 扩充数据库 2 收缩数据库 3 创建文件组 4 查看数据库 5 数据库更名 6 创建可移动数据库 ALTER DATABASE 语句的部分语法格式为 : ALTER DATABASE db_name {ADD FILE file_spec1 [TO FILEGROUP group_name1] ADD LOG FILE file_spec2 REMOVE FILE logical_file_name [WITH DELETE] ADD FILEGROUP filegroup_name MODIFY FILE file_spec3 MODIFY NAME=new_dbname MODIFY FILEGROUP filegroup_name {filegroup_property NAME =new_filegroup_name} SET optionspec [WITH termintion] COLLATE collation_name } 各项说明如下所述 1 db_name: 要更改的数据库名称 2 file_spec1: 要添加的文件名称 3 TO FILEGROUP: 将指定文件添加到文件组 4 filegroup_name: 要将指定文件添加到的文件组名称 5 ADD LOG FILE: 指定要将日志文件添加到指定的数据库 6 REMOVE FILE: 从数据库系统表中删除文件描述并删除文件组中所有文件 文件组空时才能删除 7 ADD FILE GROUP: 要添加的文件组 8 filegroup_name: 要添加或删除的文件组名称 9 MODIFY FILE: 指定要更改给定的文件, 其选项包括 FILENAME\SIZE\FILEGROUP\ MAXSIZE 一次只能更改一项, 且必须在 <filespec3> 中指定 NAME, 以标识要改的文件 SIZE 要比当前大, 只能是 tempdb 数据库中文件的 FILENAME, 且重启 SQL-Server 才有效 10 SET: 用于设计多种状态 光标 SQL 恢复等多种选项 92

17 第 4 章数据库和表 扩充数据库当数据文件增长, 或者当数据修改操作增加时, 需要扩展数据文件或日志文件的大小 可以通过下述方式控制数据库的大小 1 将数据库文件和日志文件配置为自动增长 2 手工增加或减少现有的数据库文件或日志文件的当前设置或最大设置 3 手工增加附加的数据库文件和日志文件 为了优化性能, 应当注意以下几点 1 为数据库文件和日志文件分配足够的初始大小值和足够大的增长增量值, 避免频繁地进行自动增长处理 2 必须按至少 1MB 的增量增加该数据库的设置 3 若事务日志没有设置自动扩充, 某些活动可能会用完所有空间 4 若有多个数据库的话, 可以设置数据库大小的最大允许值 例如, 如果日志文件每天增长 40MB, 那么自动增长增量应该设置为 50MB 或 100MB, 而不是 1MB 1. 利用企业管理器扩充数据库文件利用企业管理器扩充数据库文件的方法很简单, 其主要步骤如下所述 1 展开服务器组, 然后展开服务器 2 打开 数据库 文件夹, 右击 项目管理 数据库, 然后单击 属性 命令 3 选择 数据文件 选项卡, 然后对 文件属性 进行设计, 如图 4.20 所示 图 4.20 数据文件的属性设置 4 选择 事务日志 选项卡, 然后对 文件属性 进行设计, 如图 4.21 所示 其中下列选项的含义分别是设置文件的增长方式和增长空间 按兆字节增长或按百分比增长 文件增长不受限制或将文件增长限制为 [MB] 93

18 94 SQL Server 数据库设计与管理 图 4.21 事务日志的属性设置 2. 利用 ALTER DATABASE 语句扩充数据库文件 例 4.4 利用 ALTER DATABASE 语句扩充数据库 USE master ALTER DATABASE 项目管理 ADD FILE (NAME= 项目管理 _data, FILENAME='f:\ \MSSQL\DATA\ 项目管理 _data.mdf', SIZE=30MB, MAXSIZE=100MB, FILEGROWTH=10MB ) 收缩数据库 收缩数据库分为自动和手工两种方式 自动收缩 : 允许定期对数据库进行检查, 当数据库文件或日志文件的未用空间超过其大小的 25% 时, 系统将会自动缩减文件使其未用空间等于 25% 手工收缩 : 数据库文件可以作为组或单独地进行手工收缩 1. 使用企业管理器收缩数据库 使用企业管理器收缩数据库的步骤如下所述 1 展开服务器组, 然后展开服务器 2 打开 数据库 文件夹, 右击要收缩的数据库, 指向 所有任务, 然后单击 收缩数据库 命令 3 要指定数据库的收缩量, 从如图 4.22 所示的各选项中进行选择 94

19 第 4 章数据库和表 95 图 4.22 收缩数据库 4 单击 调度 命令创建或更改自动收缩数据库的频率和时间 5 若要收缩个别的数据库文件, 单击 文件 按钮 注意 : 不能将整个数据库收缩到比其原始大小还小 2. 使用 DBCC SHRINKDATABASE 命令收缩数据库 其语法为 : DBCC SHRINKDATABASE (database_name [,target_percent] [, {NOTRUNCATE TRUNCATEONLY}] ) 各项说明如下所示 1 database_name : 要收缩的数据库名称 2 target_percent : 收缩后数据库文件中保留所要的剩余可用空间百分比 3 NOTRAUNCATE: 导致在数据文件中保留所释放的文件空间 4 TRUNCATEONLY: 导致将数据文件中的任何未使用的空间释放给操作系统, 并将文件收缩到上一次所分配大小, 而不移动数据 例 4.5 将 项目管理 用户数据库的文件设置为 9MB, 然后减小, 使之有 40% 的可用空间 命令执行后在企业管理器中查看数据库大小 DBCC SHRINKDATABASE ( 项目管理,40 ) Go 程序执行结果为 : DbId FileId CurrentSize MinimumSize UsedPages EstimatedPages

20 96 SQL Server 数据库设计与管理 创建文件组在首次创建数据库或者将更多文件添加到数据库时, 可以创建文件组 文件组是数据库对文件进行分组的一种管理机制, 一个文件不能是多个文件组的成员 表格 索引以及 text ntext 和 image 数据可以与特定的文件组相关联 这意味着它们的所有页都将从该文件组的文件中分配 有以下三种类型的文件组 1 主文件组 : 包含主数据文件以及任何其他没有放入其他文件组的文件 系统表的所有页都从主文件组分配 2 用户定义文件组 : 是用 CREATE DATABASE 或 ALTER DATABASE 语句中的 FILEGROUP 关键字, 或在 SQL Server 企业管理器内的 属性 对话框上指定的任何文件组 3 默认文件组 : 包含在创建时没有指定文件组的所有表和索引的页 在每个数据库中, 每次只能有一个文件组是默认文件组 如果没有指定默认文件组, 则默认文件组是主文件组 注意 : 最多可以为每个数据库创建 256 个文件组 文件组只能包含数据文件 事务日志文件不能是文件组的一部分 文件组不能独立于数据库文件创建 文件组是在数据库中对文件进行分组的一种管理机制 创建数据库时添加文件组的两种方法如下所述 1. 用企业管理器创建文件组 1 展开服务器组, 然后展开服务器 2 打开 数据库 文件夹, 右击 项目管理 数据库, 然后单击 属性 命令 3 选择 文件组 选项卡, 然后在 名称 栏添加新文件组, 如图 4.23 所示 图 4.23 创建文件组 96

21 第 4 章数据库和表 使用 ALTER DATABASE 语句创建文件组 例 4.6 先建立一个数据库 职员管理, 向数据库中添加文件, 再向数据库中添加由两个 5MB 的文件组成的 文件组 1, 并设置 文件组 1 为默认文件组 -- 建立数据库 职员管理 CREATE DATABASE 职员管理 ON ( -- 数据文件 NAME = 职员管理 _Data, FILENAME='F:\ \MSSQL\data\ 职员管理 _Data.MDF', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 10% ) - 日志文件 LOG ON ( NAME = 职员管理 _Log, FILENAME='F:\ \MSSQL\data\ 职员管理 _Log.LDF', SIZE = 3MB, MAXSIZE= 50MB, FILEGROWTH = 10% ) -- 修改数据库, 添加文件 ALTER DATABASE 职员管理 ADD FILE ( NAME = 职员管理 _Data1, FILENAME='F:\ \MSSQL\data\ 职员管理 _Data1.MDF', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 10% ) -- 添加文件组 1 ALTER DATABASE 职员管理 ADD FILEGROUP 文件组 1 ALTER DATABASE 职员管理 ADD FILE ( NAME = 职员管理 _Data2, FILENAME='F:\ \MSSQL\data\ 职员管理 _Data2.MDF', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 10% ) ( NAME = 职员管理 _Data3, FILENAME='F:\ \MSSQL\data\ 职员管理 _Data3.MDF', SIZE = 5MB, MAXSIZE = 50MB, 97

22 98 SQL Server 数据库设计与管理 FILEGROWTH = 10% ) TO FILEGROUP 文件组 1 -- 设置文件组 1 为默认文件组 ALTER DATABASE 职员管理 MODIFY FILEGROUP 文件组 1 DEFAULT 例 4.7 向数据库 职员管理 中添加两个日志文件, 然后更改一个文件的大小 ALTER DATABASE 职员管理 -- 添加两个日志文件 ADD LOG FILE ( NAME = 职员管理 _Log2, FILENAME='F:\ \MSSQL\data\ 职员管理 _Log2.LDF', SIZE = 3MB, MAXSIZE=50MB, FILEGROWTH = 10% ) ( NAME = 职员管理 _Log3, FILENAME='F:\ \MSSQL\data\ 职员管理 _Log3.LDF', SIZE = 3MB, MAXSIZE=50MB, FILEGROWTH = 10% ) -- 更改日志文件大小 ALTER DATABASE 职员管理 MODIFY FILE ( NAME = 职员管理 _Data1, SIZE = 15MB ) 注意 : 更改默认文件组时, 最初没有指定文件组的所有对象都被分配到新默认文件组中的数据文件 更改默认文件组可以防止不是专门在用户定义的文件组上创建的用户对象与系统对象和表竞争以获得数据空间 查看数据库 在进行疑难解答或更改数据库时, 首先要清楚数据库的配置设置, 即对数据库有关信息进行查看 1. 使用 Transact_SQL 命令查看数据库 语法 示例 :sp_helpdb ' 项目管理 ', 结果如图 4.24 所示 98

23 第 4 章数据库和表 99 图 4.24 使用 sp_helpdb 命令查看数据库 2. 使用企业管理器查看数据库使用企业管理器查看数据库的步骤如下所述 1 展开服务器组, 然后展开服务器 2 打开 数据库 文件夹, 展开要查看的数据库, 单击所选数据库 3 选择 查看 菜单中的 任务板 命令, 然后可以选择 常规 表信息 向导 等选项卡查看数据库信息, 如图 4.25 所示 图 4.25 查看数据库信息 3. 使用 Transact_SQL 命令查看数据库的设置其语法为 : DATABASEPROPERTYEX (database, property) 例 4.8 检索数据库 项目管理 默认排序规则名 SELECT DATABASEPROPERTYEX (' 项目管理 ','collaytion') 4. 使用企业管理器查看数据库的设置 1 展开服务器组, 然后展开服务器 99

24 100 SQL Server 数据库设计与管理 2 打开 数据库 文件夹, 右击 项目管理 数据库, 然后单击 属性 命令 3 选择 选项 选项卡, 如图 4.26 所示 图 4.26 使用企业管理器查看数据库的设置 数据库更名一般情况下不要将数据库更名, 如果需要更名则要将数据库的并发用户数设为 1, 更名后再将数据库的并发用户数改回来 设置数据库并发用户的方法如下所述 1 单击要改名的数据库, 选择 工具 菜单中 SQL Server 配置属性 命令, 打开 SQL Server 属性配置 对话框, 如图 4.27 所示 图 4.27 SQL Server 属性配置 对话框 100

25 第 4 章数据库和表 在 SQL Server 属性配置 对话框中选择 连接 选项卡, 在其中的 并发用户连接的最大数目 文本框中输入数字 1, 如图 4.28 所示, 单击 确定 按钮 图 4.28 SQL Server 属性配置 对话框 连接 选项卡也可以利用系统存储过程 sp_renamedb 修改数据库名称 不能使用企业管理器对数据库更名, 利用系统存储过程 sp_renamedb 可以修改数据库名称, 其语法格式为 : sp 数据库新名称例如, 将数据库 student1 更名为 student2, 命令为 : sp student 创建可移动数据库 SQL Server 可以出于只读目的创建数据库, 并通过可移动介质 ( 如 CD-ROM) 分发此数据库 这对于分发包含历史数据的大型数据库很有用 若要创建可移动介质数据库, 则必须使用 sp_create_removable 系统存储过程, 而不要使用 SQL Server 企业管理器或 CREATE DATABASE 语句创建数据库 sp_create_removable 系统存储过程可以创建 3 个或更多文件 1 一个文件包含系统表 2 一个文件包含事务日志 3 一个或多个文件包含数据表 即使数据库本身有可能保留在只读媒体 ( 如 CD-ROM) 上, 系统表和事务日志也会放在可写媒体上的单独文件中, 以便管理任务 ( 如将用户添加到数据库 授予权限等 ) 能够完成 一个数据库可以使用多个可移动介质设备 但是, 所有媒体都必须能够同时使用 例如, 如果数据库使用 3 个光盘, 则系统必须有 3 个 CD-ROM 驱动器, 而且当使用数据库时, 所有光盘都可用 101

26 102 SQL Server 数据库设计与管理 创建数据库之后, 可以使用 sp_certify_removable 系统存储过程, 以确保正确配置数据库以便分发在可移动介质上 如果数据库配置正确, 则数据库将处于脱机状态, 并允许文件复制到可移动介质上 通过使数据库处于脱机状态, 可以防止用户访问数据库, 而且不能修改数据库, 直到数据库联机为止 要使数据库在同一台服务器上再次可用, 将数据库联机即可 在可移动介质上分发文件后, 通过将这些文件附加到其他 SQL Server 实例, 可使数据库变为可用 4.4 更改表结构 在建立一个表之后, 在使用过程中可能会发现原来设计的表不能满足实际需要, 因此需要对原先的某些定义进行一定修改, 如添加 修改 删除列以及添加 删除各种约束 但是列的数据类型 NULL 值或 IDENTITY 属性不能直接进行修改 有以下两种常用方法对已有表的设置进行修改 1 使用 Transact-SQL 的 ALTER TABLE 语句修改 2 使用 SQL Server 企业管理器修改 下面主要介绍 Transact-SQL 语句操作, 使用 SQL Server 企业管理器修改表的设置在后面详细讲解 ALTER TABLE 语句 102 语句格式为 : ALTER TABLE table_name { [ ALTER COLUMN column_name { new_data_type [ ( precision [,scale ] ) ] [ COLLATE < collation_name > ] [ NULL NOT NULL ] { ADD DROP } ROWGUIDCOL } ] ADD { [ < column_definition > ] column_name AS computed_column_expression } [, n ] [ WITH CHECK WITH NOCHECK ] ADD { < table_constraint > } [, n ] DROP { [ CONTRAINT ] constraint_name COLUMN column } [, n ] { CHECK NOCHECK } CONSTRAINT { ALL constraint_name [, n ] } { ENABLE DISABLE } TRIGGER {ALL trigger_name [, n ] } } < column_definition > :: = { column_name data_type }

27 第 4 章数据库和表 103 [ [ DEFAULT constant_expression ] [ WITH VALUES ] [ IDENTITY [ ( seed,increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL ] [ COLLATE < collation_name > ] [ < column_constraint > ] [, n ] < column_constraint > :: = [ CONSTRAINT constraint_name ] { [ NULL NOT NULL ] [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup DEFAULT } ] ] [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE NO ACTION } ] [ ON UPDATE { CASCADE NO ACTION } ] [ NOT FOR REPLICATION ] ] CHECK [ NOT FOR REPLICATION ] ( logical_expression ) } < table_constraint > :: = [ CONSTRAINT constraint_name ] { [ { PRIMARY KEY UNIQUE } [ CLUSTERED NOTCLUSTERED ] { ( column [, n ] ) } [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup DEFAULT } ] ] FOREIGN KEY [ ( column [, n ] ) ] REFERENCES ref_table [ ( ref_conlumn [, n ] ) ] [ ON DELETE { CASCADE NO ACTION } ] [ ON UPDATE { CASCADE NO ACTION } ] [ NOT FOR REPLICATION ] DEFAULT constant_expression [ FOR column ] [ WITH VALUES ] CHECK [ NOT FOR REPLICATION ] ( search_conditions ) } 参数说明如下所示 1 table_name: 要更改的表的名称 2 ALTER COLUMN: 指定要更改给定列 3 column_name: 要添加 修改或删除的列的名称 4 new_data_type: 要修改的列的新数据类型 5 precision: 指定数据类型的精度 103

28 104 SQL Server 数据库设计与管理 6 scale: 指定数据类型的小数位数 7 COLLATE<collation_name>: 为更改列指定新的排序规则 排序规则名称可以是 SQL 或 Windows 排序规则名称 排序规则只能用于更改数据类型为 char varchar text nchar nvarchar 和 ntext 的列 8 NULL NOT NULL: 指定该列是否可接受空值 添加表中的新列要么允许空值, 要么必须指定默认值 ( 不允许空值时 ) 9 [ {ADD DROP} ROWGUIDCOL]: 在指定列上添加或除去 ROWGUIDCOL 属性 ROWGUIDCOL 属性只能指派给 uniqueidentifier 列, 而对于每个表只能指派一个 uniqueidentifier 列作为 ROWGUIDCOL 列 10 ADD: 指定要添加一个或多个列定义 计算列定义或者表约束 computed_column_expression: 定义计算列的表达式 WITH CHECK WITH NOCHECK: 指定向表添加新的或者打开原有的新添加的约束, 系统默认为 WITH CHECK 该参数对 PRIMARY KEY 和 UNIQUE 约束无效 DROP { [CONSTRAINT] constraint_name COLUMN column_name}: 指定从表中删除约束或者列 但下面的列不能被删除 : 被复制的列 ; 用于索引的列 ; 用于 CHECK FOREIGN KEY UNIQUE 或 PRIMARY KEY 约束的列 ; 绑定默认对象或 DEFAULT 约束的列 ; 绑定有规则的列 {CHECK NOCHECK} CONSTRAINT: 启用或禁用某种约束 如果设置为 ALL, 则表明启用或禁用所有约束 但该参数只适用于 FOREIGN KEY 和 CHECK 约束 {ENABLE DISABLE} TRIGGER: 指定启用或禁用某个触发器 当一个触发器被禁用后, 在表上执行 INSERT UPDATE 或 DELETE 语句时, 触发器不起作用, 但是对表的定义依然存在 column_name data_type: 新列的数据类型 data_type 可以是任何 SQL Server 数据类型或用户定义的数据类型 表创建之后, 可以修改许多已经定义的内容, 主要包括以下方面 1 添加 修改或删除列 例如, 列的名称 长度 数据类型 精度 小数位数以及是否为空均可以进行修改, 不过有一些限制 2 可以添加和删除 PRIMARY KEY 和 FOREIGN KEY 约束 3 可以添加和删除 UNIQUE 和 CHECK 约束及 DEFAULT 定义 ( 对象 ) 4 可以使用 IDENTITY 或 ROWGUIDCOL 属性添加或删除标识符列 虽然 ROWGUIDCOL 属性也可添加至现有列或从现有列删除, 但是任何时候在表中只有一列可以具有该属性 5 表及表中所选定的列已注册为全文索引 表名及表的所有者也可以更改 在执行本操作时, 如果触发器 存储过程 Transact-SQL 脚本及其他程序代码中使用了旧的表名或所有者名, 也应随之更改 修改列属性表的每一列都有一组属性, 如名称 长度 数据类型 精度 小数位数等 列的所有属性构成列的定义 可以使用数据库关系图在数据库表中直接指定列的属性 在数据库中 104

29 第 4 章数据库和表 105 创建表之前应具有 3 个属性 : 列名 数据类型 数据长度 可以通过重命名 更改长度或指定默认值等来修改列的属性 选择数据类型时将自动定义长度 对于 binary\char\nchar\varbinary\varchar 或 nvarchar 数据类型的列只能增加或减少其长度属性 对于其他数据类型的列, 其长度由数据类型确定, 不可更改 定义了 PRIMARY KEY 和 FOREIGN KEY 约束的列的宽度不能更改 当使用 SQL Server 企业管理器保存表或数据库的关系图时, 对列数据长度的修改将会导致在数据库中重新建表 数值列的精度是指选定数据类型所使用的最大位数 非数值列的精度指最大宽度或定义的列宽 除了 decimal 和 numeric 外, 其他数据类型的精度自动定义 SQL Server 企业管理器不允许更改不是这些所指定类型的列的精度 否则, 对列数据精度的修改将会导致在数据库中重新建表 对于小数位数,decimal 和 numeric 列的小数位数是指小数点右边的最大位数 列的小数位数默认值是 0 对于包含近似浮点数的列, 右边的小数位数不固定, 故未定义 如果重新定义小数点右边的小数位数, 可以更改 decimal 和 numeric 列的小数位数 列可以定义为允许或不允许空值 在默认情况下, 列允许空值 只有当现有列不存在空值及该列不存在索引时, 才可以更改为不允许空值 要使得含有空值的列不允许空值, 可以进行如下操作 1 添加具有 DEFAULT 定义的新列, 插入有效值代替空值 2 将原来列中的数据复制到新列中 3 删除旧列 只要没有 PRIMARY KEY 约束就可以由不允许空值改为允许空值 当使用 SQL Server 企业管理器保存表或数据库的关系图时, 对新的 非键列为空值的修改将会导致在数据库中重新建表 1. 采用 Transact-SQL 的 ALTER TABLE 语句 例 4.9 在 职员管理 数据库中创建一个新表, 然后修改其列属性 -- 创建新表 CREATE TABLE student (column_grade INT ) -- 查看表的信息 EXEC sp_help student -- 添加列 ALTER TABLE student ADD column_class VARCHAR (20) NULL EXEC sp_help student -- 删除列 ALTER TABLE student DROP COLUMN column_class EXEC sp_help student 该例中先创建了表 student, 其中含有列 column_grade( 年级 ), 然后添加一个允许空值且没有通过 DEFAULT 定义的列 column_class( 班级 ), 新列中各行的值均为 NULL, 最后又 105

30 106 SQL Server 数据库设计与管理 删除了列 column_classs, 在每个修改后, 都要用 sp_help 语句查询表 student 2. 采用企业管理器在数据库关系图中设置列属性的操作如下所述 1 在数据库 项目管理 关系图中, 选择要定义属性的表 职员信息表 2 右击该表, 从快捷菜单中选择 属性 命令 3 选择 列 选项卡, 选择一个 列, 如图 4.29 所示 4 修改要更改的每个属性的值或设置 5 单击 关闭 按钮关闭属性页 图 4.29 设置列属性一旦按下 Tab 键或在 属性 对话框的单元格外单击, 数据库关系图中的新设置立即生效 当保存表或关系图时, 新设置即保存在数据库中 如果列属性在数据库关系图中是可视的, 则可以直接编辑属性值, 而不必打开属性页 3. 表设计器中设置列属性的操作 1 为包含要修改列属性的表打开表设计器 2 若要设置基本属性, 单击要修改的数据库列属性的网络单元, 然后输入值 3 若要设置其他属性, 选择描述要修改的数据库列属性的网络行, 然后在该网格下的选项卡中修改属性 一旦按下 Tab 键或在编辑的网格单元或控件外单击时, 数据库关系图中的新设置立即生效 当保存表或关系图时, 新设置即保存在数据库中 重命名列 1. 采用 Transact-SQL 的 sp_rename sp_rename 函数可以更改当前数据库中用户创建对象 ( 如表 列或用户自定义类型 ) 的 106

31 第 4 章数据库和表 107 名称 格式为 :EXEC sp_rename ' 表名. 列名 ',' 新列名 ','COLUMN' 2. 采用企业管理器在数据库关系图上, 表中所显示的列名与列存储在数据库的名称一样, 可以在数据库关系图中直接重命名列 其具体步骤如下所述 1 展开数据库关系图, 选择要重命名列的表, 再右击要重命名的列 2 从快捷菜单中的子菜单 表视图 中选择 标准 列名 或 键 命令, 如图 4.30 所示 3 在显示要重命名列的单元格中输入新的 列名 图 4.30 在数据库关系图中直接重命名列 添加和删除列如果允许空值或在列上创建 DEFAULT 约束, 则 SQL Server 允许向现有表中添加列, 也允许在现有表中删除列 但在下列情况中不允许删除列 1 正在复制 2 用在索引中的列 3 用在 CHECK FOREIGN KEY UNION 或 PRIMARY KEY 约束中的列 4 与 DEFAULT 定义关联或绑定到某一默认对象的列 5 绑定到规则的列 6 已注册为全文本支持的列 7 用做表的全文键的列 查看表属性当数据库的表创建好之后, 还可以使用企业管理器查看表的属性, 具体步骤如下所述 1 打开企业管理器, 展开服务器组, 然后展开服务器实例 2 展开 数据库 文件夹, 再展开要在其中查看表的属性的数据库 107

32 108 SQL Server 数据库设计与管理 3 双击 表 目录, 右侧窗口列出了所有的表, 选择查看属性的表, 然后右击鼠标, 从快捷菜单中选择 属性 命令, 就会出现 表属性 对话框, 如图 4.31 所示 图 4.31 表属性 对话框 4 在 表属性 对话框中, 可以看到表的大部分属性信息 单击 确定 按钮, 关闭 表属性 对话框 从一个表复制到另一个表采用企业管理器技术复制列仅涉及列定义而不涉及数据, 数据本身并不自动传输到目的表, 使用查询设计器运行更新查询, 可将数据添加到已复制了列的表中, 其步骤如下所述 1 在数据库关系图中选择要复制的列, 单击 复制 按钮 2 表中被选中的内容及当前属性集一起放到剪贴板上 3 将光标定位在表中要插入的位置, 单击 粘贴 按钮 若在不同数据库之间复制, 复制的列在目的数据库中不能使用时, 系统自动分配与目的数据库基础数据类型最匹配的类型 4.5 修改表内容 除了 SELECT 语句外, 还有 3 种 DML 语句 :INSERT UPDATE 和 DELETE 这 3 种语句主要用于维护和修改表和视图 INSERT 语句 INSERT 语句可给表添加一个或多个新行 VALUES 关键字为表的某一行指定值 值被指定为逗号分隔的标量表达式列表, 表达式的数据类型 精度和小数位数必须与列表对应的列一致, 或者可以隐性地转换为列表中的对应列 如果没有指定列的列表, 指定值的 108

33 第 4 章数据库和表 109 顺序必须与表或视图中的列顺序一致 INSERT 语句用来向表中插入行 ( 或行中一部分 ), 有以下两种不同格式 格式 1:INSERT INTO tab_name view_name [(col_list)] {DEFAULT values values({default expression_1}..)} 格式 2:INSERT INTO tab_name view_name[(col_list)] {SELECT_statement execute_statement} 参数说明如下所述 1 col_list 是由逗号分隔的列名列表, 用来指定为其提供数据的列 如果没有指定 col_list, 表或者视图中的所有列都将接收数据 2 如果 col_list 没有为表或视图中的所有列命名, 将在列表中没有命名的任何列中插入一个 NULL 值 ( 或者在默认情况下为这些列定义的默认值 ) 在列的列表中没有指定的所有列都必须允许 NULL 值或者指定的默认值 3 使用第一种格式, 将向表 tabl_name 或者视图 view_name 的基础表中仅插入一行 ( 或一行中的一部分 ) 第二种格式将插入由 EXECUTE 语句所执行的 SELECT 语句或存储过程的结果集合中的行 数值类型必须兼容, 所有基于字符的数值和日期 / 时间类型的数据都必须用单引号或双引号括起来, 数值型不需要 4 SQL Server 支持带有下列两个选项之一的 INSERT 语句向表中添加数据 :VALUES 子句, 将特定值集合插入一行 ;SELECT 子查询, 用来插入选自表或视图中的数据 1. 插入单独一行 例 4.10 向 职员信息表 中加载数据, 结果如图 4.32 所示 图 4.32 向表中插入单行数据 INSERT INTO 职员信息表 values('e1003',' 何影 ','d001',' 青岛 ') INSERT INTO 职员信息表 values('e1005',' 林丹丰 ','d002',' 沈阳 ') INSERT INTO 职员信息表 values('e1006',' 林业品 ','d001',' 厦门 ') INSERT INTO 职员信息表 values('e1007',' 林丹朝 ','d002',' 泰安 ') 注意 : 显式地使用关键词 NULL 将空值插入到相应的列中, 被省略的列必须是可空或者拥有 DEFAULT 值的 109

34 110 SQL Server 数据库设计与管理 使用 INSERT...SELECT 插入多行 第二种格式将插入使用子句查询选择出来的一行或多行 用于插入许多行的大容量复制组件 指定大容量复制操作主要有以下 3 种方法 1 大容量复制程序 (bcp 实用工具 ), 一个命令行提示实用工具 2 用在 Transact-SQL 批处理 存储过程和触发器中的 BULK INSERT 语句 3 用于 OLE DB ODBC 和 DB-Library 应用程序的大容量复制 API INSERT 语句中的 SELECT 子查询可用于将一个或多个其他的表或视图的值添加到表中 使用 SELECT 子查询可同时插入多行 例 4.11 获取位于北京的部门的编号和名称, 并将选取出来的数据加载到一个新表 ( 部门管理 ) 中 CREATE TABLE 部门管理 ( 部门编号 char(4) not null,- 部门名称 char(10) not null) INSERT INTO 部门管理 ( 部门编号, 部门名称 ) SELECT 部门编号, 部门名称 FROM 部门信息 WHERE 部门所在地 =' 北京 ' 例 4.12 获取为项目 p002 工作的所有职员的职员编号 项目编号和加入时间, 并将选取出来的数据加载到一个新表 ( 职员表 ) 之中 CREATE TABLE 职员表 ( 职员编号 INT NOT NULL, 项目编号 char(4), 加入时间 datetime) INSERT INTO 职员表 ( 职员编号, 项目编号, 加入时间 ) SELECT 职员编号, 项目编号, 加入时间 FROM 工作关系表 WHERE 工种 =' 程序员 ' AND 项目编号 = 'p002' 注意 : 子查询的选择列表必须与 INSERT 语句列的列表匹配 如果没有指定列的列表, 选择列表必须与正向其插入的表或视图的列匹配 另外,INSERT...SELECT 语句的另一个作用是从 SQL Server 的外部数据源中插入数据 INSERT 语句中的 SELECT 可以实现以下功能 使用由 4 部分组成的名称引用链接服务器上的远程表 使用 OPENROWSET 引用远程表 使用在远程服务器上执行的查询结果集 UPDATE 语句 UPDATE 语句可以更改表或视图中单行 行组或所有行的数据值 还可以用该语句更新远程服务器上的行 ( 使用链接服务器名称或 OPENROWSET OPENDATASOURCE 和 OPENQUERY 函数 ), 前提是用来访问远程服务器的 OLE DB 提供程序支持更新操作 引用某个表或视图的 UPDATE 语句每次只能更改一个基表中的数据 其语句格式为 : UPDATE tab_name view_name SET column_1=expression[{column_2=expression}..] [FROM tab_name view_name1[tab_name2 view_name2]..]]

35 第 4 章数据库和表 111 [WHERE condition] UPDATE 语句包括以下几个主要子句 1 SET 包含要更新的列和每个列的新值的列表 ( 用逗号分隔 ), 格式为 column_name = expression 表达式提供的值包含多个项目, 如常量 从其他表或视图的列中选择的值或使用复杂的表达式计算出来的值 2 FROM 指定为 SET 子句中的表达式提供值的表或视图以及各个源表或视图之间可选的连接条件 3 WHERE 指定搜索条件, 该搜索条件定义源表和视图中可以为 SET 子句中的表达式提供值的行 4 按照 WHERE 子句进行修改, 对于要修改的每一行,UPDATE 语句都将对在 SET 子句中指明的列中的数值进行修改, 并对相应的列赋予一个常量 ( 或通常情况下是一个表达式 ) 如果 WHERE 子句被省略, 则 UPDATE 子句将修改表中所有的行 1. 一个 UPDATE 语句只能修改单独一个表 例 4.13 将在项目 p002 工作且职员编号为 e1003 的职员的工作任务设置为 经理 UPDATE 工作关系表 SET 工种 =' 经理 ' WHERE 职员编号 ='e1003' AND 项目编号 ='p002' 其中 UPDATE 语句只修改了一行, 因为列 职员编号 和 项目编号 的组合建立了表的主键 2. 用表达式来修改表中的行 例 4.14 将所有项目的预算表示成 RMB 的形式, 当前汇率是 7.92 元 RMB 兑换 1 美元 UPDATE 项目信息表 SET 预订资金 = 预订资金 * 所有行都被修改 例 4.15 职员 张飞 休假, 将其在所有项目中担任的职位都设置为 NULL UPDATE 工作关系表 SET 工种 =NULL WHERE 职员编号 IN (SELECT 职员编号 FROM 职员信息表 WHERE 职员姓名 =' 张飞 ') 等价于 : UPDATE 工作关系表 SET 工种 =NULL FROM 工作关系表, 职员信息表 WHERE 职员姓名 =' 张飞 ' AND 工作关系表. 职员编号 = 职员信息表. 职员编号 例 4.16 利用更新语句将类别 (category) 2 中所有 Northwind 产品的价格提高 10% USE Northwind UPDATE Northwind.dbo.Products 111

36 112 SQL Server 数据库设计与管理 112 SET UnitPrice = UnitPrice * 1.1 WHERE CategoryID = 2 注意 :UPDATE 语句有日志记录, 如果要更改大量的 text 或 image 数据, 考虑使用 UPDATETEXT 或 WRITETEXT 语句, 这两个语句在默认情况下无日志记录 DELETE 语句 DELETE 语句可删除表或视图中的一行或多行 DELETE 语句用以从一个表中删除行, 有以下两种不同格式 格式 1: DELETE table_name view_name [FROM table_name view_name1[,table_name2 view_nam2] ]] [WHERE predicate] 格式 2: DELETE table_name view_name [WHERE condition] 1 table_or_view 指定要从中删除行的表或视图 2 table_or_view 中所有符合 WHERE 搜索条件的行都将被删除 如果没有指定 WHERE 子句, 将删除 table_or_view 中的所有行 3 FROM 子句指定删除时用到的额外的表或视图及连接条件 4 WHERE 子句搜索条件中的谓词使用它们限定要从 table_or_view 中删除的行 该语句不从 FROM 子句指定的表中删除行, 而只从 table_or_view 指定的表中删除行 5 任何已删除所有行的表仍会保留在数据库中 6 DELETE 语句只从表中删除行, 要从数据库中删除表, 必须使用 DROP TABLE 语句 注意 : 在 DELETE 语句中显式地写出列名是没有必要的 ( 或是不允许的 ), 因为所有适当的行中的列都会被删除 例 4.17 删除表 工作关系表 中所有的经理 DELETE FROM 工作关系表 WHERE 工种 =' 经理 ' 例 4.18 张飞 先生要离开, 删除数据库中与他相关的所有行 DELETE FROM 工作关系表 WHERE 职员编号 IN (SELECT 职员编号 FROM 职员信息表 WHERE 职员姓名 =' 张飞 ') 等价于 : DELETE FROM 职员信息表 WHERE 职员姓名 =' 张飞 ' 如果一个表中的 WHERE 子句被省略, 则表中的所有行都将被删除 例 4.19 Northwind 数据库中含有名为 Lyngbysild 的公司所提供的产品, 以下程序显示删除与这些产品有关的行时所需要的 3 个 DELETE 语句 该程序涉及从现有订单中删除行,

37 显示一系列复杂程度不同的删除操作 第 4 章数据库和表 113 USE Northwind DELETE [Order Details] FROM Suppliers, Products WHERE Products.SupplierID = Suppliers.SupplierID AND Suppliers.CompanyName = 'Lyngbysild' AND [Order Details].ProductID = Products.ProductID DELETE Products FROM Suppliers WHERE Products.SupplierID = Suppliers.SupplierID AND Suppliers.CompanyName = 'Lyngbysild' DELETE Suppliers WHERE CompanyName = 'Lyngbysild' 各项说明如下所述 1 语句 DELETE 和 DROP TABLE 之间有一个非常重要的区别 DELETE 删除一个表中 ( 一部分或全部 ) 的内容 而 DROP TABLE 则将表的内容和表的大纲全都一起删除 在执行了 DELETE 语句之后, 表仍然存在于数据库中, 但在执行了 DROP TABLE 语句后, 表将不复存在 2 T-SQL 语言也支持 TRUNCATE TABLE 语句 在一般情况下, 这个语句对不包含 WHERE 子句的 DELETE 语句将提供一个 快速执行 版本 TRUNCATE TABLE 语句从一个表中删除所有行的速度要快于 DELETE, 其格式为 : TRUNCATE TABLE table_name 3 若要删除表中的所有行, 则 TRUNCATE TABLE 语句是一种快速 无日志记录的方法 该语句总是比不带条件的 DELETE 语句要快, 因为 DELETE 语句要记录对每行的删除操作, 而 TRUNCATE TABLE 语句只记录整个数据页的释放 TRUNCATE TABLE 语句立即释放由该表的数据和索引占用的所有空间 所有索引的分发页也将释放 4 与 DELETE 语句相同, 使用 TRUNCATE TABLE 清空的表的定义同其索引和其他相关的对象一起仍保留在数据库中 必须使用 DROP TABLE 语句才能除去表的定义 4.6 删除数据库对象 当不再需要数据库, 或如果它被移到另一数据库或服务器时, 即可删除该数据库 数据库删除之后, 文件及其数据都从服务器上的磁盘中删除 一旦删除数据库, 即被永久删除, 并且不能进行检索, 除非使用以前的备份 不能分离系统数据库 msdb master model 和 tempdb 建议在数据库删除之后备份 master 数据库, 因为删除数据库将更新 master 中的系统表 如果 master 需要还原, 则从上次备份 master 之后删除的所有数据库都仍然在系统表中有引 113

38 114 SQL Server 数据库设计与管理 用, 因而可能导致出现错误信息 每个数据库由以下几个数据库对象组成 : 关系图 表 视图 存储过程 用户 角色 规则 默认 用户自定义数据类型和用户自定义函数 目的是为了执行与数据有关的活动提供支持,SQL Server 能够支持许多数据库, 并合理配置, 建立数据库必须确定数据库的名称 所有者 ( 用户 ) 大小以及存储数据库的文件和文件组 删除数据库 1. 利用 DROP 语句删除数据库 DROP 语句可以从 SQL Server 中一次删除一个或多个数据库 其语法为 : DROP database database_name[, n] 2. 利用企业管理器删除数据库利用企业管理器删除数据库的步骤如下所述 1 展开服务器组, 然后展开服务器 2 打开 数据库 文件夹, 右击要删除的数据库名, 如 jiang 3 从快捷菜单中, 选择 删除 命令, 如图 4.33 所示 图 4.33 利用企业管理器删除数据库 4 在弹出的提示框中, 单击 是 按钮, 即可完成数据库删除 使用 DROP TABLE 删除表删除表时, 表的结构定义 数据 全文索引 约束和索引都永久地从数据库中删除, 原来存放表及其索引的存储空间可用来存放其他表 如果不想等待临时表自动除去, 可明确删除临时表 如果要删除通过 FOREIGN KEY 和 UNIQUE 或 PRIMARY KEY 约束相关的表, 必须首先删除具有 FOREIGN KEY 约束的表 如果要删除 FOREIGN KEY 约束中引用的表而不是删除整个外键表, 则必须删除 FOREIGN KEY 约束 114

39 第 4 章数据库和表 115 DROP TABLE 语句可以用来删除表以及表中的所有数据 索引 触发器 约束和权限规范 但是如果要删除引用已删除表的视图或存储过程必须分别通过 DROP VIEW 和 DROP PROCEDURE 语句实现,DROP TABLE 语句格式为 : DROP TABLE table_name 例如, 删除 student 表 DROP TABLE student 即删除了数据库中的 student 表 注意 : 默认情况下, 将 DROP TABLE 权限授予表的所有者, 该权限不可转让 然而,sysadmin 固定服务器角色成员,db_owner 和 db_ddladmin 固定数据库角色成员可以通过在 DROP TABLE 内指定所有者删除任何表对象 删除视图等数据库对象除了 DATABASE 外,DROP 语句和企业管理器还可以删除下列对象 1 TABLE( 表 ) 2 DEFAULT( 默认值 ) 3 RULE( 规则 ) 4 STORRED PROCEDURE ( 存储过程 ) 5 INDEX( 索引 ) 6 VIEW( 视图 ) 7 TRIGGER( 触发器 ) 4.7 上机指导 数据库与表的基本操作通常有利用企业管理器和 Transact-SQL 语句两种方式 采用 Transact-SQL 语句实现数据库和表的添加 替换 查看和删除操作, 可以进一步掌握进行数据修改和数据管理的基本方法 目的是练习数据库和表的添加 替换 查看和删除操作, 对本章的内容进行复习 数据库的基本操作 (1) 简单数据库的修改 -- 新建一个数据库 mydb CREATE DATABASE mydb -- 数据库改名 EXEC sp_renamedb 'mydb','mydba' -- 或者 ALTER DATABASE mydb MODIFY NAME= mydba sp_helpdb USE mydba 115

40 116 SQL Server 数据库设计与管理 向数据库中添加 删除一个数据文件 ALTER DATABASE mydba ADD FILE ( NAME=anotherDataFile, FILENAME='d:\anotherDataFile.ndf' ) ALTER DATABASE mydba REMOVE FILE anotherdatafile -- 向数据库中添加 删除一个日志文件 ALTER DATABASE mydba ADD LOG FILE ( NAME=anotherLogFile, FILENAME='d:\anotherLogFile.ldf' ) ALTER DATABASE mydba REMOVE FILE anotherlogfile -- 修改数据库文件的属性 : 大小, 最大限制, 增长 ALTER DATABASE mydba MODIFY FILE ( NAME=anotherDataFile, SIZE=3MB, MAXSIZE=10MB, FILEGROWTH=2 ) (2) 创建一个最复杂的数据库 ComplexDB 并指定数据文件 文件组和日志文件 CREATE DATABASE ComplexDB ON PRIMARY ( NAME=ComplexDB1, FILENAME='c:\ComplexDB_data1.mdf', SIZE=1MB, MAXSIZE=2MB, FILEGROWTH=10% ), ( NAME=ComplexDB2, FILENAME='c:\ ComplexDB_data2.ndf' ), -- 将 data3 和 data4 放在文件组 userfg 中 FILEGROUP userfg ( NAME=ComplexDB3, FILENAME='c:\ ComplexDB_data3.ndf' ), ( NAME=ComplexDB4, FILENAME='c:\ComplexDB_data4.ndf'

41 ) LOG ON ( NAME=ComplexDBLog1, FILENAME='d:\ComplexDB_log1.ldf' ), ( NAME=ComplexDBLog2, FILENAME='d:\ComplexDB_log2.ldf' ) 程序运行结果是 : 第 4 章数据库和表 117 CREATE DATABASE 进程正在磁盘 'ComplexDB1' 上分配 1.00 MB 的空间 CREATE DATABASE 进程正在磁盘 'ComplexDB2' 上分配 1.00 MB 的空间 CREATE DATABASE 进程正在磁盘 'ComplexDB3' 上分配 1.00 MB 的空间 CREATE DATABASE 进程正在磁盘 'ComplexDB4' 上分配 1.00 MB 的空间 CREATE DATABASE 进程正在磁盘 'ComplexDBLog1' 上分配 1.00 MB 的空间 CREATE DATABASE 进程正在磁盘 'ComplexDBLog2' 上分配 1.00 MB 的空间 (3) 收缩数据库 收缩数据库, 使得数据库文件有 10% 的可用空间 CREATE DATABASE mydbb sp_spaceused DBCC SHRINK DATABASE(mydbB,10) sp_spaceused (4) 分离和附加数据库 CREATE DATABASE mydbc ON ( NAME= mydba, FILENAME='d:\ mydba_data.mdf' ) sp_helpdb mydbc sp_detach_db mydbc sp_attach_db mydbc,'d:\ mydba_data.mdf' (5) 删除数据库 DROP DATABASE mydbc CREATE DATABASE mcse CREATE DATABASE mydba DROP DATABASE mcse, mydba 表的基本操作 (1) 局部临时表的建立与数据插入 USE tempdb CREATE TABLE #TempTable ( studentid int, 117

42 118 SQL Server 数据库设计与管理 118 FullName char(8), telephone char(8) ) INSERT INTO #TempTable VALUES(1,'ZhangSan',' ') INSERT INTO #TempTable VALUES(2,'LiSi',' ') INSERT INTO #TempTable VALUES(3,'WangWu',' ') SELECT * FROM #temptable 程序运行结果为 : studentid FullName telephone ZhangSan LiSi WangWu 查看局部临时表的有关信息 USE tempdb sp_help #temptable 注意 : 开个新的查询窗口, 执行上面的语句无效 (2) 创建表, 为表添加 删除行和列 USE STUDENT -- 表的建立 CREATE TABLE bookstable ( bookid int not null identity(1,3), bookname varchar(50), bookprice smallmoney, publishername varchar(30) ) select * from bookstable 程序运行结果是 : bookid bookname bookprice publishername ( 所影响的行数为 0 行 ) -- 插入数据 insert into student_info( 学号, 姓名, 性别, 年龄, 班级编号 ) values('0008',' 文平 ',' 女 ',19,'2005') insert into student_info( 学号, 姓名, 性别, 年龄, 班级编号 ) values('0010',' 文章 ',' 男 ',20,'2006') insert into student_info( 学号, 姓名, 性别, 年龄, 班级编号 ) values('0012',' 黎文平 ',' 女 ',19,'2005')

43 -- 查看表数据 select * from student_info 程序运行结果是 : 第 4 章数据库和表 119 学号 姓名 性别 年龄 班级编号 王敬 男 李淑 女 孙洪岩 女 常翔 男 赵延超 男 文平 女 文章 男 黎文平 女 向表中添加和删除列 alter table bookstable add publisheraddress char(50) select * from bookstable -- 更新表中的数据 update student_info set 姓名 =' 章文平 ' where 姓名 =' 文平 ' update student_info set 班级编号 ='2003' where 姓名 =' 黎文平 ' select * from student_info 程序运行结果是 : 学号 姓名 性别 年龄 班级编号 王敬 男 李淑 女 孙洪岩 女 常翔 男 赵延超 男 章文平 女 文章 男 黎文平 女 删除表 drop table bookstable -- 更新表中特定行的数据 Update student_info set age=23 where 姓名 =' 王敬 ' -- 删除表中特定一行 Delete from student_info where 姓名 =' 文章 ' select * from student_info 程序运行结果是 : 学号 姓名 性别 年龄 班级编号 王敬 男 李淑 女 孙洪岩 女 常翔 男 赵延超 男 章文平 女 黎文平 女

44 120 SQL Server 数据库设计与管理 -- 删除表中的所有数据 Delete from student_info -- 删除表 Drop table student_info 习 题 1. 填空题 (1) 建立数据库的方法通常有和两种方法 (2) 为表更新数据通常使用命令 (3) 修改表的结构通常利用命令, 给数据库改名用命令 (4) 存储过程 sp_help 的功能是 (5) 局部临时表的主要特点是 2. 简答题 (1) 利用 INSERT 语句向表中插入数据应注意什么? (2) 删除数据库中的表有 TRUNCATE TABLE 和 DROP TABLE 两种方法, 说明这两种方法有何区别? (3) 除了数据库和表,DROP 语句还可以删除哪些数据库对象? (4) 说明数据库中的表和数据文件的关系 (5) 数据库中的日志文件能否单独修改? 3. 操作题 (1) 在企业管理器中创建一个名为 学生信息 的数据库, 然后在该数据库中创建 3 个表, 分别为 : 学生表, 其中包含的字段是学号 姓名 性别 专业 班级 ; 课程表, 其中包含的字段是课程号 课程名 学分 学时 ; 选课表, 其中包含的字段是学号 课程号 成绩 (2) 利用企业管理器创建一个数据库 学生信息, 再利用 TRANSACT-SQL 语句对数据库进行修改 压缩 删除等操作 (3) 在 学生信息 数据库中, 创建一个表 学生信息表 并对其数据进行插入 修改和删除等操作 (4) 使用 ALTER DABABASE 语句将所建数据库 学生管理 的大小更改为 100MB (5) 为数据库 学生信息 增加一个日志文件, 然后删除 (6) 将 学生信息 数据库收缩 20% 120

四川天一学院信息工程系毛玉环

四川天一学院信息工程系毛玉环 四川天一学院信息工程系毛玉环 教学目标 1 1 1 掌握 SQL Server 2005 数据库系统的数据库类型 了解系统数据库的功能 了解数据库中的基本对象的特点 1 1 1 掌握数据库文件及文件组的概念及配置策略 掌握使用 Transact-SQL 创建数据库的方法 掌握查看数据库的基本方法 1 1 掌握修改文件组 增大数据库及收缩数据库方法 掌握删除数据库的方法 3.1 SQL Server

More information

项目 3 创建和管理表 任务实现 Office Visio PK 3 FK FK1 3.1 相关知识 SQL Server 一 制订表规划 1. 表要存储什么对象 2. 表中每一列的数据类型和长度 059

项目 3 创建和管理表 任务实现 Office Visio PK 3 FK FK1 3.1 相关知识 SQL Server 一 制订表规划 1. 表要存储什么对象 2. 表中每一列的数据类型和长度 059 项目 3 创建和管理表 表是数据库中最重要的基础对象 它包含数据库中的所有数据 其他数据库对象 例如索引和视图等 都是依赖于表而存在的 若要使用数据库来存储和组织数据 首先就需要创建表 在本项目中将通过 15 个任务来创建和管理表 主要内容包括表的设计 理解 SQL Server 2008 中的数据类型 以及创建和修改表等 任务 1 表的设计 任务描述 Office Visio 3.1 3.1 项目

More information

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2 CHAPTER 1 Understanding Core Database Concepts 1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2 1 Understanding Core Database Concepts

More information

创建数据表语法格式

创建数据表语法格式 创建数据库语法格式 数据库名 CREATE DATABASE database_name [ ON 指定数据库的数据文件和文件组 指定主文件 [ PRIMARY ] [ [,...n ] [, [,...n ] ] [ LOG ON { [,...n ] } ] 指定数据库文件的属性 定义文件组的属性 ] 指定事务日志文件的属性 [

More information

untitled

untitled OO 1 SQL Server 2000 2 SQL Server 2000 3 SQL Server 2000 DDL 1 2 3 DML 1 INSERT 2 DELETE 3 UPDATE SELECT DCL 1 SQL Server 2 3 GRANT REVOKE 1 2 1 2 3 4 5 6 1 SQL Server 2000 SQL Server SQL / Microsoft SQL

More information

创建数据表语法格式

创建数据表语法格式 第三章 : 关系数据库标准语言 SQL 创建和管理数据库 数据表 1 创建数据库语法格式 数据库名 CREATE DATABASE database_name [ ON 指定数据库的数据文件和文件组 指定主文件 [ PRIMARY ] [ [,...n ] [, [,...n ] ] [ LOG ON { [,...n ] } ]

More information

01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysa

01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysa 6 01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS 6-1 06 228 6-1 SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysadmin 6-1 SQL Server 2008 SSIS SQL Server (dbo) master

More information

ebook46-23

ebook46-23 23 Access 2000 S Q L A c c e s s S Q L S Q L S Q L S E L E C T S Q L S Q L A c c e s s S Q L S Q L I N A N S I Jet SQL S Q L S Q L 23.1 Access 2000 SQL S Q L A c c e s s Jet SQL S Q L U N I O N V B A S

More information

untitled

untitled Database System Principle Database System Principle 1 SQL 3.1 SQL 3.2-3.3 3.4 3.5 3.6 Database System Principle 2 3.1 SQL SQL Structured Query Language SQL Database System Principle 3 SQL 3.1.1 SQL 3.1.2

More information

第3章 创建和管理数据库

第3章 创建和管理数据库 SQL Server 2008 数据库应用与开发 第 1/100 页 第 3 章创建和管理数据库 内容提要 1 2 3 4 5 数据库对象和数据库文件用户数据库创建与修改管理数据库文件组的创建数据库快照和数据分区管理 第 2/100 页 第 3 章习题作业 实验 习题 3 1. 选择题 2. 思考题 :(2) (5) 3. 上机练习题 :(1) (3) (5) 实验 1. (P145) 实验 2 第

More information

目錄 C ontents Chapter MTA Chapter Chapter

目錄 C ontents Chapter MTA Chapter Chapter 目錄 C ontents Chapter 01 1-1 MTA...1-2 1-2...1-3 1-3...1-5 1-4...1-10 Chapter 02 2-1...2-2 2-2...2-3 2-3...2-7 2-4...2-11...2-16 Chapter 03 3-1...3-2 3-2...3-8 3-3 views...3-16 3-4...3-24...3-33 Chapter

More information

2 SQL 的全称是 3 DDL 的全称是 4 DML 的全称是 5 在 Transact---SQL 语言中, 有 4 种常见的 DML 语句, 分别为 : 和 三 问答题 ( 每题 10 分 ) 1. 在 course 表中查询每个学生的选修课门数, 只要显示学号在 到 000

2 SQL 的全称是 3 DDL 的全称是 4 DML 的全称是 5 在 Transact---SQL 语言中, 有 4 种常见的 DML 语句, 分别为 : 和 三 问答题 ( 每题 10 分 ) 1. 在 course 表中查询每个学生的选修课门数, 只要显示学号在 到 000 第一套题 : 信阳农林学院 一 选择题 ( 每题 4 分, 共 20 分 ) 1 数据库的英文缩写是 ( ) A DBS B DBMS C DBO D DB 2 数据库系统的英文缩写是 ( ) A DBS B DBMS C DBO D DB 3 数据库管理系统的英文缩写是 ( ) A DBS B DBMS C DBO D DB 4 目前, 商品化的数据库管理系统以 ( ) 为主 A 网状模型 B 层次模型

More information

习题1

习题1 习 题 1 数 据 库 系 统 基 本 概 念 1.1 名 词 解 释 DB DB 是 长 期 存 储 在 计 算 机 内 有 组 织 的 统 一 管 理 的 相 关 数 据 的 集 合 DB 能 为 各 种 用 户 共 享, 具 有 较 小 冗 余 度 数 据 间 联 系 紧 密 而 又 有 较 高 的 数 据 独 立 性 等 特 点 DBMS 是 位 于 用 户 与 操 作 系 统 之 间 的

More information

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 1/54 数 据 库 系 统 基 础 哈 尔 滨 工 业 大 学 2011.~2012. 数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 3/54 第 6 章 数 据 库 管 理 与 维 护 6.1 数 据 库 管 理 员 的 基 本 职 责 6.2 数 据 库 存 储 与 性 能 管 理 6.3 数 据 库

More information

单元四数据的查询 数据库原理与应用 课内例题 任务 5 多表查询 课内例题 例创建数据表 orders, 并向表中添加记录 首先创建表 orders,sql 语句如下 : CREATE TABLE orders( o_num int NOT NULL AUTO_INCREMENT, o_date d

单元四数据的查询 数据库原理与应用 课内例题 任务 5 多表查询 课内例题 例创建数据表 orders, 并向表中添加记录 首先创建表 orders,sql 语句如下 : CREATE TABLE orders( o_num int NOT NULL AUTO_INCREMENT, o_date d 任务 5 多表查询 课内例题 例创建数据表 orders, 并向表中添加记录 首先创建表 orders,sql 语句如下 : CREATE TABLE orders( o_num int NOT NULL AUTO_INCREMENT, o_date datetime NOT NULL, c_id int NOT NULL, PRIMARY KEY (o_num) ) ; 插入需要演示的数据,SQL

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

SQL Server SQL Server SQL Mail Windows NT

SQL Server SQL Server SQL Mail Windows NT ... 3 11 SQL Server... 4 11.1... 7 11.2... 9 11.3... 11 11.4... 30 11.5 SQL Server... 30 11.6... 31 11.7... 32 12 SQL Mail... 33 12.1Windows NT... 33 12.2SQL Mail... 34 12.3SQL Mail... 34 12.4 Microsoft

More information

ZMF740.mps

ZMF740.mps 第 章 表的创建与管理 学习目标 瞯了解表的概念 瞯了解 SQL Server 2000 中的数据类型 瞯掌握创建及删除自定义数据类型的方法 瞯掌握数据表的创建 修改和删除方法 瞯掌握 DEFAULT CHECK PRIMARY KET UNIQUE 和 FOREIGN KEY 约束的定义及使用 瞯掌握使用企业管理器插入 修改和删除记录的方法 学习重点 用 瞯 SQL Server 2000 中数据表的创建,

More information

sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al

sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al RMAN sql> sqlplus / as sysdba 查看数据库版本 sql> select * from v$version; 查看数据库名称 sql> show parameter db_name; 一 使用 RMAN 时, 需要将数据库设置成归档模式 sql> conn / as sysdba; sql> show user 查看数据库是否为归档模式 sql> archive log list

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 章 SQL Server 2008 数据表和索引 在 SQL Server 2008 中, 表是用来存储数据的对象 通常将同一类或者是相关数据存放在一个数据表中 例如, 所有的学生信息存放在一个表中, 而成绩信息都存放到另一个表中 用户可以通过多种方式访问数据库中的数据 掌握 SQL Server 2008 数据表的相关知识是非常重要的 本章主要包括数据表的基础知识 数据表定义的管理 表中数据的管理及索引的管理等知识

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘 ITE 資 訊 專 業 人 員 鑑 定 資 料 庫 系 統 開 發 與 設 計 實 務 試 卷 編 號 :IDS101 注 意 事 項 一 本 測 驗 為 單 面 印 刷 試 題, 共 計 十 三 頁 第 二 至 十 三 頁 為 四 十 道 學 科 試 題, 測 驗 時 間 90 分 鐘 : 每 題 2.5 分, 總 測 驗 時 間 為 90 分 鐘 二 執 行 CSF 測 驗 系 統 -Client

More information

Microsoft Word - µÚ06ÕÂ.doc

Microsoft Word - µÚ06ÕÂ.doc 第 6 章数据库管理 主要内容 返回总目录 创建数据库 数据库属性设置 浏览数据库 更改数据库 删除数据库 压缩数据库 移动数据库 数据库维护计划 系统数据库 实例数据库 管理数据库及其对象是 SQL Server 的主要任务 SQL Server 来管理和操作数据库的基本知识 本章将介绍使用 6.1 创建数据库 6.1.1 文件与文件组 在 SQL Server 中数据库是由数据库文件和事务日志文件组成的包含一个数据库文件和一个事物日志文件

More information

starter_pdfmerge

starter_pdfmerge 許 致 學 本 場 次 內 容 效 能 調 校 與 規 劃 SQL Server 2008 提 升 效 能 的 新 功 能 SQL Server 2008 效 能 調 校 工 具 效 能 不 佳 之 影 響 法 滿 足 使 用 者 需 求 無 業 生 產 力 客 戶 忠 誠 度 企 資 訊 人 員 績 效 不 彰 痛 醫 頭 腳 痛 醫 腳 頭 急 亂 投 醫 硬 體 升 級 不 一 定 可 以 獲

More information

通过Hive将数据写入到ElasticSearch

通过Hive将数据写入到ElasticSearch 我在 使用 Hive 读取 ElasticSearch 中的数据 文章中介绍了如何使用 Hive 读取 ElasticSearch 中的数据, 本文将接着上文继续介绍如何使用 Hive 将数据写入到 ElasticSearch 中 在使用前同样需要加入 elasticsearch-hadoop-2.3.4.jar 依赖, 具体请参见前文介绍 我们先在 Hive 里面建个名为 iteblog 的表,

More information

Microsoft Word - 扉页

Microsoft Word - 扉页 第 3 章 操作存储数据的单元 在第 2 章中已经讲解了数据库的一些基本操作, 那么, 数据库中的数据是如何存放的呢? 数据库就相当于是一个文件夹, 在一个文件夹中可以存放多个文件 数据库中的文件被称为数据表, 也就是用来存储数据的容器 一个数据库由若干张数据表组成, 每张数据表的名字都是唯一的, 就像一个文件夹中的文件名都是唯一的一样 本章的主要知识点如下 : 数据表中的数据类型 如何创建数据表

More information

Microsoft Word - MySQL-排版文件.doc

Microsoft Word - MySQL-排版文件.doc 第 2 篇 核心应用 在了解 MySQL 的基本概念 基本应用之后 本篇将详细介绍 MySQL 的核心应用 包括数据表 视图 数据类型 数据运算符 函数 数据库查询 数据库索引 数据存储以及触发器等 通过本篇的学习 读 者将对使用 MySQL 数据库有更高的水平 第5章 第6章 第7章 第8章 第9章 第 10 章 第 11 章 第 12 章 数据表的基本操作 MySQL 视图 MySQL 的数据类型和运算符

More information

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建 2 第 二 讲 创 建 和 管 理 表 与 简 单 记 录 操 作 Copyright SWFC-CISC, 2013. All rights reserved. 教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表

More information

Microsoft Word - ch09.doc

Microsoft Word - ch09.doc 第 9 章 数据库与 SQL 语言 教学目标通过本章的学习, 使学生了解创建数据库的基本流程, 掌握创建数据库及数据表的基本方法, 掌握数据表中数据的基本操作, 熟练掌握 SQL 语句的使用方法 教学要求 知识要点能力要求关联知识 Access 2003 SQL Server 2000 SQL 语言 (1) 熟悉 Access 2003 工作窗口 (2) 掌握 Access 2003 的基本使用方法

More information

长 安 大 学 硕 士 学 位 论 文 基 于 数 据 仓 库 和 数 据 挖 掘 的 行 为 分 析 研 究 姓 名 : 杨 雅 薇 申 请 学 位 级 别 : 硕 士 专 业 : 计 算 机 软 件 与 理 论 指 导 教 师 : 张 卫 钢 20100530 长安大学硕士学位论文 3 1 3系统架构设计 行为分析数据仓库的应用模型由四部分组成 如图3 3所示

More information

PowerPoint Presentation

PowerPoint Presentation Skill-building Courses Intro to SQL Lesson 2 More Functions in SQL 通配符 :LIKE SELECT * FROM Products WHERE PName LIKE %gizmo% PName Price Category Manufacturer Gizmo $19.99 Gadgets GizmoWorks Powergizmo

More information

幻灯片 1

幻灯片 1 MySQL 开发与优化 杨涛 - 资深顾问上海爱可生信息技术有限公司 MSN:yueliangdao0608@gmail.com EMAIL: david.yang@actionsky.com MySQL 开发与优化 表设计 索引规划 语句优化 存储过程 触发器 视图 表设计 - 目录 命名规则 字段类型 引擎选择 编码选择 表设计 - 命名规则 保留词 多字节字符 表设计 - 字段类型 数值类型

More information

目錄

目錄 資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知

More information

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05 1 SP_01...3 SP_03 JAVA...6 SP_10 SQL...8 SP_51...12 SP_32...15 SP_53...18 SP_20...21 SP_22...24 SP_21...27 SP_23...30 SP_04.NET...33 SP_02 C...37 SP_05 FLASH...39 SP_06...42 2 SP_01 1. 8. Excel 2. 9. PowerPoint

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

SQL Server基础

SQL Server基础 模块 2 开发用户登录模块 任务二设计表及存储过程 议程 : SQL Server 数据库对象 数据库 表 存储过程 T-SQL 基础 Select Update Delete Insert 1 数据库对象 1.1SQL Server 数据库对象 数据库 表 存储过程 1.2 数据库 创建数据库 事务日志 数据存储方式 1.2.1 创建数据库 创建数据库需要定义 : 数据库名 数据库大小 存储数据库的文件

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

作业参考答案

作业参考答案 本章的知识点了解 SQL 语言发展史掌握关系数据库体系结构 三层结构在关系数据库体现 ) 掌握基本表定义 包括修改 删除定义 ) 掌握视图的概念与定义 删除定义理解索引的概念与定义 删除定义总结 SQL 数据定义的特点总结用户数据查询的基本结构掌握 SELECT 子句重复元组的处理掌握 FROM 子句掌握 WHERE 子句理解更名 属性 列 ) 运算理解字符串操作理解元组显示顺序理解分组掌握聚集函数掌握空值处理理解嵌套子查询的概念

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

Microsoft Word - sql_1__周燕红_ doc

Microsoft Word - sql_1__周燕红_ doc 实验 3 _ SQL 语言 (1) 实验报告 03CS 31311060 周燕红 一 实验目的 1. 熟悉标准 SQL 中的简单的 Select 语句和 DDL 语言 2. DML 语言和关系表的约束规范 3. 了解查询执行计划 加深理解关系代数理论 4. 了解数据库系统的数据字典 5. 熟悉 SQL Server 的相关工具的使用 二 实验素材 考虑一个简单的数据库, 在这个数据库中, 只有供应商

More information

未命名

未命名 附录三 ADS- MySQL 基础语法偏表 类别语法偏类 MySQL 语法 ADS 语法备注 型 Utility DESCRIBE {DESCRIBE DESC} tbl_name [col_name wild] {DESCRIBE DESC} dbname.tbl_name EXPLAIN 负偏 {EXPLAIN} [explain_type] explainable_stmt {EXPLAIN}

More information

4. 设有学生表 ( 学号, 姓名, 所在系, 身份证号 ) 和系表 ( 系名, 系办公地点儿下列关于两个 表的引用关系的描述, 正确的是 ( ) A. 设置学生表中的 " 所在系 " 为外键 B. 设置系表中的 " 系名 " 为外键 C. 设置学生表的学号为主键 D. 元法表达这两个表的引用关系

4. 设有学生表 ( 学号, 姓名, 所在系, 身份证号 ) 和系表 ( 系名, 系办公地点儿下列关于两个 表的引用关系的描述, 正确的是 ( ) A. 设置学生表中的  所在系  为外键 B. 设置系表中的  系名  为外键 C. 设置学生表的学号为主键 D. 元法表达这两个表的引用关系 试卷代号 :1256, 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末气 数据库应用技术试题 得分 评卷人 li I 2016 年 1 月一分一一-治一一一E 一J 山一 一一一一 单项选择题 { 每个题只有一个答案是正确的, 请将正确的答案填 写到括号内 本题共 20 个小题, 每小题 2 分, 共 40 分 ) 1. 下列属于数据模型三要素的是 ( ) A.

More information

幻灯片 1

幻灯片 1 数据库系统原理 Database System Principles 四川大学计算机学院 段磊 leiduan@scu.edu.cn 2014.9 第五章数据库完整性 完整性的概念 指数据的正确性和相容性 与安全性的比较 安全性防止人为恶意破坏数据库和非法存取 完整性防止不合语义的 不正确的数据进入数据库 DBMS 维护完整性的机制 定义机制 允许用户定义实体完整性 参照完整性和用户定义的完整性 检查机制

More information

水晶分析师

水晶分析师 大数据时代的挑战 产品定位 体系架构 功能特点 大数据处理平台 行业大数据应用 IT 基础设施 数据源 Hadoop Yarn 终端 统一管理和监控中心(Deploy,Configure,monitor,Manage) Master Servers TRS CRYSTAL MPP Flat Files Applications&DBs ETL&DI Products 技术指标 1 TRS

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章操作数据库和表 数据库的功能是管理数据, 这些数据必须被存放在数据库中才能够对它们进行管理 而表是存储数据的数据库对象 数据库中有很多种类型的对象, 如表 视图 存储过程 触发器等 数据库和表是数据管理的基础, 本章介绍数据库和表的相关操作, 包括数据库和表的概念 创建和对数据库和表的管理等 本章学习要点 : 理解数据库和数据表的概念 掌握数据库的两种创建方式 掌握表的两种创建方式 熟悉数据库相关查询

More information

课程名称:数据库系统概论

课程名称:数据库系统概论 数据库原理 第五章数据库完整性 张坤龙 zhangkl@tju.edu.cn 数据库完整性 数据库的完整性 数据的正确性和相容性 数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据, 也就是防止数据库中存在不正确的数据 防范对象 : 不合语义的 不正确的数据 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象 : 非法用户和非法操作 数据库完整性 ( 续 )

More information

untitled

untitled http://idc.hust.edu.cn/~rxli/ 1.1 1.2 1.3 1.4 1.5 1.6 2 1.1 1.1.1 1.1.2 1.1.3 3 1.1.1 Data (0005794, 601,, 1, 1948.03.26, 01) (,,,,,) 4 1.1.1 Database DB 5 1.1.1 (DBMS) DDL ( Create, Drop, Alter) DML(

More information

基于UML建模的管理管理信息系统项目案例导航——VB篇

基于UML建模的管理管理信息系统项目案例导航——VB篇 PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com

More information

PowerPoint Presentation

PowerPoint Presentation 数 据 库 培 训 项 目 研 究 Oracle 索 引 探 究 B*tree 索 引 与 位 图 索 引 的 特 点 作 者 : 赵 超 2008 年 12 月 18 日 实 验 环 境 Windows-server2003 内 存 :2G Oracle 10.2.0 ORACLE_SID=orcl 索 引 类 型 B*tree 索 引 ( 默 认 方 式 ) 位 图 索 引 (bitmap) 反

More information

目錄... ivv...vii Chapter DETECT

目錄... ivv...vii Chapter DETECT ... ivv...vii Chapter 1 1.1... 5 1.2... 6 1.3 DETECT... 11 1.3.1... 12 1.3.1.1...12 1.3.1.2...13 1.3.1.3...14 1.3.1.4...15 1.3.1.5...15 1.3.1.6...16 1.3.2 DETECT... 17 1.3.3... 19 1.3.4... 20... 22 Chapter

More information

数据完整性问题 数据完整性的四大保障措施 : 主键约束 ; 外键约束 ; 域约束 ; 业务规则约束 ;

数据完整性问题 数据完整性的四大保障措施 : 主键约束 ; 外键约束 ; 域约束 ; 业务规则约束 ; Database Systems 主题三 : 数据完整性实现技术 DDL 信息科学与工程学院 Jin-Min Yang 2018.09 数据完整性问题 数据完整性的四大保障措施 : 主键约束 ; 外键约束 ; 域约束 ; 业务规则约束 ; DDL layout Definition of Schema of Table Trigger( 触发器 ): 业务规则约束 ; SQL Identifiers

More information

关于“查询设计器”布局 (ADP)

关于“查询设计器”布局 (ADP) http://doc.helplib.com 全部显示 关于 " 查询设计器 " 布局 (ADP) 注释本主题中的信息仅适用于 Microsoft Access 项目 (.adp) " 查询设计器 " 由三个窗格组成 :" 图表 " 窗格 " 网格 " 窗格以及 "SQL" 窗格 " 查询设计器 " 的三个窗格 Page 1/10 " 图表 " 窗格显示所查询的表 视图和内嵌函数 每个矩形代表一个表

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

PowerPoint Template

PowerPoint Template RedGres MSSQL 到 PostgreSQL 的应用迁移 Migration Application from MSSQL to PostgreSQL Jerray.Huang 主要内容 1. 2. 3. 4. 迁移总体分析 数据迁移 - 类型与函数 语法与存储过程迁移 数据提供程序迁移 为什么要迁移 操作系统的问题 版权问题 经济问题 稳定性问题 客户要求 政府要求 硬件升级 其它 MS-SQL

More information

PowerPoint Presentation

PowerPoint Presentation 5 数据查询 5.1 简单 SELECT 语句 5.2 SELECT 语句的统计功能 5.3 SELECT 语句中的多表连接 5.4 子查询 5.5 使用 SQL Server Management Studio 进行数据查询与维护 学习目标 通过本部分的学习, 应该掌握以下内容 数据查询的各种语句 运用 S QL S e rve r M a n a g e m e n t S t u d io 和基本的

More information

第13章 SQL Server提供的应用程序接口

第13章 SQL Server提供的应用程序接口 第 13 部分 SQL Server 提供的应用程序接口 学习要点 : 通过 ODBC 连接 SQL Server 通过 ADO 对象连接 SQL Server 通过 JDBC 连接 SQL Server 13.1 ODBC 与 SQL Server 13.1.1 ODBC 的概述 开放式数据库连接 (Open Database Connectivity, ODBC) 是数据库服务器的一个标准协议,

More information

Linux服务器构建与运维管理

Linux服务器构建与运维管理 1 Linux 服务器构建与运维管理 第 2 章 :Linux 基本命令 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://linux.xg.hactcm.edu.cn http://www.51xueweb.cn 河南中医药大学管理科学与工程学科 2018.3 2 提纲 目录与文件的操作 mkdir touch mv cp rm rmdir file tree

More information

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w 1 1.1 D B M S To w e r C D 1. 1 968 I B M I M S 2 0 70 Cullinet Software I D M S I M S C O D A S Y L 1971 I D M S containing hierarchy I M S I D M S I M S I B M I M S I D M S 2 2. 18 R D B M S O R D B

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 MySQL 初学者入门 汪伟华 课程介绍 MySQL 数据库 简单介绍 多平台安装 (Windows, Linux) MySQL 表的建立及查询 表的建立 增删改查及范围查询 MySQL 表设计 主外键建立 NOT NULL, AUTO_INCREMENT 等表列定义 课程建议 我应该做什么 实验, 实验, 实验!!! 多进行尝试, 不要怕犯错, 切勿半途而废 我不应该做什么 不要跳过视频 不要停止你的学习步伐

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

44 Access 2010 数据库程序设计实验教程 图 3 2 简单查询向导二 2. 使用查询向导创建查询 ts2, 查询 tstud 表的 学号 姓名 字段, tcourse 表的 课程名 字段, tscore 表的 成绩 字段 打开 学生管理.accdb, 使用查询向导创建一个查询, 在 简单

44 Access 2010 数据库程序设计实验教程 图 3 2 简单查询向导二 2. 使用查询向导创建查询 ts2, 查询 tstud 表的 学号 姓名 字段, tcourse 表的 课程名 字段, tscore 表的 成绩 字段 打开 学生管理.accdb, 使用查询向导创建一个查询, 在 简单 第 3 章查询 实验一 选择查询 实验目的 掌握利用查询向导创建查询 掌握利用查询设计视图创建查询 掌握分组计算 数据来源 实验用数据库 / 第三章查询 / 实验一 / 学生管理.accdb 实验内容 1. 使用查询向导创建查询 ts1, 查询 tstud 表的 姓名 性别 入校时间 毕 业学校 字段 打开 学生管理.accdb, 使用查询向导创建一个查询, 在 简单查询向导 对话 框中选择 表 :tstud,

More information

目 录(目录名)

目  录(目录名) 目录 目录...1-1 1.1 域名解析配置命令... 1-1 1.1.1 display dns domain... 1-1 1.1.2 display dns dynamic-host... 1-1 1.1.3 display dns server... 1-2 1.1.4 display ip host... 1-3 1.1.5 dns domain... 1-4 1.1.6 dns resolve...

More information

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S 一 個 SQL Injection 實 例 的 啟 示 頁 1 / 6 你 的 網 站 在 裸 奔 嗎? 一 個 SQL Injection 實 例 的 啟 示 作 者 : 李 明 儒 SQL Injection( 資 料 隱 碼 攻 擊 ) 問 題 早 就 不 是 什 麼 新 聞, 但 前 陣 子 在 一 個 頗 具 知 名 度 的 活 動 網 站 上, 赫 然 發 現 它 大 刺 刺 地 現 身!

More information

一步一步教你搞网站同步镜像!|动易Cms

一步一步教你搞网站同步镜像!|动易Cms 一 步 一 步 教 你 搞 网 站 同 步 镜 像! 动 易 Cms 前 几 天 看 见 论 坛 里 有 位 朋 友 问 一 个 关 于 镜 像 的 问 题, 今 天 刚 好 搞 到 了 一 个, 于 是 拿 出 来 和 大 家 一 起 分 享 了! 1. 介 绍 现 在 的 网 站 随 着 访 问 量 的 增 加, 单 一 服 务 器 无 法 承 担 巨 大 的 访 问 量, 有 没 有 什 么

More information

ebook 96-16

ebook 96-16 16 13 / ( ) 16-1 SQL*Net/Net8 SQL*Net/Net8 SQL*Net/Net8 16-1 / S Q L SQL*Net V2 N e t 8 S Q L * N e t N e t ( ) 16.1 S Q L O r a c l e S Q L 16 401 ) ( H R _ L I N K create database link p u b l i c (

More information

Transact-SQL是一种定义、操作并控制数据的语言

Transact-SQL是一种定义、操作并控制数据的语言 SQL 1 SQL Transact-SQL Transact-SQL Transact-SQL SQL Query Analyzer SQL Query Analyzer SQL Query Analyzer osql Transact-SQL SELECT WHERE osql 1.1 Transact-SQL Transact-SQL SQL Server (ANSI) (ISO) SQL SQL-92

More information

5. 下列条件子句中, 能够筛选出价格不在 ( 不包括边界值 ) 的是 ( ) A. Where 价格 NOT BETWEEN 100 AND 200 B. Where 价格 BETWEEN NOT 100 AND 200 C. Where 价格 NOT BETWEEN 101 AND

5. 下列条件子句中, 能够筛选出价格不在 ( 不包括边界值 ) 的是 ( ) A. Where 价格 NOT BETWEEN 100 AND 200 B. Where 价格 BETWEEN NOT 100 AND 200 C. Where 价格 NOT BETWEEN 101 AND 试卷代号 :1256 座位号 rn 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 数据库应用技术试题 2015 年 1 月 国 四厅万 1 1 一 单项选择题 ( 每个题只有一个答案是正确的, 请将正确的答案填 写到括号内 本题共 15 个小题, 每小题 2 分, 共 30 分 ) 1. 下列属于数据模型三要素的是 ( ) A. 数据库 数据库管理系统和操作系统

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464>

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464> 第 1 章 进入 Photoshop 的全新世界 本章导读 Photoshop 1 1.1 Photoshop CS6 Photoshop Photoshop 1.1.1 Photoshop POP 1-1 图 1-1 平面广告效果 1.1.2 Photoshop 1-2 Photoshop CS6 Photoshop CS6 Photoshop CS6 Extended 3D 3 Photoshop

More information

untitled

untitled ?? 1 2 3 4 5 1 1 20 50 20 60 20 80 3 SQL ServerIBM DB2 ORACLESYBASEInformix AccessFoxProPowerBuild 3 1.2.1 1.1 2 1.2.2 1.2 1.2.3 Table 1.3 002002 1.4 3 DBS Database SystemDatabaseDatabase Management System

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

2006年暑期工作安排

2006年暑期工作安排 应用数学学院信息与计算科学专业 2 班 学号 3116006715 姓名林泽坚教师评定 实验题目 SQL 综合查询实验 一 实验目的 使学生掌握 SQL Server 查询分析器的使用方法, 加深对 SQL 和 Transact-SQL 语言的查询语句的理解 熟练掌握简单表的数据查询 数据排序和数据联结查询的操作方法 ; 嵌套查询语句 ; 熟练掌握数据查询中的分组 统计 计算和组合的操作方法 并完成下面实验内容和要求

More information

Oracle数据库应用技术16 [兼容模式]

Oracle数据库应用技术16 [兼容模式] 第十六章 Oracle 闪回技术 主讲内容 : 闪回技术 闪回表 闪回数据库的使用 ; 复习上节课内容 备份和恢复概述 RMAN 工具 RMAN 备份 恢复 第 2 页 本节课内容 1. 闪回技术概述 2. 闪回删除 3. 闪回版本查询 4. 闪回数据库 第 3 页 一. 闪回技术概述 目的 : 为了让用户及时获取误操作之前的数据 ; 多种形式 : 闪回表 (Flashback Table) 闪回删除

More information

untitled

untitled 21 Visual FoxPro Visual FoxPro 6.0 11 Visual FoxPro Visual FoxPro CIP Visual FoxPro 2004 21 ISBN 7-03-014834-7 V Visual FoxPro TP311.138 CIP 2004 143035 16 100717 http://www.sciencep.com * 2004 12 7871092

More information

幻灯片 1

幻灯片 1 沈 阳 工 业 大 学 2014 年 6 月 第 7 章 数 据 库 技 术 基 础 主 要 内 容 : 7.1 数 据 库 概 述 数 据 库 基 本 概 念 数 据 模 型 逻 辑 数 据 模 型 数 据 库 系 统 的 产 生 和 发 展 常 用 的 数 据 库 管 理 系 统 7.2 Access 2010 数 据 库 创 建 及 维 护 创 建 Access 2010 数 据 库 创 建

More information

三. 发现表被删除, 开始着手解决 1. 该表所在表空间离线 ( 确保删除表所在位置不会被重写 ) SQL> alter tablespace raw_odu offline; Tablespace altered. 2. 通过 logmnr, 找出被删除的数据 data _object _id 1

三. 发现表被删除, 开始着手解决 1. 该表所在表空间离线 ( 确保删除表所在位置不会被重写 ) SQL> alter tablespace raw_odu offline; Tablespace altered. 2. 通过 logmnr, 找出被删除的数据 data _object _id 1 使用 odu 恢复被 drop 表过程 一. 数据库版本 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production PL/SQL Release

More information

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se 1 SQL Server 2005 DBA Microsoft SQL Server SQL ServerSQL Server SQL Server SQL Server SQL Server SQL Server 2005 SQL Server 2005 SQL Server 2005 o o o SQL Server 2005 1 SQL Server 2005... 3 2 SQL Server

More information

Microsoft Word - part1-2.doc

Microsoft Word - part1-2.doc 返回总目录目录第 1 章 Transact-SQL DDL... 5 1.1 创建数据库...5 1.2 创建表...8 1.3 表的列...11 1.4 表的约束...18 1.5 创建视图...22 1.6 视图分类...25 1.7 创建视图选项...27 1.8 创建视图举例...28 1.9 创建索引...32 1.10 删除数据库表视图和索引...34 1.11 小结...34 第 2

More information

ZENworks 11 SP4

ZENworks 11 SP4 ZENworks 11 SP4 2015 年 7 月 本 自 述 文 件 中 的 信 息 与 Novell ZENworks 11 Support Pack 4 版 本 相 关 第 1 节 安 装 ( 第 1 页 ) 第 2 节 计 划 升 级 到 ZENworks 11 SP4 ( 第 1 页 ) 第 3 节 升 级 ( 第 2 页 ) 第 4 节 新 功 能 ( 第 2 页 ) 第 5 节 ZENworks

More information

数 据 库 原 理 及 应 用 实 验 与 课 程 设 计 指 导 内 容 简 介 本 书 作 为 数 据 库 原 理 及 应 用 ( 刘 金 岭, 冯 万 利, 张 有 东 主 编 ) 的 配 套 指 导 书, 本 书 共 分 为 两 个 部 分 : 第 一 部 分 为 试 验 指 导, 包 括 14 个 试 验, 该 部 分 介 绍 了 SQL Server 2005 数 据 库 功

More information

Microsoft PowerPoint - Ch6

Microsoft PowerPoint - Ch6 第 六 章 基 本 的 SQL 目 的 SQL 的 關 聯 模 式 SQL 的 資 料 定 義 語 言 CREATE TABLE DROP TABLE ALTER TABLE 基 本 的 SQL 查 詢 SELECT FROM WHERE SQL 的 更 新 INSERT UPDATE DELETE 6-1 目 的 關 聯 模 式 定 義 嚴 謹 簡 潔, 但 好 用 性 和 執 行 效 率 必 須

More information

数 据 库 管 理 第 章 (1) 创 建 一 个 简 单 的 表 空 间 Create tablespace user1 datafile 'e:\database\oracle\user1_data.dbf' size 00M; () 指 定 数 据 文 件 的 可 扩 展 性 Create t

数 据 库 管 理 第 章 (1) 创 建 一 个 简 单 的 表 空 间 Create tablespace user1 datafile 'e:\database\oracle\user1_data.dbf' size 00M; () 指 定 数 据 文 件 的 可 扩 展 性 Create t 数 据 库 管 理 知 识 提 要 : 本 章 介 绍 了 如 何 创 建 学 生 成 绩 管 理 系 统 的 表 空 间 表, 以 及 如 何 用 PL/SQL 方 式 和 命 令 方 式 操 作 表, 如 何 创 建 主 键 约 束 外 键 约 束 唯 一 性 约 束 检 查 约 束 非 空 约 束, 如 何 创 建 序 列 同 义 词, 还 介 绍 了 索 引 简 介 索 引 的 分 类 创

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

学生表 主键 : 学号 字段名称 数据字段必填允许空有效性规则类型大小字段字符串 学号 文本 10 是 否 姓名 文本 4 是 否 性别 文本 1 男 Or 女 是 否 籍贯 文本 10 出生日期 日期 / 时间 入学总分 数字 整型 >=0 And <=900 住校否 是 / 否 爱好特长 文本

学生表 主键 : 学号 字段名称 数据字段必填允许空有效性规则类型大小字段字符串 学号 文本 10 是 否 姓名 文本 4 是 否 性别 文本 1 男 Or 女 是 否 籍贯 文本 10 出生日期 日期 / 时间 入学总分 数字 整型 >=0 And <=900 住校否 是 / 否 爱好特长 文本 Access 软件操作实验 一 实验目的 1. 掌握创建 使用数据库的方法 2. 掌握创建 使用表的方法 3. 掌握设置主键的方法 4. 掌握创建表间关系的基本操作 5. 掌握导入外部数据的基本操作 6. 掌握通过向导或设计器创建选择查询的方法 7. 掌握在查询中使用条件 执行计算的方法 8. 掌握通过使用 SQL 语句实现查询的方法 二 实验内容 1. 创建文件名为 Student.accdb 的数据库

More information

Oracle高级复制配置手册_业务广告_.doc

Oracle高级复制配置手册_业务广告_.doc Oracle 高 级 复 制 配 置 手 册 作 者 : 铁 钉 Q Q: 5979404 MSN: nail.cn@msn.com Mail: nail.cn@msn.com Blog: http://nails.blog.51cto.com Materialized View Replication 复 制 模 式 实 现 了 单 主 机 对 多 个 复 制 站 点 的 数 据 同 步. 在 主

More information

ebook 132-2

ebook 132-2 2 SQL Server 7.0 SQL Server SQL Server 7 SQL Server 7 5 2.1 SQL Server 7 SQL Server 7 SQL Server SQL Server SQL Server 2.1.1 SQL Server Windows NT/2000 Windows 95/98 ( r a n d o m access memory R A M )

More information

Microsoft Word - 07.doc

Microsoft Word - 07.doc 目的 Oracle DBA 两日速成课程 Http://www.yangwenjun.com 制作人 : 杨文军摘自 Oracle 网站 第 7 章 : 管理模式对象 模式是一个数据库对象的集合 模式为一个数据库用户所有, 并具有与该用户相同的名称 模式对象是由用 户创建的逻辑结构, 用以包含或引用他们的数据 模式对象包含诸如表 视图和索引之类的结构 您可以使用 Oracle Enterprise

More information

第四章 关系数据库标准语言SQL.doc

第四章 关系数据库标准语言SQL.doc 第 4 章结构化查询语言 SQL 学习目标 在本章中将学习 : SQL 语言的特点及功能 SQL 的数据查询功能 SQL 的数据操作功能 SQL 的数据定义功能 4.1 SQL 语言概述 SQL 全称是 结构化查询语言 (Structured Query Language), 最早是 IBM 的圣约瑟研究实验室为其关系数据库管理系统 SYSTEM R 开发的一种查询语言, 它的前身是 SQUARE

More information

试卷代号 : 座位号 E 口 中央广播电视大学 学年度第一学期 " 开放本科 " 期末考试 数据库应用技术试题 题号 一 二 三 l 四 五 总分 分数 I I I I I I I 2013 年 1 月 得分 评卷人 I I I 一 单项选择题 { 每

试卷代号 : 座位号 E 口 中央广播电视大学 学年度第一学期  开放本科  期末考试 数据库应用技术试题 题号 一 二 三 l 四 五 总分 分数 I I I I I I I 2013 年 1 月 得分 评卷人 I I I 一 单项选择题 { 每 试卷代号 : 1 2 5 6 座位号 E 口 中央广播电视大学 2 0 1 2-2 0 1 3 学年度第一学期 " 开放本科 " 期末考试 数据库应用技术试题 题号 一 二 三 l 四 五 总分 分数 I I I I I I I 2013 年 1 月 得分 评卷人 I I I 一 单项选择题 { 每个题只有 - 个答案是正确的 每题 2 分, 共 1 5 题, 3 0 分 } 1. 下列属于数据库模式的范畴是

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 按钮对象 (button) 当 JavaScript 读到 标记中的 type 属性值为 button 时, 自动建立一个按钮对象, 并将该对象放到表单对象的 elements 数组当中 按钮对象包括 : 普通按钮 (button) 提交按钮 (submit) 重置按钮 (reset) 1. 使用按钮对象的格式 document.forms[ 索引值 ].elements[ 索引值

More information

123

123 資 訊 管 理 系 資 料 庫 教 學 帄 台 MTA 資 料 庫 國 際 證 照 題 庫 分 析 指 導 教 授 : 馮 曼 琳 教 授 組 員 名 單 : 陳 雅 紋 學 號 998C030 蔡 宥 為 學 號 998C114 陳 韋 婷 學 號 998C168 中 華 民 國 一 零 三 年 五 月 I 誌 謝 本 專 題 報 告 得 以 順 利 完 成, 首 先 要 感 謝 恩 師 馮 曼

More information

untitled

untitled 1 .NET 料.NET 料 料來 類.NET Data Provider SQL.NET Data Provider System.Data.SqlClient 料 MS-SQL OLE DB.NET Data Provider System.Data.OleDb 料 Dbase FoxPro Excel Access Oracle Access ODBC.NET Data Provider 料

More information

数据库系统概论

数据库系统概论 第五章数据库完整性 孟小峰 xfmeng@ruc.edu.cn 信息学院 2014/4/8 Replay Time 身份认证 自主访问控制 GRANT & REVOKE 强制访问控制 敏感度标记 主体和客体 视图机制, 审计 数据安全与隐私 数据库完整性 什么是数据库的完整性 数据库的完整性是指数据的正确性和相容性, 防止不合语义的数据进入数据库 例如, 学生的年龄必须是整数, 取值范围为 14--29;

More information

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30 0 配置 Host MIB 设备 V 1.1.2 ( 简体版 ) 0 Update: 2016/1/30 前言 N-Reporter 支持 Host Resource MIB 监控主机 (Host) 状态, 本文件描述 N-Reporter 用户如何配置 Host MIB 设备 文件章节如下 : 1. 配置 Windows Server 2003... 2 1-1.Windows Server 2003

More information

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S 9 DB2 优化器 DB2 SQL select c1 c2 from ( DB2 )??? DB2?!?, no no DB2 I/O ( transrate overhead ) SQL DML (INSERT UPDATE DELETE) DB2 (access plan) DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( 728 747 ) SQL

More information