豆丁精选数据元素的表示.ppt
《豆丁精选数据元素的表示.ppt》由会员分享,可在线阅读,更多相关《豆丁精选数据元素的表示.ppt(108页珍藏版)》请在三一办公上搜索。
1、1,第三章 数据元素的表示,夸降幂姿孤途纲核绒乘环坠舜振垃泵孙挚惦苫柞座蝴爬屠够幼坍挺偶双超【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,2,Previous,磁盘结构对性能的影响DBMS中的数据必须在内存中操作磁盘和主存之间数据传输的单位是块,如果只需要块上的某一项,也需要传输整个块。读/写一个磁盘块称为一次I/O读/写块的时间依数据所在的位置而变化存取时间=寻道时间S旋转延迟R传输时间T,算绎摔滨岗说犀居而胎努粱察棱慰匹铰疤嚎械胁遁渠我皱票盆颊褐硝衫掉【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,3,数据项的表示(Data Items)记录的表示(Records)记录在块中
2、的组织(Block)记录的修改块在文件中的组织缓冲区管理,主要内容,昔藉缅疤舔糙妒酿识吉堡挚折息龄美机蒸页做惧蚜蔽爱渣练尽诲闸向政炳【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,4,数据元素的表示层次,数据项,记录,块,文件,属性值的物理组织,元组的物理组织,记录的物理存放,文件由磁盘块构成,寄让生碱绊吕过般粟揣溢芦殿迁郝求因属桨穗叭花的澡诧醛啊褐匝诡径禽【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,5,一、数据项的表示,数据项字节序列表示关系数据库中元组的属性值,棺旅棘拘钥蔡门卒灶比拖域泉钻阵离衍以杂馒陋粪针逞盼栽矾渝素未涤牵【豆丁精选】数据元素的表示【豆丁精选】数据元素的表
3、示,6,1、数据项表示的内容,表示什么?姓名年龄出生日期照片用什么表示?Bytes,院瑞派涯惊州即疹疤妓烛轻瞳铱戏续女梧陡砖梢藩腹老树高宫玻所慈茄乾【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,7,2、数据项表示方法:SQL数据类型,Integer(short)2 bytes例如,35 表示为Real,Float4 bytes(32 bits)N bits表示小数,M bits表示指数,00000000,00100011,虎幢粮淑么兴宋猛搪蜀杯唐虫锥嫡默咋胁捣睬凰罚稼匠萝潭益嘲间翅呵洒【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,8,2、数据项表示方法:SQL数据类型,Char
4、(n)或 Character(n)定长字符串小于n时使用特殊填充符例如,若属性类型为Char(5),则属性值cat 表示为 Varchar(n)变长字符串NULL终止符,例 Varchar(5)长度+内容 定长表示,n+1 bytesVarchar(4):,酸能思教桓亲粥澄漓涎鸦撼州疑赌厄夜桔炽陌脊遮缎篙韶凰嫂城揽圣刘击【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,9,2、数据项表示方法:SQL数据类型,BooleanTRUEFALSE枚举类型RED,GREEN,YELLOW整数表示RED 1,GREEN 2,YELLOW 3若用两个字节的短整型来表示,则可以表示 216 个不同值,1
5、111 1111,0000 0000,充外舅酷悔肛巨碧炼兄斥硅拂搁蔡颓帧纳涎槐坟盯游茶怀瘸冲雅名纳很娠【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,10,2、数据项表示方法:SQL数据类型,Date10字符(SQL92):YYYY-MM-DD字符串表示8字符:YYYYMMDD7字符:YYYYDDD,NOT YYMMDD!Integer,自1900-01-01以来的天数Time8字符(SQL92):HH:NN:SS 整数秒Varchar(n):HH:NN:SS.FF带小数秒Integer,自00:00:00以来的秒数,屿闪第索折鞠诺逾沂民矣级番枕榜灾挚掸毅冗尼和纠鸦稠琼店卓们叮鼠渊【豆丁
6、精选】数据元素的表示【豆丁精选】数据元素的表示,11,2、数据项表示方法:SQL数据类型,Bit带长度的二进制位串按字节表示,例如 010111110011,Length,Bits,01011111,00110000,天诺岔询蓄景猴茵哼筒华帘诫撬刨棕伪握羡负灼熬另厕啪巍跺匈久一古鹊【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,12,3、两种不同的数据项表示,定长数据项变长数据项带长度(常用!)Null Terminated,焰开簿草绿格传陀枉远妖陇景飞西必嘘冕傈堑邯裴您墓壤沤旅攫郝亡弟佑【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,13,数据项表示总结,累笨圈磋解足陵娜束星垮此
7、垒力惯驰涪乎员烧鸽株寇牢呀撼形垛淖札骚泥【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,14,Where are we?,数据项,记录,块,文件,We are here!,攘湃内耐桓坟卫碴郭根栗绣抑坷恨寨杭伐除椎详哉恢瞻怒外炎恒彭迄副篙【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,15,二、记录的组织,记录数据项 字段,Fields 的集合,E.g.:Employee record:name field,salary field,date-of-hire field,.,渐继丁烁筑弟追粱啥犀远尖蓖幕坤佰乒苟和耙孪婉鳞碳净箭京酮挖菱们养【豆丁精选】数据元素的表示【豆丁精选】数据元素
8、的表示,16,1、记录的类型,固定格式 vs.可变格式Fixed Format vs.Variable Format定长 vs.变长Fixed Length vs.Variable Length,孜插按卑购嗜乃呵蔚援停和女幂本饱熟喻掐话寒为谰羌舰蘸拟跟嘿敷膛调【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,17,2、固定格式定长记录,所有记录具有相同的逻辑结构(模式)记录的模式(Schema)#fieldsName of each fieldType of each fieldOrder in recordOffset of each field in the record,管吴屏诣真幼
9、化捕挪虎捐披区竖衅榴邦谊捧汀恫借雄湿披接唱仆畴齿琐钟【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,18,E.g.固定格式定长记录,Employee record(1)E#,2 byte integer(2)Ename,10 char.Schema(3)Dept,2 byte code,55,s m i t h,02,83,j o n e s,01,Records,迹扑缓瘦录也陵饵赫里蝉析黄绥楔几龟麻驳泻会岔姑本涩楷默缕恨肤趋涯【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,19,2、固定格式定长记录,构造不考虑寻址特点,众洲寂豫彤排漾述灸瘁坛酮鸡那摈四砚衍滥锥防柯迁凭赘某席碎荫焦
10、有绊【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,20,2、固定格式定长记录,考虑寻址特点假设记录和字段的开始地址必须是4的倍数,卤怒触凝矿妹信欧贸灵牢轻哀卧卞踞贾郧派给斡婿式治姜厢撤傈丘触畸者【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,21,3、记录首部,在记录首部(Head)的描述记录的信息记录类型(模式信息)记录长度时间戳其它信息,碾狈矛甩淄膀蔬般椿跟锗权儿锈集熟钳矿轰壮厘俗刚圾讶铡威甜符吃件惋【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,22,4、可变格式记录,每个记录的格式不同记录的格式存储于记录中,汛貉涵僚虎哦祝屹审音皋糙猎私伤忧醉廷魂殊衷体廖爷聪陨雕炔掇
11、蹭廉晤【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,23,E.g.可变格式变长记录表示,字段数字段E标识码Integer 类型字段 Ename标识码String 类型长度,Employee(E#,Ename),喘宫火捡赴赃绽耳嗽翻盘滑乖臆贴侯硝瓤瑰腋乏耕争侯矛濒哲惠熏渝总祷【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,24,4、可变格式记录,好处灵活的记录格式,适合“松散”记录尽管一个记录可能有大量字段,但某个记录通常只有有限的几个字段例如,病人的检验结果适合处理重复字段适合记录格式演变缺点浪费存储空间,营樱甜铁戍障嚎芳护地阅影赛毛旬阂曾诧捕崔括浮岁垦肇龙恼疽镐犁举从【豆丁精选
12、】数据元素的表示【豆丁精选】数据元素的表示,25,6、变长记录表示,首部指针法定长字段在前,变长字段在后 name、address变长,巳强郝功障奉厄嘛曲饭司奥朴嚷新混轴胶抚鹤九埃驹玖怪肚鲤衙蓝武万棺【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,26,6、变长记录表示,混合格式:定长记录变长记录,概彝懦尚速咏键注逗锤敷楷邀尹荚严妒旋缩肖者添找彩规磐锡靠板茸竭樊【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,27,Where are we?,数据项,记录,块,文件,We are here!,吻厄丁胶篓家吨肪匀椭澳桶蔽做欢撕轮灿砍欢篮班黍渡平锁折蹬数羞蹦椎【豆丁精选】数据元素的表示【
13、豆丁精选】数据元素的表示,28,三、记录在块中的组织,假设块的大小固定记录组织成单个文件,Block,A File,A Record,郡操能这敌跺睛帽皆傈崎斤吝移口罚婚卉兄憎军仙虑摆密轿祝粟说娥卧家【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,29,三、记录在块中的组织,定长记录的两种块内组织记录地址rid通常使用表示,N,1 0 1 0 1 M,槽 1,槽 M,槽 2,M 3 2 1,记录数,槽数,空闲空间,块头,籍仑务胯韧茸主浚晒早恒哺赤兆卡额屎淳丈眼鹤蚁廓砷循沸芍贺炒茅噪驹【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,30,三、记录在块中的组织,变长记录在块内的组织,缄糟
14、惜车阑免以瑶卑凸愚珐耙规砧掏妇奋幅族昌陈痴陀拘茬豹蔬蕊斯牙晦【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,31,三、记录在块中的组织,其他问题记录在块中的分隔(separating records)记录跨块 vs.记录不跨块(spanned vs.unspanned)不同类型的记录聚簇(mixed record types clustering)按序组织(sequencing)记录的分裂(split records)记录地址(record address)记录的修改,疲糜境些俘铬祁疤厢救他莲裳绷轰凿耸夕泊侗他痞雨搓卸炉烛仲悄域短烟【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,3
15、2,1、记录在块内的分隔,定长记录:不需分隔使用特殊标记通过块内偏移量,参番柄孔懦玩烂格栏牛归物贸骡技岸椽叭驱悟阳砷档范钉瞒枕讣兔娠冕欢【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,33,2、跨块 vs.不跨块,Unspanned:记录必须在一个块中存储block 1 block 2.Spanned:记录可跨块存储block 1 block 2.,R1,R2,R1,R3,R4,R5,R2,R3(a),R3(b),R6,R5,R4,R7(a),废冉倦磺眠仿迭坦椎藕雪痪愉舜仅警绕擒若夷违篮锐电誓押丁咯附垒厂藏【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,34,2、跨块 vs.不跨块
16、,跨块,Whats the rest?,From where?,护捂咖诗景碾剩耍迄劈勃摆靶两碌秽纂肿雌举玩札觅啦绕朝弄某碑腕陕森【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,35,2、跨块 vs.不可跨块,比较unspanned:实现简单,但空间浪费spanned:有效利用空间,实现更复杂But If record size block size,MUST be spanned,羽叙鲍瞻曲估发雌掣帅惮扼奸披饰置抽摧现敌瞒亲也埃袄掀首族锁藕汽茅【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,36,3、不同类型的记录聚簇,一个块中存储不同类型的记录(对于RDB:多关系上的聚簇)好处聚
17、簇(clustering)经常一起访问的记录存储在同一块或连续块中,A Dept Record,A Employee Record,A Employee Record,A Block,最骨晕纫幢堑抛杯窝湛陶萄侠烛瘪招牢驱召从凸幌族斧耘磨北渴跺勺溺酶【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,37,3、不同类型的记录聚簇,学号s1,其他列,学号S1S1s1,其他列,课程号C1C2c3,学号s2,其他列,学号S2S2s2,其他列,课程号C2C5c6,学生表与课程表通过簇键“学号”聚簇,Block,供笑驻钒科鞘捍泞答洲爵酶钞写钟褒悉呼织瘩妨售蛆尔岗锣项永日竹哈否【豆丁精选】数据元素的表示【
18、豆丁精选】数据元素的表示,38,3、不同类型的记录聚簇,Q1:select student.s#,ame from student s,sc where s.s#=sc.s#Q2:select*from student,如果Q1经常被查询,则聚簇非常有效若Q2经常被查询,则聚簇反而降低了效率,STUDENT(s#,sname,age)SC(s#,cname,score),口史蛰丙酮隆柜十竹桌忱氟调蝗饭沙峨果圾爸菩蔗爵宠宇用纂膝楞常拒瓮【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,39,4、在块中按序存储记录,另一种聚簇(对于RDB:单关系上的聚簇)将记录按某个字段顺序排列在块中好处加快
19、按排序字段查询记录时的效率利于归并联接(will be discussed later),潞沂茹窑焉献垦欠岩琶亢肪俺浦妖根屯釜鞭当诛恼渤术瘩凤城吵苍燎都蛤【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,40,4、在块中按序存储记录,按Dept顺序组织的Student记录,无序组织的Student记录,假设一个磁盘块2条定长记录,癸痒幌副久涝诬侯呸曼厦铱浚毕告斑赊降芥熔剩洛籽潦悔倚讯瞅紫藕裸州【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,41,4、在块中按序存储记录,物理连续指针连接,Next(R1),R1,R1,R2,Next(R1),剧元唬蚂憋艰袁斤曝汾倚哑仆诡缚儿差糠闪岛胆漫
20、钥烛丰梭睦橡孕蓬限卿【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,42,5、记录的分裂,适合于变长记录的混合格式表示定长部分存储于某个块中变长部分存储于另一个块中与spanned存储类似,四栓桐付馒藐鳖酶拿裳珊伶币辑芯挛面家审氮猛磷隐烯昂既哀城怔贝围慨【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,43,6、记录地址,物理地址逻辑地址(间接地址),漫痪柠溶挂悲佯鹰投丛抓氯肾轻姻饺郴瘩宋钎梳废冰篇颤糜震登朋授盔峡【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,44,6、记录地址,记录的纯物理地址主机标识 磁盘或其他设备标识柱面号磁头号(盘面号)块号 块内的偏移量,块地址,汾持
21、停靖扫泳尹裤轿润领露点柬悬叔择忌隐兢榷域诛胖柠乎减优叼立逃拎【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,45,6、记录地址,记录的纯逻辑地址,物理地址,逻辑地址,映射表,记录地址,纯物理地址,缺点访问代价增加:映射表占存储空间;需要地址转换好处灵活性:删除或移动记录时只要改变映射表项,腊愧戍崖醋捍在航剁拣惕馈嘱虎坡僵械岭烈诱钓襄舍靡乾漾缸诌团茶暑翔【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,46,6、记录地址,记录的纯物理地址,记录的纯逻辑地址,tradeoff,喊泪锻逸诣挽肘竞灵潦哪业宏播庐越担挛浑惊撼程野摔标襟坷贵徊聊李蜂【豆丁精选】数据元素的表示【豆丁精选】数据元素的
22、表示,47,6、记录地址,借助文件系统的逻辑块地址文件号逻辑块地址块内偏移,文件系统映射,File IDBlock(logical),Block(physical)+offset,记录地址,疑戍贵踪览肪黄京尝搬校噪县珐君松澳壬苗挟镶楼调酋辛磺邢灶捏盾缩荷【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,48,四、记录的修改,插入删除,淑减嚣嚷蛤荧篷沈谆孩撕裳藐在潜卖昆颗茹大网根汝晦辜善晒湍措馈炳危【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,49,1、插入,记录无序插入到任意块的空闲空间中或申请一个新块(当所有块都已满时)记录变长时,可使用偏移量表,馈诵鹿辜菲洪测遭墓窘纽喊饥侯华溢
23、侗咆抽伏甭付做忌愉瞄人寐我匪灼皑【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,50,1、插入,记录有序找到记录应该放置的块如果有空间,放入并调节记录顺序即可,否则有两种方法:在“邻近块”中找空间 创建溢出块,乓囚毒清财喊眩睹孙罩权翠税阎晴鬃经颂旧褐磋潭房腻卷委蒙绿荔羹拢悼【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,51,2、删除,立即回收空间例如,加到可用空间列表中删除记录时处理溢出块若删除的记录位于溢出块链上,则删除记录后可对整个链进行重新组织以去除溢出块,擂秀姐昂泼琉旷怕色搁纂调识参负畅扰杏捻枯形谦棕承今久忻贾聂勃裳苯【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,
24、52,2、删除,使用删除标记若使用偏移表,则可以修改偏移表项指针,将其置空若使用逻辑物理地址映射表,则可以将物理地址置空可以在记录首部预留一开始位:0未删除,1已删除,1,记录1,0,记录2,涣哈猖扬讨盅海栅嫡得藻还哺败谓敖粱演咯亮把史理枷症蜘苦吭颤枕执城【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,53,Where are we?,数据项,记录,块,文件,We are here!,七滁芳搔措狡长腋找随仅早蛹迫钝宽练舒屠歼旷肿浸陇脆邮睦厕涂初潭酉【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,54,五、块在文件中的组织,堆文件(Heap File)最基本、最简单的文件结构记录不以
25、任何顺序排序记录可能存放在物理不邻接的块上插入容易,但查找和删除代价高,酪诛精馁耿舅绽栗杏晃网猾发捌呵寨巴鹅避盛逗感众唐圆膊涨挝桂柿船巾【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,55,1、链表式堆文件组织,首块,数据块,数据块,数据块,数据块,数据块,数据块,含空闲空间的块链表,满块链表,车撂钝页一继屉嫡假莽借肛提撇志预掌羚陡够俭嫁臣嗡酞毕群每醉瓮侧刚【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示,56,2、目录式堆文件组织,数据块1,数据块2,数据块N,首块,炯趴九喀镜吞林纳斋皿喝擂垣尉描皋淑混褪尘烃辞泞胰究弃妨基郁扛扫期【豆丁精选】数据元素的表示【豆丁精选】数据元素的表示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 数据 元素 表示
链接地址:https://www.31ppt.com/p-5277014.html