数据库系统原理与应用(2)
使用CREATE DEFAULT创建默认对象, 然后使用存储过程sp_bindefault来绑定到指 定列上
13.2 默认值 1.创建表时指定默认列 1)使用SQL Server管理控制器
性别默 认为男
13.2 默认值 2)使用T-SQL语言
默认为10
默认为当 前日期
也可以通过ALTER TABLE来给列加上默认值:
ALTER TABLE table8 ADD CONSTRAINT con1
DEFAULT getdate() FOR C3
13.2 默认值 2.使用默认对象
默认对象是单独存储的,删除表时 DEFAULT 约束会自动删除,但默认对象不会删除。
13.3 规则 规则限制了可以存储在表中或者用户定义数 据类型的值。
14.5 存储过程的管理
14.1 概述 存储过程是在数据库服务器端执行的一 组T-SQL语句的集合,经编译后存放在数据 库服务器端。 SQL Server 2005提供3种存储过程: 用户存储过程:用户编写的可重复用的TSQL功能模块 系统存储过程:由系统提供,常用sp_为前 缀 扩展存储过程:用户使用编程语言创建的 外部例程
14.5 存储过程的管理 2.修改存储过程 ALTER PROC[EDURE] 存储过程名[参数列 表] AS sql_statement 3.重命名存储过程 sp_rename 原存储过程名,新存储过程名 4.删除存储过程 DROP PROCEDURE 存储过程列表
自学要求与上课安排
●自学与上机内容: 自学第15章 ●上机内容: 完成上机实习:做完上机练习7的第七 部分。 做的快的同学可做上机练习7的第八部 分。
可以一次删除一个或多个视图
12.2 使用视图 1.使用视图进行数据查询 SELECT * FROM st1_degree 需要有插入数据的权限 对于视图中未引用的字段,数据表应该允许为空 或有默认值 视图不能包含多个字段值的组合以及统计函数 视图不能包含DISTINCT或GROUP BY 不能在一个语句中对多个基表使用数据修改语句
14.3 执行存储过程 例:执行存储过程stud_degree
14.4 存储过程的参数 1.在存储过程中使用参数 例:设计存储过程maxno,以学号为参数, 输出指定学号学生的所有课程中最高分和对 应的课程名。
14.4 存储过程的参数 执行存储过程 方式1:EXEC maxno 105 方式2:EXEC maxno @no=105
12.3 视图定义的修改和信息查看 三、查看视图的信息
SQL Server2005提供了2种方法来查看视图信息:
使用SQL Server控制管理器
使用存储过程sp_helptext sp_helptext [@objname=] ‘object_name’,
第十三章 数据库完整性
数据库完整性是确保数据库中的数据的一致 性和正确性 13.1 约束 13.2 默认值 13.3 规则
13.1 约束
13.1 约束 5.列约束和表约束 列约束被指定为列定义的一部分,且仅适 用于那个列 表约束的声明与列的定义无关,适用于表 中一个以上的列 当一个约束中必须包含一个以上的列时, 必须使用表约束
13.2 默认值 SQL Server2005提供了两种使用默认值的 方法
创建表时指定默认值
14.4 存储过程的参数 2.在存储过程中使用默认参数 例:设计存储过程maxno1,以学号为参数, 学号默认为101,输出指定学号学生的所有课 程中最高分和对应的课程名。
14.4 存储过程的参数 3.在存储过程中使用返回参数 例:设计存储过程average,返回指定学号的代 表姓名和平均分的2个参数@st_name、@st_avg
12.2 使用视图 书上例12.5
12.2 使用视图 3.通过视图修改基表中的数据
12.2 使用视图 4.通过视图删除基表中的数据
12.3 视图定义的修改和信息查看 一、视图定义的修改
SQL Server2005提供了2种方法来修改视图:
使用SQL Server控制管理器
使用ALTER VIEW语句 ALTER VIEW view_name [ ( column [, …n] ) ]
视图在数据库中是作为一个独立的对象进行存储 的。视图和查询很相似,但也有区别:
存储方式:视图存储为数据库设计的一部分,而查询则不是 更新结果:对视图和查询的结果集更新限制是不同的 排序结果:可以排序任何查询结果,而视图只有包括TOP子 句时才能排序 参数设置:可以为查询创建参数,但不能为视图创建参数 加密:可以加密视图,但不能加密查询。
12.1 创建视图和删除视图 书上例12.2创建名为st1_degree的视图,包括 所有学生的姓名、课程和成绩。
12.1 创建视图和删除视图 二、删除视图
SQL Server2005提供了2种方法来删除视图:
使用SQL Server控制管理器
使用DROP VIEW语句
DROP VIEW {view_name} [,…n]
13.1 约束
如在创建表时指定了主键,SQL Server 会自动创建一个“PK_”且后跟表名的主键索 引,这个索引默认是聚集索引,同时也是一 个唯一索引。
13.1 约束
13.1 约束 2.FOREIGN KEY约束 可以约束表之间的关系,为表的一列或多 列数据提供参照完整性。
CREATE TABLE worker /*职工表*/ ON ACTION: 指定删除 ( no int PRIMARY KEY, /*编号为主键 */ 因错误而失败。另一 name char (8), /* 姓名 */ 个选项CASCADE:指 sex char (2), /*性别*/ 定删除已删除行的外 dno int /*部门号 */ 键的所有行。 FOREIGN KEY REFERENCES department (dno) ON DELETE NO ACTION, address char (30), /*地址*/ )
14.2 创建存储过程 例:创建存储过程stud_degree用于检索所有 学生的成绩记录
14.3 执行存储过程 [EXEC[UTE]] [@return_status = ] {存储过程名 [;number]| @procedure_name_var} [[@parameter=]{value | @variable [OUTPUT] | [DEFAULT]] [,…n] [WITH RECOMPILE] 其中OUTPUT指定存储过程必须返回一个参数 DEFAULT根据过程的定义提供参数的默认值 WITH RECOMPILE强制编译新的计划
14.2 创建存储过程 1.使用SQL Server管理控制器创建
14.2 创建存储过程 2.使用CREATE PROCEDURE创建 CREATE PROC[EDURE] 存储过程名 [;number] [{@parameter data_type} [VARYING] [=default] [OUTPUT] ][,…n] [WITH {RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION} ] [FOR REPLICATION] AS sql_statement […n]
[ WITH view_attribute [,…n] ]
AS select_statement [WITH CHECK OPTION]
12.3 视图定义的修改和信息查看 二、视图重命名
SQL Server2005提供了2种方法来重命名视图:
使用SQL Server控制管理器
使用存储过程sp_rename sp_rename [@objname=] ‘object_name’, [@newname=] ‘new_name’ [, [@objtype=] ‘object_type’] 其中:object_name为视图的当前名称 new_name为视图的新名称 object_type为重命名对象的类型,默认值为NULL
AS select_statement [WITH CHECK OPTION] 其中WITH CHECK OPTION是强制视图上执行的所 有数据修改都必须符合select_statement设置的准则。 view_attribute:ENCRYPTION,防止将视图作为SQL Server复制的一部分发布;SCHEMABINDING,把视 图绑定到架构上;VIEW_METADATA,指定为引用 视图的查询请求浏览模式的元数据时,返回有关视图 的元数据信息,而不是基表或表。
12.1 创建视图和删除视图 一、创建视图
SQL Server2005提供了2种方法来创建视图:
使用SQL Server控制管理器
使用CREATE VIEW语句
12.1 创建视图和删除视图
CREATE VIEW view_name [ ( column [, …n] ) ]
[ WITH view_attribute [,…n] ]
规则与CHECK约束功能基本相同,但一个列 只能应用一个规则,却可以应用多个CHECK约 束。CHECK可作为CREATE TABLE语句的一 部分进行指定,而规则以单独的对象创建,然 后绑定到列上。
13.3 规则
第十四章 存储过程
14.1 概述 14.2 创建存储过程 14.3 执行存储过程 14.4 存储过程的参数
14.5 存储过程的管理 1.查看存储过程 使用SQL Server管理控制器 使用系统存储过程
1) sp_help name 显示存储过程的参数及数据类型 2) sp_helptext name 显示存储过程的源代码 3) sp_depends name 显示和存储过程相关的数据库 对象 4) sp_stored_procedures 返回当前数据库中的存储 过程列表
13.1 约束