当前位置:文档之家› 数据库系统实现部分习题参考答案

数据库系统实现部分习题参考答案

数据库系统实现部分习题参考答案
数据库系统实现部分习题参考答案

习题2.2.1

M egatron 777磁盘具有以下特性:

1)有10个盘面,每个盘面有100000个磁道。

2)磁道平均有1000个扇区,每个扇区为1024字节

3)每个磁道的20%被用于间隙。

4)磁盘旋转为10000转/min。

5)磁头移动n个磁道所需要的时间是1+0.0002n ms。

回答下列有关Megatron777的问题。

a)磁盘的容量是多少?

b)如果磁道是在直径3.5英寸的圆面上,那么一个磁道的扇区中的平均位密度是多少?

c)最大寻道时间是多少?

d)最大旋转等待时间是多少?

e)如果一个块是65536字节(即64扇区),一个块得传输时间是多少?

f)平均寻道时间是多少?

g)平均旋转等待时间是多少?

参考答案:

a)磁盘容量=盘面数*磁道数*扇区数*扇区容量

=10*100000*1000*1024字节

=210*109字节

注释:已知

1)有10个盘面,每个盘面有100000个磁道。

2)磁道平均有1000个扇区,每个扇区为1024字节.

b)一个磁道存放存放1000*1024*8=8192000bits.

直径为3.5英尺那么中间磁道直径为3.5π/2(英寸)中间扇区所占的周长是80%*3.5π/2(英寸)所以,每个磁道的扇区中的平均密度是

注释:

已知:

2)磁道平均有1000个扇区,每个扇区为1024字节.

3)每个磁道的20%被用于间隙.

c)最大寻道时间是磁头跨越全部柱面所花费的时间。即

1+0.0002*99999=20.9998ms

已知:

1)有10个盘面,每个盘面有100000个磁道。

5)磁头移动n个磁道所需要的时间是1+0.0002n ms。

d)最大旋转等待时间是磁头旋转一圈的时间。即1/(10000/60)= 6ms

已知:

4)磁盘旋转为10000转/min。

e)该块占用64个扇区,为此,磁头必须越过64个扇区和扇区之间的63个间

隙。由于间隙合在一起占72度圆弧,而扇区覆盖剩余288度圆弧,则被它们覆盖的圆弧的总度数为: 72*(63/1000)+288*(64/1000)=22.968则传输时间是(22.968/360)*0.6ms=0.03828ms

已知:

3)每个磁道的20%被用于间隙。

2)磁道平均有1000个扇区。

d)中最大旋转等待时间为6ms。

f)磁头行进的平均距离是跨越柱面的1/3,则平均寻道时间是:1+0.001*

(100000/3)=34.33ms

g)平均旋转等待时间为磁盘旋转半周所需时间: (1/2)*6ms=3ms

Exercise 2.2.1(a)

The disk has 10 * 10,000 = 100,000 tracks. The average track has 1000 * 512 = 512,000 bytes. Thus,

the capacity is 51.2 gigabytes.

Exercise 2.2.1(c)

The maximum seek time occurs when the heads have to move across all the tracks. Thus, substitute

10,000 (really 9999) for n in the formula 1+.001n to get 11 milliseconds.

Exercise 2.2.1(d)

The maximum rotational latency is one full revolution. Since the disk rotates at 10,000 rpm, it takes

1/10000 of a minute, or 1/167 of a second to rotate, or about 6 milliseconds.

2.4.1计算下列位序列的奇偶校验位:

a)00111011。

b)00000000。

c)10101101。

解:

定义:如果有奇数个数据盘的第j位为1,在冗余盘中,我们选取位j为1,;如果在数据盘中的第j位有偶数个1,我们选取冗余盘的位j为0。

即:有奇数个1,为1;有偶数个1,为0。

0 0 1 1 1 0 1 1

0 0 0 0 0 0 0 0

1 0 1 0 1 1 0 1

-------------------------

1 0 0 1 0 1 1 0

习题2.4.9

如果我们有例2.13的RAID6级方案,4个数据盘的块分别为00110100、11100111、01010101和10000100。

a)冗余盘的相应块是什么?

b)如果第3个盘的块被重写成01111111,必须采取哪些步骤以改变其他盘?

[注]例2.13内容:

假设块只有8位长,并且关注在我们的RAID6级示例中用到的7个磁盘的第一块。首先,假设数据盘和冗余盘的第一块的内容如图2-11所示。请注意,盘5的块是前3个盘的块模2和,第6

图2-11 所有磁盘的第一块

答案:

a)前4个盘是数据盘,盘5~7是冗余盘.

盘5的块是前3个盘的块的模2和, 盘5块是10000110;

盘6是盘1,2和4的模2和, 盘6块是01010111;

盘7是盘1,3,4的模2和, 盘7块是11100101。

b)如果第3个盘的块被重写成01111111,求这个序列和序列01010101(该块的旧值)的模2和,则得到00101010;其中为1的位为3、5、7,所以只要对冗余块5和7的3、5、7位取反,故盘5

2.4.10

RAID 6 方案从磁盘崩溃中恢复

使用足够多的冗余盘处理多个磁盘的崩溃,例如,基于海明码的纠错技术

7个盘,其中1~4为数据盘,5~7为冗余盘。数据盘与冗余盘之间的关系由一个3 7矩阵描述如下:

1.盘5的位是盘1,2,3相应位的模2和。

2.盘6的位是盘1,2,4相应位的模2和。

3.盘7的位是盘1,3,4相应位的模2和。

习题2.4.10 假设块只有8位长,采用带有7个磁盘的RAID 6级方案,描述从下列故障中恢复所要采取的步骤:a)盘1和盘4;b)盘1和盘7;c)盘2和盘5。

2.5.1

假设一条记录有如下所示顺序的字段:一个长度为15的字符串,一个2字节整数,

一个SQL2日期,一个SQL2时间(无小数点)。如果

a)字段可在任何字节处开始;

b)字段必须在4的倍数的字节处开始;

c)字段必须在8的倍数的字节处开始;

这条记录占用多少个字节?

First, note that SQL2 dates require 10 bytes, and SQL2 times require 8 bytes if there is no decimal point; this material is in Section 3.1.3.

a) The bytes requirsed by each of the fields is 15 + 2 + 10 + 8 = 35.

b) Round each of the four field lengths up to a multiple of 4, to get 16 + 4 + 12 + 8 = 40.

c) Round up again, to a multiple of 8, to get 16 + 8 + 16 + 8 = 48.

首先,请注意SQL2日期需要10个字节,SQL2次需要8个字节(没有小数点),点,这种材料是在3.1.3节。

A)由每个字段需要的字节是15+2+10+8=35。

B)每此循环的四个字段长度为4的倍数,即所有字段长度为4的倍数,得到16+ 4 +12+8=40。C)再次循环,到8的倍数,即所有字段长度为8的倍数,得到16+8+16+8= 48。

2.6.5

采用如习题2.6.4一样的RAID4级方案,假设数据盘1有故障。在下列情况下恢复该磁盘的块:a)盘2~盘4的内容为01010110、11000000和00111011,同时冗余盘保存着11111011。

b)盘2~盘4的内容为11110000、11111000和00111111,同时冗余盘保存着00000001。答案:

a、磁盘1的内容:0 1 0 1 0 1 1 0

b、磁盘1的内容:0 0 1 1 0 1 1 0

2.6.7

如果我们有例2.22的RAID6级方案,4个数据盘的块分别为

00111100、11000111、01010101和10000100。

a)冗余盘的相应块是什么?

b)如果第三个盘的块被重写成10000000,必须采取哪些步骤以改变其他盘?

答案:RAID6级方案,4个数据块,3个冗余块(第1对应数据块123的模2和,第2对应124的模2和,第3对应134的模2和)

a

b 原第三块01010101与重写块10000000模2和为11010101,其中为1的位为1、2、4、6、8 所以只要对冗余块1、2块的1、2、4、6、8位求反得01111011,10101010

习题3.1.1

假定一个存储块可存放5个记录,或20个键-指针对。已知有n个记录,如果表示成n的函数,创建以下两种数据文件各需要多少个数据块:a)稠密索引;b)稀疏索引

答案:

解:

a.稠密索引

因为一个存储块存储5个记录,n个存储记录需要n/5个数据块,稠密索引需要为每个记录建立键-指针对,所以键-指针需要n/20个数据库,所以表示成n的函数是n/5+n/20=n/4 b.稀疏索引

因为一个存储块存储5个记录,n个存储记录需要n/5个数据块,但是稀疏索引需要为每个数据块建立键-指针对,所以键-指针对需要(n/5)/20个数据块,所以表示成n的函数是n/5+(n/5)/20=21n/100

