已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第四章 SQLServer数据库表管理 2 回顾 数据库的设计步骤数据的规范化SQLServer数据库的组织结构主数据文件 辅 次 数据文件 事务日志文件文件和文件组用企业管理器创建 删除和修改数据库用T SQL创建 删除和修改数据库CreatedatabaseAlterdatabaseDropdatabase 3 本章目标 理解SQLServer数据库表的数据组织方式 理解SQLServer中的各种数据类型 建立用户定义的数据类型使用企业管理器创建数据库表设置表的主键 外键和建立表之间的关系为表增加约束 4 数据库和表 表是库中最重要的对象 用于存储数据 每个新建的库中已经包含一些系统表 用于存储数据库本身的信息 用户还必须创建自己的表存储数据 5 数据类型p30 系统定义数据类型 全局惟一标识数据类型GUID 常使用newid 函数产生 时间戳数据类型 其值不用设置 会随着表中记录的修改面自动更新 其值在数据库范围内是惟一的 6 SQLServer的数据类型 7 思考 电话号码一般使用什么数据类型存储 性别一般使用什么数据类型存储 年龄信息一般使用什么数据类型存储 照片信息一般使用什么数据类型存储 薪水一般使用什么数据类型存储 8 自定义数据类型 用户可以根据实际需要创建数据类型 用企业管理器或系统存贮过程sp addtype都可创建 用户建立的数据类型可用于定义字段等 删除 创建 9 论数据完整性 1 数据完整性 10 论数据完整性 2 数据存放在表中 数据完整性的问题大多是由于设计引起的 创建表的时候 就应当保证以后数据输入是正确的 错误的数据 不符合要求的数据不允许输入 创建表 保证数据的完整性 实施完整性约束 11 完整性包括 2 1 输入的类型是否正确 年龄必须是数字输入的格式是否正确 身份证号码必须是18位是否在允许的范围内 性别只能是 男 或者 女 是否存在重复输入 学员信息输入了两次是否符合其他特定要求 信誉值大于5的用户才能够加入会员列表 12 完整性包括 2 2 13 实体完整性 约束方法 唯一约束 主键约束 标识列 14 域完整性 约束方法 限制数据类型 检查约束 外键约束 默认值 非空约束 15 引用完整性 约束方法 外键约束 16 自定义完整性 约束方法 规则 存储过程 触发器 17 创建数据库表 表是包含数据库中所有数据的数据库对象 用来存储各种各样的信息 是由行和列组成的 创建表的过程主要就是定义表的列 字段 的过程 在SQLServer2000中 每个数据库中最多可以创建200万个表 每个表最多可以定义1024个字段 在同一数据库的不同表中 可以有相同的字段 但在同一个表中不允许有相同的字段 创建数据库表的方法第一种方法是利用企业管理器创建表 另一种方法是利用Transact SQL语句中的create命令创建表 18 表操作 在企业管理器中演示打开表 数据输入等操作 19 用企业管理器创建数据库表 1 20 用企业管理器创建数据库表 2 21 思考 学员姓名允许为空吗 家庭地址允许为空吗 电子邮件信息允许为空吗 考试成绩允许为空吗 22 创建数据库表 3 23 思考 在主键列输入的数值 允许为空吗 一个表可以有多个主键吗 在一个学校数据库中 如果一个学校内允许重名的学员 但是一个班级内不允许学员重名 可以组合班级和姓名两个字段一起来作为主键吗 24 选择主键的原则 最少性尽量选择单个键作为主键稳定性尽量选择数值更新少的列作为主键 25 创建数据库表 4 表中没有合适的列作为主键怎么办 26 思考 标识列允许为字符数据类型吗 如果标识列A的初始值为1 增长量为2 则输入三行数据以后 再删除两行 下次再输入数据行的时候 标识值从多少开始 27 创建数据库表 5 28 创建数据库表 6 演示建立主 外键关系 29 关系图 演示关系图 30 主表和从表 1 当主表中没有对应的记录时 不能将记录添加到子表 成绩表中不能出现在学员信息表中不存在的学号 2 不能更改主表中的值而导致子表中的记录孤立 把学员信息表中的学号改变了 学员成绩表中的学号也应当随之改变 3 子表存在与主表对应的记录 不能从主表中删除该行 不能把有成绩的学员删除了4 删除主表前 先删子表 先删学员成绩表 后删除学员信息表 31 创建数据库表 7 演示建立检查约束 32 创建数据库表完毕 输入数据项 验证主键 主外键关系 检查约束 33 总结 SQLServer创建表的过程是规定数据列的属性的过程 同时也是实施数据完整性 包括实体完整性 引用完整性和域完整性等 保证的过程实体完整性数据行不能存在重复 引用完整性要求子表中的相关项必须在主表中存在域完整性实现了对输入到特定列的数值的限制SQLServer中存在五种约束 分别是 主键约束 外键约束 检查约束 默认约束和唯一性约束 唯一性约束将在后续课程中使用SQL语句实现 34 总结 创建数据库表需要 确定表的列名 数据类型 是否允许为空 还需要确定主键 必要的默认值 标识列和检查约束如果建立了主表和子表的关系 则 子表中的相关项目的数据 在主表中必须存在 主表中相关项的数据更改了 则子表对应的数据项也应当随之更改 在删除子表之前 不能够删除主表 35 第四章 数据库表管理 用T SQL创建表和实施数据完整性 36 目标会用T SQL命令建立 修改和删除表用T SQL实现实体完整性约束 引用完整性约束和域完整性约束 用T SQL定义和使用主键 外键 检查 唯一和默认约束 37 使用T SQL创建表 CreateTable表名 各字段定义列表 CREATETABLECategories CategoryIDintIDENTITY 1 1 CategoryNamenvarchar 15 NOTNULL DescriptionntextNULL PictureimageNULL 38 使用T SQL删除表 DROPTABLE 表名 演示在企业管理器内更改和删除表 39 使用T SQL更新表结构 有两种方法更新表结构 企业管理器T SQL语句使用T SQL修改表结构的语法为 ALTERTABLE ALTERCOLUMN ADDcolumn name DROPCOLUNM ADDCONSTRAINT 40 使用T SQL更新表结构 41 实体完整性实现 1 主键约束primarykey 是一列或几列的组合 其值可以惟一标识表中的行 在这样的列或列组合上可定义主键约束主键列不能为空 值不能重复 一个表只能定义一个主键约束 ALTERTABLE 表名 ADDCONSTRAINTPRIMARYKEY 列名列表 42 是一列或几列的组合 而且不是主键 可以为表定义多个唯一约束 而只能为表定义一个主键约束 该列允许为空值 唯一约束可以定义在允许空值的列上 而主键约束只能定义在不允许为空值的列上 实体完整性实现 2 唯一约束UNIQUE 43 实体完整性实现 3 标识列 Uniqueidentifier数据类型和NEWID函数 44 域完整性实现 1 自定义数据类型 数据类型约束 外键约束 非空约束 默认和检查约束 45 域完整性实现 2 使用检查约束CHECK CHECK约束通过限制列中输入的值来实施域完整性 设置CHECK约束常使用in like betweenand运算符 46 域完整性实现 3 使用默认约束DEFAULT 默认约束可用于给列赋予一个默认常量值 而用户不需要为这个列输入值 Default约束不能用于identity列 47 约束和完整性 删除约束 ALTERTABLE表名DROPCONSTRAINT约束名 使用约束综合举例 48 将一个表 A表 中的主键所在列包含在另一个表 B表 中 这列就是表B的外键 引用完整性主要用来维护两个表之间数据的一致性 实现表之间的参照完整性 引用完整性约束 当在定义主关键字约束的A表中更新列值时 或删除记录 与之相关联的外关键字约束的B表中的外关键字列也将被相应地做相同的更新 相应的记录也被删除 当向含有外关键字的B表中插入数据时 如果与之相关联的A表的列中无与插入的外关键字列值相同的值时 系统会拒绝插入数据 引用完整性实现 1 引用完整性的含义 49 50 引用完整性实现 3 使用约束方式添加外键约束 在创建数据库表时设置外键 在多方表 51 总结 数据库本身不直接保存数据 表是数据的容器 SQLServer创建表的过程是规定数据列属性和规则的过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 打叶复烤设备操作工5S执行考核试卷含答案
- 电离辐射计量员安全知识宣贯评优考核试卷含答案
- 螺旋桨铸造造型工岗位标准化技术规程
- 航空航天模型加工(多工序数控机床操作调工)竞赛题库
- 海南省海口市2023-2024学年高一年级下册期末考试生物试题(解析版)
- 揭秘植物成长奥秘
- 教育革新与我们的未来
- 赣州市南康区兴康数字产业集团有限公司招聘劳务派遣制人员笔试历年参考题库附带答案详解
- 2025江西吉安市吉州区园投人力资源服务有限公司劳务外包人员招聘(三)考试拟入闱及考察人员笔试历年参考题库附带答案详解
- 2025四川长虹美菱股份有限公司招聘88人笔试历年参考题库附带答案详解
- 2025年大学《国际政治-大国关系研究》考试备考试题及答案解析
- 《管理学》复习题及答案 (一)
- 气瓶专项应急预案
- 8《匆匆》第一课时 课件
- 2025年西宁市城东区面向社会公开选拔社区工作人员笔试考试参考试题及答案解析
- 2025年宪法宣讲课件
- 2025新疆天泽工程管理有限公司及所属公司部分岗位社会招聘27人笔试历年参考题库附带答案详解
- 中医骨伤科学试题及参考答案
- 2024年全国住房城乡建设行业职业技能大赛钢筋工技术文件
- 新消防法考试题库(100)题
- 雨课堂在线学堂《管理沟通的艺术》作业单元考核答案
评论
0/150
提交评论