TP2 数据库实现.ppt
文本预览下载声明
第二章 数据库的实现 回顾 在需求分析阶段,设计数据库的一般步骤为? 实体的映射关系有哪些? 请简要说明三大范式的含义? 目标 掌握建库的SQL语句 掌握建表的SQL语句 掌握加约束的SQL语句 掌握创建安全帐户的SQL语句 回顾数据库的基础知识 创建数据库 创建数据库示例 1 创建数据库示例 2 删除数据库 如果SQL Server中已存在数据库stuDB,运行下列语句,会出现什么问题? 删除数据库 删除数据库的语法: 回顾表的基础知识 创建表 建表的语法 建表示例 1 建表示例 2 删除表 如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错 。如何解决呢? 删除表 删除表的语法: 回顾SQL Server的约束 约束的目的:确保表中数据的完整型 常用的约束类型: 主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空 唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。 检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束 默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男” 外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的那列 添加约束 添加约束的语法: 添加约束示例 添加约束示例 删除约束 如果错误地添加了约束,我们还可以删除约束 删除约束的语法 登录方式回顾 登录验证有两种方式: SQL身份验证:适合于非windows平台的用户或Internet用户, 需要提供帐户和密码 Windows身份验证:适合于windows平台用户,不需要提供密码,和windows集成验证 登录帐户相应有两种:SQL 帐户和Windows帐户 创建登录 添加 Windows登录帐户 EXEC sp_grantlogin ‘jbtraining\S26301‘ 添加 SQL登录帐户 EXEC sp_addlogin ‘zhangsan, ‘1234’ 创建登录 创建数据库用户 创建数据库用户需要调用系统存储过程sp_grantdbaccess,其用法为: 创建数据库用户 向数据库用户授权 权限的类型 2-1 授权的语法为: GRANT 权限 [ON 表名 ] TO 数据库用户 权限的类型 2-2 总结 2-1 数据库的物理实现一般包括: 创建数据库 创建表 添加各种约束 创建数据库的登录帐户并授权 创建数据库或表时一般需要预先检测是否存在该对象 数据库从master系统数据库的sysdatabases表中查询 表从该数据库的系统表sysobjects表中查询 总结 2-2 访问SQL Server某个数据库中的某个表,需要三层验证: 是否是SQL Server的登录帐户 是否是该数据库的用户 是否有足够的权限访问该表 提问学员: 1.数据库文件有哪些? 2.数据库还有哪些属性? 目的是让学员根据以前企业管理器的建库学习,回顾建库需要指定哪些参数,为后续的T-SQL建库打基础。 强调幻灯片中的红色标识部分。 讲解建库的基本语法,其中蓝色部分表示关键字。 告诉学员,[ ]表示可选参数,T-SQL的语法经常需要查询SQL Server的帮助, 帮助中经常会看到这些符合。 讲解要点: 问题:假定我们希望建库stuDB,保存在D:\project目录。 文件增长率:15% 。 分析:根据建库语法,规定数据文件的参数和日志文件的参数。 讲解要点: 提问学员:当表中存在stuInfo表时,再次创建出错如何解决呢? 学员肯定会想到:和数据库处理同样的办法。去哪儿检测呢? 引导:在stuDB数据库的系统表sysobjects(对象表)中检查name列即可。 讲解要点: 回顾的时尽量采用提问方式,这样可以检查学员的掌握情况,活跃课堂氛围,授课的方式也比较丰富多彩。 提问时可以让回答的学员随机指定下一位起来回答(指定学号即可)。 先提问学员:再次运行建库stuDB的语句可能会怎么样? 然后演示再次运行建库的语句。 报错后再次提问学员:如果不存在stuDB数据库时,运行这些脚本不会出错, 但如果存在stuDB数据库时,就会出错了。如何解决这些bug呢? 引导回答:建库之前,先检测是否存在stuDB数据库,如果有,就删除它,然后重新建。 那数据库存放在哪个地方呢?我们去哪儿检测呢?告诉学员并演示, 新建的数据库都在系统数据库master的表sysdatabases中注册了:select * from sysdatabases 强调:
显示全部