习题3.1.2

如果数据块中可以存放50个记录,或500个键-指针对,但是存放数据和索引的数据块都要求最多只能填满80%,重做习题3.1.1.

答案:

答:我们知道一个记录在存放时有数据文件和索引文件,它们分别占用存储块,由题中所述可知在索引块中我们采用了稠密索引和稀疏索引,这样两种形式。只要分别计算出这两个部分的存储块的大小,再求和就能求出需要的存储块。下面分别来求:

a)一个数据文件和一个稠密索引

数据文件的大小容易知道,由已知给定的记录数为n,且每个存储块可存放50个记录, 数据块充满度不许超过80%。

我们得到数据文件所占用的存储块大小为:n/(50*0.8);

稠密索引是指块中只存放记录的键以及指向记录本身的指针,数据文件中每个键在索引中都被表示出来,且稠密索引文件中的索引块保持键的顺序和文件中的排序顺序一致,又由已知每个存储块可存放500个键-指针对,索引块充满度不许超过80%。

这样我们就能得到索引文件所占用的存储块大小为:n/(500*0.8)。

所以总的结果=数据文件所占用的存储块+索引文件所占用的存储块

= n/(50*0.8)+ n/(500*0.8)

=(11/400)*n

b)一个数据文件和一个稀疏索引

同上,数据文件的大小容易知道,由已知给定的记录数为n,且每个存储块可存放50个记录, 数据块充满度不许超过80%。

我们得到数据文件所占用的存储块大小为:n/(50*0.8);

稀疏索引与稠密索引不同点在于,稀疏索引在索引中只为每个数据块存放一个键。但要注意如果本题按照书中所给出的稀疏索引的比例存放记录的话,参见P92.则又由已知每个存储块可存放500个键-指针对,索引块充满度不许超过80%。

这样我们就能得到索引文件所占用的存储块大小为:n/(50*500*0.8)。这样才能保证结果的

正确性。

所以总的结果=数据文件所占用的存储块+索引文件所占用的存储块

= n/(50*0.8)+ (n/50*0.8)/500*0.8

=401n/16000

3.2.1 假定存储块能放10个记录或者99个键和100个指针,再假定B树结点的平均充满程度为70%;即有69个键和70个指针。我们可以用B树作为几种不同结构的一部分。对下面描述的每种结构,确定:(1)1000000个记录的文件所需的总块数;(2)检索一个给定键值的记录所需的平均磁盘I/O数。可以假定最初在主存中不存在任何东西,并且查找键是记录的主键。

*a)数据文件是按查找键排序的顺序文件,每块存放10个记录。B树为稠密索引。

b)同a)一样,但组成数据文件的记录没有特定顺序;每块存放10个记录。

c)同a)一样,但B树为稀疏索引。

!d)B树的叶结点中不放指向数据记录的指针,而是保存记录本身。每块可存放10个记录,

但平均每个叶结点的充满度为70%,即每个叶结点存入7个记录。

*e)数据文件是顺序文件,且B树是稀疏索引,但数据文件的每个基本块有一个溢出块。平

均来讲,基本块是满的,而溢出块只半满。不过,记录在基本块和溢出块中没有特定的

顺序。

(张恩斌2141287)习题3.2.1

假定存储块能放10个记录或者99个键和100个指针,再假定B树结点的平均充满程度为70%;即有69个键和70个指针。我们可以用B树作为几种不同结构的一部分。对下面描述的每种结构,确定:(1)1000000个记录的文件所需的总块数;(2)检索一个给定键值的记录所需的平均磁盘I/O数。可以假定最初在主存中不存在任何东西,并且查找键是记录的主键。

a)数据文件是按查找键排序的顺序文件,每块存放20个记录。B-树为稠密索引

[a](1)1000000/10=100000块。B树为稠密索引,叶结点中为数据文件的每一个记录设有一个键指针对。

首先有100000数据块,如果在B树底层结点平均每块有70个指针,然后有1000000/70=14286个B树块在最底层,下一层的B树需要14286/70=205个B树块,第三层需要205/70=3块,第四层需要1个根块,所以需要100000+14286+205+3+1=114495块。

(2)匹配记录有1000个,首先1000/10=100数据块,1000/70=15块,15/70=1块,第三层需要1块,第四层需要1块。所以需要100+15+1+1+1=118块。

b)同a)一样,但组成数据文件的记录没有特定顺序;每块存放20个记录。

[b](1) 1000000/10=100000块。首先有100000数据块,如果在B树底层结点平均每块有70个指针,然后有1000000/70=14286个B树块在最底层,下一层的B树需要14286/70=205个B树块,第三层需要205/70=3块,第四层需要1个根块,所以需要100000+14286+205+3+1=114495块。

(2) 匹配记录有1000个,首先1000/10=100数据块,1000/70=15块,15/70=1块,第三层需要1块,第四层需要1块。1000个记录可能分布在1000个块中,所以需要1000+15+1+1+1=1018块。

c)同a)一样,但B树为稀疏索引。

[c](1) 1000000/10=100000块。若B树为稀疏索引,在叶结点中为数据文件的每个块设有一个键指针对。首先有100000数据块,如果在B树底层结点平均每块有70个指针,然后有100000/70=1429个B树块在最底层,下一层的B树需要1429/70=21个B树块,第三层需要21/70=1块,第四层需要1个根块。所以需要100000+1429+21+1+1=101452

(2)匹配记录有1000个,1000/10=100,首先100/70=2块,2/70=1块,第三层需要1块,第四层需要1块。所以需要100+2+1+1+1=105块。

d)数据文件是顺序文件,且B-树是稀疏索引,但数据文件的每个基本块有一个溢出块。平均来讲,基本块是满的,而溢出块只半满。不过,记录在基本块和溢出块中没有特定的顺序。

[d](1) 但数据文件的每个基本块有一个溢出块。平均来讲基本块是满的,而溢出块只是半满。所以基本快的记录为10个,溢出块记录为5个。所以有1000000/15=66667个数据块。

然后有66667/70=953个B树块在最低层,下一层的B树需要953/70=14个B树块,第三层需要14/70=1。因此有66667的数据块和953+14+1=968块个索引块。一共67635块。(2)1000/15=67块,67/70=1块,第二层需要1块,第三层需要1块。因此有67个数据块和3个索引块。总共70块磁盘I/O。

e)B树的叶结点中不放指向数据记录的指针,而是保存记录本身。每块可存放10个记录,但平均每个叶结点的充满度为70%,即每个叶结点存放7个记录。

[e](1) 1000000/7=142858块

如果在B树底层结点平均每块有70个指针,然后有142858/70=2041个B树块在最底层,下一层的B树需要2041/70=30个B树块,第三层需要30/70=1块,所以需要142858+2041+30+1=144930块。

(2)查询匹配的记录有1000个,就需要1000/7=143块,143/70=3块,3/70=1块,第三层需要1块。所以总共需要143+3+1+1=148块。

3.2.5

假设字段如3.2.1,记录有个首部,它由两个四字节的指针和一个字符组成,且我们希望在一个4096个字节的块中装入尽可能多的记录,使用的块首部由10个4字节的整数组成,对习题3.2.1中的三个情况,我们各能将多少记录装入块中

参考3.2.1题答案

a)( 4096 – 40 ) / 35

b)( 4096 – 40 ) / 40

c)( 4096 – 80 ) / 48

3.3.3 假若在图散列表中发生下列插入和删除,请说明将产生什么情况:

1)记录g到记录j分别插入桶0到桶3。

2)记录a和b记录被删除。

3)记录k到n分别插入桶0到桶3。

4)记录c和d被删除。

答案:(题目没给出是否顺序产生这4种情况还是各自独立发生?)设4种情况独立发生

1、g直接插入到桶0中的第二个存储块;

增加一个新存储块在该存储块的第一块上存储h,并链接到桶1的第一块上;

i直接插入到桶2中的第二个存储块;

增加一个新存储块在该存储块的第一块上存储j,并链接到桶1的第一块上;

2、在桶3上删除该a记录并将剩下的记录移动到块前部以使其紧凑;

在桶2上直接删除该b记录

习题3.7.4

利用3.7.2节的方法,编码下列位图

a)01100000010000000100

b)100000001000001001010001

c)0001000000000001000010000

答案:

a)位向量有4个段(1,0,6,7),1的编码是01;0的编码是00;6的编码110110;7的编码

110111。它的编码是0100110110110111

b)位向量有6个段(0,7,5,2,1,3),0的编码是00;7的编码110111;5的编码110101;2

