- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL建库建表建约束
第二章 数据库实现 回顾 在需求分析阶段,设计数据库的一般步骤为? 实体的映射关系有哪些? 请简要说明三大范式的含义? 目标 掌握建库的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帐户 创建登录 添加 SQL登录帐户 EXEC sp_addlogin ‘zhangsan, ‘1234’ 创建登录 创建数据库用户 创建数据库用户需要调用系统存储过程sp_grantdbaccess,其用法为: 创建数据库用户 向数据库用户授权 权限的操作 2-1 授权的语法为: GRANT 权限 [ON 表名 ] TO 数据库用户 权限的操作2-2 删除权限的语法为: Revoke 权限 [ON 表名 ] From 数据库用户 权限的操作2-3 禁用权限的语法为: Deny 权限 [ON 表名 ] TO 数据库用户 总结 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 sy
您可能关注的文档
- SAP_R3项目调研问题清单.doc
- SAS个人安全手册-----城市安全.doc
- SAP BW面试问题大全(含答案).doc
- SB_FM-1-A6(销售流程)本土化版.pptx
- ScoUnix505虚拟机安装.doc
- SCSiMn2H挖掘机链轮.docx
- Satellite_Tool_Kit(STK)培训教材.ppt
- Section 14 各类单证 Documents.ppt
- SDZ-5041谱分析分系统说明书.doc
- SCR技术详解.docx
- 学好普通话推广普通话主题教育中小学生主题班会教育PPT课件.pptx
- 学习雷锋-015中小学生主题班会教育PPT课件.pptx
- 小学二年级开学第一课期中期末家长会PPT课件模板04.pptx
- 学习雷锋-001中小学生主题班会教育PPT课件.pptx
- 四年级开学第一课期中期末家长会PPT课件模板11.pptx
- 学习雷锋-019中小学生主题班会教育PPT课件.pptx
- 卡通风预防网络沉迷主题教育中小学生主题班会教育课件.pptx
- 小学开学第一课期中期末家长会PPT课件模板小学家长会PPT-11.pptx
- 如何做好时间管理珍惜时间勤奋学习主题班会.pptx
- 四年级开学第一课期中期末家长会PPT课件模板13.pptx
文档评论(0)