欢迎来到天天文库
浏览记录
ID:51617681
大小:1.25 MB
页数:40页
时间:2020-03-26
《MySQL数据库技术教学全套课件 周德伟 电子课件 代码课件单元7 索引与数据完整性约束.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单元七索引与数据完整性约束项目知识要点与目标项目知识要点知识能力目标学时7.1任务1索引及其应用7.1.1索引的分类7.1.2创建索引7.1.3删除索引7.1.4索引对查询的影响7.2任务2数据完整性约束7.2.1主键约束7.2.2替代键约束7.2.3参照完整性约束7.2.4CHECK完整性约束7.3综合实例PetStore数据索引与完整性约束【情境】:Petstore索引与完整性约束【职业岗位】:操作员、程序员【典型工作任务】:创建索引、建立数据完整性约束【技能要求】:1、创建索引;2、建立数据完整性约束;【知识要求】:1、索引的作用与使用2、索引与数据完
2、整性约束的SQL语句8项目实训七“员工管理系统”索引与完整性约束8任务一索引及其应用索引——是一种提高查找速度的机制索引用来快速地寻找那些具有特定值的记录,如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所
3、在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。索引文件学生表student中建立“学号”索引(升序)示意图学号记录号200601011200601023200602032…………2007020110000…………20809995000学号姓名性别年龄20060101张建男1820060202王欢女1720060102田静男18………..2080999李华女19…….…..20070201张丽女17学生表student索引文件索引文件如何影响原表没有索引文件时:指针在原表中顺序移动如果要找位于第10000条的学号”20070
4、201”的记录,计算机要在表中查找10000次学号姓名性别年龄20060101张建男1820060202王欢女1720060102田静男18………..2080999李华女19…….…..20070201张丽女17使用索引查找有索引文件时:(二分法查找实例)计算机先在索引文件中学号为”20070201”的记录,找到相应的记录号,再到学生表中直接读取相关记录.学号记录号200601011200601023200602032…………2007020110000…………20809995000学号姓名性别年龄20060101张建男1820060202王欢女1720060
5、102田静男18………..2080999李华女19…….…..20070201张丽女17学生表student索引文件索引文件如何加快查找速度原因:(1)索引后,指针在索引文件中顺序移动。(2)索引文件中记录是有序的。(3)有序后,可以用各种方法加快查询速度,如折半(二分)查找法,而排序前,只能顺序查找记录。B树索引示意图<50>=50……rowIDrowIDrowIDrowID……<40..50<30..40<20..30<10..20…………<80..90<70..80<60..70<50..60rowIDrowIDrowIDrowIDrowID……41r
6、owID42rowID43rowID44rowID……索引的分类1.普通索引(INDEX)这是最基本的索引类型,它没有唯一性之类的限制。创建普通索引的关键字是INDEX。2.唯一性索引(UNIQUE)这种索引和前面的普通索引基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须是唯一的。创建唯一性索引的关键字是UNIQUE。3.主键(PRIMARYKEY)主键是一种唯一性索引,它必须指定为“PRIMARYKEY”。主键一般在创建表的时候指定,也可以通过修改表的方式加入主键。但是每个表只能有一个主键。4.全文索引(FULLTEXT)MySQL支持全文检索
7、和全文索引。全文索引的索引类型为FULLTEXT。全文索引只能在VARCHAR或TEXT类型的列上创建,并且只能在MyISAM表中创建。创建索引1.使用CREATEINDEX语句使用CREATEINDEX语句可以在一个已有表上创建索引,一个表可以创建多个索引。语法格式:CREATE[UNIQUE
8、FULLTEXT]INDEX索引名ON表名(列名[(length)][ASC
9、DESC],...)说明:●索引名:索引的名称,索引名在一个表中名称必须是唯一的。●列名:表示创建索引的列名。length表示使用列的前length个字符创建索引。使用列的一部分创建索引可
10、以使索引文件大大减小,从而节省磁盘空间。BLOB或T
此文档下载收益归作者所有