的编码是1010;1的编码是01;3的编码是1011。它的编码是001101111101011010011011 c)位向量有3个段(3,11,4),3的编码是1011;11的编码是11101011;4的编码是110100。

它的编码是101111101011110100

Exercise 4.2.1(a)

The iterator for pi_L(R) can be described informally as follows:

Open():

R.Open()

GetNext():

Let t = R.GetNext(). If Found = False, return. Else, construct and return the tuple consisting

of the elements of list L evaluated for tuple t.

Close():

R.Close()

Exercise 4.2.1 (b)

Here is the iterator for delta(R):

Open():

First perform R.Open(). Then, initialize a main-memory structure S that will represent a set of

tuples of R seen so far. For example, a hash table could be used. Initially, set S is empty.

GetNext():

Repeat R.GetNext() until either Found = False or a tuple t that is not in set S is returned. In the later case, insert t into S and return that tuple.

Close():

R.Close()

Exercise 4.2.1 (d)

For the set union R1 union R2 we need both a set S that will store the tuples of R1 and a flag CurRel

as in Example 6.13. Here is a summary of the iterator:

Open()

Perform R1.Open() and initialize to empty the set S.

GetNext()

If CurRel = R1 then perform t = R1.GetNext(). If Found = True, then insert t into S and return t. If Found = False, then R1 is exhausted. Perform R1.Close(), R2.Open(), set CurRel = R2, and repeatedly perform t = R2.GetNext() until either Found = False (in

which case, just return), or t is not in S. In the latter case, return t.

Close():

Perform R2.Close()

题4.3.1

假设B(R)=B(S)=10000,并且M=1000.计算嵌套连接的磁盘I/O代价。

因为M=1000,我们将用999个内存块来按照大小为999块的chunk对S进行缓冲,我们需要10000/999=10.01次迭代。每一次迭代中,我们用999个磁盘I/O读取S的chunk,并且在外层循环中我们必须用10000个磁盘I/O来完整地读取R,总共需要用10.01*10000=100100个,加上S的10000个,总共需要磁盘I/O代价为10000+100100=110100.

假设B(R)= B(S)=10000 ,并且M=1000,计算嵌套循环连接的磁盘I/O 代价 The formula in Section 6.4.4 gives 10000 + 10000*10000/999 or 110,101.

这个公式在6.4.4 章节所给的结果是10000+10000*10000/999或者110,101 编者注: 6.4.4章节公式:B(S)+1

)

()( M R B S B

Exercise 4.3.1

The formula in Section 6.4.4 gives 10000 + 10000*10000/999 or 110,101.

题4.3.2

对于习题4.3.1中的关系,使用嵌套循环连接算法计算R ?S 时我们需要什么样的M 值,磁盘I/O 才不超过:a )200000;!b )25000;!c )15000. a)B(S)+(B(S)*B(R)/(M-1))<=200000

得M>=528

b) B(S)+(B(S)*B(R)/(M-1))<=25000 得M>=6668

c )B(S)+(B(S)*B(R)/(M-1))<=15000 得M>=20001.

Exercise 4.4.1 (a)

An iterator for delta(R) must do the first sorting pass in its Open() function. Here is a sketch: Open():

Perform R.Open() and repeatedly use R.GetNext() to read memory-sized chunks of R . Sort

each into a sorted sublist and write out the list. Each of these lists may be thought of as having

its own iterator. Open each list and initialize a data structure into which the ``current'' element

of each list may be read into main memory. Use GetNext() for each list to initialize the mainmemory structure with the first element of each list. Finally, execute R.Close(). GetNext():

Find the least tuple t in the main-memory structure, and output one copy of it. Delete all copies

of t in main memory, using GetNext() for the appropriate sublist, until all copies of t have

disappeared, then return. If there was no such tuple t , because all the sublists were exhausted,

set Found = False and return.

Close():

Close all the sorted sublists.

Exercise 4.4.2 (c)

For R1 intersect R2 do the following:

Open():

Open R1 and R2, use their GetNext() functions to read all their tuples in main-memory-sized

chunks, and create sorted sublists, which are stored on disk. Initialize a main-memory data

structure that will hold the ``current'' tuple of each sorted sublist, and use the Open() and

GetNext() functions of an iterator from each sublist to initialize the structure to have the first

tuple from each sublist. Finally, close R1 and R2.

GetNext():

Find the least tuple t among all the first elements of the sorted sublists. If t occurs on a list from

R1 and a list from R2, then output t, remove the copies of t, use GetNext from the two sublists

involved to replentish the main-memory structure, and return. If t appears on only one of the

sublists, do not output t. Ratherm remove it from its list, replentish that list, and repeat these

steps with the new least t. If no t exists, because all the lists are exhausted, set Found = False

and return.

Close():

Close all the sorted sublists.

Exercise 6.5.3(b)

The formula of Fig. 6.16 gives 5*(10000+10000) = 100,000. Note that the memory available, which

is 1000 blocks, is larger than the minimum required, which is sqrt(10000), or 100 blocks. Thus, the

method is feasible

解:

a)消除重复需要内存大小为,所以所需的内存大小为20000=1002个块大小

b)分组需要内存大小为,所以所需的内存大小为=100

c)并需要内存大小为,所以所需的内存大小为20000+20000=200个块大

连接需要内存大小为,因为每个关系都是20000个块,所以所需内存大小为20000=1002个块大小

5.2.5

针对表达式πL(R(a,b,c)? S(b,c,d,e)) ,尽可能下推投影,其中L是:

a)b+c→x c+d→y 。b)a,b,a+d→z。

We cannot push down b+c -&> x, because both b and c are used in the join. Notice that if we replaced b+c by their sum before joining, we would join tuples whose sum b+c agreed, but that had different values of b and c. What we can push down is:

1. The elimination of a from R.

2. The elimination of e from S.

3. The replacement of c+d by y in S. Thus, the answer is:

pi_{b+c->x, y}(pi_{b,c}(R) JOIN pi_{b, c, c+d->y}(S))

因为在联接中b和c都被用到,所以我们不能推出b+c->x。注意:如果我们在连接之前用b+c的和来替换b+c,我们可以连接b和c相加所允许的元祖,但是b和c的值是不同的。我们可以推出的是:

1.从R中消去a

2.从S中消去e

3.在S中y替换c+d

因此,答案是:

a)πb+c->x,y(πb,c(R) JOIN πb,c,c+d->y(S))

b)πa,b,a+d->z(πa,b,c(R) JOIN πb,c,d(S))

(林杨2151377)5.7.1

考虑一个关系R(a,b,c,d),该关系有一个a上的剧簇索引以及每一个其他属性上的非聚簇索引。

相关参数为:B(R)=500,T(R)=5000,V(R,a)=50,V(R,b)=1000,V(R,c)=5000,V(R,d)=500。给出最佳查询计划(索引扫描或者表扫描然后进行一个过滤器操作步骤)以及下列选择运算的每一个的磁盘I/O开销:

(A)δa=1ANDb=2ANDc>=3(R)

(B)δa=1ANDb<=2ANDc>=3(R)

(C)δa=1ANDb=2ANDd=3(R)

以第一道题为例,有以下几种方式:

(1)表扫描后进行过滤,其代价是B(R),即500次的磁盘I/O,因为R是聚集的。

(2)使用a的索引以及索引扫描来找出a=1的元组,然后利用过滤操作来检测b=2以及c>=3,由于有B(R)/V(R,a)=10个元组的a=1,并且索引是聚集的,我们大约需要10次I/O。

(3)使用b的索引以及索引扫描来找出b=2的元组,然后利用过滤操作来检测a=1以及c>=3,由于有T(R)/V(R,b)=5个元组的b=2,并且索引是非聚集的,我们大约需要5次I/O。

(4)使用c的索引以及索引扫描来找出c>=3的元组,然后利用过滤操作来检测a=1以及b=2,由于有T(R)/3=167个元组的c>=3,并且索引是非聚集的,我们大约需要167次I/O。我们可以看到代价最小的计划是第三种,估计代价为5次磁盘I/O。因此,这个选择的最佳物理计划搜索b=2的元组,然后为另外两个条件进行过滤。

5.7.1

考虑一个关系R(a,b,c,d),该关系有一个a的聚簇索引以及对每一个其他属性的非聚簇索引。相关变元为:B(R)=1000,T(R)=5000,V(R,a)=20,V(R,b)=1000,V(R,c)=5000,V(R,d)=500.对于下列各项选择,给出最佳查询计划(索引扫描或者表扫描,然后进行一个过滤步骤)以及磁盘I/O开销a)σa=1 and b=2 and d=3(R) b)σa=1 and b=2 and c>=3(R) c)σa=1 and b<=2 and c>=3(R) Use an index-scan using the nonclustering index on c. Since V(R,c) = 5000, only one block should be retrieved. Filter the retrieved tuples for a=1 and d=3. The expected disk I/O cost is 1.

