database develop and design(一)

这里写图片描述

物理存储的机制。其中cache(高速缓存存储器)是一种介于主存和cpu之间的一种存储器,容量比较小但速度比主存高得多, 接近于CPU的速度。在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。

flash memory(闪存)即是一种长寿命的非易失性的存储器。

magnetic disk(磁盘),如图。定位十分接近platter(唱片一样的东西),几乎要直接接触的那种程度,通过read-write head来把编码信息刻录(不知道是不是应该这么理解)到platter上,然后platter上又分为一个又一个的track,类似年轮的那种应该,然后每一个track又被分为不同的sector(扇形区域),每一个sector是最小的read or write的单元。当在执行read/write的操作的时候,disk arms先转动,把head定位到具体的track上,然后platter转动,去找到相应的sector,然后数据就通过sector来传递,并且这个过程是需要时间的(下面会提到)。这里写图片描述

Access time

上面说到的read/write是需要的时间被称之为access time(读取时间),access time = seek time +rotational latency +(transfer time),即寻找的时间+旋转需要的时间+翻译的时间。
1.Seek time – time it takes to position the arm over the right track.
Average seek time is about ½ of the worst case seek time (e.g., from the innermost to the outermost)
2. Rotational latency – time it takes for the sector to be accessed to appear under the head.
Average latency is 1/2 of the worst case latency (e.g., nearly 360 degree rotation)
3. Transfer time – time to actually read/write the data in the sector once the head is positioned, that is, the time for the disk to rotate over the sectors.
In most cases, transfer time is much less than the seek time and rotational latency.

Disk block(磁盘存储块):
1. 表示一个track上某些sectors内连续的序列

  1. 并且在磁盘和主存之间数据的转换就是以该种block的形式来进行交换的

  2. 范围从512bytes到several kilobytes不等:

    1.太小的blocks:从磁盘读取的时候,block的数目太多,那么在incode(incode条目描述一个文件,对应着文件系统上的一个文件或者目录,指出了件的名称,大小,连接数量,block指针等)指向block的时候的搜寻时间会增加,导致文件在读写方面的效率变差
    
    2.太大的blocks:如果录入的文件的大小并没有那么大,那么剩余的空间不会被空出来,而是同样算进这个文件之中,会占用一个block,那么这个剩余的空间就被浪费掉了。
    
    3.现在典型的block一般在4-16kilobytes之间
    

    Optimisation of disk-block access(关于磁盘存储块读取的最优化)

  3. 磁盘手规划的算法在读取之间就会被规定,一般是用电梯算法,就是从最里面(或者最外)往外(或里)读取,处理一路上这个方向的请求,然后再反过来继续这样的操作。

  4. File organisation(文件管理) 就是通过把相类似的文件组织起来来对存储块的读取进行优化:

    1. 数据存储其实就是相当于是文件的一个集合,逻辑上来说,每一个文件其实都是一群record(记录)组成的序列,而每一个record又都又一群序列组成。物理层面上来说,每一个文件都是一个block。
    
    2. 没有一个档案是会大过一个block的,或者说each record is entirely contained in a single block.
    
    3. 而文件组织是长度可变或者长度固定的记录。(fixed-length records , variable-length records)
    
    4. 在文件中的organisation record:1.堆组织法 。 2.顺序组织法。 3.散列组织法
    

    这里写图片描述

关于上面提到的 fixed-length records(固定长度):

    1.  只分配给长度不超过block大小的records存储在里面。

    2. 不适合移动records(需要其它的block来介入) 

    3. 关于上述内容的solutions:
            1).分配一个一定字节的file header(文件头)
            2).从一个链表(linked list)中删除records
            3)当插入新的记录时,我们把这个记录指向文件头(即上面说到的file header),然后改变文件头的指针指向
            新的下一个有效记录,如果没有空间,那么就把这个记录放置到文件的末尾。

这里写图片描述

关于上面提到的 vairable-length records(可变长度):

    1.  满足可变长度的attributes(属性,我认为就是指的一个字段,例如 sid int这种)的记录分为两个部分
                1)拥有一个初始固定长度的attributes
                2)有着满足可变attributes的数据

    2.  长度可变的attribute一般被表示为offset和length
                1)offset表示存入这个attribute的数据必须是在这个记录里面的内容(原话:offset denotes
                 where the data for that attribute begins within the record )
                2)length表示这个可变(长度)的属性的长度

    3.  在block中存储可变长的records一般用的是页结构(slotted-page structure)
                1)文件头有很多record的条目
                2)在block的最后会留下一些自由空间
                3)每一条record都是由若干条条目组成的,而每一条条目都有他的定位和长度

    4.  在存储块中,records的分配一般都是连续并且是从block的最后的地方开始分配

    5. 在block中的free space同样是连续的,  between the final entry in the header array, and 
    the first record.(不太理解的话看下面的图就知道是什么了)

    6. 当一个record被插入时,分配的空间总是从最后开始的

    7. 如果一个record被删除,那么它原来占用的空间就会腾出来。并且,在被删除前,这个record就会在block内
    被移除,所以第一个record和header最后一个条目间的free space是不会变的

