电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据库基础及其应用 计算机类 教学课件 ppt 作者 李法春 任务三

82页
  • 卖家[上传人]:E****
  • 文档编号:89504910
  • 上传时间:2019-05-26
  • 文档格式:PPT
  • 文档大小:2.01MB
  • / 82 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、任务三 管理数据库表,任务单,任务三 管理数据库表,3.1 实现数据完整性与约束 3.2 创建规则和默认值 3.3 创建索引,3.1 数据完整性与约束,3.1.1 数据完整性 1域完整性 域完整性(即列完整性),指定一组对列有效的数据值,并确定是否允许有空值。 2实体完整性 实体完整性(即表完整性),要求表中所有的行具有唯一的标识符。 3参照完整性 参照完整性(即引用完整性),要求确保始终保持主表主键和引用表外键关联字段一致性的关系,并可设置主表和引用表之间操作上的级联关系,如级联更新和级联删除等。,3.1 数据完整性与约束,3.1.2 设置约束 约束是实现数据完整性的首选方法。约束确保在列中录入有效的数据值,并且维护表之间的关联。 1)主键(PRIMARY KEY)约束。 2)唯一性(UNIQUE)约束。 3)标识(IDENTITY)。 4)检查(CHECK)约束。 5)默认值(DEFAULT)约束。 6)是否可以为空值(NULL)。 7)外键(FOREIGN KEY)约束。,1、PRIMARY KEY(主键)约束,一个表通常可以通过一个列或多个列组合的数据来惟一标识表中的每一行,这

      2、个列或列组合的数据就被称为表上的主键。主键可以来强制实体完整性。 表的主键约束有以下几个特征和作用: 1)主键约束通过不允许一个或多个列输入重复的值来保证一个表中所有行的惟一性,使所有行都是可区分的; 2)一个表上只能有一个,且组成主键的列的数据都不能取空值; 3)当定义主键约束时,SQL Server在主键列上建立惟一性索引,这个索引在主键被查询时可以加快查询的速度,2唯一性(UNIQUE)约束,使用惟一性约束的作用是保证在不是主键的指定惟一性的列上不会出现重复的数据。 使用惟一性约束和主键约束都可以保证数据的惟一性,但它们之间有两个明显的不同: 1)一个表上只能定义一个主键约束,但可以定义多个惟一性约束。 2)定义了惟一性约束的列上的数据可以为空值,且只允许有一条记录在字段上取值为空,而定义了主键约束的列上的数据不能为空值。,3标识(IDENTITY),每一个表都可以有一个标识列,其中包括由系统自动生成的能够标识表中每一行数据的惟一序列值。 其格式:IDENTITY(初始值,步长) 初始值表示表中第一行数据的标识列的取值,默认初始值为1,步长,即每一个新标识列值比上一个增长多少,默

      3、认步长值也为1。,注 意: 1)每张表只允许有一个标识列; 2)该列必须使用下列数据类型之一:decimal、int、numeric、smallint和tinyint; 3)该列必须设置为不允许为空值,且不能有默认值。,4检查(CHECK)约束,检查约束可以用来限制列上可以接受的数据值,检查约束使用逻辑表达式来限制列上可以接受的数据。 例如,可以指定orders中的订货数量必须大于零,这样当插入表中的订货记录的订货数量为0或负数时,插入操作不能成功执行,从而保证了表中数据的正确性。 可以在一列上使用多个检查约束,也可以在表上建立一个可以在多个列上的使用的检查约束。,5默认值(DEFAULT)约束,数据库中每一行记录中的每一列都应该有一个值,当然这个值也可以是空值。但有时向一个表中添加数据(添加一行记录)时不知道某列的值或该列的值当时还不能确定,这时可以将该列定义为允许接受空值或给该列定义一个默认值。 默认值就是当向表中插入数据时,如果用户没有明确给出某一列的值,SQL Server自动为该列添加的值。,6非空(NOT NULL)约束,空值(NULL)意味着数据尚未输入,从未对该列赋过值

      4、。 它与0或长度为零的字符串(“”)的含义不同。 如果表中的某一列必须有值才能使记录有意义,那么可以指明该列不允许取空值。,7外键(FOREIGN KEY)约束,外键也是由表中的一个列或多个列组成的,它是和在相关表中事先定义的具有惟一性的列一起使用的,该列可以是所在表的主键。 外键约束用来建立和强制两个表之间的关联,即一个表的一个列或列组合与另一个表中的具有惟一性的列或列组合相关,这个列或列组合就成为一个表中的外键。 外键约束限制将破坏主从表相关联的操作。,3.1.3 强制数据完整性与约束的关系,3.1.4 设置约束信息,1通过企业管理器设置约束 与修改表一样,打开企业管理器,展开数据库,选择数据库中的“表”节点,并在右边的窗口选择要修改的表,右击在弹出的快捷菜单中选择“设计表”,打开“修改表”窗口。,(1)设置主键,1)选择设置主键的列,单击图中设置主键工具 。 2)单击图中管理索引/键工具,查看主键的设置与命名,在图中可以看到当创建了主键,系统自动为该列创建了聚集索引(CLUSTERED)。,(2)设置标识,在设计表“customer表”中,如图设置字段“客户ID”具有标识,初始值

      5、为1000,步长为1。,(3)设置字段是否允许为空值,在设计表“customer表”中,设置列“邮政编码”允许为空,其他列不允许为空。,(4)设置检查(CHECK)约束,在设计表“customer”中,单击“管理约束”工具,选择“CHECK约束”页,如下图进行设置字段“邮政编码”的6个字符的取值范围为0-9。 在设计表“goods”表中,单击“管理约束”工具,选择“CHECK约束”页,设置“单价”、“库存量”、“订购量”等字段取值范围0。,(5)惟一性约束,在设计表“customer表”中,单击“管理索引/键”工具,进入“属性”窗口,设置列“电话”具有惟一性约束。,(6)设置外键,在设计表“orders”中,单击“管理关系”工具,设置“order”表为外键表,表中的列“客户ID”参照主键表“customer” 表中的列“客户ID”的记录数据,同时,设置级联更新。,注 意: 1)系统自动建立外键约束名:FK_orders_customer。 2)由于各表之间存在外键关联,受外键影响,各表建立时,存在先后顺序。,(7)设置默认值,在设计表“ordersorders”中,选择字段“订购日期”

      6、,通过函数GETDATE(),设置该字段默认取值为系统服务器当前时间,2利用T-SQL语句设置约束,约束本身不是独立的数据对象,它是依附于表的设计而建立的,且由于各表之间的外键关联,建表存在先后顺序。,(1)建立“顾客表customer”,CREATE TABLE customer (客户ID int CONSTRAINT PK_customer PRIMARY KEY IDENTITY (1000, 1), /*在该字段上,设置标识*/ 公司名称 nvarchar(30) NOT NULL, /*设置该字段不允许为空值*/ 联系人 char(8) NOT NULL, 联系人职务 varchar(20) NOT NULL, 地址 nvarchar(40) NOT NULL, 城市 varchar(10) NOT NULL, 邮政编码 char(6) NULL /*设置该字段允许为空值*/ CONSTRAINT CK_customer CHECK (邮政编码like 0-90-90-90-90-90-9), 电话 char(14) NOT NULL CONSTRAINT 电话_custo

      7、mer UNIQUE ) ON PRIMARY,(2)建立“商品表goods”,CREATE TABLE goods ( 产品ID int IDENTITY (1, 1) CONSTRAINT PK_goods PRIMARY KEY , 产品名称 varchar(12) NOT NULL , 类型 varchar(12) NOT NULL , 供应商 varchar(12) NOT NULL , 单位数量 varchar(16) NOT NULL , 单价 money NULL , 库存量 int NULL , 订购量 int NULL, CONSTRAINT CK_goods CHECK (单价 0 and 库存量 0 and 订购量 0) ) ON PRIMARY,(3)建立“订单表orders”,CREATE TABLE orders ( 订单ID int NOT NULL CONSTRAINT PK_orders PRIMARY KEY, 客户ID int NOT NULL CONSTRAINT FK_orders_customer FOREIGN KEY REFERENCE

      8、S customer (客户ID) /* 外键约束*/ ON UPDATE CASCADE, /*在外键约束上,级联更新*/ 销售人 char(8) NOT NULL, 订单金额 money NULL, 订购日期 datetime NOT NULL CONSTRAINT DF_orders_订购日期 DEFAULT (getdate(), 发货日期 datetime NULL, 到货日期 datetime NULL ) ON PRIMARY,(4)建立“订单明细表detail”,CREATE TABLE detail ( 订单ID int NOT NULL CONSTRAINT FK_detail_orders FOREIGN KEY REFERENCES orders (订单ID) /* 外键约束*/ ON DELETE CASCADE ON UPDATE CASCADE 产品ID int NOT NULL CONSTRAINT FK_detail_goods FOREIGN KEY REFERENCES goods(产品ID) ON UPDATE CASCADE , 单价 mone

      9、y NOT NULL, 数量 int NOT NULL , 金额 money NOT NULL , CONSTRAINT PK_detail PRIMARY KEY CLUSTERED ( 订单ID, 产品ID ) ON PRIMARY, CONSTRAINT CK_detail CHECK (单价 0 and 数量 0 and 金额 0) ) ON PRIMARY,(5)查看表上的约束,查看表上的约束的方法有两种: 1)可以采用系统存储过程SP_HELPCONSTRAINT来显示表上所定义的约束。 例如:EXEC SP_HELPCONSTAINT orders 2)可以采用系统存储过程SP_HELP来显示表上所定义的约束。 例如:SP_HELP orders,(6)约束的删除,ALTER TABLE 表名 DROP CONSTRAINT 约束名 , n,3.2 创建规则和默认值,与声明型数据完整性相对的还有一种数据完整性的实施方法,被称为过程型数据完整性。 过程型数据完整性的实现是独立于表而存在的,需要与表进行绑定,它是由默认值、规则和触发器等数据库对象实现的,这些数据完整性不是一个表所独有的,它们可以应用于数据库中不同的表。 规则和默认值都是独立的数据库对象,本身并不像约束依附于表存在而存在,当表被删除时,约束也被删除,但规则和默认值可以独立建立,独立存在,需要作用于表的某列上时,可以绑定在其上,不需要时也可解除绑定,也可同时绑定在多个表和多个列上。,3.2.1 创建规则,规则与检查约束的不同之处: 1)检查约束是在建表时或修改表时建立在需要的列上的,而规则则作为独立的数据库对象来实现。 2)表的一列上只能使用一个规则,但可以使用定义多个的检查约束。 3)规则可以应用于该数据库中的不同表的多个列,还可应用于用户自定义的数据类型上,而检查约束只能应用于它定义的列上。,3

      《数据库基础及其应用 计算机类 教学课件 ppt 作者 李法春 任务三》由会员E****分享,可在线阅读,更多相关《数据库基础及其应用 计算机类 教学课件 ppt 作者 李法春 任务三》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.