使用索引扫描,使用非聚簇索引扫描c,当V(R,c)=5000,只有一块被检索到。

用a=1 and b=2 and d=3过滤检索元组。预期的磁盘I/O的成本是1。

编者注:R被聚簇则为B(R) ,R没有被聚簇则为B(R),

以a=常数来扫描的算法代价是:如果索引是聚簇索引则为B(R)/V(R,a);如果索引是非聚簇索引则为T(R)/V(R,a)

以不等项,形如a<常数来扫描的算法代价是:如果索引是聚簇索引则为B(R)/3;如果索引是非聚簇索引则为T(R)/3

编者注:

1) 表-扫描后进行过滤。因为R为聚簇,其代价为B(R)=1000,即1000次磁盘I/O

2) 使用a的索引以及索引扫描找出a=1的元祖,然后利用过滤操作符来检查b=2 and d=3,

因为a聚簇索引,为会有B(R)/V(R,a)=50个元祖,需要50次I/O

3) 使用b的索引以及索引扫描找出b=2的元祖,然后利用过滤操作符来检查a=1 and d=3,

因为b非聚簇索引,为会有T(R)/V(R,b)=5个元祖,需要5次I/O

4) 使用d的索引以及索引扫描找出d=3的元祖,然后利用过滤操作符来检查b=2 and a=1,

因为d非聚簇索引,为会有T(R)/V(R,d)=10个元祖,需要10次I/O

5) 使用c的索引以及索引扫描找出所有元祖,然后利用过滤操作符来检查

a=1 and b=2 and d=3,因为c非聚簇索引,为会有T(R)/V(R,c)=1个元祖,需要1次I/O

6.1.2

对习题6.1.1中的每个事务,在计算中加入读写动作,并给出各步骤对主存和磁盘产生的影响。假设最初A=50且B=25.此外,请说明当OUTPUT动作顺序恰当时,是否可能即使在事务的执行过程中发生了故障,一致性仍能得到保持。

6.1.1事务:

a) B:=A+B;A:=A+B;

b)A:=B+1;B:=A+1;

c)A:=A+B;B:=A+B;

如果OUTPUT动作顺序恰当,即使在事务执行过程中发生故障,一致性仍能得到保持。

6.2.3

下面是两个事务T和U的一系列日志记录:; ; ; ; ; ; ; ; ; 。

请描述恢复管理器的行为,包括对磁盘和日志所做的改变,假设故障发生且出现在磁盘上的最后一条日志记录为:

a) b) c) d)

a)

事务T、U未提交,要被撤销。向后扫描日志,遇到记录,于是将A在磁盘上的值存为10。最后,记录被写到日志中且日志被刷新。

b)

事务T已提交,U未提交,要被撤销。向后扫描日志,遇到记录,于是将C在磁盘上的值存为30。最后,记录被写到日志中且日志被刷新。

c)

事务T已提交,U未提交,要被撤销。向后扫描日志,首先遇到记录,将E在磁盘上的值存为50。接着遇到记录,于是将C在磁盘上的值存为30。最后,记录被写到日志中且日志被刷新。

d)

事务T、U均被提交。什么都不做。

6.2.3

下面是两个事务T和U的一系列日志记录:;;;;; ;;;.描述恢复管理器的行为,包括对磁盘盒日志所做的改变,假设发生故障且出现在磁盘上的最后一条日志记录为(编者注:故障发生在下列语句的后一句,试描述如何恢复):

a) b) c) d)

U is identified as committed, while T is not. Thus, T must be undone. Scanning the log backwards,we set C to 30 and A to 10. Then, we write an T record on the log.

a.不需要undo

b.C=30,A=10 (事务U状态是提交,而T不是。因此,T必须undone。扫描日志,我们设

置C=30和A=10。然后,我们在日志写一个< ABORT >记录。)

c.E=50,C=30,A=10

编者注:undo还没有提交的数据要恢复,数据时老数据

使用redo日志重做上题

Since T is not complete, we can be sure that none of its changes reached disk, and we can ignore log records about T. On the other hand, U was committed, and its log record reached disk, so some of its changes may have reached disk. To be sure, we must redo all of the actions of U. Thus, we first set B to 20 and then set D to 40.

因为T没有完成,我们可以肯定他的任何变化都没有达到磁盘,我们可以忽略关于T的日志记录,另一方面,U提交了,他的日志写道了磁盘上。它的一些变化也到达磁盘的。可以肯定的是,我们必须重做U的所有行动,因此,我们首先B=20,然后到D=40

编者注:redo已经提交的数据要重新做,数据时新数据

6.2.3

下面是两个事务T和U的一系列日志记录:;;;;;;;;。请描述恢复管理器的行为,包括对磁盘和日志所作的改变,假设故障发生且出现在磁盘上的最后一条日志记录为:a) b) c) d)

答案1

若题目是:; ; ….则答案是

a)首先扫描日志,发现事务T和U都未commit,将其连接到未完成事务列.按照

未完成事务列,从后往前逐步扫描日志并执行undo操作,按照将磁盘中A值写为10,将写入日志中并刷新日志。

b)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未

完成,将其连接到未完成事务列。按照未完成事务列,从后往前扫描日志执行undo操作,按照将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。

c)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未

完成,将其连接到未完成事务列。按照未完成事务列从后往前扫描日志执行undo操作,按照将磁盘中E值写为50,将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。

d)首先扫描日志,发现事务T、U已经commit,将其连接到已完成列,未完成列为空,不做任何操作。

6.2.4

对于习题6.2.3描述的每种情况,T和U所写的哪些值必然出现在磁盘上?哪些值可能出现在磁盘上?

6.3.2

使用习题6.2.7的数据,对该习题中(a)到(e)的各个位置回答:

I:何时能写入记录

Ii:对每一个可能发生的故障的时刻,为了找到所有可能未完成的事务,我们需要在日志中

向后看多远。请考虑记录在崩溃发生以前写入和未写入的两种情况。

习题6.2.7数据:日志记录序列:;<;;;;

U>;;;;;;;;

T>;;;假设在如下日志中的某一条写入后立即开始一个非静止检查点:

A)

B)

C)

D)

E)

第一问

1在a)后写入START CKPT时,此时,只有s是活跃的,在后写入记录;

2.在b)后写入START CKPT时,此时,只有T是活跃的,在后写入

记录;

3.在C)后写入START CKPT时,此时,只有U、T都是活跃的,在

后写入录;

4.在d)后写入START CKPT时,此时,只有U、T、V都是活跃的,在后写入

记录;

5.在e)后写入START CKPT时,此时,只有T、V都是活跃的,在

后写入录;

第二问

1、在a)处,如果记录在崩溃前写入的话,此时需要在日志中向后看

到记录;如果记录在崩溃后写入的话,此时需要

在日志中向后看到记录;

2. 在b)处,如果记录在崩溃前写入的话,此时需要在日志

中向后看到记录;如果记录在崩溃后写

入的话,此时需要在日志中向后看到记录;

3. 在C)处,如果记录在崩溃前写入的话,此时需要在日志

中向后看到记录;如果记录在崩溃

后写入的话,此时需要在日志中向后看到记录;

4、在d)处,如果记录在崩溃前写入的话,此时需要在日志

中向后看到记录;如果记录在崩溃

后写入的话,此时需要在日志中向后看到记录;

5、在e)处,如果记录在崩溃前写入的话,此时需要在日志

中向后看到记录;如果记录在崩溃

后写入的话,此时需要在日志中向后看到记录;

6.4.2

下面是两个事务T和U的一系列日志记录:;;;;;;;;。描述恢复管理器的行为,包括对磁盘和日志所作的改变,假设故障发生且出现在磁盘上的最后一条日志记录如下:

a) b) c) d)

答案1:

a)首先扫描日志,发现事务U、T均未commit,将其连接到未完成列。按照未完成列,从后往前逐步扫描日志并执行undo操作,按照将磁盘中A值写为10.

b)首先扫描日志,发现事务T已为commit而U未commit,故将T连接到已完成列而U连接到未完成列。按照未完成列,从后往前扫描日志,按照将磁盘中C写为30,将磁盘中A值写为10。按照已完成列,从前往后扫描日志,按照将磁盘中B写为21,将磁盘中D写为41.

c) 最后一条记录为这时我们为E往磁盘上写入值51,但是崩溃在记录到达前发生,则E在磁盘上的值为50。

