本书目录 * 数据库技术与应用 数据库技术与应用 复习课 知识要点 设计数据库 管理数据库 访问数据库 数据库技术的基本概念 数据模型三要素 数据结构 数据操作 DDL DML DCL 完整性约束 数据库系统 数据库管理员 操作系统 数据库管理系统 数据库 数据库应用程序 用户 应用程序开发人员 DBS DBMS OS DB DBA 数据库体系结构 外模式 模式 内模式 外模式/模式映射 模式/内模式映射 数据物理独立性 数据逻辑独立性 设计数据库 设计数据库的基本过程 概念模式的设计 方法E-R图 逻辑模式的设计 E-R图转换为关系模式(1:1,1:n,m:n,子类) 规范化处理(1NF→2NF →3NF →BCNF) CREATE TABLE命令 物理模式的设计 管理数据库 数据查询 关系代数 ∪、∩、-、σ、∞、π、? SQL语言(insert、delete update select) 难点:全集与否定 数据库保护 完整性控制 安全性控制 并发控制 数据库维护 Create Table Trigger Rule 三种异常状态 事务的ACID性 锁机制 常用的安全控制策略: 用户登录密码 视图 存取控制 角色 实体完整性 参照完整性 域完整性 用户自定义完整性 管理数据库 管理数据库的常用技术 存储过程 无参数 输入参数 输出参数 触发器 Insert--inserted delete--deleted update-inserted、deleted 对关系s(snum,sname,sex,age)设计输入触发器,其功能为当用户输入学生记录时对性别进行完整性控制,即当输入值超出“男”、“女” 范围时,显示“性别输入有误”,否则报“性别录入成功!”。 触发器举例 方法总结: 1.从inserted表中获得条件,然后对条件直接进行判断处理; 2.从inserted表中获得条件,然后用SQL语言进行条件查询。 3.从deleted表中获取信息的处理与inserted类似。 CREATE TRIGGER s_sex ON s FOR INSERT AS BEGIN DECLARE @_sex char(2) SELECT @_sex=sex, @_age=age FROM inserted IF @_sex not in (男, 女) BEGIN PRINT 性别输入有误! ROLLBACK END ELSE BEGIN PRINT 性别录入成功! COMMIT END END DECLARE @_age int SELECT @_age=i.age FROM inserted i IF @_age=12 and @_age=45 BEGIN PRINT 年龄录入成功! COMMIT END ELSE BEGIN PRINT 年龄输入有误! ROLLBACK END 对关系SC(snum,cnum,score)设计输入触发器,其功能为当用户输入学生选课成绩记录时,对分数进行完整性控制,即当输入值超出 0~100 范围时,显示“分数输入有误”,否则报“成绩录入成功!”。 思考题 DECLARE @_score int SELECT @_score=score FROM inserted IF (@_score100 OR @_score0 ) BEGIN PRINT ‘分数输入有误! ROLLBACK END ELSE BEGIN PRINT ‘成绩录入成功! COMMIT END PRINT ‘事物处理完毕! INSERT错误记录时的运行结果? 对关系:产品﹙产品号,产品名称,单价,产地﹚设计存储过程,其功能为查找指定地区的产品信息。 例如:查询山东生产的产品信息。 存储过程举例 CREATE PROC products_info @_area char(10) AS SELECT * FROM 产品 WHERE 产地 LIKE ‘%’+@_ area +‘%’ 注意多种查询条件的表达! 应用数据库—AD
原创力文档

文档评论(0)