数据库系统sy04

上传人:仙*** 文档编号:244130734 上传时间:2024-10-02 格式:PPT 页数:34 大小:220.50KB
返回 下载 相关 举报
数据库系统sy04_第1页
第1页 / 共34页
数据库系统sy04_第2页
第2页 / 共34页
数据库系统sy04_第3页
第3页 / 共34页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,CH4,表、索引与关键字,一、概述,1、实体与关系,2、表,3、关键字,主键(,Primary Key),是唯一标识表中行的一个或多个列。(它是一种逻辑结构),主键必须唯一,且必须含有非空值(,not null)。,一个表有且只有一个主键。,例如:,在,publishers,表中,,pub_id,唯一地标识这个表中的行,,如果有两个关系存在1:,N,的联系,,那么主键被定义在1那边的表中,外键(,Foreign Key),如果公共键是其中一个关系的主键,则在另一个关系中,称为外键。,例如,,pub_id,是联系,publishers,表和,titles,表的公共属性。,在,publishers,表中,pub_id,是主键,在,titles,表中,pub_id,是外键。,以外键为主键的表称为主表(又称外表/外键表),,外键所在的表称为从表。,如果两个关系存在1:,N,的联系,那么外键被定义在,N,那边,的表中。,title_id,advance,stor,_id,ord,_num,title_id,stor,_id,PK FK FK PK,ord,_num,4、完整性,数据库完整性(,Database Integrity),是对数据库中数据的精确性和一致性(相容性)的验证。,它可分为:,数据完整性,(,Date Integrity),它反映了在,同一,个关系中数据的精确性和相容性,参照完整性,(,Referential Integrity),它反映了,实体(关系)之间,存在的相互约束,数据完整性它又可分为:,实体完整性规则,(,Entity Integrity Rule),关系中组成主键的属性不能有空值,也不能有重复值.,(保证在每个表中都有唯一主键),域完整性规则,(,Domain Integrity Rule),是指关系中属性取值的正确性限制。包括数据类型、精度、,取值范围、是否允许空值等。,(定义表时对列使用约束、规则和缺省),参照完整性规则(,Referential Integrity Rule),它使主键和外键之间的值保持一致或相容。要求外键的值不允许,参照不存在的主键的值,,例如:,加到,titles,表中的每本书,必须有合法的出版社出版。,如果有某一出版社出版的书存在,就不能从,publishers,表中,删除或更改出版社的标识,pub_id,,要考虑,titles,表,publishers titles,title_id,pub_id,pub_id,pub_name,PK FK,部门 职工,DNO,DNO,PK,FK,insert,自由,update !,delete !,insert,update,delete,匹配,自由,主键和外键之间的值保持一致,数据库完整性分类,数据库完整性可以分为:,数据完整性(,Data Integrity),参照完整性(,Referential,Interity,),数据完整性分为:,实体完整性,域完整性,参照完整性(,Referential Integrity),参照完整性是指数据库中的表之间(实体之间),存在的约束条件维护数据的一致性,声明完整性,声明完整性,(,Declaration Integrity),是指在,create table,或,alter table,语句中使用,constrain,和,default,子句限制表中的值。,声明完整性包括:,使用,create table,和,alter table,语句中的,default,子句给出列的缺省值。,使用,create table,和,alter table,语句中的,constraint,子句限制表中列的值。,完整性约束子句,在,CREATE TABLE,和,ALTER TABLE,语句中,使用,constraint,子句来实现完整性。约束子句有:,检查约束,(,check constraint),:,限制插入列中的值,唯一约束,(,unique constraint,),:,要求表中在指定列上没有两行,具有相同的值。,主键约束,(,primary key constraint,),:,要求主键的列上没有两行,具有相同值,也没有空值。,参照约束,(,Reference constraint,),:,要求指定的列(外键)中正被,插入或更新的新值,必须在被参照表(主表)的相应列(主键)中,已经存在。,检查约束,检查约束(,checkconstraint,),主要用于实现域完整性,,检查约束分类:,。,列级检查约束,:如果检查约束只作用于单列,表级检查约束,:检查约束作用于 表 中的,多列,列级检查约束,举例,创建表,publishers,它的列,pub_id,具有名为,chk,_,pubid,的,列级检查约束,使该列的值必须取自1389,0736,0877,之一或以 99开始后跟二个数字的字串。,create table publishers,(pub_id char(4)not null,constraint,chk,_,pubid,check,(pub_id in(1389,0736,0877),or pub_id like 990-90-9),表级检查约束,举例,创建,discounts,表,并检查对于要插入或更新,的新行值满足,lowqty,=,highqty,.,create table discounts(,discounttype varchar,(40)not null,.,constraint,chk,_low_high,check,(,lowqty,200.price100,substrung,(au_,lname,1,3)=Jon au_,lname,like Jon%,两侧的数据类型不同,(隐含地调用,conveet,(),函数,),2.,组合索引未用到,领头,列,如组合索引为,:,区号楼号,则:,LOC,3,区,6,号,楼,?.,OK,,,但:,LOC,6,号,楼,?.,索引被“遏制”,必要时,为,楼号,另建索引,怎样确定建索引的列,(1),建索引用于提高数据库性能,当处于以下,情形时应建索引:,经常用于检索的列,经常用于查询结果排序的列(也就是用,order,by,子句指定的列),被固定用于两个或多个表连接的列(跨表的相关,数据外键),因为用于连接的列若按顺序存放,,系统可很快执行连接,索引与键,键的分类:,键有两种如下不同的类型:,逻辑键(,Logical Key):,主键(,Primary Key),外键(,Fopreign,Key),公共键(,Common Key),物理键(,Physical Key):,是用来定义索引的列,,也即索引。它可以基于单列也可基于多列.,通常,键是指逻辑键,,物理键就称索引,.,聚簇表与聚簇索引,聚簇表是指在表中已创建了聚簇索引的表。在,SYBASE,数据库中,聚簇表中的行是按聚簇索引的,顺序物理地排序。用户可以通过对表创建聚簇索,来定义表中数据行存储的物理排序。,聚簇索引的存储,在表中的数据行被物理排序。,用户通过建立聚簇索引来规定数据行的物理,排序。,聚簇索引的存储,有利于范围搜索,由于聚簇索引的顺序与数据行存放的,物理顺序相同,因此聚簇索引是最适合于范,围搜索,因为相邻的行将被物理地存放在,相同的页面上或相邻近的页面上。,索引使插入速度减慢,索引可加快数据查询的速度,但会减,慢数据插入的速度。,读,非聚簇索引的存储,索引与数据行的存放顺序无一定关系。,一个表仅可建一个聚簇索引,但可建多个非聚簇索引.,读,7,非聚簇索引结构,索引的叶级页并不是数据页。,在叶级索引中存放着对,数据页中各个数据行的指针。,Page 1001,Bennet,1007,Karsen,1305,Smith 1062,Page 1007,Bennet,1421,1 1132,Greane,1242,4 1133,Hunter 1242,1 1127,Page 1305,Karsen,1876 1311,Page 1132,Bennet,1421,1,Chan 1129,3,Dull 1409,1,Edwrds,1018,5,Page 1133,Greane,1242,4,Green 1421,2,Greene 1409,2,Page 1127,Hunter 1242,1,Jenkins 1241,4,Page 1241,10,OLeary,11 Ringer,12 White,13 Jenkins,Page 1242,14,Hunter,15 Smith,16 Ringer,17,Greane,Page 1421,18,Bennet,19 Green,20 Ringer,Page 1409,21,Dull,22 Greene,23 White,Key,Pg,ptr,Root page Intermediate,Leaf pages,Data pages,Key row,ptr,pg,ptr,Key row,ptr,5,聚簇索引结构,叶级索引页就是数据页。,page 1001,Bennet,1007,Karsen,1009,Smith 1062,page 1007,Bennet,1132,Greane,1133,Hunter 1127,page 1009,Karsen,1315,page 1132,Bennet,Chan,Dull,Edwards,page 1127,Hunter,Jenkins,page 1133,Greane,Green,Greene,Key,Ptr,Key,Ptr,Data Pages,根级,中间层,叶级,读,唯一约束,唯一约束(,Unique Constraint),在缺省情况下,,,唯一约束将产生唯一的非聚簇索引,,,这种索,引只能使用,ALTER TABLE,删除约束后才能被删除。,唯一约束允许在创建唯一索引的列(包括多列)上有一个空值,列级唯一约束,语法,create table table_name,(,colum,_name,datatype,constraint constraint_name,unique clustered|,nonclustered,),举例,为,publishers,表的,pub_id,列创建唯一约束。,CREATE TABLE publishers,(pub_id char(4)not null,CONSTRAINT,unq,_,pubid,UNIQUE,pub_name char(30),创建的,publishers,表由两列组成,其中,pub_id,列上创建了一个,名为,unq,_,pubid,的唯一约束,根据缺省它将产生一个非聚簇索引。,表级唯一约束,举例,创建,sales,表时同时对,sales,表的,star_id,和,ord,_num,列创建表,级唯一约束,且该约束将产生聚簇索引。,CREATE TABLE sales(,stor,_id char(4),ont,null,ord,_num,Varchar,(20)not null,data,datetime,not null,.,CONSTRAINT,unq,_c_,storid,_,ord,_num,UNIQUE clustered(,stor,_id,ord,_num),主键约束,主健约束,主键约束(,Primary Key Constraint),限制表中,指定列的取值,以保证任何两行在指定列,上不存在相同的值。,主键约束不允许在创建主键约束的列上有,空值。即主键约束列上的 值不得为,null。,在缺省情况下,主键约束将产生唯一的聚,簇索引,这种索引只能使用,ALTER TABLE,删除约束后才能被删除。,列级主键约束,举例,在创建,publishers,表的同时仅为,pub_id,一列创建名为,pky,_c_,pubid,的主键约束,并且使它产
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!