d) 最后一条记录为,这时U被认为是已提交的事务。我们为E往磁盘上写入值51,E已经具有值51。

6.4.2

下面是两个事务组T和U的一组记录;;;; ;;;;.描述回复管理器的行为,包括对磁盘和日志所做的改变,假设故障发生,且出现在磁盘上的最后一条日志记录如下:

a) b)

操作系统部分习题参考答案孙钟秀版

操作系统部分习题参考答案 第一章 2. 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始 做,程序B后开始运行。程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待? (2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1) 两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。 (2) 程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见图中 有色部分)。 5. 在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。它们 的执行轨迹如下: Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms) Job2:I1(20ms)、CPU(20ms)、I2(40ms) Job3:CPU(30ms)、I1(20ms) 如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU。试求:(1)每个作业从投入到完成分别所需的时间。(2) 从作业的投入到完成CPU的利用率。(3)I/O设备利用率。 答:画出三个作业并行工作图如下(图中着色部分为作业等待时间): (1) Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。 (2) CPU空闲时间段为:60ms至70ms,80ms至90ms。所以CPU利用率为(90-20)/80=77.78%。 (3) 设备I1空闲时间段为:20ms至40ms,故I1的利用率为(90-20)/90=77.78%。设备I2 空闲时间段为:30ms至50ms,故I2的利用率为(90-20)/90=77.78%。

部分习题参考答案

部分习题参考答案 第5章 电感式传感器 何谓电感式传感器电感式传感器分为哪几类 答: 电感式传感器是一种机-电转换装置,电感式传感器是利用线圈自感和互感的变化实现非电量电测的一种装置,传感器利用电磁感应定律将被测非电量转换为电感或互感的变化。它可以用来测量位移、振动、压力、应变、流量、密度等参数。 电感式传感器种类:自感式、涡流式、差动式、变压式、压磁式、感应同步器。 提高电感式传感器线性度有哪些有效的方法。 答:电感传感器采用差动形式,转换电路采用相敏检波电路可有效改善线性度。 说明单线圈和差动变间隙式电感传感器的结构、工作原理和基本特性。 答:参看教材和授课用PPT 说明产生差动电感式传感器零位残余电压的原因及减小此电压的有效措施。 答:差动变压器式传感器的铁芯处于中间位置时,在零点附近总有一个最小的输出电压0U ,将铁芯处于中间位置时,最小不为零的电压称为零点残余电压。产生零点残余电压的主要原因是由于两个次级线圈绕组电气系数(互感 M 、电感L 、内阻R )不完全相同,几何尺寸也不完全相同,工艺上很难保证完全一致。 为减小零点残余电压的影响,除工业上采取措施外,一般要用电路进行补偿:①串联电阻;②并联电阻、电容,消除基波分量的相位差异,减小谐波分量;③加反馈支路,初、次级间加入反馈,减小谐波分量;④相敏检波电路对零点残余误差有很好的抑制作用。 为什么螺线管式电传感器比变间隙式电传感器有更大的测位移范围 答:螺线管式差动变压器传感器利用互感原理,结构是:塑料骨架中间绕一个初

级线圈,两次级线圈分别在初级线圈两边,铁心在骨架中间可上下移动,根据传感器尺寸大小它可测量1~100mm范围内的机械位移。变间隙式电感传感器是利用自感原理,衔铁的与铁芯之间位移(气隙)与磁阻的关系为非线性关系,可动线性范围很小,因此测量范围受到限制。 电感式传感器测量电路的主要任务是什么 答:主要是将电感值的变化转变为容易测量的电参数,例如电压、电流、电信号的频率等。 概述变间隙式差动变压器的结构、工作原理和输出特性,试比较单线圈和差动螺线管式电传感器的基本特性,说明它们的性能指标有何异同 答:参照教材和授课PPT。 差动变压器式传感器的测量电路有几种类型试述差动整流电路的组成和基本原理。 答:全波电流输出、半波电流输出、全波电压输出、半波电压输出、相敏整流电压输出。 什么叫电涡流效应说明电涡流式传感器的基本结构与工作原理。电涡流式传感器的基本特性有哪些它是基于何种模型得到的 答:(1)块状金属导体置于变化的磁场中或在磁场中作用切割磁力线运动时,导体内部会产生一圈圈闭和的电流,这种电流叫电涡流,这种现象叫做电涡流效应。 (2)形成涡流必须具备两个条件:第一存在交变磁场;第二导电体处于交变磁场中。电涡流式传感器通电后线圈周围产生交变磁场,金属导体置于线圈附近。当金属导体靠近交变磁场中时,导体内部就会产生涡流,这个涡流同样产生交变磁场。由于磁场的反作用使线圈的等效电感和等效阻抗发生变化,使流过线圈的电流大小、相位都发生变化。通过检测与阻抗有关的参数进行非电量检测。 (3)因为金属存在趋肤效应,电涡流只存在于金属导体的表面薄层内,实际上涡流的分布是不均匀的。涡流区内各处的涡流密度不同,存在径向分布和轴向分布。所以电涡流传感器的检测范围与传感器的尺寸(线圈直径)有关。

数据库习题及答案(五套)

《数据库》课程模拟试题(一) 一、填空题(30分) 1.数据的独立性包括和。 2.数据的物理独立性是指当数据的改变时,通过系统内部的自动映象功能或转换功能,保持了数据的不变。 3.数据模型由三部分组成:、、 4.一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和图书之间为 的联系。 5.一个关系模型由若干个组成。 6.在选择运算所得到的结果关系中,所含的元组数不原关系中的元组数。 7.SQL语言具有对数据的等四个方面的功能。 8.设X→Y是关系模式R的一个函数依赖,并且Y是X的子集,则称X→Y是。9.在一个关系模式中,若一个属性或属性组K完全函数决定整个元组,则称K为该关系的一 个。 10.如果一个关系R中的所有非主属性都不传递依赖于任何候选关键字,则称关系R属 于,记作。 11.一个关系模式为Y(X1,X2,X3,X4),假定该关系存在如下函数依赖:X1←→X2,X1→X3,X1→ X4,则该关系属于。 12.假定一个E-R图包含有A实体和B实体,并且从A到B存在着1∶n的联系,则转换成关系模型后,包含有个关系模式。 13.实现系统案例,防止非法破坏数据,所采用的数据保护措施有:用户标识和鉴 定、、、、 14.恢复的实现技术有:和。 15.____ __________是一个逻辑上统一、地域上分布的数据集合。 16.关系中能唯一标识元组,且又不含多余属性称为_______________。 17.在概念结构设计中先,定义全局概念结构的框架,然后逐步细化。这种方法称为_ 18.分布式数据库系统中透明性层次越高,应用程序的编写越。 二、单项选择题(20分) 1、____________是长期存储在计算机内的有组织,可共享的数据集合。 A.数据库管理系统 B.数据库系统C.数据库 D.文件组织 2、数据库系统阶段,数据_______________。 A.具有物理独立性,没有逻辑独立性B.具有物理独立性和逻辑独立性 C.独立性差D.具有高度的物理独立性和一定程度的逻辑独立性 3、一个m:n联系转换为一个关系模式。关系的码为________。 A.某个实体的码B.各实体码的组合C.n端实体的码 D.任意一个实体的码 4、SQL语言中授权的操作是通过________________语句实现的。

操作系统习题(带部分答案)