这里写图片描述

关于文件中records的各种组织:

    1. Heap——record会被随机放置到文件中有空余空间的地方

    2.Sequential——每一条records是按照一定的顺序放置的,

    3.Hashing —— 通过哈希函数来计算每一个record里面的attribute,主要体现当需要替换数据的时候。

    4.每一个相互关联的records有可能被分到不同的文件中

每一个组织的好坏:
这里写图片描述

sequential file organisation 适合那种需要按照顺序来存储的设备,并且要按照一个search-key来排列,需要一直来维护这个文件里面的顺序。

最后,关于多表联合:

这里写图片描述

ps:
1.关于上述的fixed-length和variable-length指的是一个file中record的数量,一个是固定数量,一个是可变数量。

2.关于上述的提到各种组织(organisation),翻译过来刚开始有点不太好理解,后来想了一下应该是表示的是record被放在file中的各种形式。

2.关于上述硬盘的head,track,cylinder,sector

side/ head
硬盘一般是由一片或几片圆形薄膜叠加而成。每个圆形薄膜都有两个”面”(Side),这两个面都是用来存储数据的。依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。硬盘面数(或头数),少的只有2面,多的可达数十面。
track——磁道——一个圈
读写硬盘时,磁头不动,磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道(Track)。 磁头不动,就是在一个磁道上读写磁头移动,就会在不同磁道上读写根据硬盘规格的不同,磁道数可以从几百到数千不等一个磁道上可以容纳数KB的数据(一个track包含数个sector)
cylinder—-柱面———
外观像一个圆筒子各面上磁道号相同的磁道合起来,称为一个柱面(cylinder距轴的距离相同的一组track
Sector
一个track上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被按512字节划分成若干段,每段称为一个扇区(Sector)。一个扇区size是固定的512字节 计算机对硬盘的读写,是以扇区为最小单位即使只读某一个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存
block—文件系统(FS)的最小存取空间
一个 Block 最多仅能容纳一个文件(即不存在多个文件同一个block的情况)
即如果一个文件比block小,他也会占用一个block,因而block中空余的空间会浪费掉
一个大文件,可以占多个甚至数十个成百上千的block

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容简介 《数据库处理:基础、设计与实现(第11版)(英文版)》从基础、设计和实现三个层面介绍数据库处理技术,内容全面翔实,既包括数据库设计、数据库实现、多用户数据处理、数据访问标准等经典理论,也包括商务智能、XML和NET等最新技术。《数据库处理:基础、设计与实现(第11版)(英文版)》在内容编排和写作风格上新颖,强调学习过程中的乐趣,围绕两个贯穿全书的项目练习,让读者从一开始就能把所学的知识用于解决具体的应用实例。 《数据库处理:基础、设计与实现(第11版)(英文版)》每章都有丰富的习题,可作为高校本科生或研究生的数据库课程的双语教材,同时也是一本很好的专业参考书。 编辑推荐 《数据库处理:基础、设计与实现(第11版)(英文版)》:提前介绍了SQL查询 使用“螺旋方法”进行数据库设计 为数据建模和数据库设计使用了一种通用的信息工程“鸦脚”E-R模型 详细探讨了实际规范技术中的特定范式 使用了最新的DBMS技术:Microsoft Access 2007,Microsoft SQL.Setver 2008,Oracle Database 11g,MySQI 5.1 基于广泛使用的Web开发技术,创建了Web数据库应用 简介了商务智能系统 探讨了数据仓库和联机分析处理数据库设计中使用的维数据库概念 作者简介 作者:(美国)克罗恩克(David M.Kroenke) (美国)奥尔(David Auer) 目录 Preface xvii PART 1 GETTING STARTED Chapter 1:Introduction Chapter Objectives The Characteristics of Databases A Note on Naming Conventions A Database Has Data and Relationships Databases Create Information Database Examples Single-User Database Applications Multiuser Database Applications E-Commerce Database Applications Reporting and Data Mining Database Applications The Components of a Database System Database Applications and SQL The DBMS The Database Personal Versus Enterprise-Class Database Systems What Is Microsoft Access? What Is an Enterprise-Class Database System? Database Design Database Design from Existing Data Database Design for New Systems Development Database Redesign What You Need to Learn A Brief History of Database Processing The Early Years The Emergence and Dominance of the Relational Model Post-Relational Developments Summary Key Terms Review Questions Project Questions Chapter 2:Introduction to Structured Query Language Chapter Objectives Cape Codd Outdoor Sports The Retail Sales Data Extraction RETAIL_ORDER Data ORDER ITEM Data SKU_DATA Table Data Extracts Are Common SQL Background The SQL SELECT/FROM/WHERE Framework Reading Specified Columns from a Single Table Reading Specified Rows from a Single Table Reading Specified Columns and Rows from a Single Table Submitting SQL Statements to the DBMS Using SQL in Microsoft Access 2007 Using
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值