第一章: 1 操作系统是对(C)进行管理的软件。A软件 B 硬件 C 计算机资源D 应用程序 2 操作系统的基本类型包括:批处理操作系统,分时操作系统,实时操作系统 3 分时操作系统的特点是:交互性,多用户同时性,独立性 4 实时操作系统的特点是:提供即时响应,高可靠性 5 操作系统的功能。 答:操作系统的功能○1处理机管理○2存储管理○3设备管理○4信息管理(文件系统管理)○5用户接口。 6操作系统的概念。 答:操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——他们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个具有足够的功能、使用方便、可扩展、安全和可管理的工作环境,从而在计算机与用户之间起到接口的作用。 7 分时操作系统的概念。 答:一台主机连有多个终端,多用户通过个字的终端共享主机资源,每个用户都感觉自己在独占整个计算机系统。 第二章: 1、作业的概念。 答:作业的定义:○1在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。○2从系统的角度看,作业则是一个比程序更广的概念,它由程序、数据和作业说明书组成。 2、作业的组织。 答:程序、数据和作业说明书组成。 3、系统感知作业存在的唯一标识是(JCB)。 第三章: 1、进程由三部分组成,它们是(PCB)(有关程序段)(数据集)。 2、操作系统通过(D)管理计算机内的进程。A 程序B 作业 C 作业控制块 D PCB 3、PCB 与(B)是一一对应的关系。A程序B进程 C 文件D页表 4、一个进程基本状态可以从其他两种基本状态转变过来,这个基本状态一定是(B) A执行态B 就绪态C阻塞态D撤销态 5、在分时系统中,当一个用户进程完成一个时间片后,系统需要将该进程的状态由“运行态”改为(就绪态)。 6、信号量的初值为3,当前值为-1,表示该信号量上有(1)个等待进程。 7、对进程的管理和控制使用(B)。A 指令 B 原语 C 信号量D 信箱通信 8、下述的进程状态转换,(B)是不可能的。 A 运行->就绪 B 等待-> 运行 C 等待-> 就绪 D 运行->等待 9、在分时系统中,当一个用户进程完成一个时间片后,系统需要将该进程的状态由“运行态”转为(A)。A 内存就绪态B 外存就绪态 C 内存等待态D 外存等待态 10、画出进程状态转换图,并注明转换条件。 11、某单处理器计算机系统中若同时存在5个进程,则处于执行态的进程最多有(B)个。 A 0 B 1 C 2 D 3 12、简述进程和程序的区别。 答:进程与程序的区别○1程序是静态,进程是动态。○2程序无并发性,进程可以并发执行。

第二章 部分习题参考标准答案

第二章部分习题参考答案

————————————————————————————————作者:————————————————————————————————日期: 2

2 何时选用顺序表,何时选用链表作为线性表的存储结构合适? 各自的主要优缺点是什么? 在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑: 1.基于空间的考虑。当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。 2.基于时间的考虑。若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等的操作时,宜采用链表做存储结构。并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。 顺序表的主要优点: 没使用指针,不用花费附加开销 ;线性表元素的读写访问非常简洁便利 链表的主要优点:无需事先了解线性表的长度;能够适应经常插入删除内部元素的情况; 允许线性表的长度有很大变化 3 在顺序表中插入和删除一个结点平均需要移动多少个结点? 具体的移动次数取决于哪两个因素? 在等概率情况下,顺序表中插入一个结点需平均移动n/2个结点。删除一个结点需平均移动(n-1)/2个结点。具体的移动次数取决于顺序表的长度n以及需插入或删除的位置i。i 越接近n则所需移动的结点数越少。 4 链表所表示的元素是否有序? 如有序,则有序性体现于何处? 链表所表示的元素是否一定要在物理上是相邻的? 顺序表的有序性又如何理解? 有序。有序性体现在通过指针数据元素有序的相连。物理上不一定要相邻。顺序表的有序不仅体现在逻辑结构上有序,而且在物理结构(储存结构)也有序。 5 设顺序表L是递增有序表,试写一算法,将x插入到L中并使L仍是递增有序表。 因已知顺序表L是递增有序表,所以只要从顺序表终端结点(设为i位置元素)开始向前寻找到第一个小于或等于x的元素位置i后插入该位置即可。

(完整版)数据库课后习题及答案

第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的

数据库系统原理教程课后习题答案

第1章绪论 1 .试述数据、数据库、数据库系统、数据库管理系统得概念。 答: ( l )数据( Data):描述事物得符号记录称为数据。数据得种类有数字、文字、图形、图像、声音、正文等。数据与其语义就是不可分得。解析在现代计算机系统中数据得概念就是广义得。早期得计算机系统主要用于科学计算,处理得数据就是整数、实数、浮点数等传统数学中得数据。现代计算机能存储与处理得对象十分广泛,表示这些对象得数据也越来越复杂。数据与其语义就是不可分得。500 这个数字可以表示一件物品得价格就是500元,也可以表示一个学术会议参加得人数有500 人,还可以表示一袋奶粉重500 克。(2)数据库( DataBase,简称DB) :数据库就是长期储存在计算机内得、有组织得、可共享得数据集合。数据库中得数据按一定得数据模型组织、描述与储存,具有较小得冗余度、较高得数据独立性与易扩展性,并可为各种用户共享。 ( 3 )数据库系统(DataBas。Sytem ,简称DBS):数据库系统就是指在计算机系统中引入数据库后得系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统与数据库就是两个概念。数据库系统就是一个人一机系统,数据库就是数据库系统得一个组成部分。但就是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章得上下文中区分“数据库系统”与“数据库”,不要引起混淆。 ( 4 )数据库管理系统( DataBase Management sytem,简称DBMs ):数据库管理系统就是位于用户与操作系统之间得一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。DBMS 得主要功能包括数据定义功能、数据操纵功能、数据库得运行管理功能、数据库得建立与维护功能。解析DBMS 就是一个大型得复杂得软件系统,就是计算机中得基础软件。目前,专门研制DBMS 得厂商及其研制得DBM S产品很多。著名得有美国IBM 公司得DBZ 关系数据库管理系统与IMS层次数据库管理系统、美国Oracle 公司得orade 关系数据库管理系统、s油ase 公司得s 油ase关系数据库管理系统、美国微软公司得SQL Serve ,关系数据库管理系统等。 2 .使用数据库系统有什么好处? 答: 使用数据库系统得好处就是由数据库管理系统得特点或优点决定得。使用数据库系统得好处很多,例如,可以大大提高应用开发得效率,方便用户得使用,减轻数据库系统管理人员维护得负担,等等。使用数据库系统可以大大提高应用开发得效率。因为在数据库系统中应用程序不必考虑数据得定义、存储与数据存取得具体路径,这些工作都由DBMS来完成。用一个通俗得比喻,使用了DBMS 就如有了一个好参谋、好助手,许多具体得技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑得设计,而不必为数据管理得许许多多复杂得细节操心。还有,当应用逻辑改变,数据得逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间得独立性,数据逻辑结构得改变就是DBA 得责任,开发人员不必修改应用程序,或者只需要修改很少得应用程序,从而既简化了应用程序得编制,又大大减少了应用程序得维护与修改。使用数据库系统可以减轻数据库系统管理人员维护系统得负担。因为DBMS 在数据库建立、运用与维护时对数据库进行统一得管理与控制,包括数据得完整性、安全性、多用户并发控制、故障恢复等,都由DBMS执行。总之,使用数据库系统得优点就是很多得,既便于数据得集中管理,控制数据冗余,提高数据得利用率与一致性,又有利于应用程序得开发与维护。读者可以在自己今后得工作中结合具体应用,认真加以体会与总结。 3.试述文件系统与数据库系统得区别与联系。 答: 文件系统与数据库系统得区别就是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高得物理独立性与一定得逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据得安全性、完整性、并发控

操作系统课后答案

第一章绪论 1.什么是操作系统的基本功能? 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括: 处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。 2.什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。 分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。 实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。 3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别? 答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。 4.讨论操作系统可以从哪些角度出发,如何把它们统一起来? 答:讨论操作系统可以从以下角度出发: (1)操作系统是计算机资源的管理者; (2)操作系统为用户提供使用计算机的界面; (3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。 上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统)站在不同的角度来看待。 每一种观点都有助于理解、分析和设计操作系统。 第二章作业管理和用户接口 1. 什么是作业?作业步? 答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。 2. 作业由哪几部分组成?各有什么功能? 答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。 3.作业的输入方式有哪几种?各有何特点 答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING (Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点: (1)联机输入方式:用户和系统通过交互式会话来输入作业。 (2)脱机输入方式:又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。 (3)直接耦合方式:把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过程。 (4)SPOOLING系统:可译为外围设备同时联机操作。在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。

物理实验部分习题参考答案(修改稿)

物理实验部分习题参考答案: 一、题目: ⒈按照误差理论和有效数字运算规则改正错误: ⑴ cm 02.0345.10)(±=d ⑵ s 5.40.85)(±=t ⑶ 2911N/m )1079.51094.1(?±?=Y ⑷ m 2mm 2000= ⑸ 5625.125.12= ⑹ 233101)00.6(6 1 61?===ππd V ⑺ 6000006 .116.121500400=-? 3. 按有效数字运算规则计算下列各式: ⑴ =++6386.08.7537.343 ⑵ =--54.76180.845.88 ⑶ =?+-?25100.10.51092.6 ⑷ =÷?0.17155.32.91 ⑸ =÷-+001.2)47.0052.042.8( ⑹ =??0.3001.32π ⑺ =÷-22.100)230.10025.100( ⑻ =+--?) 001.000.1)(0.3103()3.163.18(00.50 5.计算下列数据的算术平均值、标准偏差及平均值的标准偏差,正确表达测量结果(包括计算相对误差)。 ⑴ cm /i l :3.4298,3.4256,3.4278, 3.4190,3.4262,3.4234,3.4263,3.4242,3.4272, 3.4216; ⑵ s /i t :1.35,1.26,1.38,1.33,1.30,1.29,1.33,1.32,1.32,1.34,1.29,1.36; ⑶ g /i m :21.38,21.37,21.37,21.38,21.39,21.35,21.36。 6.用算术合成法求出下列函数的误差表达式(等式右端未经说明者均为直接测得量,绝对误差或相对误差任写一种)。 ⑴ z y x N 2-+=; ⑵ )(2 22B A k Q += ,k 为常量; ⑶ F D c B A N 21)(12--=; ⑷ b a ab f -=, (b a ≠); ⑸ A B A f 422-=; ⑹ 2 1212??? ??=r r I I ;

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析 (borrow 表) (reader表)1) 找出姓李的读者姓名(NAME)和所在单位(COMPANY)。2) 列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。3) 查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排 序。4) 查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。5) 查找书名以”计算机”开头的所有图书和作者(WRITER)。6) 检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。9)* 无重复地查询xx年10月以后借书的读者借书证号(READER_ID)、姓名和单位。##10)* 找出借阅了一书的借书证号。11) 找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。12) 查询xx年7月以后没有借书的读者借书证号、姓名及单位。#13) 求”科学出版社”图书的最高单价、最低单价、平均单价。##14)* 求”信息系”当前借阅图书的读者人次数。#15) 求出各个出版社图

书的最高价格、最低价格和总册数。#16) 分别找出各单位当前借阅图书的读者人数及所在单位。17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。18) 分别找出借书人次数多于1人次的单位及人次数。19) 找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。20) 查询经济系是否还清所有图书。如果已经还清,显示该系所有读者的姓名、所在单位和职称。附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK ( BOOK_ID int, SORT VARCHAR(10), BOOK_NAME VARCHAR(50), WRITER VARCHAR(10), OUTPUT VARCHAR(50), PRICE int); 创建READER:(读者表)CREATE TABLE READER (READER_ID int,COMPANY VARCHAR(10),NAME VARCHAR(10),SEX VARCHAR(2),GRADE VARCHAR(10),ADDR VARCHAR(50)); 创建BORROW:(借阅表)CREATE TABLE BORROW ( READER_ID int, BOOK_ID int, BORROW_DATE datetime)插入数据:BOOK表:insert into BOOK values(445501,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445502,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445503,'TP3/12','数据库导论','王强','科学出版社',

数据库系统实现课后习题答案

6.1.2 如果OUTPUT动作顺序恰当,即使在事务执行过程中发生故障,一致性仍能得到保持。

6.2.3 答案1 若题目是:; ; ….则答案是 a)首先扫描日志,发现事务T和U都未commit,将其连接到未完成事务列.按照未完成事务列,从后往前逐步扫描日志并执行undo操作,按照将磁盘中A值写为10,将写入日志中并刷新日志。 b)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未完成,将其连接到未完成事务列。按照未完成事务列,从后往前扫描日志执行undo操作,按照将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。 c)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未完成,将其连接到未完成事务列。按照未完成事务列从后往前扫描日志执行undo操作,按照将磁盘中E值写为50,将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。 d)首先扫描日志,发现事务T、U已经commit,将其连接到已完成列,未完成列为空,不做任何操作。答案2 a) 事务T、U未提交,要被撤销。向后扫描日志,遇到记录,于是将A在磁盘上的值存为10。最后,记录被写到日志中且日志被刷新。 b) 事务T已提交,U未提交,要被撤销。向后扫描日志,首先遇到记录,于是将C在磁盘上的值存为30。接着遇到记录,并将A在磁盘上的值置为10。最后,记录被写到日志中且日志被刷新。 c) 事务T已提交,U未提交,要被撤销。向后扫描日志,首先遇到记录,将E在磁盘上的值存为50。接着遇到记录,于是将C在磁盘上的值存为30。再遇到记录,并将A在磁盘上的值置为10。最后,记录被写到日志中且日志被刷新。 d) 事务T、U均被提交。什么都不做。 6.2.4

操作系统第九版部分课后作业习题答案分析解析

CHAPTER 9 Virtual Memory Practice Exercises 9.1 Under what circumstances do page faults occur? Describe the actions taken by the operating system when a page fault occurs. Answer: A page fault occurs when an access to a page that has not been brought into main memory takes place. The operating system veri?es the memory access, aborting the program if it is invalid. If it is valid, a free frame is located and I/O is requested to read the needed page into the free frame. Upon completion of I/O, the process table and page table are updated and the instruction is restarted. 9.2 Assume that you have a page-reference string for a process with m frames (initially all empty). The page-reference string has length p; n distinct page numbers occur in it. Answer these questions for any page-replacement algorithms: a. What is a lower bound on the number of page faults? b. What is an upper bound on the number of page faults? Answer: a. n b. p 9.3 Consider the page table shown in Figure 9.30 for a system with 12-bit virtual and physical addresses and with 256-byte pages. The list of free

期中考试与部分习题参考答案

南昌大学2014~2015学年第一学期期中考试试卷 (参考答案) 课程编号:Z5801X304 课程名称:精细有机合成单元反应 适用班级:化工112 姓名:学号: 一、填空题(每空2’,共30’) 1、硝化结束时废酸中硫酸和水的计算质量比,强) 2、σ配合物,两步,动力学同位素效应,σ配合物中间产物的分离及其相对稳定性)(基础——亲电取代1) 3、(酸油比,混酸与被硝化物的质量比) 4、(可逆,磺化产物或磺酸,水解反应,高) 5、甲醇丙酮、二甲基亚砜乙腈、N,N-二甲基甲酰胺正已烷、四氯化碳、甲苯) 二、简答题(5’×4=20’) 1、磺化产物的分离中,稀释酸析法、中和盐析法利用到的原理分别是什么?并请分别举例说明。 答:稀释酸析法主要是利用某些芳磺酸在50-80%硫酸中溶解度很小,而在高于或低于这个浓度范围时,溶解度会剧增的特性,通过过用水稀释磺化液到适宜的硫酸浓度,而使产品析出的方法。例如,P124,CLT酸制备过程中2-硝基-4-甲基-5-氯苯磺酸的分离利用的就是此方法。 中和盐析法主要利用是磺酸盐在硫酸钠或其它无机盐水溶液中的溶解度比在水中的溶解度小的多的特性进行分离操作的,这种分离方法对设备的腐蚀性小。例如,萘-2-磺酸的中和盐析{P110(2)}。 2、在硝基苯硝化制备间二硝基苯时会同时产生邻位和对位异构体,请问可以用化学法中哪种具体方法进行提纯?并说明其原理。 答:方法:通过用亚硫酸钠水溶液处理或在相转移催化剂存在下用氢氧化钠水溶液处理的化学分离法,使邻位体和对位体转变成水溶性的硝基苯磺酸而除去。 原理:-NO2具有吸电子的共轭效应,且对邻、对位影响较大,使与硝基相连的碳原子电子云密度较低,容易发生亲核置换反应,而对间位影响较小。

《数据库及应用》(自考)课后习题参考答案(部分)

《数据库及应用》课后习题参考答案(部分) 第一章 数据库基础知识 1、实体标识符 2、记录(元组),属性(字段) 3、表、字段 4、数据的正确性和一致性 5、可作为键的属性 6、对关系逐步分解的过程 7、书号 8、3NF 、2NF 9、 R S R S 2=2(R ×S) 第二章 Access2000综述 1、一、.mdb 2、表、查询、报表、窗体、数据访问页 3、外面 4、打开数据库 5、查询 1=1

第三章数据库的创建与管理 1、详细信息、小图标 2、关闭Access 3、删除、删除 4、数据库 5、工具、数据库使用工具 第四章表与关系 1、设计 2、导入 3、链接 4、链接 5、like”W?????” “专科”or “本科” or “研究生” >=1000 and <=2000 >=#1960-01-01# and <=#2000-01-01# “男” or “女” >=1011 and <=1999 >=10 6、空值、空格 7、空、空格 8、自动编号 9、一个、多个 10、空值、升序11、提高查询效率12、参照完整性 第五章查询 1、1)select 姓名from student where 年龄>=19 and 年龄<=20 and 性别=“男” 2)select 课程名,学时数from course where 课程名=“英语” 3)select 姓名,课程名,成绩from student,course,grade where student.学号=grade.学号and course.课程号=grade.课程号 4)select 姓名,性别,年龄+1 from student 5) select * from student order by 年龄 6)select 姓名,课程名,成绩from student,course,grade where student.学号=grade.

数据库的设计与实现

《数据库原理》课程设计论文 院(系、部)名称: 专业名称: 学生姓名: 学生学号: 指导教师:

系统简介 开发目的和任务 客户信息是个人,机关,企事业等进行业务联系所必需而频繁使用的信息资料,在许多大型应用系统中都有客户信息管理工具,它是企业单位现代化管理的一个重要的组成部分。本系统的任务是制作一个简单,实用的通讯薄,既可以单独使用,也可以作为其他大型应用系统的一个组成部分来使用。 1.系统功能 (1) 总体功能要求 本系统将介绍如何让在Visual FoxPro 6.0开发环境下快速开发数据库和数据表的方法,并在此基础上建立一个表单,通过表单的运行,可以初步体会到什么是程序,什么是数据库应用程序,数据库应用程序是如何进行编辑,修改,增加,删除,查询和退出的. (2) 客户信息管理系统的基本功能 1)登录:本功能主要是为了防止非操作人员对系统随意更改. 2)主界面:为用户提供了一个友好的界面,是维护,查询模块间相互切换的桥梁. 3)维护:本功能模块主要实现数据的浏览,添加,删除,退出等功能. 4)查询:本功能模块主要实现按姓名,职务,出生日期等查询功能. 2. 系统的特点 (1) 数据库设计的考虑 本系统的信息两不太大,因此只涉及一个库,一个表.库名为通讯

录.DBC表名为通讯录.DBF. (2) 提高系统集成化的考虑 为了是系统短小精悍,并最大限度的提高系统设计的效率,在设计中较多的应用了Visual FoxPro 提供的“选项卡”控件和容器控件.除此之外,还采用了页框控件,其目的是在一个窗口上尽可能多的扩展应用空间,容纳最多的信息量. (3)提高可操作性的考虑 由于使用本系统的人员不一定熟悉计算机基本操作,因此要求系统的操作应尽量简单,本系统在设计时已考虑到这一点,尽可能少的使用键盘的地方,要保证用起来“顺手”. 3. 开发工具与运行环境 (1) 开发工具. VFP6.0 为集成开发环境提供了项目管理器,设计器,生成器和向导机制等,使其成为强有力的数据库开发工具. 1)项目管理器. 2)设计器. 3)生成器. 4)向导. (2)运行环境 硬件环境: PⅡ350MHz以上处理器,16MB以上内存,一般需240MB 硬盘空间. 软件环境:Windows 95及以上的操作系统支持.

《Linux操作系统》部分习题答案

第一章Linux系统简介 一、思考题 1.UNIX的大部分代码是用一种流行的程序设计语言编写的,该语言是什么? C语言 2.UNIX系统的特点有哪些? ·多任务 ·多用户 ·并行处理能力 ·设备无关性 ·工具 ·错误处理 ·强大的网络功能 ·开放性 3.什么是Linux?其创始人是谁? Linux是一个功能强大的操作系统,同时它也是一个自由软件,是免费的、源代码开放的、可以自由使用的UNIX兼容产品。其创始人是Linus 4.Linux操作系统的诞生、发展和成长过程始终依赖者的重要支柱都有哪些? ·UNIX操作系统 ·MINIX操作系统 ·GNU计划 ·POSIX标准 ·Internet 5.简述Linux系统的特点。 ·自由软件 ·良好的兼容性 ·多用户、多任务 ·良好的界面 ·丰富的网络功能 ·可靠地安全性、稳定性 ·支持多种平台 6.常见的Linux的发行版本有哪些? ·Red Hat Linux ·Caldera OpenLinux ·SuSE Linux ·TurboLinux ·红旗Linux ·中软Linux 二、选择题 1.Linux最初是以MINIX 操作系统为模板而开发出来的。 2.关于Linux内核版本的说法,下列选项中错误的是(C)。 A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版 C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正 (补充:次版本号为偶数的是稳定版本;为奇数的则是测试版本。)

3.Linux属于自由软件。 4.自由软件的含义是软件可以自由修改和发布。 5.一下不具有多任务性的操作系统是DOS 第二章Linux系统入门 一、思考题 1.Linux系统有哪些运行级别?其含义是什么? 可用级别为0~6,其中0:关闭系统;6:重新启动,其他略。 2.Linux系统下经常使用的两种桌面环境是什么? GNOME和KDE 3.什么是X-Window系统?它有什么特点? 图形界面(X-Window)是在Linux操作系统中提供的图形化用户界面(GUI),其支持的视窗系统也称为X,它的特点有:它采用了“客户端-服务器”模式;它是一个跨平台的操作环境。 7.默认情况下,超级用户和普通用户的登录提示符分别是什么? # 和$ 二、选择题 1.系统引导的过程一般包括如下的几步:①MBR中的引导装载程序启动。②用户登录。③Linux内核运行。④BIOS自检。正确的顺序是④①③②。 2.Linux中使用Ctrl+Alt+BackSpace 组合键可以关闭X-Window图形用户界面。 3.字符界面下使用init命令关机所用的参数是0 。(参数6是重新启动) 4.字符界面下使用shutdown命令重启计算机时所用的参数是–r 。 5.使用man命令调阅相关的帮助信息时,用于逐页地下翻的功能键是Space 。 第三章shell与shell命令 一、思考题 1.shell的基本功能有哪些? 命令解释执行、文件名替换、输入/输出重定向、连同管道建立、系统环境设置和shell编程。 2.Linux系统中的主要目录有哪些? /:系统的根目录 /dev:系统的设备目录 /home:用户主目录 /root:root用户主目录 /boot:Linux的启动目录 /usr:用户级目录 3.工作目录及其父目录课分别用什么表示? . 和.. 5.常用的shell环境变量有哪些? ·HOME:用户家目录的完全路径名 ·LOGNAME:登录用户名 ·IFS:命令行内部域分割符 ·PATH:由冒号分隔的目录路径名

生产管理部分习题参考答案

生产管理部分习题参考答案 第3章设施规划与生产过程组织 P77 3. 某制造公司决定在北方建一新厂,经初步筛选确定三个备选厂址A、B和C,并请专家对6个影响因素进行评分,结果如表3-16所示,综合考虑各个因素,确定哪个厂址更佳。 表3-16 三个候选方案因素评分表 解:这是场址选择中的加权因素法的应用题,各因素的得分为权重*方案得分。具体计算见下表: 因此,综合评价结果是厂址C更佳。

5.某公司计划修建一个工厂,为三个制造厂生产零配件,表3-18列出了三个制造厂的位置及配件需求量,请用重心法为新厂选择最佳位置。 表3-18 三个制造厂的位置及配件需求量信息表 解:这是场址选择方法评价中的重心法应用问题。 假设新厂最佳位置坐标为(x 0, y 0),按重心法计算: =++++= = ∑∑==2500 500035002500 *3255000*4003500*3501 10n i i n i i i V V X X 367 =++++= = ∑∑==2500 500035002500 *1005000*1503500*4001 10n i i n i i i V V Y Y 218 6.某单位有六个部门,根据表3-19列出的活动关系,进行布置。 表3-19 六个部门的活动关系表 解: 按照AEIOU 按6,5,4,3,2计算综合相互关系得分,构造作业单位相互位置关系表:

布置图:1) 优先满足A 级关系的作业单位对1-2-3及4-5,即1-2-3必需邻接,4-5必需邻接: 2) 满足E 级关系作业单位对:1-4,1-5,2-6,3-4,如图: 3) 尽可能满足 、E 级关系。 (注意:可能有比较多的方案,不管是哪一种,A-E 关系的作业单位对必需尽可能满足,在布置时以邻接关系出现) 7.某车间加工六种零件,加工工序如表3-20所示。试利用从至表法布置这7个工作地,并使总运输距离为最小。 表3-20 六个部门的活动关系表 解: 1)、先按初始顺序对表3-20转换成从至表: 车床 铣床 钻床 镗床 磨床 压床 检验 搬运量 车床 C A,E F 1+2*2+1*6=11 铣床 B C,D E A 1+2*2+3+5=13 钻床 E B A,F C 1+2*2+4=9 镗床 D B,C E 1+2*2+3=8 磨床 A E B,D,F 3*2=6 压床 B C 1 检验 C,F ∑=48 搬运量(逆) 1+3=4 8 1 1 ∑=14 总搬运量: 62 2) 从至表技术应用于布置设计的关键在于将搬运次数多的作业单位对尽可能邻接,即靠近对角线位置,常用的技术是对作业单位对进行“两两互换”。例如将初始布置得压床和检验位置互换,得到的结果为:

相关主题
文本预览
相关文档 最新文档