<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4449259599531918713</id><updated>2011-11-27T16:37:38.742-08:00</updated><category term='UML'/><category term='Flowchart'/><category term='Computer Science'/><title type='text'>Computer Science Notes</title><subtitle type='html'>Basics of computer science such as Operating system, Theory of Computation, Algorithms, Programming, Discete mathematics, Software Development life cycle</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-6160352695267510192</id><published>2009-02-24T23:23:00.000-08:00</published><updated>2009-02-24T23:24:01.882-08:00</updated><title type='text'>CPU Instruction</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://homepage.smc.edu/morgan_david/instr.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 1117px; height: 673px;" src="http://homepage.smc.edu/morgan_david/instr.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-6160352695267510192?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/6160352695267510192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=6160352695267510192' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/6160352695267510192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/6160352695267510192'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2009/02/cpu-instruction.html' title='CPU Instruction'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-5401781192959161695</id><published>2009-02-24T23:22:00.001-08:00</published><updated>2009-02-24T23:22:52.171-08:00</updated><title type='text'>Ascii Chart</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://homepage.smc.edu/morgan_david/ascii.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 765px; height: 574px;" src="http://homepage.smc.edu/morgan_david/ascii.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-5401781192959161695?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/5401781192959161695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=5401781192959161695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/5401781192959161695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/5401781192959161695'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2009/02/ascii-chart.html' title='Ascii Chart'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-6509568124324060774</id><published>2009-02-24T23:20:00.002-08:00</published><updated>2009-02-24T23:22:02.367-08:00</updated><title type='text'>CPU Registers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://homepage.smc.edu/morgan_david/regs.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 650px;" src="http://homepage.smc.edu/morgan_david/regs.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-6509568124324060774?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/6509568124324060774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=6509568124324060774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/6509568124324060774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/6509568124324060774'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2009/02/cpu-registers.html' title='CPU Registers'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-1410035169986879117</id><published>2009-02-24T23:20:00.001-08:00</published><updated>2009-02-24T23:20:40.377-08:00</updated><title type='text'>NUMBER SYSTEMS</title><content type='html'>The Decimal System&lt;br /&gt;In everyday life we use a system based on decimal digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) to represent&lt;br /&gt;numbers and refer to the system as the decimal system. Consider what the number 83 means. It&lt;br /&gt;means eight tens plus three:&lt;br /&gt;83 = (8 ´ 10) + 3&lt;br /&gt;The number 4728 means four thousands, seven hundreds, two tens, plus eight:&lt;br /&gt;4728 = (4 ´ 1000) + (7 ´ 100) + (2 ´ 10) + 8&lt;br /&gt;The decimal system is said to have a base, or radix, of 10. This means that each digit in the&lt;br /&gt;number is multiplied by 10 raised to a power corresponding to that digit’s position:&lt;br /&gt;83 = (8 ´ 101) + (3 ´ 100)&lt;br /&gt;4728 = (4 ´ 103) + (7 ´ 102) + (2 ´ 101) + (8 ´ 100)&lt;br /&gt;The same principle holds for decimal fractions but negative powers of 10 are used. Thus,&lt;br /&gt;the decimal fraction 0.256 stands for 2 tenths plus 5 hundredths plus 6 thousandths:&lt;br /&gt;0.256 = (2 ´ 10–1) + (5 ´ 10–2) + (6 ´ 10–3)&lt;br /&gt;A number with both an integer and fractional part has digits raised to both positive and&lt;br /&gt;negative powers of 10:&lt;br /&gt;472. 256 = (4 ´ 102) + (7 ´ 101) + (2 ´ 100) + (2 ´ 10–1) + (5 ´ 10–2) + (6 ´ 10–3)&lt;br /&gt;In general, for the decimal representation of X = { . . . d2d1d0.d–1d–2d–3 . . .}, the value of X is&lt;br /&gt;X = di ´10i&lt;br /&gt;i å&lt;br /&gt;-3-&lt;br /&gt;The Binary System&lt;br /&gt;In the decimal system, 10 different digits are used to represent numbers with a base of 10. In the&lt;br /&gt;binary system, we have only two digits, 1 and 0. Thus, numbers in the binary system are&lt;br /&gt;represented to the base 2.&lt;br /&gt;To avoid confusion, we will sometimes put a subscript on a number to indicate its base. For&lt;br /&gt;example, 8310 and 472810 are numbers represented in decimal notation, or more briefly, decimal&lt;br /&gt;numbers. The digits 1 and 0 in binary notation have the same meaning as in decimal notation:&lt;br /&gt;02 = 010&lt;br /&gt;12 = 110&lt;br /&gt;To represent larger numbers, as with decimal notation, each digit in a binary number has a value&lt;br /&gt;depending on its position:&lt;br /&gt;102 = (1 ´ 21) + (0 ´ 20) = 210&lt;br /&gt;112 = (1 ´ 21) + (1 ´ 20) = 310&lt;br /&gt;1002 = (1 ´ 22) + (0 ´ 21) + (0 ´ 20) = 410&lt;br /&gt;and so on. Again, fractional values are represented with negative powers of the radix:&lt;br /&gt;1001.101 = 23 + 20 + 2–1 + 2–3 = 9.62510&lt;br /&gt;In general, for the binary representation of Y = { . . . b2b1b0.b–1b–2b–3 . . .}, the value of Y is&lt;br /&gt;Y = bi ´ 2i&lt;br /&gt;i å&lt;br /&gt;Converting between Binary and Decimal&lt;br /&gt;It is a simple matter to convert a number from binary notation to decimal notation. In fact, we&lt;br /&gt;showed several examples in the previous subsection. All that is required is to multiply each&lt;br /&gt;binary digit by the appropriate power of 2 and add the results.&lt;br /&gt;To convert from decimal to binary, the integer and fractional parts are handled separately.&lt;br /&gt;-4-&lt;br /&gt;Integers&lt;br /&gt;For the integer part, recall that in binary notation, an integer represented by&lt;br /&gt;bm–1bm–2…b2b1b0 bi = 0 or 1&lt;br /&gt;has the value&lt;br /&gt;(bm–1 ´ 2m–1) +(bm–2 ´ 2m–2) + … + (b1 ´ 21) + b0&lt;br /&gt;Suppose it is required to convert a decimal integer N into binary form. If we divide N by 2,&lt;br /&gt;in the decimal system, and obtain a quotient N1 and a remainder R0, we may write&lt;br /&gt;N = 2 ´ N1 + R0 R0 = 0 or 1&lt;br /&gt;Next, we divide the quotient N1 by 2. Assume that the new quotient is N2 and the new remainder&lt;br /&gt;R1. Then&lt;br /&gt;N1 = 2 ´ N2 + R1 R1 = 0 or 1&lt;br /&gt;so that&lt;br /&gt;N = 2(2N2 + R1) + R0 = (N2 ´ 22) + (R1 ´ 21) + R0&lt;br /&gt;If next&lt;br /&gt;N2 = 2N3 + R2&lt;br /&gt;we have&lt;br /&gt;N = (N3 ´ 23) + (R2 ´ 22) + (R1 ´ 21) + R0&lt;br /&gt;Because N &gt; N1 &gt; N2 . . ., continuing this sequence will eventually produce a quotient Nm–1 = 1&lt;br /&gt;(except for the decimal integers 0 and 1, whose binary equivalents are 0 and 1, respectively) and&lt;br /&gt;a remainder Rm–2, which is 0 or 1. Then&lt;br /&gt;N = (1 ´ 2m–1) + (Rm–2 ´ 2m–2) + . . . + (R2 ´ 22) + (R1 ´ 21) + R0&lt;br /&gt;-5-&lt;br /&gt;which is the binary form of N. Hence, we convert from base 10 to base 2 by repeated divisions&lt;br /&gt;by 2. The remainders and the final quotient, 1, give us, in order of increasing significance, the&lt;br /&gt;binary digits of N. Figure 1 shows two examples.&lt;br /&gt;Fractions&lt;br /&gt;For the fractional part, recall that in binary notation, a number with a value between 0 and 1&lt;br /&gt;is represented by&lt;br /&gt;0.b–1b–2b–3… bi = 0 or 1&lt;br /&gt;has the value&lt;br /&gt;(b–1 ´ 2–1) + (b–2 ´ 2–2) + (b–3 ´ 2–3) …&lt;br /&gt;This can be rewritten as&lt;br /&gt;2–1 ´ (b–1 + 2–1 ´ (b–2 + 2–1 ´ (b–3 + …&lt;br /&gt;This expression suggests a technique for conversion. Suppose we want to convert the&lt;br /&gt;number F (0 &lt; F &lt; 1) from decimal to binary notation. We know that F can be expressed in the&lt;br /&gt;form&lt;br /&gt;F = 2–1 ´ (b–1 + 2–1 ´ (b–2 + 2–1 ´ (b–3 + …&lt;br /&gt;If we multiply F by 2, we obtain:&lt;br /&gt;2 ´ F = b–1 + 2–1 ´ (b–2 + 2–1 ´ (b–3 + …&lt;br /&gt;From this equation, we see that the integer part of (2 ´ F), which must be either 0 or 1&lt;br /&gt;because 0 &lt; F &lt; 1, is simply b–1. So we can say (2 ´ F) = b–1 + F1, where 0 &lt; F1 &lt; 1 and where&lt;br /&gt;F1 = 2–1 ´ (b–2 + 2–1 ´ (b–3 + 2–1 ´ (b–4 + …&lt;br /&gt;To find b–2, we repeat the process. Therefore, the conversion algorithm involves repeated&lt;br /&gt;multiplication by 2. At each step, the fractional part of the number from the previous step is&lt;br /&gt;multiplied by 2. The digit to the left of the decimal point in the product will be 0 or 1 and&lt;br /&gt;-6-&lt;br /&gt;contributes to the binary representation, starting with the most significant digit. The fractional&lt;br /&gt;part of the product is used as the multiplicand in the next step. Figure 2 shows two examples.&lt;br /&gt;This process is not necessarily exact; that is, a decimal fraction with a finite number of&lt;br /&gt;digits may require a binary fraction with an infinite number of digits. In such cases, the&lt;br /&gt;conversion algorithm is usually halted after a prespecified number of steps, depending on the&lt;br /&gt;desired accuracy.&lt;br /&gt;Hexadecimal Notation&lt;br /&gt;Because of the inherent binary nature of digital computer components, all forms of data within&lt;br /&gt;computers are represented by various binary codes. However, no matter how convenient the&lt;br /&gt;binary system is for computers, it is exceedingly cumbersome for human beings. Consequently,&lt;br /&gt;most computer professionals who must spend time working with the actual raw data in the&lt;br /&gt;computer prefer a more compact notation.&lt;br /&gt;What notation to use? One possibility is the decimal notation. This is certainly more&lt;br /&gt;compact than binary notation, but it is awkward because of the tediousness of converting&lt;br /&gt;between base 2 and base 10.&lt;br /&gt;Instead, a notation known as hexadecimal has been adopted. Binary digits are grouped into&lt;br /&gt;sets of four. Each possible combination of four binary digits is given a symbol, as follows:&lt;br /&gt;0000 = 0&lt;br /&gt;0001 = 1&lt;br /&gt;0010 = 2&lt;br /&gt;0011 = 3&lt;br /&gt;0100 = 4&lt;br /&gt;0101 = 5&lt;br /&gt;0110 = 6&lt;br /&gt;0111 = 7&lt;br /&gt;1000 = 8&lt;br /&gt;1001 = 9&lt;br /&gt;1010 = A&lt;br /&gt;1011 = B&lt;br /&gt;1100 = C&lt;br /&gt;1101 = D&lt;br /&gt;1110 = E&lt;br /&gt;1111 = F&lt;br /&gt;Because 16 symbols are used, the notation is called hexadecimal, and the 16 symbols are the&lt;br /&gt;hexadecimal digits.&lt;br /&gt;A sequence of hexadecimal digits can be thought of as representing an integer in base 16.&lt;br /&gt;Thus,&lt;br /&gt;2C16 = (216 ´ 161) + (C16 ´ 160)&lt;br /&gt;= (210 ´ 161) + (1210 ´ 160) = 44&lt;br /&gt;-7-&lt;br /&gt;Hexadecimal notation is used not only for representing integers. It is also used as a concise&lt;br /&gt;notation for representing any sequence of binary digits, whether they represent text, numbers, or&lt;br /&gt;some other type of data. The reasons for using hexadecimal notation are&lt;br /&gt;1. It is more compact than binary notation.&lt;br /&gt;2. In most computers, binary data occupy some multiple of 4 bits, and hence some multiple&lt;br /&gt;of a single hexadecimal digit.&lt;br /&gt;3. It is extremely easy to convert between binary and hexadecimal.&lt;br /&gt;As an example of the last point, consider the binary string 110111100001. This is&lt;br /&gt;equivalent to&lt;br /&gt;1101 1110 0001 = DE116&lt;br /&gt;D E 1&lt;br /&gt;This process is performed so naturally that an experienced programmer can mentally&lt;br /&gt;convert visual representations of binary data to their hexadecimal equivalent without written&lt;br /&gt;effort&lt;br /&gt;Quotient&lt;br /&gt;Figure 1 Examples of Converting from Decimal&lt;br /&gt;Notation to Binary Notation for Integers&lt;br /&gt;= 5 1&lt;br /&gt;Remainder&lt;br /&gt;11&lt;br /&gt;2&lt;br /&gt;5 = 2 1&lt;br /&gt;2&lt;br /&gt;2 = 1 0&lt;br /&gt;2&lt;br /&gt;= 0 1&lt;br /&gt;10112 = 1110&lt;br /&gt;(a) 1110&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;Quotient&lt;br /&gt;= 5 0&lt;br /&gt;Remainder&lt;br /&gt;10&lt;br /&gt;2&lt;br /&gt;5 = 2 1&lt;br /&gt;2&lt;br /&gt;2 = 1 0&lt;br /&gt;2&lt;br /&gt;= 0 1&lt;br /&gt;101012 = 2110&lt;br /&gt;(b) 2110&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;21 = 10 1&lt;br /&gt;2&lt;br /&gt;Product&lt;br /&gt;Figure 2 Examples of Converting from Decimal&lt;br /&gt;Notation to Binary Notation for Fractions&lt;br /&gt;0.81 ´ 2 = 1.62 1&lt;br /&gt;Integer Part&lt;br /&gt;0.62 ´ 2 = 1.24 1&lt;br /&gt;0.24 ´ 2 = 0.48 0&lt;br /&gt;0.48 ´ 2 = 0.96&lt;br /&gt;0.96 ´ 2 = 1.92&lt;br /&gt;0.92 ´ 2 = 1.84&lt;br /&gt;0&lt;br /&gt;1&lt;br /&gt;1&lt;br /&gt;0.1100112&lt;br /&gt;(a) 0.8110 = 0.110112 (approximately)&lt;br /&gt;Product&lt;br /&gt;0.25 ´ 2 = 0.5 0&lt;br /&gt;Integer Part&lt;br /&gt;0.5 ´ 2 = 1.0 1&lt;br /&gt;0.012&lt;br /&gt;(B) 0.2510 = 0.012 (exactly)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-1410035169986879117?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/1410035169986879117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=1410035169986879117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/1410035169986879117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/1410035169986879117'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2009/02/number-systems.html' title='NUMBER SYSTEMS'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-4347883201927305976</id><published>2009-02-24T23:19:00.001-08:00</published><updated>2009-02-24T23:19:41.309-08:00</updated><title type='text'>Binary Numbers - how computer counts ?</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Quick, what is 11? &lt;/p&gt; &lt;p class="MsoNormal"&gt;9 and 2?  or  6 and 5??&lt;/p&gt; &lt;p class="MsoNormal"&gt;Which one???&lt;/p&gt; &lt;p class="MsoNormal"&gt;We express numbers with numerals. The 10 numbers from zero to nine have their own numerals. But larger numbers don’t. To represent them, we re-use the ten numerals in special combinations where groupings of 10 are understood. If we want to talk about one-hundred twenty-three we write&lt;/p&gt; &lt;p class="MsoNormal"&gt;123&lt;/p&gt; &lt;p class="MsoNormal"&gt;where the 3 represents 3 ones, but the 2 represents 2 groupings of 10 ones (ten), while the 1 represents 1 grouping of 10 tens (one hundred). So&lt;/p&gt; &lt;p class="MsoNormal"&gt;123&lt;/p&gt; &lt;p class="MsoNormal"&gt;does not mean 6, even though what we write—1 and 2 and 3—suggests a total of 6. The understood implication of groupings gives this notation the meaning we intend. We regard one hundred twenty-three as being a single one-hundred and also two tens and also 3 ones.&lt;/p&gt; &lt;p class="MsoNormal"&gt;The reason we use groupings of ten is that we have ten fingers, and counting originated on peoples’ fingers.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Other number systems differ. A race of people who had only one hand would have used groupings of 5 to represent numbers greater than five. They would choose to regard one hundred twenty-three as four twenty-fives and four fives and three ones, writing it as&lt;/p&gt; &lt;p class="MsoNormal"&gt;443&lt;/p&gt; &lt;p class="MsoNormal"&gt;A race of people with 4 fingers would regard it as being one sixty-four and three sixteens and two fours and three ones, writing it as&lt;/p&gt; &lt;p class="MsoNormal"&gt; 1323&lt;/p&gt; &lt;p class="MsoNormal"&gt; The groupings used are always powers of the base number. If the base number is 10, we use groupings of 1, 10, 100, 1000, … which are 10 raised to the 0, 1, 2, 3, … power, respectively. If the base number is 5, we use groupings of 1, 5, 25, 125, … which are 5 raised to the 0, 1, 2, 3, … power, respectively. If the base number is 4, we use groupings of 1, 4, 16, 64, … which are 4 raised to the 0, 1, 2, 3, … power respectively.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Computers use 2 as the base number. (Maybe computers have only 2 fingers.) They use groupings of 1, 2, 4, 8, 16, 32, 64, 128, … to represent numbers. They regard one hundred twenty-three as one 64 and one 32 and one 16 and one 8 and one 2 and one 1. They write it as&lt;/p&gt; &lt;p class="MsoNormal"&gt;1111011&lt;/p&gt; &lt;p class="MsoNormal"&gt;So quick, what’s 123? Which is correct:&lt;/p&gt; &lt;p class="MsoNormal"&gt;123= 100 + 20 + 3&lt;/p&gt; &lt;p class="MsoNormal"&gt;123= 4x25 + 4x5 + 3&lt;/p&gt; &lt;p class="MsoNormal"&gt;123= 64+ 3x16 + 2x4 +3&lt;/p&gt; &lt;p class="MsoNormal"&gt;123= 64 + 32 + 16 + 8 + 2 + 1  ?&lt;/p&gt; &lt;p class="MsoNormal"&gt; All are correct. So you can use any of the number systems correctly to describe the same set of numbers.&lt;/p&gt; &lt;p class="MsoNormal"&gt; Here are the first 16 numbers, starting from 0, as represented using the base-2 or binary system used in computers:&lt;br /&gt;&lt;o:p&gt; &lt;/o:p&gt; &lt;/p&gt; &lt;table style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;   &lt;tbody&gt;&lt;tr&gt;     &lt;td style="border: 0.5pt solid windowtext; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;Decimal&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 0.5pt 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;Binary&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;0&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0000&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;1&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0001&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;2&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0010&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;3&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0011&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;4&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0100&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;5&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0101&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;6&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0110&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;7&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;0111&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;8&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1000&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;9&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1001&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;10&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1010&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;11&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1011&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;12&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1100&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;13&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1101&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;14&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1110&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 51.45pt;" valign="top" width="69"&gt;       &lt;p class="MsoNormal"&gt;15&lt;/p&gt;     &lt;/td&gt;     &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 61.95pt;" valign="top" width="83"&gt;       &lt;p class="MsoNormal"&gt;1111&lt;/p&gt;     &lt;/td&gt;   &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p class="MsoNormal"&gt;You should be able to convert back and forth.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-4347883201927305976?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/4347883201927305976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=4347883201927305976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/4347883201927305976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/4347883201927305976'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2009/02/binary-numbers-how-computer-counts.html' title='Binary Numbers - how computer counts ?'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-5364452863737582890</id><published>2008-12-11T06:35:00.000-08:00</published><updated>2008-12-23T04:02:41.709-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flowchart'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Introduction to Flowcharting</title><content type='html'>This appendix provides a brief introduction to flowcharting. It includes example flowcharts&lt;br /&gt;for programs that appear in Chapters 1 through 6. In addition, a complete lesson&lt;br /&gt;on flowcharting is included on the Student CD. The lesson is stored in a PowerPoint file&lt;br /&gt;named&lt;br /&gt;Flowcharting.ppt&lt;br /&gt;.&lt;br /&gt;A flowchart is a diagram that depicts the “flow” of a program. It contains symbols that&lt;br /&gt;represent each step in the program. The figure shown here is a flowchart for Program 1-1,&lt;br /&gt;the pay-calculating program in Chapter 1.&lt;br /&gt;START&lt;br /&gt;END&lt;br /&gt;Display message&lt;br /&gt;”How many&lt;br /&gt;hours did&lt;br /&gt;you work?”&lt;br /&gt;Display message&lt;br /&gt;”How much&lt;br /&gt;do you get&lt;br /&gt;paid per hour?”&lt;br /&gt;Multiply hours&lt;br /&gt;by payRate.&lt;br /&gt;Store result in&lt;br /&gt;grossPay.&lt;br /&gt;Read hours&lt;br /&gt;Read payRate&lt;br /&gt;Display&lt;br /&gt;grossPay&lt;br /&gt;2&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;Notice there are three types of symbols in this flowchart: rounded rectangles (representing&lt;br /&gt;terminal points), parallelograms (representing input/output operations), and a rectangle&lt;br /&gt;(representing a process).&lt;br /&gt;The rounded rectangles, or terminal points, indicate the flowchart’s starting and ending&lt;br /&gt;points. The parallelograms designate input or output operations. The rectangle depicts a&lt;br /&gt;process such as a mathematical computation, or a variable assignment. Notice that the&lt;br /&gt;symbols are connected with arrows that indicate the direction of program flow.&lt;br /&gt;Connectors&lt;br /&gt;Sometimes a flowchart is broken into two or more smaller flowcharts. This is usually done&lt;br /&gt;when a flowchart does not fit on a single page, or must be divided into sections. A connector&lt;br /&gt;symbol, which is a small circle with a letter or number inside it, allows you to connect&lt;br /&gt;two flowcharts.&lt;br /&gt;In the figure below, the A connector indicates that the second flowchart segment begins&lt;br /&gt;where the first flowchart segment ends.&lt;br /&gt;Terminal Input/Output Processes&lt;br /&gt;Operations&lt;br /&gt;A&lt;br /&gt;END&lt;br /&gt;START A&lt;br /&gt;A&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;3&lt;br /&gt;Flowchart Structures&lt;br /&gt;There are four general flowchart structures:&lt;br /&gt;•&lt;br /&gt;Sequence&lt;br /&gt;•&lt;br /&gt;Decision&lt;br /&gt;•&lt;br /&gt;Repetition&lt;br /&gt;•&lt;br /&gt;Case&lt;br /&gt;A sequence structure is a series of actions or steps, performed in order. The flowchart for&lt;br /&gt;the pay-calculating program is an example of a sequence structure. The following flowchart&lt;br /&gt;is also a sequence structure. It depicts the steps performed in Program 2-20, from&lt;br /&gt;Chapter 2.&lt;br /&gt;Flowchart for Program 2-20&lt;br /&gt;The following flowchart, which is another sequence structure, depicts the steps performed&lt;br /&gt;in Program 3-15 (from Chapter 3). Notice the use of connector symbols to link the two&lt;br /&gt;flowchart segments.&lt;br /&gt;END&lt;br /&gt;START&lt;br /&gt;Display&lt;br /&gt;Total Pay&lt;br /&gt;Calculate Total&lt;br /&gt;Wages as Regular&lt;br /&gt;Wages plus&lt;br /&gt;Overtime Wages.&lt;br /&gt;Calculate Regular&lt;br /&gt;Wages as Base&lt;br /&gt;Pay times&lt;br /&gt;Regular Hours.&lt;br /&gt;Calculate Overtime&lt;br /&gt;Wages as&lt;br /&gt;Overtime Pay&lt;br /&gt;times Overtime&lt;br /&gt;Hours.&lt;br /&gt;4&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;Flowchart for Program 3–15&lt;br /&gt;The Decision Structure&lt;br /&gt;In a decision structure, one of two possible actions is performed, depending on a condition.&lt;br /&gt;In a decision structure, a new symbol, the diamond, represents a yes/no question. If&lt;br /&gt;the answer to the question is “yes,” the program flow follows one path. If the answer to&lt;br /&gt;the question is “no,” the program flow follows another path. The following figure shows&lt;br /&gt;the general form of a decision structure.&lt;br /&gt;START&lt;br /&gt;END&lt;br /&gt;Ask user to enter&lt;br /&gt;beginning&lt;br /&gt;inventory value&lt;br /&gt;for all three stores.&lt;br /&gt;Store begInv&lt;br /&gt;in store1,&lt;br /&gt;store2, and&lt;br /&gt;store3.&lt;br /&gt;Subtract sold&lt;br /&gt;from store1.&lt;br /&gt;Read begInv.&lt;br /&gt;Read sold.&lt;br /&gt;Ask user to enter&lt;br /&gt;number of widgets&lt;br /&gt;sold at Store 1.&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;Ask user to enter&lt;br /&gt;number of widgets&lt;br /&gt;sold at Store 2.&lt;br /&gt;Subtract sold&lt;br /&gt;from sold2.&lt;br /&gt;Subtract sold&lt;br /&gt;from store3.&lt;br /&gt;Read sold.&lt;br /&gt;Read sold.&lt;br /&gt;Ask user to enter&lt;br /&gt;number of widgets&lt;br /&gt;sold at Store 3.&lt;br /&gt;Display inventory&lt;br /&gt;values for all&lt;br /&gt;three stores.&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;5&lt;br /&gt;In the following flowchart segment, the question “is x &lt; y?” is asked. If the answer is&lt;br /&gt;“no,” then process A is performed. If the answer is “yes,” then process B is performed.&lt;br /&gt;The following flowchart depicts the logic of Program 4-8, from Chapter 4. The decision&lt;br /&gt;structure shows that one of two possible messages is displayed on the screen, depending&lt;br /&gt;on the value of the expression&lt;br /&gt;number % 2&lt;br /&gt;.&lt;br /&gt;NO YES&lt;br /&gt;NO&lt;br /&gt;Process A Process B&lt;br /&gt;YES&lt;br /&gt;x &lt; y?&lt;br /&gt;6&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;Flowchart for Program 4–8&lt;br /&gt;The Case Structure&lt;br /&gt;In a case structure, one of several possible actions is taken, depending on the contents of a&lt;br /&gt;variable. The following flowchart segment shows the general form of a case structure.&lt;br /&gt;The following flowchart depicts the logic of Program 4–31, which is also from Chapter 4.&lt;br /&gt;One of 4 possible paths is followed, depending on the value stored in the variable&lt;br /&gt;feedGrade&lt;br /&gt;.&lt;br /&gt;NO&lt;br /&gt;Display&lt;br /&gt;”Number is&lt;br /&gt;odd.”&lt;br /&gt;number % 2&lt;br /&gt;equal to 0?&lt;br /&gt;Read number.&lt;br /&gt;Ask user to enter&lt;br /&gt;an integer.&lt;br /&gt;Display&lt;br /&gt;”Number is&lt;br /&gt;even.”&lt;br /&gt;YES&lt;br /&gt;START&lt;br /&gt;END&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;7&lt;br /&gt;Flowchart for Program 4–31&lt;br /&gt;Repetition Structures&lt;br /&gt;A repetition structure represents part of the program that repeats. This type of structure&lt;br /&gt;is commonly known as a loop. The following figure shows an example of a repetition&lt;br /&gt;structure.&lt;br /&gt;Notice the use of the diamond symbol. A repetition structure tests a condition, and if the&lt;br /&gt;condition exists, it performs an action. Then it tests the condition again. If the condition&lt;br /&gt;still exists, the action is repeated. This continues until the condition no longer exists. In&lt;br /&gt;the flowchart segment above, the question “is x &lt; y?” is asked. If the answer is yes, then&lt;br /&gt;Start&lt;br /&gt;Ask the user to&lt;br /&gt;enter the desired&lt;br /&gt;feed grade.&lt;br /&gt;Read input into&lt;br /&gt;feedGrade.&lt;br /&gt;End&lt;br /&gt;'a'&lt;br /&gt;'A'&lt;br /&gt;'b'&lt;br /&gt;'B'&lt;br /&gt;'c'&lt;br /&gt;'C' Other&lt;br /&gt;case feedGrade&lt;br /&gt;Display "30 cents&lt;br /&gt;per pound".&lt;br /&gt;Display "20 cents&lt;br /&gt;per pound".&lt;br /&gt;Display "15 cents&lt;br /&gt;per pound".&lt;br /&gt;Display "That is an&lt;br /&gt;invalid choice".&lt;br /&gt;YES&lt;br /&gt;x &lt; y? Process A&lt;br /&gt;8&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;Process A is performed. The question “is x &lt; y?” is asked again. Process A is repeated as&lt;br /&gt;long as x is less than y. When x is no longer less than y, the repetition stops and the structure&lt;br /&gt;is exited.&lt;br /&gt;There are two forms of repetition structure: pre-test and post-test. A pre-test repetition&lt;br /&gt;structure tests its condition&lt;br /&gt;before&lt;br /&gt;it performs an action. The flowchart segment above&lt;br /&gt;shows a pre-test structure. Notice that Process A does not execute at all if the condition “x&lt;br /&gt;&lt; y” is not true. The pre-test repetition structure is coded in C++ as a&lt;br /&gt;while&lt;br /&gt;loop.&lt;br /&gt;A post-test repetition structure tests its condition&lt;br /&gt;after&lt;br /&gt;it performs an action. This type of&lt;br /&gt;loop always performs its action at least once. The following flowchart segment shows an&lt;br /&gt;example.&lt;br /&gt;The post-test repetition structure is coded in C++ as a&lt;br /&gt;do-while&lt;br /&gt;loop.&lt;br /&gt;The following flowchart depicts the logic of Program 5-6, which appears in Chapter 5.&lt;br /&gt;Flowchart for Program 5-6&lt;br /&gt;YES&lt;br /&gt;NO&lt;br /&gt;Process A&lt;br /&gt;x &lt; y?&lt;br /&gt;START&lt;br /&gt;number = 1.&lt;br /&gt;Display Table&lt;br /&gt;Headings.&lt;br /&gt;Display number&lt;br /&gt;and number&lt;br /&gt;Squared.&lt;br /&gt;number &lt;=&lt;br /&gt;10?&lt;br /&gt;YES&lt;br /&gt;NO&lt;br /&gt;Add 1 to number.&lt;br /&gt;END&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;9&lt;br /&gt;Modules&lt;br /&gt;A program module (such as a function in C++) is represented by the special symbol shown&lt;br /&gt;below:&lt;br /&gt;The position of the module symbol indicates the point the module is executed, as shown in&lt;br /&gt;the following figure:&lt;br /&gt;A separate flowchart can then be constructed for the module. The following figure shows&lt;br /&gt;a flowchart for Program 6-19 from Chapter 6. The&lt;br /&gt;getBasePay&lt;br /&gt;and&lt;br /&gt;getOvertimePay&lt;br /&gt;modules appear as separate flowcharts.&lt;br /&gt;START&lt;br /&gt;END&lt;br /&gt;Read Input.&lt;br /&gt;Call calc_pay&lt;br /&gt;function.&lt;br /&gt;Display results.&lt;br /&gt;10&lt;br /&gt;Appendix D: Introduction to Flowcharting&lt;br /&gt;Flowchart for Program 6-19&lt;br /&gt;Start&lt;br /&gt;Ask the user to&lt;br /&gt;enter the number&lt;br /&gt;of hours worked.&lt;br /&gt;hours &gt;&lt;br /&gt;BASE_HOURS?&lt;br /&gt;Call&lt;br /&gt;getBasePay&lt;br /&gt;Yes&lt;br /&gt;Call&lt;br /&gt;getOvertimePay&lt;br /&gt;Calculate total pay.&lt;br /&gt;No&lt;br /&gt;Display base pay,&lt;br /&gt;overtime pay, and total&lt;br /&gt;pay.&lt;br /&gt;End&lt;br /&gt;Start of&lt;br /&gt;getBasePay&lt;br /&gt;No hours &gt; Yes&lt;br /&gt;BASE_HOURS?&lt;br /&gt;basePay =&lt;br /&gt;BASE_HOURS *&lt;br /&gt;PAY_RATE&lt;br /&gt;basePay =&lt;br /&gt;hoursWorked *&lt;br /&gt;PAY_RATE&lt;br /&gt;End of&lt;br /&gt;getBasePay&lt;br /&gt;Start of&lt;br /&gt;getOvertimePay&lt;br /&gt;No hours &gt; Yes&lt;br /&gt;BASE_HOURS?&lt;br /&gt;overtimePay = (hoursWorked&lt;br /&gt;- BASE_HOURS) *&lt;br /&gt;PAY_RATE *&lt;br /&gt;OT_MULTIPLIER&lt;br /&gt;overtimePay = 0.0&lt;br /&gt;End of&lt;br /&gt;getOvertimePay&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-5364452863737582890?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/5364452863737582890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=5364452863737582890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/5364452863737582890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/5364452863737582890'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2008/12/introduction-to-flowcharting.html' title='Introduction to Flowcharting'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-1006318821600989502</id><published>2008-12-11T06:34:00.000-08:00</published><updated>2008-12-23T04:02:41.709-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Using UML in Class Design</title><content type='html'>When designing a class it is often helpful to draw a UML diagram.&lt;br /&gt;UML&lt;br /&gt;stands for&lt;br /&gt;Unified&lt;br /&gt;Modeling Language&lt;br /&gt;. The UML provides a set of standard diagrams for graphically&lt;br /&gt;depicting object-oriented systems. Figure E-1 shows the general layout of a UML diagram&lt;br /&gt;for a class. Notice that the diagram is a box that is divided into three sections. The top&lt;br /&gt;section is where you write the name of the class. The middle section holds a list of the&lt;br /&gt;class’s member variables. The bottom section holds a list of the class’s member functions.&lt;br /&gt;For example, in Chapter 13, Introduction to Classes, you studied a&lt;br /&gt;Rectangle&lt;br /&gt;class that&lt;br /&gt;could be used in a program that works with rectangles. The class has the following member&lt;br /&gt;variables:&lt;br /&gt;•&lt;br /&gt;width&lt;br /&gt;•&lt;br /&gt;length&lt;br /&gt;The class also has the following member functions:&lt;br /&gt;•&lt;br /&gt;setWidth&lt;br /&gt;•&lt;br /&gt;setLength&lt;br /&gt;•&lt;br /&gt;getWidth&lt;br /&gt;•&lt;br /&gt;getLength&lt;br /&gt;•&lt;br /&gt;getArea&lt;br /&gt;Figure E-1&lt;br /&gt;Class name goes here&lt;br /&gt;Member variables are listed here&lt;br /&gt;Member functions are listed here&lt;br /&gt;2&lt;br /&gt;Appendix E: Using UML in Class Design&lt;br /&gt;From this information alone we can construct a simple UML diagram for the class, as&lt;br /&gt;shown in Figure E-2.&lt;br /&gt;The UML diagram in Figure E-2 tells us the name of the class, the names of the member&lt;br /&gt;variables, and the names of the member functions. Compare this diagram to the actual&lt;br /&gt;C++ class declaration, which follows.&lt;br /&gt;class Rectangle&lt;br /&gt;{&lt;br /&gt;private:&lt;br /&gt;double width;&lt;br /&gt;double length;&lt;br /&gt;public:&lt;br /&gt;void setWidth(double);&lt;br /&gt;void setLength(double);&lt;br /&gt;double getWidth() const;&lt;br /&gt;double getLength() const;&lt;br /&gt;double getArea() const;&lt;br /&gt;};&lt;br /&gt;The UML diagram in Figure E-2 does not convey many of the class details, such as access&lt;br /&gt;specification, member variable data types, parameter data types, and function return&lt;br /&gt;types. The UML provides optional notation for these types of details.&lt;br /&gt;Showing Access Specification in UML Diagrams&lt;br /&gt;The UML diagram in Figure E-2 lists all of the members of the&lt;br /&gt;Rectangle&lt;br /&gt;class but does&lt;br /&gt;not indicate which members are private and which are public. In a UML diagram you may&lt;br /&gt;optionally place a&lt;br /&gt;-&lt;br /&gt;character before a member name to indicate that it is private, or a&lt;br /&gt;+&lt;br /&gt;character to indicate that it is public. Figure E-3 shows the UML diagram modified to&lt;br /&gt;include this notation.&lt;br /&gt;Figure E-2&lt;br /&gt;Rectangle&lt;br /&gt;width&lt;br /&gt;length&lt;br /&gt;setWidth()&lt;br /&gt;setLength()&lt;br /&gt;getWidth()&lt;br /&gt;getLength()&lt;br /&gt;getArea()&lt;br /&gt;Appendix E: Using UML in Class Design&lt;br /&gt;3&lt;br /&gt;Data Type and Parameter Notation in UML Diagrams&lt;br /&gt;The Unified Modeling Language also provides notation that you may use to indicate the&lt;br /&gt;data types of member variables, member functions, and parameters. To indicate the data&lt;br /&gt;type of a member variable, place a colon followed by the name of the data type after the&lt;br /&gt;name of the variable. For example, the&lt;br /&gt;width&lt;br /&gt;variable in the&lt;br /&gt;Rectangle&lt;br /&gt;class is a&lt;br /&gt;double&lt;br /&gt;.&lt;br /&gt;It could be listed as follows in the UML diagram:&lt;br /&gt;- width : double&lt;br /&gt;The return type of a member function can be listed in the same manner: After the function’s&lt;br /&gt;name, place a colon followed by the return type. The&lt;br /&gt;Rectangle&lt;br /&gt;class’s&lt;br /&gt;getLength&lt;br /&gt;function returns a&lt;br /&gt;double&lt;br /&gt;, so it could be listed as follows in the UML diagram:&lt;br /&gt;+ getLength() : double&lt;br /&gt;Parameter variables and their data types may be listed inside a member function’s parentheses.&lt;br /&gt;For example, the&lt;br /&gt;Rectangle&lt;br /&gt;class’s&lt;br /&gt;setLength&lt;br /&gt;function has a&lt;br /&gt;double&lt;br /&gt;parameter&lt;br /&gt;named&lt;br /&gt;len&lt;br /&gt;, so it could be listed as follows in the UML diagram:&lt;br /&gt;+ setLength(len : double) : void&lt;br /&gt;Figure E-4 shows a UML diagram for the&lt;br /&gt;Rectangle&lt;br /&gt;class with parameter and data type&lt;br /&gt;notation.&lt;br /&gt;Figure E-3&lt;br /&gt;NOTE:&lt;br /&gt;In UML notation the variable name is listed first, then the data type. This is&lt;br /&gt;opposite of C++ syntax, which requires the data type to appear first.&lt;br /&gt;Rectangle&lt;br /&gt;- width&lt;br /&gt;- length&lt;br /&gt;+ setWidth()&lt;br /&gt;+ setLength()&lt;br /&gt;+ getWidth()&lt;br /&gt;+ getLength()&lt;br /&gt;+ getArea()&lt;br /&gt;4&lt;br /&gt;Appendix E: Using UML in Class Design&lt;br /&gt;Showing Constructors and Destructors in a UML Diagram&lt;br /&gt;There is more than one accepted way of showing a class’s constructor in a UML diagram.&lt;br /&gt;In this text we show a constructor just as any other method, except we list no return type.&lt;br /&gt;Figure E-5 shows a UML diagram for the first version of the&lt;br /&gt;InventoryItem&lt;br /&gt;class, which&lt;br /&gt;was discussed in Chapter 13. This version of the class has one constructor, which accepts&lt;br /&gt;three arguments.&lt;br /&gt;Figure E-6 shows a UML diagram for the second version of the&lt;br /&gt;InventoryItem&lt;br /&gt;class,&lt;br /&gt;which has three overloaded constructors, as well as some additional member functions.&lt;br /&gt;Figure E-4&lt;br /&gt;Figure E-5&lt;br /&gt;Rectangle&lt;br /&gt;- width : double&lt;br /&gt;- length : double&lt;br /&gt;+ setWidth(w : double) : void&lt;br /&gt;+ setLength(len : double) : void&lt;br /&gt;+ getWidth() : double&lt;br /&gt;+ getLength() : double&lt;br /&gt;+ getArea() : double&lt;br /&gt;InventoryItem&lt;br /&gt;- description : char*&lt;br /&gt;- cost : double&lt;br /&gt;- units : int&lt;br /&gt;+ InventoryItem(desc : char*,&lt;br /&gt;c : double, u : int) :&lt;br /&gt;+ ~Inventory() :&lt;br /&gt;+ getDescription() : char*&lt;br /&gt;+ getCost() : double&lt;br /&gt;+ getUnits() : int&lt;br /&gt;Appendix E: Using UML in Class Design&lt;br /&gt;5&lt;br /&gt;Aggregation UML Diagrams&lt;br /&gt;Aggregation occurs when a class contains an instance of another class as a member. You show&lt;br /&gt;aggregation in a UML diagram by connecting two classes with a line that has an open diamond&lt;br /&gt;at one end. The diamond is closest to the class that contains instances of other classes.&lt;br /&gt;For example, suppose we have the&lt;br /&gt;PersonalInfo&lt;br /&gt;class shown in Figure E-7, which holds&lt;br /&gt;information about a person.&lt;br /&gt;Figure E-6&lt;br /&gt;Figure E-7&lt;br /&gt;InventoryItem&lt;br /&gt;- description : char*&lt;br /&gt;- cost : double&lt;br /&gt;- units : int&lt;br /&gt;+ InventoryItem():&lt;br /&gt;+ InventoryItem(desc : char*) :&lt;br /&gt;+ InventoryItem(desc : char*,&lt;br /&gt;c : double, u : int) :&lt;br /&gt;+ ~Inventory() :&lt;br /&gt;+ setDescription(d : char*) : void&lt;br /&gt;+ setCost(c : double) : void&lt;br /&gt;+ setUnits(u : int) : void&lt;br /&gt;+ getDescription() : char*&lt;br /&gt;+ getCost() : double&lt;br /&gt;+ getUnits() : int&lt;br /&gt;- customerName : char*&lt;br /&gt;- customerAddress : char*&lt;br /&gt;- customerCity : char*&lt;br /&gt;- customerState : char*&lt;br /&gt;- customerZip : char*&lt;br /&gt;+ PersonalInfo(name : char*,&lt;br /&gt;address : char*,&lt;br /&gt;city : char*,&lt;br /&gt;state : char*,&lt;br /&gt;zip : char*) :&lt;br /&gt;+ getName() : char*&lt;br /&gt;+ getAddress() : char*&lt;br /&gt;+ getCity() : char*&lt;br /&gt;+ getState() : char*&lt;br /&gt;+ getZip() : char*&lt;br /&gt;PersonalInfo&lt;br /&gt;6&lt;br /&gt;Appendix E: Using UML in Class Design&lt;br /&gt;Suppose we also have the&lt;br /&gt;BankAccount&lt;br /&gt;class shown in Figure E-8, which holds the balance&lt;br /&gt;of a bank account, and can perform operations such as making deposits and withdrawals.&lt;br /&gt;Figure E-9 shows a UML diagram for another class,&lt;br /&gt;BankCustomer&lt;br /&gt;, which contains&lt;br /&gt;instances of the&lt;br /&gt;PersonalInfo&lt;br /&gt;and&lt;br /&gt;BankAccount&lt;br /&gt;classes as members. The relationship&lt;br /&gt;between the classes is shown by the connecting lines with the open diamond. The open&lt;br /&gt;diamond is closest to the&lt;br /&gt;BankCustomer&lt;br /&gt;class because it contains instances of the other&lt;br /&gt;classes as members.&lt;br /&gt;Inheritance in UML Diagrams&lt;br /&gt;You show inheritance in a UML diagram by connecting two classes with a line that has an&lt;br /&gt;open arrowhead at one end. The arrowhead points to the base class. For example,&lt;br /&gt;Figure E-10 shows a UML diagram depicting the relationship between the&lt;br /&gt;GradedActivity&lt;br /&gt;and&lt;br /&gt;FinalExam&lt;br /&gt;classes that you studied in Chapter 15. The arrowhead points toward the&lt;br /&gt;GradedActivity&lt;br /&gt;class, which is the base class.&lt;br /&gt;Showing Protected Members&lt;br /&gt;Protected class members may be denoted in a UML diagram with the&lt;br /&gt;#&lt;br /&gt;symbol. In the second&lt;br /&gt;version of the&lt;br /&gt;GradedActivity&lt;br /&gt;class, in Chapter 15, the&lt;br /&gt;score&lt;br /&gt;member variable was&lt;br /&gt;declared&lt;br /&gt;protected&lt;br /&gt;. Figure E-11 shows a UML diagram for the class.&lt;br /&gt;Figure E-8&lt;br /&gt;BankAccount&lt;br /&gt;- balance : double&lt;br /&gt;- interestRate : double&lt;br /&gt;- interest : double&lt;br /&gt;+ BankAccount(startBalance : double,&lt;br /&gt;intRate : double) :&lt;br /&gt;+ deposit(amount : double) : void&lt;br /&gt;+ withdraw(amount : double) : void&lt;br /&gt;+ addInterest() : void&lt;br /&gt;+ getBalance() : double&lt;br /&gt;+ getInterest() : double&lt;br /&gt;Appendix E: Using UML in Class Design&lt;br /&gt;7&lt;br /&gt;Figure E-9&lt;br /&gt;- info : PersonalInfo&lt;br /&gt;- checking : BankAccount&lt;br /&gt;- savings : BankAccount&lt;br /&gt;+ BankCustomer(i : PersonalInfo,&lt;br /&gt;c : BankAccount,&lt;br /&gt;s : BankAccount) :&lt;br /&gt;+ getCheckingBalance() : double&lt;br /&gt;+ getSavingsBalance() : double&lt;br /&gt;+ checkingDeposit(amt : double)&lt;br /&gt;: void&lt;br /&gt;+ checkingWithdrawal(amt : double)&lt;br /&gt;: void&lt;br /&gt;+ savingsDeposit(amt: double) : void&lt;br /&gt;+ savingsWithdrawal(amt : double)&lt;br /&gt;: void&lt;br /&gt;BankCustomer&lt;br /&gt;BankAccount&lt;br /&gt;- balance : double&lt;br /&gt;- interestRate : double&lt;br /&gt;- interest : double&lt;br /&gt;+ BankAccount(startBalance : double,&lt;br /&gt;intRate : double) :&lt;br /&gt;+ deposit(amount : double) : void&lt;br /&gt;+ withdraw(amount : double) : void&lt;br /&gt;+ addInterest() : void&lt;br /&gt;+ getBalance() : double&lt;br /&gt;+ getInterest() : double&lt;br /&gt;- customerName : char*&lt;br /&gt;- customerAddress : char*&lt;br /&gt;- customerCity : char*&lt;br /&gt;- customerState : char*&lt;br /&gt;- customerZip : char*&lt;br /&gt;+ PersonalInfo(name : char*,&lt;br /&gt;address : char*,&lt;br /&gt;city : char*,&lt;br /&gt;state : char*,&lt;br /&gt;zip : char*) :&lt;br /&gt;+ getName() : char*&lt;br /&gt;+ getAddress() : char*&lt;br /&gt;+ getCity() : char*&lt;br /&gt;+ getState() : char*&lt;br /&gt;+ getZip() : char*&lt;br /&gt;PersonalInfo&lt;br /&gt;8&lt;br /&gt;Appendix E: Using UML in Class Design&lt;br /&gt;Figure E-10&lt;br /&gt;Figure E-11&lt;br /&gt;- score : double&lt;br /&gt;+ GradedActivity() :&lt;br /&gt;+ GradedActivity(s : double) :&lt;br /&gt;+ setScore(s : double) : void&lt;br /&gt;+ getScore() : double&lt;br /&gt;+ getLetterGrade() : char&lt;br /&gt;GradedActivity&lt;br /&gt;- numQuestions : int&lt;br /&gt;- pointsEach : double&lt;br /&gt;- numMissed : int&lt;br /&gt;+ FinalExam() :&lt;br /&gt;+ FinalExam(questions : int,&lt;br /&gt;missed : int) :&lt;br /&gt;+ set(questions : int,&lt;br /&gt;missed : int) : void&lt;br /&gt;+ getNumQuestions() : double&lt;br /&gt;+ getPointsEach() : double&lt;br /&gt;+ getNumMissed() : int&lt;br /&gt;FinalExam&lt;br /&gt;# score : double&lt;br /&gt;+ GradedActivity() :&lt;br /&gt;+ GradedActivity(s : double) :&lt;br /&gt;+ setScore(s : double) : void&lt;br /&gt;+ getScore() : double&lt;br /&gt;+ getLetterGrade() : char&lt;br /&gt;GradedActivity&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-1006318821600989502?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/1006318821600989502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=1006318821600989502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/1006318821600989502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/1006318821600989502'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2008/12/using-uml-in-class-design.html' title='Using UML in Class Design'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-6833171465916456691</id><published>2008-08-12T05:15:00.001-07:00</published><updated>2008-12-23T04:02:41.709-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Introduction of Database management System</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///D:%5CDOCUME%7E1%5Cshesu04%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C06%5Cclip_filelist.xml"&gt;&lt;title&gt;© Moreniche&lt;/title&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PlaceType"&gt;&lt;/o:smarttagtype&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PlaceName"&gt;&lt;/o:smarttagtype&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"&gt;&lt;/o:smarttagtype&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:documentproperties&gt;   &lt;o:author&gt;Marcus Polo&lt;/o:Author&gt;   &lt;o:version&gt;11.9999&lt;/o:Version&gt;  &lt;/o:DocumentProperties&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id="ieooui"&gt;&lt;/object&gt; &lt;style&gt; st1\:*{behavior:url(#ieooui) } &lt;/style&gt; &lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:SimSun; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:ËÎÌå; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:"\@SimSun"; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:"\@Arial Unicode MS"; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:TimesNewRomanPSMT; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle-Bold; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle-Italic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:LucidaSansUnicode; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:CenturyGothic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:SimSun;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Data manipulation and information processing have become the major tasks of any organization,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;small or big, whether it is an educational institution, government concern, scientific, commercial&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;or any other. It is the plural of a Greek word datum, which means any raw facts, or figure like&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;numbers, events, letters, transactions, etc, based on which we cannot reach any conclusion. It&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;can be useful after processing, e.g. 78, it is simply a number (data) but if we say physics (78) then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;it will becomes information. It means somebody got distinctional marks in physics. Information is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;processed data. The user can take decision based on information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;An organization is only a mechanism for processing information and considers that the traditional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;management of information can be viewed in the context of information and process. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;manager may be considered as a planning and decision center. Established routes of information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;flow are used to determine the effectiveness of the organization in achieving its objectives. Thus,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;information is often described as the key to success in business.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;In essence a database is nothing more than a collection of information that exists over a long&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;period of time, often many years. In common parlance, the term database refers to a collection of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data that is managed by a DBMS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The DBMS is expected to:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1. Allow users to create new databases and specify their schema (logical structure of the data),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;using a specialized language called a data-definition language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;Data Processing Information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;2. Give users the ability to query the data (a \query" is database lingo for a question about the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data) and modify the data, using an appropriate language, often called a query language or datamanipulation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;3. Support the storage of very large amounts of data many gigabytes or more | over a long period&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of time, keeping it secure from accident or unauthorized use and allowing efficient access to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data for queries and database modifications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;4. Control access to data from many users at once, without allowing the actions of one user to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;accept other users and without allowing simultaneous&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A database is a collection of related data or operational data extracted from any firm or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;organization. For example, consider the names, telephone number, and address of people you&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;know. You may have recorded this data in an indexed address book, or you may have stored it on&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;a diskette, using a personal computer and software such as Microsoft Access of MS Office or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;ORACLE, SQL SERVER etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A Database Management System (DBMS) is a computer program you can use to store, organize&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and access a collection of interrelated data. The collection of data is usually referred to as the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database. The primary goal of a DBMS is to provide a convenient and effective way to store and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;retrieve data from the database. There are several types of data models (a data model is used to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;describe the structure of a database) and &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Empress &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;is a Relational Database Management System&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;(RDBMS) with Object Oriented extensions. &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Empress &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;is capable of managing data in multiple&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;databases. The data stored in each database is organized as tables with rows and columns. In&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relational database terminology, these tables are referred to as relations, rows are referred to as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;records, and columns are referred to as attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A database management system, therefore, is a combination of hardware and software&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;that can be used to set up and monitor a database, and can manage the updating and retrieval of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database, and can manage that can be used to set up and monitor a database, and can manage&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the updating and retrieval of database that has been stored in it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Most database management systems have the following facilities:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;a) Creating of a file, addition to data, modification of data; creation, addition and deletion of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;entire files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;b) Retrieving data collectively or selection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;c) The Data stored or indexed at the user’s discretion and direction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;d) Various reports can be produced from the system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;e) Mathematically function can be performed and the data will be stored in the database can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;manipulated with these functions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;f) To maintain data integrity and database use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The DBMS response to a query by involving the appropriate subgroups, each of which performs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;its special functions to interpret the query, or to locate the desired data in the database and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;present it in the desired order.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;As already mentioned, a database consists of a group of related files of different record types, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the database allows users to access data anywhere in the database without the knowledge of how&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data are actually organized on the storage device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.2 TRADITIONAL FILE ORIENTED APPROACH&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;Queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;COBOL/PL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;DBMS OS Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The traditional file-oriented approach to information processing has for each application a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;separate master file and its own set of personal files. An organization needs flow of information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;across these applications also and this requires sharing of data, which is significantly lacking in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the traditional approach. One major limitations of such a file-based approach is that the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;programs become dependent on the files and the files become dependent upon the programs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Disadvantages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Data Redundancy&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;: The same piece of information may be stored in two or more files. For&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;example, the particulars of an individual who may be a customer or client may be stored&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;in two or more files. Some of this information may be changing, such as the address, the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;payment maid, etc. It is therefore quite possible that while the address in the master file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;for one application has been updated the address in the master file for another application&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;may have not been. It may be not easy to even find out as to in how many files the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;repeating items such as the name occur.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Program/Data Dependency: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;In the traditional approach if a data field is to be added to a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;master file, all such programs that access the master file would have to be changed to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;allow for this new field which would have been added to the master record.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Lack of Flexibility: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;In view of the strong coupling between the program and the data,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;most information retrieval possibilities would be limited to well-anticipated and predetermined&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;requests for data, the system would normally be capable of producing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;scheduled records and queries which it has been programmed to create.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.3 MOTIVATION FOR DATABASE APPROACH&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Having pointed out some difficulties that arise in a straightforward file-oriented approach towards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;information system development. The work in the organization may not require significant sharing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of data or complex access. In other words the data and the way it is used in the functioning of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;organization are not appropriate to database processing. Apart from needing a more powerful&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;hardware platform, the software for database management systems is also quite expensive. This&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;means that a significant extra cost has to be incurred by an organization if it wants to adopt this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;approach.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Advantages &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;gained by the possibility of sharing of the data with others, also carries with it the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;risk of unauthorized access of data. This may range from violation of office procedures to violation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of privacy rights of information to down right thefts. The organizations, therefore, have to be ready&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;to cope with additional managerial problems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A database management processing system is complex and it could lead to a more inefficient&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;system than the equivalent file-based one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The use of the database and its possibility of being shared will, therefore affect many departments&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;within the organization. If die integrity of the data is not maintained, it is possible that one&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relevant piece of data could have been used by many programs in different applications by&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;different users without they are being aware of it. The impact of this therefore may be very&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;widespread. Since data can be input from a variety sources, the control over the quality of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;become very difficult to implement.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;However, for most large organization, the difficulties in moving over to a database approach are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;still worth getting over in view of the advantages that are gained, namely, avoidance of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;duplication, sharing of data by different programs, greater flexibility and data independence.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.4 The Evolution of Database Systems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Early days: database applications built on top of file systems. Drawbacks of using file systems to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;store data:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Data redundancy and inconsistency&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Difficulty in accessing data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Atomicity of updates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Concurrency control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Data isolation — multiple files and formats&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Integrity problems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.5 DATABASE BASICS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Since the DBMS of an organization will in some sense reflect the nature of activities in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;organization, some familiarity with the basic concepts, principles and terms used in the field are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;important.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Data-items: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The term data item is the word for what has traditionally been called the field&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;in data processing and is the smallest unit of data that has meaning to its users. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;phrase data element or elementary item is also sometimes used. Although the data item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;may be treated as a molecule of the database, data items are grouped together to form&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;aggregates described by various names. For example, the data record is used to refer to a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;group of data items and a program usually reads or writes the whole records. The data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;items could occasionally be further broken down into what may be called an automatic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;level for processing purposes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Entities and Attributes: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The real world would consist of occasionally a tangible object such&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;as an employee; a component in an inventory or a space or it may be intangible such as an&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;event, a job description, identification numbers, or an abstract construct. All such items&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;about which relevant information is stored in the database are called Entities. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;qualities of the entity that we store as information are called the attributes. An attribute&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;may be expressed as a number or as a text. It may even be a scanned picture, a sound&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;sequence, and a moving picture that is now possible in some visual and multi-media&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;databases.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Data processing normally concerns itself with a collection of similar entities and records&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;information about the same attributes of each of them. In the traditional approach, a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;programmer usually maintains a record about each entity and a data item in each record&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relates to each attribute. Similar records are grouped into files and such a 2-dimensional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;array is sometimes referred to as a flat file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Logical and Physical Data: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;One of the key features of the database approach is to bring&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;about a distinction between the logical and the physical structures of the data. The term&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;logical structure refers to the way the programmers see it and the physical structure refers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;to the way data are actually recorded on the storage medium. Even in the early stages of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;records stored on tape, the length of the inter-record tape requires that many logical&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;records be grouped into one physical record to several storage places on tape. It was the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;software, which separated them when used in an application program, and combined them&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;again before writing back on tape. In today's system the complexities are even greater and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;as will be seen when one is referring to distributed databases that some records may&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;physically be located at significantly remote places.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Schema and Subschema: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Having seen that the database does not focus on the logical&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;organization and decouples it from the physical representation of data, it is useful to have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;a term to describe the logical database description. A schema is a logical database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;description and is drawn as a chart of the types of data that are used. It gives the names of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the entities and attributes, and specifies the relationships between them. It is a framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;into which the values of the data item can be fitted. Like an information display system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;such as that giving arrival and departure time at airports and railway stations, the schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;will remain the same though the values displayed in the system will change from time to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;time. The relationships that has specified between the different entities occurring in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;schema may be a one to one, one to many, many to many, or conditional.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The term schema is used to mean an overall chart of all the data item types and recordtypes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;stored in a database. The term sub schema refers to the same view but for the dataitem&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;types and record types which a particular user uses in a particular application or.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Therefore, many different sub schemas can be derived from one schema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Data Dictionary: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;It holds detailed information about the different structures and data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;types: the details of the logical structure that are mapped into the different structure,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;details of relationship between data items, details of all users privileges and access rights,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;performance of resource with&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;11&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;details.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.6 THREE VIEWS OF DATA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DBMS is a collection of interrelated files and a set of programs that allow several users to access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and modify these files. A major purpose of a database system is to provide users with an abstract&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;view of the data. However, in order for the system to be usable, data must be retrieved efficiently.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The concern for efficiently leads to the design of complex data structure for the representation of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data in the database. By defining levels of abstract as which the database may be viewed, there&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;are &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;logical view or external, conceptual view and internal view or physical view&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;External view: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;This is the highest level of abstraction as seen by a user. This level of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;abstraction describes only the part of entire database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Conceptual view: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;This is the next higher level of abstraction which is the sum total of Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Base Management System user's views. In this we consider; what data are actually stored&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;in the database. Conceptual level contains information about entire database in terms of a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;small number of relatively simple structures.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-family: Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Internal level: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The lowest level of abstraction at which one describes how the data are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;physically stored. The interrelationship of any three levels of abstraction is illustrated in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;figure 2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Fig: The three views of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;To illustrate the distinction among different views of data, it can be compared with the concept of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data types in programming languages. Most high level programming language such as C, VC++,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;etc. support the notion of a record or structure type. For example in the ‘C’ language we declare&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;structure (record) as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;struct Emp{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;char name [30];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;12&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;char address [100];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;This defines a new record called Emp with two fields. Each field has a name and data type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;associated with it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;In an Insurance organization, we may have several such record types, including among others:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;-Customer with fields name and Salary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;-Premium paid and Due amount at what date&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;-Insurance agent name and salary + Commission&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;At the internal level, a customer, Premium account, or employee (insurance agent) can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;described as a sequence of consecutive bytes. At the conceptual level each such record is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;described by a type definition, illustrated above and also die interrelation among these record&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;types is defined and describing the rights or privileges assign to individual customer or end-users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Finally at the external level, we define several views of the database. For example, for preparing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the Insurance checks of Customer_details’, only information about them is required; one does not&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;need to access information about customer accounts. Similarly, tellers can access only account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;information. They cannot access information concerning about the premium paid or amount&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;received.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.7 The Three Level Architecture Of DBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A database management system that provides these three levels of data is said to follow threelevel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;architecture as shown in fig. . These three levels are the external level, the conceptual level,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and the internal level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Fig : The three level architecture for a DBM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A schema describes the view at each of these levels. A schema as mentioned earlier is an outline&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;or a plan that describes the records and relationships existing in the view. The schema also&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;describes the way in which entities at one level of abstraction can be mapped to the next level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The overall design of the database is called the database schema. A database schema includes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;such information as:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;· Characteristics of data items such as entities and attributes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;· Format for storage representation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;· Integrity parameters such as physically authorization and backup politics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;· Logical structure and relationship among those data items&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The concept of a database schema corresponds to programming language notion of type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;definition. A variable of a given type has a particular value at a given instant in time. The concept&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of the value of a variable in programming languages corresponds to the concept of an instance of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;a database schema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;13&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Since each view is defined by a schema, there exists several schema in the database and these&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;exists several schema in the database and these schema are partitioned following three levels of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data abstraction or views. At the lower level we have the physical schema; at the intermediate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;level we have the conceptual schema, while at the higher level we have a subschema. In general,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database system supports one physical schema, one conceptual schema, and several subschemas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.7.1 External Level or Subschema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The external level is at the highest level of database abstraction where only those portions of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database of concern to a user or application program are included. Any number of user views may&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;exist for a given global or conceptual view.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Each external view is described by means of a schema called an external schema or subschema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The external schema consists of the, definition of the logical records and the relationships in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;external view. The external schema also contains the method of deriving the objects in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;external view from the objects in the conceptual view. The objects include entities, attributes, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relationships.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.7.2 Conceptual Level or Conceptual Schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;One conceptual view represents the entire database. The conceptual schema defines this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;conceptual view. It describes all the records and relationships included in the conceptual view&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and, therefore, in the database. There is only one conceptual schema per database. This schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;also contains the method of deriving the objects in the conceptual view from the objects in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;internal view.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The description of data at this level is in a format independent of its physical representation. It&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;also includes features that specify the checks to retain data consistency and integrity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.7.3 Internal Level or Physical Schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;It indicates how the data will be stored and describes the data structures and access methods to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;be used by the database. The internal schema, which contains the definition of the stored record,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the method of representing the data fields, expresses the internal view and the access aids used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.7.4 Mapping between different Levels&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Two mappings are required in a database system with three different views. A mapping between&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the external and conceptual level gives the correspondence among the records and the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relationships of the external and conceptual levels.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;a) EXTERNAL to CONCEPTUAL: Determine how the conceptual record is viewed by the user&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;b) INTERNAL to CONCEPTUAL: Enable correspondence between conceptual and internal levels. It&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;represents how the conceptual record is represented in storage.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;An internal record is a record at the internal level, not necessarily a stored record on a physical&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;storage device. The internal record of figure 3 may be split up into two or more physical records.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The physical database is the data that is stored on secondary storage devices. It is made up of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;records with certain data structures and organized in files. Consequently, there is an additional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;mapping from the internal record to one or more stored records on secondary storage devices.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.8 Relational Database Systems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The relational model, invented by IBM researcher Ted CODD in 1970, wasn't turned into a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;commercial product until almost 1980. Since then database systems based on the relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;model, called relational database management systems or RDBMS, have come to dominate the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database software market. Today few people know about any other kind of database management&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Few RDBMS implement the relational model completely. Although commercial RDBMS have a lot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;in common, each system has quirks and non-standard extensions. You must understand&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relational theory to correctly design a database -just learning a particular RDBMS won't get you&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;all the way there.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A good RDBMS and a well-designed relational database give you some important benefits:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;14&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Data integrity and consistency maintained and/or enforced by the RDBMS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Redundant data eliminated or kept to a practical minimum.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Data retrieved by unique keys.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Relationships expressed through matching keys.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Physical organization of data managed by RDBMS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Optimization of storage and database operation execution times.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.9 Data Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Collections of conceptual tools for describing data, data relationships, data semantics and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;consistency constraints. The various data models that have been proposed fall into three different&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;groups. Object based logical models, record-based logical models and physical models.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Object-Based Logical Models: They are used in describing data at the logical and view levels. They&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;are characterized by the fact that they provide fairly flexible structuring capabilities and allow&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data constraints to be specified explicitly. There are many different models and more are likely to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;come. Several of the more widely known ones are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The E-R model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The object-oriented model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The semantic data model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The functional data model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Data Modeling Using E-R Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The (E-R) data model is based on a perception of a real worker that consists of a collection of basic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;objects, called entities, and of relationships among these objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The overall logical structure of a database can be expressed graphically by an E-R diagram. Which&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;is built up by the following components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Rectangles, which represent entity sets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Ellipses, which represent attributes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Diamonds, which represent relationships among entity sets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Lines, which link attributes to entity sets and entity sets to relationships.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;E.g. suppose we have two entities like customer and account, then these two entities can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;modeled as follow:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A sample E-R diagram&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;The Object-Oriented Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Like the E-R model the object-oriented model is based on a collection of objects. An object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;contains values stored in instance variables within the object. An object also contains bodies of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;code that operate on the object. These bodies of code are called methods.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;15&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Customer name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 8pt; font-family: CenturyGothic;"&gt;Customer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Customer city &lt;/span&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;Balance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Depos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;it Account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: LucidaSansUnicode;"&gt;CUSTOMER (Table name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: LucidaSansUnicode;"&gt;Customer–name Customer-street Customer-City Account-number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Johnsons Alma Pala Alto A-101&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Smith &lt;st1:place st="on"&gt;North Ryc&lt;/st1:place&gt; A-215&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Hayes Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-102&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Turner Dutnam Stanford A-305&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Johnson Alma PalaAlto A-201&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Jones Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-217&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Lindsay Park Pittifield A-222&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Smith &lt;st1:place st="on"&gt;North Rye&lt;/st1:place&gt; A-201&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Classes- It is the collection of objects which consist of the same types of values and the same&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;methods.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;E.g. account number &amp;amp; balance are instance variables; pay-interest is a method that uses the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;above two variables and adds interest to the balance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Semantic Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;These include the extended relational, the semantic network and the functional models. They are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;characterized by their provision of richer facilities for capturing the meaning of data objects and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;hence of maintaining database integrity. Systems based on these models exist in monotype for at&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the time of writing and will begin to filter through the next decade.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Record-Based Logical Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Record based logical models are used in describing data at the logical and view levels. In contrast&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;to object-based data models, they are used both to specify the overall logical structures of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database, and to provide a higher-level description of the implementation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Record-based models are so named because the database is structured in fixed-format records of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;several types. Each record type defines a fixed number of fields, or attributes, and each field is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;usually of a fixed length.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The three most widely accepted record-based data models are the relational, network, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;hierarchical models.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Relational Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The relational model uses a collection of tables to represent both data and the relationships&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;among those data. Each table has multiple columns, and each column has a unique name as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A sample relational database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Network Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Data in the network model are represented by collections of records, and relationship among data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;is represented by links, which can be viewed as pointers. The records in the database are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;organised as collections of arbitrary graphs. Such type of database is shown in the figure given&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;bellow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Johnsons Alma Pala Alto A-101 500&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Smith &lt;st1:place st="on"&gt;North Rye&lt;/st1:place&gt; A-215 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Hayes Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-102 400&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;16&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;A-222 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Turner Dutnam Stanford A-305 350&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Jones Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-201 900&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Lindsay Park Pittifield A-217 750&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A sample network database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Hierarchical Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The hierarchical model is similar to the network model in the sense that data and relationships&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;among data one represented by records and links, respectively. It differs from the network model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;in that records are organised as collections of trees rather than arbitrary graphs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A sample Hierachical database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Physical Data Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Physical data models are used to describe data at the lowest level. In contrast to logical data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;models, there are few physical data models in use. Two of the widely known ones are the unifying&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;model and the frame-memory model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;10. Database Languages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;17&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-222 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-217 350&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Johnson customer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;street -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Smith North -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Hayes &lt;st1:place st="on"&gt;Main&lt;/st1:place&gt; -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Turner Putnam -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Jones &lt;st1:place st="on"&gt;Main&lt;/st1:place&gt; -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;Lindsay Park -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-101 500&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-201 900&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-215 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-201 900&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-102 400&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: CenturyGothic;"&gt;A-305 350&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: TimesNewRomanPSMT;"&gt;CUSTOMER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A database system provides two different types of languages: one to specify the database schema,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and the other to express database queries and updates.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.10 Database Languages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Data Definition Language (DDL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A database schema is specified by a set of definition expressed by a special language called a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data-definition language (DDL). The result of compilation of DDL statement is a set of tables that&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;is stored in a special file called data dictionary, or data directory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A data dictionary is a file that contain metadata-that is about data. This file is consulted before&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;actual data are read or modified in the database system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The storage structure and access methods used by the database system are specified by as set of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;definitions in a special type of DDL called a data storage and definition language. The result of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;compilation of these definitions is a set of instructions to specify the implementation details of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database schema - details are usually hidden from the users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Data Manipulation Language&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;By data manipulation, we mean&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The retrieval of information stored in the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The insertion of new information into the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The deletion of information stored in the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A data-manipulation language (DML) is a language that enables user to access or manipulate data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;as organised by the appropriate data model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;There are basically two types:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Procedural DML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;It requires a user to specify what data are needed and how to get those data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Nonprocedural DML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;It requires a user to specify what data are needed without specifying how to get those data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Normalization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;About relational databases, you probably know about normalization. The process of normalization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;transforms data into forms that conform to the relational model. Normalized data enables the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;RDBMS to enforce integrity rules, guarantee consistency, and optimize database access. Learning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;how to normalize data takes significant time and practice. Data modelers spend a lot of time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;understanding the meaning of data so they can properly normalize it, but programmers frequently&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;downplay normalization, or dismiss it outright as an academic problem. Most databases come&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;from power users and programmers, not data modelers, and most databases suffer from unnormalized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data, redundancy, integrity and performance problems. Un-normalized databases&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;usually need a lot of application code to protect the database from corruption.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.11 Client-Server and Multi-Tier Architectures&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Client/Server Technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Client/server technology is the computer architecture used in almost all automated library&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;systems now being offered to libraries. The simple definition is:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Client/server is a computer architecture that divides functions into client (requestor) and server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;(provider) subsystems, with standard communication methods (such as TCP/IP and z39.50) to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;facilitate the sharing of information between them. Among the characteristics of a client/server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;architecture are the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;18&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The client and server can be distinguished from one another by the differences in tasks they&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;perform&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The client and server usually operate on different computer platforms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Either the client or server may be upgraded without affecting the other. Clients may connect&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;to one or more servers; servers may connect to multiple clients concurrently.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Clients always initiate the dialogue by requesting a service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Client/server is most easily differentiated from hierarchical processing, which uses a host and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;slave, by the way a PC functions within a system. In client/server the PC-based client&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;communicates with the server as a computer; in hierarchical processing the PC emulates a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;"dumb" terminal to communicate with the host. In client/server the client controls part of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;activity, but in hierarchical processing the host controls all activity. A client PC almost always&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;does the following in a client/server environment: screen handling, menu or command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;interpretation, data entry, help processing, and error recovery.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The dividing line between the client and a server can be anywhere along a broad continuum: at&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;one end only the user interface has been moved onto the client; at the other, almost all&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;applications have been moved onto the client and the database may be distributed. There are at&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;least five points along the continuum:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Distributed presentation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The presentation is handled partly by the server and partly by the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Remote presentation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The presentation is controlled and handled entirely by the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Distributed logic:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The application logic is handled partly by the server and partly by the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Remote data management:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Database management is controlled and handled entirely by the server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Distributed database:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Database management is handled partly by the server and partly by the client. There are,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;therefore, two major applications for client/server in a library environment:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1) as the architecture for an automated library system, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;2) as an approach to linking heterogeneous systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;In the first application, a vendor designs a system using client/server architecture to facilitate use&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of that system to access multiple servers, to facilitate bringing together multiple product lines,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and/or to improve productivity. In the second application, a vendor designs a client to facilitate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;19&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;transparent access to systems of other vendors, and a server to facilitate transparent access to its&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;system from others. While the underlying principles are the same, the vendor has considerable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;latitude in the design of its own client/server system, but must strictly conform to standards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;when using client/server to link its system with those of other libraries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;While it has been possible to access a wide variety of electronic resources through an automated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;library system for a number of years, client/server technology has made it possible to tailor the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;user interface to provide a personalized interface which meets the needs of any particular user&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;based on an analysis of tasks performed or on an individual's expressed preferences. An example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of this tailoring is the recent introduction of portals, common user interfaces to a wide variety of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;electronic resources with the portal. [See the Tech Note on Portal Technology]. The portal can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;tailored to groups of staff or patrons, or to each individual.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Vendors with multiple product lines can build a single client to work with any of their server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;products. This substantially reduces development costs. Client/server can also improve&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;productivity. Many vendors are now offering different clients for technical services, circulation,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and patron access catalog applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A GUI (graphical user interface) -- a presentation of information to the user using icons and other&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;graphics -- is sometimes called client/server, but unless information moves from the server to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;client in machine-readable (raw) form, and the client does the formatting to make it humanreadable,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;it is not true client/server. Further, there is nothing in the client/server architecture&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;that requires a GUI. Nevertheless, most vendors of automated library systems use GUI for staff&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;applications. The GUIs are proprietary to each vendor. Web browsers are preferred for patron&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;applications because they are more likely to be familiar to them than a proprietary GUI.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;An important computer industry development which has facilitated client/server architecture is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;referred to as "open systems" C a concept which features standardized connectivity so that&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;components from several vendors may be combined. The trend to open systems began in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1970s as a reaction against proprietary systems that required that all hardware and system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;software come from a single source, and gained momentum in the 1980s, as networking became&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;common. While various parts of an organization might not hesitate to purchase proprietary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;systems to meet their own needs, the desire to provide access from other parts of the organization,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;or to exchange information, would be an incentive to select an open system. For client/server,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;open systems are essential.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Most client/server systems offered by automated library system vendors use an open operating&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;system such as UNIX or one of its variations, or Windows NT or 2000 server. UNIX is the most&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;popular operating system for servers because of the large range of platform sizes available, but&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Windows NT or 2000 server has been growing in popularity, especially for systems supporting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;fewer than 100 concurrent users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The most popular client operating systems are Windows 95/98/Me/2000 and Linux. By&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;supporting multiple client operating systems, a vendor of an automated library system makes it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;possible for the client to conform to a staff member’s or patron's accustomed operating system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;environment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Almost all client/server systems use a relational database management system (RDBMS) for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;handling the storage and retrieval of records in the database using a series of tables of values.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;There is a common misconception that client/server is synonymous with networked SQL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;(Structured Query Language) databases. SQL, a popular industry-standard data definition and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;access language for relational databases, is only one approach -- albeit the one selected by almost&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;all automated library system vendors. While one can reasonably expect the use of an RDBMS and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;SQL, the absence of either does not mean that a system is not client server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A network computer is a PC without a hard disk drive. They have been little used in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;libraries because most libraries use their PCs for a variety of applications in addition to accessing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the automated library system. Even when there are applications that lend themselves for use on&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;thin clients, most libraries have preferred to use older PCs that are no longer suitable for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;applications that require robust machines. They use a two-tier PC strategy that involves the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;purchase and deployment of new PCs for applications that require robust machines and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;redeployment of the replaced machines for applications that they can support. For example, new&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;PCs are used for most staff applications and patron access to the Internet: older PCs are used as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;“express catalogs,” devices that have a Web browser, but are limited to accessing the library’s&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;patron access catalog. The two-tier PC strategy can extend the life of a PC by as much as three&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;years.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;20&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Network computers are most widely used in large organizations that have to support thousands of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;users. Almost all applications, including word processing, spreadsheets, and other office&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;applications, are loaded on a server. It is then not necessary to load new product releases on each&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;machine; only the applications on the server have to be updated. Most libraries do not have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;enough users to realize significant savings by taking this approach. For libraries that have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;hundreds of PCs, remote PC management is an alternative to thin clients; for libraries that have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;fewer than 100 PCs, it is possible to support each individually.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A PDA is a handheld device that combines computing, telephone, fax, and networking features.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;While originally pen-based (i.e., using a stylus), many models now come with a small keyboard.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The Palm Pilot is an example of a PDA. A number of libraries now encourage their users to access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the patron access catalog with a PDA. It is this application which holds the most promise for the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;use of thin clients in libraries. As the bandwidth available for wireless applications increases and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the costs of PDAs drops, the use of PDAs for access to databases is expected to increase&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;dramatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The key to thin client technology is Java, a general purpose programming language with a number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of features that make it well suited for use on the Web. Small Java applications are called Java&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;applets and can be downloaded from a Web server and run on a device which includes a Javacompatible&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Web browser such as Netscape Navigator or Microsoft Internet Explorer. This means&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;that the thin client does not need to be loaded with applications software.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;A thin client can also be GUI-based. In that case, the client handles only data presentation and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;deals with the user interaction; all applications and database management is found on the server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Vendors of automated library systems favor proprietary GUI-based clients for staff because that&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;makes it possible to exploit the features of their systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.12 Multimedia Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The weblicon PIM has been built on a multi-tier architecture to support high scalability through&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;load-balancing and high availability through redundancy. The HTTP Client tier communicates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;with the HTTP Server tier which routes incoming requests to the Application Server tier. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Application Server tier connects to the Database Server tier consisting of RDBMS, LDAP and IMAP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Servers. All tiers can be scaled individually by building clusters of servers for load-balancing and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;high redundancy embedding information into multimedia data that should be imperceptible but&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;unmemorable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;For model-based compression and animation of face models as defined in MPEG-4, a watermark&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;can be embedded into the transmitted facial animation parameters. The watermark can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;retrieved from the animation parameters or from video sequences rendered with the watermarked&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;animation parameters, even after subsequent low-quality video compression of the rendered&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;sequence. Entering the derived or generated data into the database and associating it with the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;original information gives other users automatic access to the conclusions, thoughts, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;annotations of previous users of the information. This ability to modify, adjust, enhance, or add to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the global set of information and then share that information with others is a powerful and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;important service. This type of service requires cooperation between the multimedia data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;manipulation tools described above and the information repositories scattered across the network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Generated or extracted information must be deposited and linked with existing information so&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;that future users will not only benefit from the original information but also from the careful&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;analysis and insight of previous users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;21&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.13 Information Integration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Information integration is an important feature of Oracle9&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;i &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Database. Oracle provides many&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;features that allow customers to synchronously and asynchronously integrate their their data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;including &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Oracle Streams, Oracle Advanced Queuing, replication&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;, and &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;distributed SQL&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Oracle also provides gateways to non-Oracle database servers, providing seamless interoperation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;in heterogeneous environments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Asynchronous Integration with Oracle Streams&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Oracle Streams enables the propagation and management of data, transactions and events in a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data stream either within a database, or from one database to another. The stream routes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;published information to subscribed destinations. The result is a new feature that provides&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;greater functionality and flexibility than traditional solutions for capturing and managing events,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and sharing the events with other databases and applications. Oracle Streams provides both&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;message queuing and replication functionality within the Oracle database. To simplify&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;deployment of these specialized information integration solutions, Oracle provides customized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;APIs and tools for message queuing, replication, and data protection solutions. These include:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Advanced Queuing for message queuing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: SimSun;" lang="ZH-CN"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Replication with Oracle Streams&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Asynchronous Integration with Oracle Advanced Replication&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Oracle9i also includes Advanced Replication. This is a powerful replication feature first&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;introduced in Oracle7. Advanced Replication is useful for replicating object between Oracle9i&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Database and older versions of the Oracle Server (that do not support Oracle Streams-based&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Replication). Advanced Replication also provides Oracle Materialized Views; a replication solution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;targeted for mass deployments and disconnected replicas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Synchronous Integration with Distributed SQL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Oracle Distributed SQL enables synchronous access from one Oracle database, to other Oracle or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;non-Oracle databases. Distributed SQL supports location independence, making remote objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;appear local, facilitating movement of objects between databases without application code&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;22&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;changes. Distributed SQL supports both queries and DML operations, and can intelligently&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;optimize execution plans to access data in the most efficient manner.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.14 Data-Definition Language Commands&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Empress provides a set of Structured Query Language (SQL) commands that allows users to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;request information from the database. The Empress SQL language has three levels of operations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1. A basic level at which data management commands are typed in without any prompting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The full range of data management commands is available at this level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;2. Data Definition Language commands are concerned with the structure of the database and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;its tables.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;3. Data Manipulation Language commands are concerned with the maintenance and retrieval&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of the data stored in the database tables.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;4. Data Control Language commands provide facilities for assuring the integrity and security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of the data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Data Definition Language Command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The overall structure of the database is defined by the Data Definition Language (DDL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;commands. The result of compiling DDL commands is a set of tables called the data dictionary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;which contains information about the data in the database. Detailed descriptions of the Empress&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DDL commands are provided in the Empress SQL: Reference manual. A summary of the available&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DDL commands follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Command Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;ALTER TABLE Changes the structure of an existing table without having to dump and reload&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;its records. This also includes enable/disable trigger, define table type for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;replication, enabling and disabling replication relations, and setting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;checksum for a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE COMMENT Attaches a comment to a table or attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE INDEX Sets up a search-aiding mechanism for an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE MODULE Creates the definition of a persistent stored module into the data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE RANGE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CHECK Sets up data validation checks on an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;REFERENTIAL Sets up data referential constraints on attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;MASTER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Assings replication master entries to a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;REPLICATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Assings replication replicate entries to a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE REPLICATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;TABLE Creates replicate table from a replication master table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE TABLE Creates a new table or replicate table including its name and the name and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data type of each of its attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE TRIGGER Sets up trigger events into data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CREATE VIEW Creates a logical table from parts of one or more tables.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DISPLAY DATABASE Shows the tables in the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DISPLAY GRANT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;PRIVILEGE Shows privilege grant options for a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DISPLAY MODULE Shows the persistent stored module definition.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;23&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DISPLAY PRIVILEGE Shows access privileges for a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DISPLAY TABLE Shows the structure of a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP COMMENT Removes a comment on a table or attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP INDEX Removes an index on an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP MODULE Removes a persistent stored module definition from the data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP&lt;/span&gt;&lt;/st1:placename&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;  &lt;st1:placetype st="on"&gt;RANGE&lt;/st1:placetype&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;CHECK Removes data validation checks on an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;REFERENTIAL Removes a data referential constraints from attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;MASTER Removes replication master entry from a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;REPLICATE Removes replication replicate entry from a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP TABLE Removes an existing table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP TRIGGER Removes a trigger event from the data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;DROP VIEW Removes a logical table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;GRANT PRIVILEGE Changes access privileges for tables or attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;LOCK LEVEL Sets the level of locking on a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;RENAME Changes the name of a table or attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;REVOKE PRIVILEGE Removes table or attribute access privileges.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;UPDATE MODULE Links a persistent stored module definition with the module shared library.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.15 Overview of Query Processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The techniques used by a DBMS to process, optimize, and execute high-level queries. A query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;expressed in a high-level query language such as SQL must first be scanned, parsed, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;validated. The scanner identifies the language tokens—such as SQL keywords, attributes names&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and relation names—in the text of the query, whereas the parser checks the query syntax to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;determine whether it is formulated according to the syntax rules (rules of grammar) of the query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;language. The query must also be validated, by checking that all attribute and relation names are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;valid and semantically meaningful names in the schema of the particular database being queried.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;An internal representation of the query is then created, usually as a tree data structure called&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;query tree. It is also possible to represent the query using a graph data structure called a query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;graph. The DBMS must then devise an execution strategy for retrieving the result of the query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;from the database files. A query typically has many possible execution strategies, and the process&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;of choosing a suitable one for processing a query is known as query optimization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Query Processing Strategies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The steps involved in processing a query are illustrated in Figure 5.2. The basic steps are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1. Parsing and translation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;2. Optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;3. Evaluation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Before query processing can begin, the system must translate the query into a usable form. A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;language such as SQL is suitable for human use, but is ill suited to be the system’s internal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;representation of a query. A more useful internal representation is one based on the extended&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relational algebra.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;24&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;Steps in Query Processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Thus, the first action the system must take in query processing is to translate a given query into&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;its internal form. This translation process is similar to the work performed by the parser of a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;compiler. In generating the internal form of the query, the parser checks the syntax of the user's&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;query, verifies that the relation names appearing in the query are names of relations in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database, and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Query optimization is left, for the most part, to the application programmer. That choice is made&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;because the data-manipulation-language statements of these two models are usually embedded in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;a host programming language, and it is not easy to transform a network or hierarchical query into&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;an equivalent one without knowledge of the entire application program. In contrast, relationalquery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;languages are either declarative or algebraic. Declarative languages permit users to specify&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;what a query should generate without saying how the system should do the generating. Algebraic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;languages allow for algebraic transformation of users' queries. Based on the query specification, it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;is relatively easy for an optimizer to generate a variety of equivalent plans for a query, and to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;choose the least expensive one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;25&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.16 Storage and Buffer Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Despite its many virtues, the relational data model is a poor fit for many types of data now&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;common across the enterprise. In fact, object databases owe much of their existence to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;inherent limitations of the relational model as reflected in the SQL2 standard. In recent years, a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;growing chorus of demands has arisen from application developers seeking more flexibility and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;functionality in the data model, as well as from system administrators asking for a common&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database technology managed by a common set of administrative tools. As a result, vendors and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the SQL3 standard committees to include object capabilities are now extending the relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Object/relational (O/R) database products are still quite new, and the production databases to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;which they have been applied are usually modest in size--50GB or less. As O/R technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;becomes more pervasive and memory and storage costs continue to fall, however, databases&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;incorporating this new technology should grow to a size comparable to that of pure relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;databases. Indeed, growth in the new technology is likely if for no other reason than that much of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;this new data is inherently larger than the record/field type data of traditional relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;However, while limits to the growth of individual pure relational databases have been imposed as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;much by hardware evolution as by software, the limits for O/R databases will arise primarily from&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;software. In this article, I'll explore the implications of the architecture approaches chosen by the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;principal O/R database product designers--IBM, Informix, NCR, Oracle, Sybase, and Computer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Associates--for scalability of complex queries against very large collections of O/R data. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;powerful new data type extension mechanisms in these products limit the ability of vendors to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;assume as much of the burden of VLDB complexity as they did for pure relational systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Instead, these mechanisms impose important additional responsibilities on the designers of new&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;types and methods, as well as on application designers and DBAs; these responsibilities become&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;more crucial and complex as the size of the databases and the complexity of the queries grow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Finally, I'll explain how parallel execution is the key to the cost effectiveness--or even in some&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;cases to the feasibility--of applications that exploit the new types and methods, just as with pure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relational data. In contrast to the pure relational approach, however, achieving O/R parallelism is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;much more difficult.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The term "VLDB" is overused; size is but one descriptive parameter of a database, and generally&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;not the most important one for the issues I'll raise here. Most very large OLTP relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;databases, for example, involve virtually none of these issues because high-volume OLTP queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;are almost always short and touch few data and metadata items. In addition, these OLTP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;databases are frequently created and administered as collections of semi-independent smaller&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;databases, partitioned by key value. In contrast, the VLDB issues discussed here arise in very&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;large databases accessed by queries that individually touch large amounts of data and metadata&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and involve join operations, aggregations, and other operations touching large amounts of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and metadata. Such databases and applications today are usually found in data warehousing and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;data mining applications, among other places.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The VLDB environments with these attributes are characterized by many I/O operations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;within a single query involving multiple complex SQL operators and frequently generating large&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;intermediate result sets. Individual queries regularly cross any possible key partition boundary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and involve data items widely dispersed throughout the database. For these reasons, such a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database must normally be administered globally as a single entity. As a "stake in the ground," I'll&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;focus on databases that are at least 250GB in size, are commonly accessed by complex queries,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;require online administration for reorganization, backup and recovery, and are regularly subject&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;to bulk operations (such as insert, delete, and update) in single work-unit volumes of 25GB or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;more. For these databases, an MPP system, or possibly a very large SMP cluster, is required.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;However, many of the issues we raise will apply to smaller databases as well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;Parallel Execution of Individual Queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;In a pure relational database, success in such an environment of 250GB or more may require the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;highest degree of parallelism possible in execution of each individual query. The first key to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;parallel success is the structure of the SQL query language itself. In most queries, SQL acts as a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;set operator language that imposes few constraints on the order of execution; that is why&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;26&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;relational database optimizers have so much flexibility in choosing parallel execution plans. Thus,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;SQL as an application language is extremely hospitable to parallel execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Given this characterization, one must devise execution strategies that are optimized for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;parallel execution of an individual query, rather than merely providing for parallel execution of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;strategies optimized for serial execution. Note that individual DDL and DML operations--as well as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;other utilities such as backup and recovery--must execute in parallel. As indicated earlier, within&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the context of SQL2, RDBMS vendors did most of the work necessary to provide the necessary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;parallelism. Furthermore, it was possible to do so in ways that were largely transparent to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;application developer and the DBA. They were greatly aided not only by the structure of SQL, but&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;also by the fact that the core language and data types were mostly fixed during the '80s and early&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;'90s, at least as insofar as they affect parallel execution. Even so, it takes a vendor at least two or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;three years to evolve a mature relational product that fully supports parallelism within a query for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;VLDBs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;It’s worth noting that the complexity of adding parallelism for VLDB has two sources. The first is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;replacing serial algorithms with parallel ones. The second source is subtler: There is a qualitative&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;change of mindset that must take place if one is to design competitive software for these very large&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;collections of data. For example, the first reaction of a designer building a database load program&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;is to make it use the INSERT function. This technique works for small- and medium-sized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;databases but not for giant ones; it is simply too slow. Instead, one must design for multiple&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;streams of data to be loaded in parallel, capitalizing on the fact that multiple CPUs will be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;available on the MPP or SMP cluster. If the data is coming from a single serial source, such as a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;tape drive, the initial load task should focus only on getting each data item into memory as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;quickly as possible. The power of the other CPUs should then be invoked in parallel through tasks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;to get each datum to the right place, to index it properly, and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;These problems become more complex as O/R databases enter the mainstream; new and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;potentially exotic data types must be accommodated, and new methods must be written and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;optimized for parallel execution. Complex relationships far beyond the simple row and column&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;structure of the relational model can and will exist among instances of the new data types and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;even among instances of current SQL data types--in a parts-explosion database, for example, or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;when a "purchase order" object view is superimposed on an existing on-order database. New data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;access methods to support the new operations and data types will also be required and must also&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;be optimized for parallel execution. Finally, expect giant ratios of column sizes in O/R tables with&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the largest column entries being hundreds to thousands of times larger than the smallest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;columns within a table. This change will create a need for new approaches to storage and buffer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;management in servers as well as clients.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.17 Transaction Processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Is the following schedule serial? serialisable? Why or why not?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;T1 T2 T3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;-------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1 start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;2 read Z&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;3 start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;4 read Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;5 Y = Y + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;6 write Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;7 start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;8 read Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;9 read X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;10 Z = Z + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;11 X = X + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;12 checkpoint&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;13 write X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;" lang="FR"&gt;14 write Z&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;" lang="FR"&gt;15 Y = Y + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;" lang="FR"&gt;16 write Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;17 read X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;27&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;18 read Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;19 Y = Y + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;20 write Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;21 commit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;22 X = X + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;23 write X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;24 commit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;25 read W&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;26 W = W + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;27 write W&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;28 commit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;For the above sequence of transactions, show the log file entries, assuming initially Z = 1, Y = 2, X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;= 1, and W = 3. What happens to the transactions at the checkpoint?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1) The following transaction increases the total sales (A) and number of sales (B) in a store&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;inventory database. Write the values of A and B for each statement, assuming A is initially 100&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;and B is initially 2. The correctness criteria is that the average sale is $50. For each statement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;determine if the transaction dies during the statement whether the database is in a correct state.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;What should be done to repair the damage if the database is left in an incorrect state?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Transaction Start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;1) Read A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;2) A &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt; A + 50&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;3) Read B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;4) B &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt; B + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;5) Write B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;6) Write A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;7) Transaction ends&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;2) Which protocols potentially cause cascading rollbacks and why?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold;"&gt;1.18 The Query Processor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The query optimizer module has the task of producing an execution plan, and the code generator&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;generates the code to execute the plan. The runtime database processor has the task of running&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the query code, whether in compiled or interpreted mode, to produce the query result. If a runtime&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;error results, an error message is generated by the runtime database processor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Figure: Typical Steps of a Query processor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;The term optimization is actually a misnomer because in some cases the chosen execution plan is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;not the optimal (best) strategy—it is just a reasonably efficient strategy for executing the query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;Finding the optimal strategy is usually too time-consuming except for the simplest of queries and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 14pt; font-family: BookmanOldStyle-Bold;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle;"&gt;28&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;may require information on how the files are implemented and even on the contents of theseinformation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;that may not be fully available in the DBMS catalog. Hence, planning of an execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;strategy may be a more accurate description than query optimization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;For lower-level navigational database languages in legacy systems–such as the network DML or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;the hierarchical HDML- the programmer must choose the query execution strategy while writing a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;database program. If a DBMS provides only a navigational language, there is &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;limited need or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic;"&gt;opportunity &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;for extensive query optimization by the DBMS; instead, the programmer is given the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;capability to choose the "optimal" execution strategy. On the other hand, a high-level query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;language—such as SQL for relational DBMSs (RDBMSs) or OQL for object DBMSs (ODBMSs)—is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;more declarative in nature because it specifies what the intended results of the query are, rather&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;than the details of how the result should be obtained. Query optimization's thus necessary for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle;"&gt;queries that are specified in a high-level query language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-6833171465916456691?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/6833171465916456691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=6833171465916456691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/6833171465916456691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/6833171465916456691'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2008/08/introduction-of-database-management.html' title='Introduction of Database management System'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-3105446963043474673</id><published>2008-08-12T05:15:00.000-07:00</published><updated>2008-12-23T04:02:41.709-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>RDBMS</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///D:%5CDOCUME%7E1%5Cshesu04%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C06%5Cclip_filelist.xml"&gt;&lt;title&gt;© Moreniche&lt;/title&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PlaceType"&gt;&lt;/o:smarttagtype&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PlaceName"&gt;&lt;/o:smarttagtype&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"&gt;&lt;/o:smarttagtype&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:documentproperties&gt;   &lt;o:author&gt;Marcus Polo&lt;/o:Author&gt;   &lt;o:version&gt;11.9999&lt;/o:Version&gt;  &lt;/o:DocumentProperties&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id="ieooui"&gt;&lt;/object&gt; &lt;style&gt; st1\:*{behavior:url(#ieooui) } &lt;/style&gt; &lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:SimSun; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:ËÎÌå; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:"\@SimSun"; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:"\@Arial Unicode MS"; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:TimesNewRomanPSMT; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle-Bold; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle-Italic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:LucidaSansUnicode; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:CenturyGothic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:SimSun;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Data manipulation and information processing have become the major tasks of any organization,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;small or big, whether it is an educational institution, government concern, scientific, commercial&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;or any other. It is the plural of a Greek word datum, which means any raw facts, or figure like&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;numbers, events, letters, transactions, etc, based on which we cannot reach any conclusion. It&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;can be useful after processing, e.g. 78, it is simply a number (data) but if we say physics (78) then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;it will becomes information. It means somebody got distinctional marks in physics. Information is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;processed data. The user can take decision based on information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;An organization is only a mechanism for processing information and considers that the traditional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;management of information can be viewed in the context of information and process. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;manager may be considered as a planning and decision center. Established routes of information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;flow are used to determine the effectiveness of the organization in achieving its objectives. Thus,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;information is often described as the key to success in business.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;In essence a database is nothing more than a collection of information that exists over a long&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;period of time, often many years. In common parlance, the term database refers to a collection of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data that is managed by a DBMS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The DBMS is expected to:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1. Allow users to create new databases and specify their schema (logical structure of the data),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;using a specialized language called a data-definition language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;Data Processing Information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;2. Give users the ability to query the data (a \query" is database lingo for a question about the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data) and modify the data, using an appropriate language, often called a query language or datamanipulation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;3. Support the storage of very large amounts of data many gigabytes or more | over a long period&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of time, keeping it secure from accident or unauthorized use and allowing efficient access to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data for queries and database modifications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;4. Control access to data from many users at once, without allowing the actions of one user to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;accept other users and without allowing simultaneous&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A database is a collection of related data or operational data extracted from any firm or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;organization. For example, consider the names, telephone number, and address of people you&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;know. You may have recorded this data in an indexed address book, or you may have stored it on&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;a diskette, using a personal computer and software such as Microsoft Access of MS Office or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;ORACLE, SQL SERVER etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A Database Management System (DBMS) is a computer program you can use to store, organize&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and access a collection of interrelated data. The collection of data is usually referred to as the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database. The primary goal of a DBMS is to provide a convenient and effective way to store and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;retrieve data from the database. There are several types of data models (a data model is used to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;describe the structure of a database) and &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Empress &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;is a Relational Database Management System&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;(RDBMS) with Object Oriented extensions. &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Empress &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;is capable of managing data in multiple&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;databases. The data stored in each database is organized as tables with rows and columns. In&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relational database terminology, these tables are referred to as relations, rows are referred to as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;records, and columns are referred to as attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A database management system, therefore, is a combination of hardware and software&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;that can be used to set up and monitor a database, and can manage the updating and retrieval of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database, and can manage that can be used to set up and monitor a database, and can manage&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the updating and retrieval of database that has been stored in it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Most database management systems have the following facilities:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;a) Creating of a file, addition to data, modification of data; creation, addition and deletion of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;entire files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;b) Retrieving data collectively or selection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;c) The Data stored or indexed at the user’s discretion and direction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;d) Various reports can be produced from the system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;e) Mathematically function can be performed and the data will be stored in the database can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;manipulated with these functions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;f) To maintain data integrity and database use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The DBMS response to a query by involving the appropriate subgroups, each of which performs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;its special functions to interpret the query, or to locate the desired data in the database and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;present it in the desired order.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;As already mentioned, a database consists of a group of related files of different record types, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the database allows users to access data anywhere in the database without the knowledge of how&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data are actually organized on the storage device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.2 TRADITIONAL FILE ORIENTED APPROACH&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;Queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;COBOL/PL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;DBMS OS Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The traditional file-oriented approach to information processing has for each application a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;separate master file and its own set of personal files. An organization needs flow of information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;across these applications also and this requires sharing of data, which is significantly lacking in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the traditional approach. One major limitations of such a file-based approach is that the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;programs become dependent on the files and the files become dependent upon the programs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Disadvantages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Data Redundancy&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;: The same piece of information may be stored in two or more files. For&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;example, the particulars of an individual who may be a customer or client may be stored&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;in two or more files. Some of this information may be changing, such as the address, the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;payment maid, etc. It is therefore quite possible that while the address in the master file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;for one application has been updated the address in the master file for another application&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;may have not been. It may be not easy to even find out as to in how many files the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;repeating items such as the name occur.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Program/Data Dependency: &lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;In the traditional approach if a data field is to be added to a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;master file, all such programs that access the master file would have to be changed to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;allow for this new field which would have been added to the master record.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Lack of Flexibility: &lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;In view of the strong coupling between the program and the data,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;most information retrieval possibilities would be limited to well-anticipated and predetermined&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;requests for data, the system would normally be capable of producing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;scheduled records and queries which it has been programmed to create.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.3 MOTIVATION FOR DATABASE APPROACH&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Having pointed out some difficulties that arise in a straightforward file-oriented approach towards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;information system development. The work in the organization may not require significant sharing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of data or complex access. In other words the data and the way it is used in the functioning of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;organization are not appropriate to database processing. Apart from needing a more powerful&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;hardware platform, the software for database management systems is also quite expensive. This&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;means that a significant extra cost has to be incurred by an organization if it wants to adopt this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;approach.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Advantages &lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;gained by the possibility of sharing of the data with others, also carries with it the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;risk of unauthorized access of data. This may range from violation of office procedures to violation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of privacy rights of information to down right thefts. The organizations, therefore, have to be ready&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;to cope with additional managerial problems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A database management processing system is complex and it could lead to a more inefficient&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;system than the equivalent file-based one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The use of the database and its possibility of being shared will, therefore affect many departments&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;within the organization. If die integrity of the data is not maintained, it is possible that one&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relevant piece of data could have been used by many programs in different applications by&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;different users without they are being aware of it. The impact of this therefore may be very&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;widespread. Since data can be input from a variety sources, the control over the quality of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;become very difficult to implement.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;However, for most large organization, the difficulties in moving over to a database approach are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;still worth getting over in view of the advantages that are gained, namely, avoidance of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;duplication, sharing of data by different programs, greater flexibility and data independence.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.4 The Evolution of Database Systems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Early days: database applications built on top of file systems. Drawbacks of using file systems to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;store data:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Data redundancy and inconsistency&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Difficulty in accessing data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Atomicity of updates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Concurrency control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Data isolation — multiple files and formats&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Integrity problems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.5 DATABASE BASICS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Since the DBMS of an organization will in some sense reflect the nature of activities in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;organization, some familiarity with the basic concepts, principles and terms used in the field are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;important.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Data-items: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The term data item is the word for what has traditionally been called the field&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;in data processing and is the smallest unit of data that has meaning to its users. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;phrase data element or elementary item is also sometimes used. Although the data item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;may be treated as a molecule of the database, data items are grouped together to form&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;aggregates described by various names. For example, the data record is used to refer to a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;group of data items and a program usually reads or writes the whole records. The data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;items could occasionally be further broken down into what may be called an automatic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;level for processing purposes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Entities and Attributes: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The real world would consist of occasionally a tangible object such&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;as an employee; a component in an inventory or a space or it may be intangible such as an&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;event, a job description, identification numbers, or an abstract construct. All such items&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;about which relevant information is stored in the database are called Entities. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;qualities of the entity that we store as information are called the attributes. An attribute&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;may be expressed as a number or as a text. It may even be a scanned picture, a sound&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;sequence, and a moving picture that is now possible in some visual and multi-media&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;databases.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Data processing normally concerns itself with a collection of similar entities and records&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;information about the same attributes of each of them. In the traditional approach, a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;programmer usually maintains a record about each entity and a data item in each record&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relates to each attribute. Similar records are grouped into files and such a 2-dimensional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;array is sometimes referred to as a flat file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Logical and Physical Data: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;One of the key features of the database approach is to bring&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;about a distinction between the logical and the physical structures of the data. The term&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;logical structure refers to the way the programmers see it and the physical structure refers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;to the way data are actually recorded on the storage medium. Even in the early stages of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;records stored on tape, the length of the inter-record tape requires that many logical&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;records be grouped into one physical record to several storage places on tape. It was the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;software, which separated them when used in an application program, and combined them&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;again before writing back on tape. In today's system the complexities are even greater and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;as will be seen when one is referring to distributed databases that some records may&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;physically be located at significantly remote places.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Schema and Subschema: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Having seen that the database does not focus on the logical&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;organization and decouples it from the physical representation of data, it is useful to have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;a term to describe the logical database description. A schema is a logical database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;description and is drawn as a chart of the types of data that are used. It gives the names of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the entities and attributes, and specifies the relationships between them. It is a framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;into which the values of the data item can be fitted. Like an information display system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;such as that giving arrival and departure time at airports and railway stations, the schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;will remain the same though the values displayed in the system will change from time to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;time. The relationships that has specified between the different entities occurring in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;schema may be a one to one, one to many, many to many, or conditional.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The term schema is used to mean an overall chart of all the data item types and recordtypes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;stored in a database. The term sub schema refers to the same view but for the dataitem&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;types and record types which a particular user uses in a particular application or.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Therefore, many different sub schemas can be derived from one schema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Data Dictionary: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;It holds detailed information about the different structures and data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;types: the details of the logical structure that are mapped into the different structure,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;details of relationship between data items, details of all users privileges and access rights,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;performance of resource with&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;11&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;details.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.6 THREE VIEWS OF DATA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DBMS is a collection of interrelated files and a set of programs that allow several users to access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and modify these files. A major purpose of a database system is to provide users with an abstract&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;view of the data. However, in order for the system to be usable, data must be retrieved efficiently.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The concern for efficiently leads to the design of complex data structure for the representation of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data in the database. By defining levels of abstract as which the database may be viewed, there&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;are &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;logical view or external, conceptual view and internal view or physical view&lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;External view: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;This is the highest level of abstraction as seen by a user. This level of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;abstraction describes only the part of entire database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Conceptual view: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;This is the next higher level of abstraction which is the sum total of Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Base Management System user's views. In this we consider; what data are actually stored&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;in the database. Conceptual level contains information about entire database in terms of a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;small number of relatively simple structures.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span  lang="ZH-CN" style="font-family:SimSun;"&gt;·&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Internal level: &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The lowest level of abstraction at which one describes how the data are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;physically stored. The interrelationship of any three levels of abstraction is illustrated in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;figure 2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Fig: The three views of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;To illustrate the distinction among different views of data, it can be compared with the concept of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data types in programming languages. Most high level programming language such as C, VC++,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;etc. support the notion of a record or structure type. For example in the ‘C’ language we declare&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;structure (record) as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;struct Emp{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;char name [30];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;12&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;char address [100];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;This defines a new record called Emp with two fields. Each field has a name and data type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;associated with it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;In an Insurance organization, we may have several such record types, including among others:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;-Customer with fields name and Salary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;-Premium paid and Due amount at what date&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;-Insurance agent name and salary + Commission&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;At the internal level, a customer, Premium account, or employee (insurance agent) can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;described as a sequence of consecutive bytes. At the conceptual level each such record is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;described by a type definition, illustrated above and also die interrelation among these record&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;types is defined and describing the rights or privileges assign to individual customer or end-users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Finally at the external level, we define several views of the database. For example, for preparing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the Insurance checks of Customer_details’, only information about them is required; one does not&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;need to access information about customer accounts. Similarly, tellers can access only account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;information. They cannot access information concerning about the premium paid or amount&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;received.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.7 The Three Level Architecture Of DBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A database management system that provides these three levels of data is said to follow threelevel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;architecture as shown in fig. . These three levels are the external level, the conceptual level,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and the internal level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Fig : The three level architecture for a DBM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A schema describes the view at each of these levels. A schema as mentioned earlier is an outline&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;or a plan that describes the records and relationships existing in the view. The schema also&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;describes the way in which entities at one level of abstraction can be mapped to the next level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The overall design of the database is called the database schema. A database schema includes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;such information as:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;· Characteristics of data items such as entities and attributes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;· Format for storage representation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;· Integrity parameters such as physically authorization and backup politics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;· Logical structure and relationship among those data items&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The concept of a database schema corresponds to programming language notion of type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;definition. A variable of a given type has a particular value at a given instant in time. The concept&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of the value of a variable in programming languages corresponds to the concept of an instance of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;a database schema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;13&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Since each view is defined by a schema, there exists several schema in the database and these&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;exists several schema in the database and these schema are partitioned following three levels of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data abstraction or views. At the lower level we have the physical schema; at the intermediate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;level we have the conceptual schema, while at the higher level we have a subschema. In general,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database system supports one physical schema, one conceptual schema, and several subschemas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.7.1 External Level or Subschema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The external level is at the highest level of database abstraction where only those portions of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database of concern to a user or application program are included. Any number of user views may&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;exist for a given global or conceptual view.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Each external view is described by means of a schema called an external schema or subschema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The external schema consists of the, definition of the logical records and the relationships in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;external view. The external schema also contains the method of deriving the objects in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;external view from the objects in the conceptual view. The objects include entities, attributes, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relationships.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.7.2 Conceptual Level or Conceptual Schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;One conceptual view represents the entire database. The conceptual schema defines this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;conceptual view. It describes all the records and relationships included in the conceptual view&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and, therefore, in the database. There is only one conceptual schema per database. This schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;also contains the method of deriving the objects in the conceptual view from the objects in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;internal view.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The description of data at this level is in a format independent of its physical representation. It&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;also includes features that specify the checks to retain data consistency and integrity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.7.3 Internal Level or Physical Schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;It indicates how the data will be stored and describes the data structures and access methods to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;be used by the database. The internal schema, which contains the definition of the stored record,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the method of representing the data fields, expresses the internal view and the access aids used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.7.4 Mapping between different Levels&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Two mappings are required in a database system with three different views. A mapping between&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the external and conceptual level gives the correspondence among the records and the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relationships of the external and conceptual levels.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;a) EXTERNAL to CONCEPTUAL: Determine how the conceptual record is viewed by the user&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;b) INTERNAL to CONCEPTUAL: Enable correspondence between conceptual and internal levels. It&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;represents how the conceptual record is represented in storage.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;An internal record is a record at the internal level, not necessarily a stored record on a physical&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;storage device. The internal record of figure 3 may be split up into two or more physical records.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The physical database is the data that is stored on secondary storage devices. It is made up of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;records with certain data structures and organized in files. Consequently, there is an additional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;mapping from the internal record to one or more stored records on secondary storage devices.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.8 Relational Database Systems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The relational model, invented by IBM researcher Ted CODD in 1970, wasn't turned into a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;commercial product until almost 1980. Since then database systems based on the relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;model, called relational database management systems or RDBMS, have come to dominate the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database software market. Today few people know about any other kind of database management&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Few RDBMS implement the relational model completely. Although commercial RDBMS have a lot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;in common, each system has quirks and non-standard extensions. You must understand&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relational theory to correctly design a database -just learning a particular RDBMS won't get you&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;all the way there.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A good RDBMS and a well-designed relational database give you some important benefits:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;14&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Data integrity and consistency maintained and/or enforced by the RDBMS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Redundant data eliminated or kept to a practical minimum.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Data retrieved by unique keys.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Relationships expressed through matching keys.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Physical organization of data managed by RDBMS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Optimization of storage and database operation execution times.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.9 Data Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Collections of conceptual tools for describing data, data relationships, data semantics and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;consistency constraints. The various data models that have been proposed fall into three different&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;groups. Object based logical models, record-based logical models and physical models.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Object-Based Logical Models: They are used in describing data at the logical and view levels. They&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;are characterized by the fact that they provide fairly flexible structuring capabilities and allow&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data constraints to be specified explicitly. There are many different models and more are likely to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;come. Several of the more widely known ones are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The E-R model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The object-oriented model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The semantic data model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The functional data model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Data Modeling Using E-R Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The (E-R) data model is based on a perception of a real worker that consists of a collection of basic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;objects, called entities, and of relationships among these objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The overall logical structure of a database can be expressed graphically by an E-R diagram. Which&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;is built up by the following components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Rectangles, which represent entity sets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Ellipses, which represent attributes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Diamonds, which represent relationships among entity sets&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Lines, which link attributes to entity sets and entity sets to relationships.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;E.g. suppose we have two entities like customer and account, then these two entities can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;modeled as follow:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A sample E-R diagram&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;The Object-Oriented Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Like the E-R model the object-oriented model is based on a collection of objects. An object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;contains values stored in instance variables within the object. An object also contains bodies of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;code that operate on the object. These bodies of code are called methods.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;15&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Customer name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:8;"  &gt;Customer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Customer city &lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;Balance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Depos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;it Account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:LucidaSansUnicode;font-size:10;"  &gt;CUSTOMER (Table name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:LucidaSansUnicode;font-size:9;"  &gt;Customer–name Customer-street Customer-City Account-number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Johnsons Alma Pala Alto A-101&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Smith &lt;st1:place st="on"&gt;North Ryc&lt;/st1:place&gt; A-215&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Hayes Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-102&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Turner Dutnam Stanford A-305&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Johnson Alma PalaAlto A-201&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Jones Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-217&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Lindsay Park Pittifield A-222&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Smith &lt;st1:place st="on"&gt;North Rye&lt;/st1:place&gt; A-201&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Classes- It is the collection of objects which consist of the same types of values and the same&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;methods.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;E.g. account number &amp;amp; balance are instance variables; pay-interest is a method that uses the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;above two variables and adds interest to the balance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Semantic Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;These include the extended relational, the semantic network and the functional models. They are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;characterized by their provision of richer facilities for capturing the meaning of data objects and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;hence of maintaining database integrity. Systems based on these models exist in monotype for at&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the time of writing and will begin to filter through the next decade.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Record-Based Logical Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Record based logical models are used in describing data at the logical and view levels. In contrast&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;to object-based data models, they are used both to specify the overall logical structures of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database, and to provide a higher-level description of the implementation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Record-based models are so named because the database is structured in fixed-format records of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;several types. Each record type defines a fixed number of fields, or attributes, and each field is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;usually of a fixed length.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The three most widely accepted record-based data models are the relational, network, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;hierarchical models.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Relational Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The relational model uses a collection of tables to represent both data and the relationships&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;among those data. Each table has multiple columns, and each column has a unique name as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A sample relational database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Network Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Data in the network model are represented by collections of records, and relationship among data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;is represented by links, which can be viewed as pointers. The records in the database are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;organised as collections of arbitrary graphs. Such type of database is shown in the figure given&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;bellow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Johnsons Alma Pala Alto A-101 500&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Smith &lt;st1:place st="on"&gt;North Rye&lt;/st1:place&gt; A-215 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Hayes Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-102 400&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;16&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;A-222 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Turner Dutnam Stanford A-305 350&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Jones Main &lt;st1:place st="on"&gt;Harrison&lt;/st1:place&gt; A-201 900&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Lindsay Park Pittifield A-217 750&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A sample network database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Hierarchical Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The hierarchical model is similar to the network model in the sense that data and relationships&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;among data one represented by records and links, respectively. It differs from the network model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;in that records are organised as collections of trees rather than arbitrary graphs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A sample Hierachical database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Physical Data Models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Physical data models are used to describe data at the lowest level. In contrast to logical data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;models, there are few physical data models in use. Two of the widely known ones are the unifying&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;model and the frame-memory model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;10. Database Languages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;17&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-222 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-217 350&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Johnson customer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;street -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Smith North -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Hayes &lt;st1:place st="on"&gt;Main&lt;/st1:place&gt; -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Turner Putnam -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Jones &lt;st1:place st="on"&gt;Main&lt;/st1:place&gt; -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;Lindsay Park -------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-101 500&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-201 900&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-215 700&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-201 900&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-102 400&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:CenturyGothic;font-size:9;"  &gt;A-305 350&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:TimesNewRomanPSMT;font-size:9;"  &gt;CUSTOMER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A database system provides two different types of languages: one to specify the database schema,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and the other to express database queries and updates.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.10 Database Languages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Data Definition Language (DDL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A database schema is specified by a set of definition expressed by a special language called a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data-definition language (DDL). The result of compilation of DDL statement is a set of tables that&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;is stored in a special file called data dictionary, or data directory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A data dictionary is a file that contain metadata-that is about data. This file is consulted before&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;actual data are read or modified in the database system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The storage structure and access methods used by the database system are specified by as set of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;definitions in a special type of DDL called a data storage and definition language. The result of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;compilation of these definitions is a set of instructions to specify the implementation details of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database schema - details are usually hidden from the users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Data Manipulation Language&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;By data manipulation, we mean&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The retrieval of information stored in the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The insertion of new information into the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The deletion of information stored in the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A data-manipulation language (DML) is a language that enables user to access or manipulate data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;as organised by the appropriate data model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;There are basically two types:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Procedural DML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;It requires a user to specify what data are needed and how to get those data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Nonprocedural DML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;It requires a user to specify what data are needed without specifying how to get those data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Normalization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;About relational databases, you probably know about normalization. The process of normalization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;transforms data into forms that conform to the relational model. Normalized data enables the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;RDBMS to enforce integrity rules, guarantee consistency, and optimize database access. Learning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;how to normalize data takes significant time and practice. Data modelers spend a lot of time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;understanding the meaning of data so they can properly normalize it, but programmers frequently&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;downplay normalization, or dismiss it outright as an academic problem. Most databases come&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;from power users and programmers, not data modelers, and most databases suffer from unnormalized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data, redundancy, integrity and performance problems. Un-normalized databases&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;usually need a lot of application code to protect the database from corruption.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.11 Client-Server and Multi-Tier Architectures&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Client/Server Technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Client/server technology is the computer architecture used in almost all automated library&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;systems now being offered to libraries. The simple definition is:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Client/server is a computer architecture that divides functions into client (requestor) and server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;(provider) subsystems, with standard communication methods (such as TCP/IP and z39.50) to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;facilitate the sharing of information between them. Among the characteristics of a client/server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;architecture are the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;18&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The client and server can be distinguished from one another by the differences in tasks they&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;perform&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The client and server usually operate on different computer platforms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Either the client or server may be upgraded without affecting the other. Clients may connect&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;to one or more servers; servers may connect to multiple clients concurrently.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Clients always initiate the dialogue by requesting a service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Client/server is most easily differentiated from hierarchical processing, which uses a host and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;slave, by the way a PC functions within a system. In client/server the PC-based client&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;communicates with the server as a computer; in hierarchical processing the PC emulates a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;"dumb" terminal to communicate with the host. In client/server the client controls part of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;activity, but in hierarchical processing the host controls all activity. A client PC almost always&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;does the following in a client/server environment: screen handling, menu or command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;interpretation, data entry, help processing, and error recovery.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The dividing line between the client and a server can be anywhere along a broad continuum: at&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;one end only the user interface has been moved onto the client; at the other, almost all&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;applications have been moved onto the client and the database may be distributed. There are at&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;least five points along the continuum:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Distributed presentation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The presentation is handled partly by the server and partly by the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Remote presentation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The presentation is controlled and handled entirely by the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Distributed logic:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The application logic is handled partly by the server and partly by the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Remote data management:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Database management is controlled and handled entirely by the server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Distributed database:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Database management is handled partly by the server and partly by the client. There are,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;therefore, two major applications for client/server in a library environment:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1) as the architecture for an automated library system, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;2) as an approach to linking heterogeneous systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;In the first application, a vendor designs a system using client/server architecture to facilitate use&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of that system to access multiple servers, to facilitate bringing together multiple product lines,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and/or to improve productivity. In the second application, a vendor designs a client to facilitate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;19&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;transparent access to systems of other vendors, and a server to facilitate transparent access to its&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;system from others. While the underlying principles are the same, the vendor has considerable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;latitude in the design of its own client/server system, but must strictly conform to standards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;when using client/server to link its system with those of other libraries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;While it has been possible to access a wide variety of electronic resources through an automated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;library system for a number of years, client/server technology has made it possible to tailor the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;user interface to provide a personalized interface which meets the needs of any particular user&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;based on an analysis of tasks performed or on an individual's expressed preferences. An example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of this tailoring is the recent introduction of portals, common user interfaces to a wide variety of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;electronic resources with the portal. [See the Tech Note on Portal Technology]. The portal can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;tailored to groups of staff or patrons, or to each individual.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Vendors with multiple product lines can build a single client to work with any of their server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;products. This substantially reduces development costs. Client/server can also improve&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;productivity. Many vendors are now offering different clients for technical services, circulation,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and patron access catalog applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A GUI (graphical user interface) -- a presentation of information to the user using icons and other&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;graphics -- is sometimes called client/server, but unless information moves from the server to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;client in machine-readable (raw) form, and the client does the formatting to make it humanreadable,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;it is not true client/server. Further, there is nothing in the client/server architecture&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;that requires a GUI. Nevertheless, most vendors of automated library systems use GUI for staff&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;applications. The GUIs are proprietary to each vendor. Web browsers are preferred for patron&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;applications because they are more likely to be familiar to them than a proprietary GUI.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;An important computer industry development which has facilitated client/server architecture is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;referred to as "open systems" C a concept which features standardized connectivity so that&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;components from several vendors may be combined. The trend to open systems began in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1970s as a reaction against proprietary systems that required that all hardware and system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;software come from a single source, and gained momentum in the 1980s, as networking became&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;common. While various parts of an organization might not hesitate to purchase proprietary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;systems to meet their own needs, the desire to provide access from other parts of the organization,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;or to exchange information, would be an incentive to select an open system. For client/server,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;open systems are essential.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Most client/server systems offered by automated library system vendors use an open operating&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;system such as UNIX or one of its variations, or Windows NT or 2000 server. UNIX is the most&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;popular operating system for servers because of the large range of platform sizes available, but&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Windows NT or 2000 server has been growing in popularity, especially for systems supporting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;fewer than 100 concurrent users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The most popular client operating systems are Windows 95/98/Me/2000 and Linux. By&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;supporting multiple client operating systems, a vendor of an automated library system makes it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;possible for the client to conform to a staff member’s or patron's accustomed operating system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;environment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Almost all client/server systems use a relational database management system (RDBMS) for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;handling the storage and retrieval of records in the database using a series of tables of values.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;There is a common misconception that client/server is synonymous with networked SQL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;(Structured Query Language) databases. SQL, a popular industry-standard data definition and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;access language for relational databases, is only one approach -- albeit the one selected by almost&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;all automated library system vendors. While one can reasonably expect the use of an RDBMS and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;SQL, the absence of either does not mean that a system is not client server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A network computer is a PC without a hard disk drive. They have been little used in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;libraries because most libraries use their PCs for a variety of applications in addition to accessing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the automated library system. Even when there are applications that lend themselves for use on&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;thin clients, most libraries have preferred to use older PCs that are no longer suitable for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;applications that require robust machines. They use a two-tier PC strategy that involves the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;purchase and deployment of new PCs for applications that require robust machines and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;redeployment of the replaced machines for applications that they can support. For example, new&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;PCs are used for most staff applications and patron access to the Internet: older PCs are used as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;“express catalogs,” devices that have a Web browser, but are limited to accessing the library’s&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;patron access catalog. The two-tier PC strategy can extend the life of a PC by as much as three&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;years.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;20&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Network computers are most widely used in large organizations that have to support thousands of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;users. Almost all applications, including word processing, spreadsheets, and other office&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;applications, are loaded on a server. It is then not necessary to load new product releases on each&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;machine; only the applications on the server have to be updated. Most libraries do not have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;enough users to realize significant savings by taking this approach. For libraries that have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;hundreds of PCs, remote PC management is an alternative to thin clients; for libraries that have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;fewer than 100 PCs, it is possible to support each individually.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A PDA is a handheld device that combines computing, telephone, fax, and networking features.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;While originally pen-based (i.e., using a stylus), many models now come with a small keyboard.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The Palm Pilot is an example of a PDA. A number of libraries now encourage their users to access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the patron access catalog with a PDA. It is this application which holds the most promise for the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;use of thin clients in libraries. As the bandwidth available for wireless applications increases and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the costs of PDAs drops, the use of PDAs for access to databases is expected to increase&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;dramatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The key to thin client technology is Java, a general purpose programming language with a number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of features that make it well suited for use on the Web. Small Java applications are called Java&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;applets and can be downloaded from a Web server and run on a device which includes a Javacompatible&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Web browser such as Netscape Navigator or Microsoft Internet Explorer. This means&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;that the thin client does not need to be loaded with applications software.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;A thin client can also be GUI-based. In that case, the client handles only data presentation and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;deals with the user interaction; all applications and database management is found on the server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Vendors of automated library systems favor proprietary GUI-based clients for staff because that&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;makes it possible to exploit the features of their systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.12 Multimedia Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The weblicon PIM has been built on a multi-tier architecture to support high scalability through&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;load-balancing and high availability through redundancy. The HTTP Client tier communicates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;with the HTTP Server tier which routes incoming requests to the Application Server tier. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Application Server tier connects to the Database Server tier consisting of RDBMS, LDAP and IMAP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Servers. All tiers can be scaled individually by building clusters of servers for load-balancing and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;high redundancy embedding information into multimedia data that should be imperceptible but&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;unmemorable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;For model-based compression and animation of face models as defined in MPEG-4, a watermark&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;can be embedded into the transmitted facial animation parameters. The watermark can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;retrieved from the animation parameters or from video sequences rendered with the watermarked&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;animation parameters, even after subsequent low-quality video compression of the rendered&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;sequence. Entering the derived or generated data into the database and associating it with the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;original information gives other users automatic access to the conclusions, thoughts, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;annotations of previous users of the information. This ability to modify, adjust, enhance, or add to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the global set of information and then share that information with others is a powerful and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;important service. This type of service requires cooperation between the multimedia data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;manipulation tools described above and the information repositories scattered across the network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Generated or extracted information must be deposited and linked with existing information so&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;that future users will not only benefit from the original information but also from the careful&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;analysis and insight of previous users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;21&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.13 Information Integration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Information integration is an important feature of Oracle9&lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;i &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Database. Oracle provides many&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;features that allow customers to synchronously and asynchronously integrate their their data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;including &lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Oracle Streams, Oracle Advanced Queuing, replication&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;, and &lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;distributed SQL&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Oracle also provides gateways to non-Oracle database servers, providing seamless interoperation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;in heterogeneous environments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Asynchronous Integration with Oracle Streams&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Oracle Streams enables the propagation and management of data, transactions and events in a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data stream either within a database, or from one database to another. The stream routes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;published information to subscribed destinations. The result is a new feature that provides&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;greater functionality and flexibility than traditional solutions for capturing and managing events,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and sharing the events with other databases and applications. Oracle Streams provides both&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;message queuing and replication functionality within the Oracle database. To simplify&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;deployment of these specialized information integration solutions, Oracle provides customized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;APIs and tools for message queuing, replication, and data protection solutions. These include:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Advanced Queuing for message queuing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:SimSun;font-size:10;"  lang="ZH-CN" &gt;·&lt;/span&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt; &lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Replication with Oracle Streams&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Asynchronous Integration with Oracle Advanced Replication&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Oracle9i also includes Advanced Replication. This is a powerful replication feature first&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;introduced in Oracle7. Advanced Replication is useful for replicating object between Oracle9i&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Database and older versions of the Oracle Server (that do not support Oracle Streams-based&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Replication). Advanced Replication also provides Oracle Materialized Views; a replication solution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;targeted for mass deployments and disconnected replicas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Synchronous Integration with Distributed SQL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Oracle Distributed SQL enables synchronous access from one Oracle database, to other Oracle or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;non-Oracle databases. Distributed SQL supports location independence, making remote objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;appear local, facilitating movement of objects between databases without application code&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;22&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;changes. Distributed SQL supports both queries and DML operations, and can intelligently&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;optimize execution plans to access data in the most efficient manner.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.14 Data-Definition Language Commands&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Empress provides a set of Structured Query Language (SQL) commands that allows users to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;request information from the database. The Empress SQL language has three levels of operations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1. A basic level at which data management commands are typed in without any prompting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The full range of data management commands is available at this level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;2. Data Definition Language commands are concerned with the structure of the database and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;its tables.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;3. Data Manipulation Language commands are concerned with the maintenance and retrieval&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of the data stored in the database tables.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;4. Data Control Language commands provide facilities for assuring the integrity and security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of the data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Data Definition Language Command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The overall structure of the database is defined by the Data Definition Language (DDL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;commands. The result of compiling DDL commands is a set of tables called the data dictionary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;which contains information about the data in the database. Detailed descriptions of the Empress&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DDL commands are provided in the Empress SQL: Reference manual. A summary of the available&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DDL commands follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Command Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;ALTER TABLE Changes the structure of an existing table without having to dump and reload&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;its records. This also includes enable/disable trigger, define table type for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;replication, enabling and disabling replication relations, and setting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;checksum for a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE COMMENT Attaches a comment to a table or attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE INDEX Sets up a search-aiding mechanism for an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE MODULE Creates the definition of a persistent stored module into the data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE RANGE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CHECK Sets up data validation checks on an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;REFERENTIAL Sets up data referential constraints on attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;MASTER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Assings replication master entries to a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;REPLICATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Assings replication replicate entries to a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE REPLICATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;TABLE Creates replicate table from a replication master table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE TABLE Creates a new table or replicate table including its name and the name and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data type of each of its attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE TRIGGER Sets up trigger events into data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CREATE VIEW Creates a logical table from parts of one or more tables.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DISPLAY DATABASE Shows the tables in the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DISPLAY GRANT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;PRIVILEGE Shows privilege grant options for a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DISPLAY MODULE Shows the persistent stored module definition.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;23&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DISPLAY PRIVILEGE Shows access privileges for a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DISPLAY TABLE Shows the structure of a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP COMMENT Removes a comment on a table or attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP INDEX Removes an index on an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP MODULE Removes a persistent stored module definition from the data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP&lt;/span&gt;&lt;/st1:placename&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;  &lt;st1:placetype st="on"&gt;RANGE&lt;/st1:placetype&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;CHECK Removes data validation checks on an attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;REFERENTIAL Removes a data referential constraints from attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;MASTER Removes replication master entry from a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP REPLICATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;REPLICATE Removes replication replicate entry from a replication table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP TABLE Removes an existing table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP TRIGGER Removes a trigger event from the data dictionary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;DROP VIEW Removes a logical table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;GRANT PRIVILEGE Changes access privileges for tables or attributes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;LOCK LEVEL Sets the level of locking on a table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;RENAME Changes the name of a table or attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;REVOKE PRIVILEGE Removes table or attribute access privileges.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;UPDATE MODULE Links a persistent stored module definition with the module shared library.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.15 Overview of Query Processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The techniques used by a DBMS to process, optimize, and execute high-level queries. A query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;expressed in a high-level query language such as SQL must first be scanned, parsed, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;validated. The scanner identifies the language tokens—such as SQL keywords, attributes names&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and relation names—in the text of the query, whereas the parser checks the query syntax to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;determine whether it is formulated according to the syntax rules (rules of grammar) of the query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;language. The query must also be validated, by checking that all attribute and relation names are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;valid and semantically meaningful names in the schema of the particular database being queried.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;An internal representation of the query is then created, usually as a tree data structure called&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;query tree. It is also possible to represent the query using a graph data structure called a query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;graph. The DBMS must then devise an execution strategy for retrieving the result of the query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;from the database files. A query typically has many possible execution strategies, and the process&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;of choosing a suitable one for processing a query is known as query optimization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Query Processing Strategies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The steps involved in processing a query are illustrated in Figure 5.2. The basic steps are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1. Parsing and translation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;2. Optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;3. Evaluation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Before query processing can begin, the system must translate the query into a usable form. A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;language such as SQL is suitable for human use, but is ill suited to be the system’s internal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;representation of a query. A more useful internal representation is one based on the extended&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relational algebra.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;24&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;Steps in Query Processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Thus, the first action the system must take in query processing is to translate a given query into&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;its internal form. This translation process is similar to the work performed by the parser of a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;compiler. In generating the internal form of the query, the parser checks the syntax of the user's&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;query, verifies that the relation names appearing in the query are names of relations in the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database, and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Query optimization is left, for the most part, to the application programmer. That choice is made&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;because the data-manipulation-language statements of these two models are usually embedded in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;a host programming language, and it is not easy to transform a network or hierarchical query into&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;an equivalent one without knowledge of the entire application program. In contrast, relationalquery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;languages are either declarative or algebraic. Declarative languages permit users to specify&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;what a query should generate without saying how the system should do the generating. Algebraic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;languages allow for algebraic transformation of users' queries. Based on the query specification, it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;is relatively easy for an optimizer to generate a variety of equivalent plans for a query, and to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;choose the least expensive one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;25&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.16 Storage and Buffer Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Despite its many virtues, the relational data model is a poor fit for many types of data now&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;common across the enterprise. In fact, object databases owe much of their existence to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;inherent limitations of the relational model as reflected in the SQL2 standard. In recent years, a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;growing chorus of demands has arisen from application developers seeking more flexibility and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;functionality in the data model, as well as from system administrators asking for a common&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database technology managed by a common set of administrative tools. As a result, vendors and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the SQL3 standard committees to include object capabilities are now extending the relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Object/relational (O/R) database products are still quite new, and the production databases to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;which they have been applied are usually modest in size--50GB or less. As O/R technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;becomes more pervasive and memory and storage costs continue to fall, however, databases&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;incorporating this new technology should grow to a size comparable to that of pure relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;databases. Indeed, growth in the new technology is likely if for no other reason than that much of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;this new data is inherently larger than the record/field type data of traditional relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;However, while limits to the growth of individual pure relational databases have been imposed as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;much by hardware evolution as by software, the limits for O/R databases will arise primarily from&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;software. In this article, I'll explore the implications of the architecture approaches chosen by the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;principal O/R database product designers--IBM, Informix, NCR, Oracle, Sybase, and Computer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Associates--for scalability of complex queries against very large collections of O/R data. The&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;powerful new data type extension mechanisms in these products limit the ability of vendors to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;assume as much of the burden of VLDB complexity as they did for pure relational systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Instead, these mechanisms impose important additional responsibilities on the designers of new&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;types and methods, as well as on application designers and DBAs; these responsibilities become&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;more crucial and complex as the size of the databases and the complexity of the queries grow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Finally, I'll explain how parallel execution is the key to the cost effectiveness--or even in some&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;cases to the feasibility--of applications that exploit the new types and methods, just as with pure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relational data. In contrast to the pure relational approach, however, achieving O/R parallelism is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;much more difficult.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The term "VLDB" is overused; size is but one descriptive parameter of a database, and generally&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;not the most important one for the issues I'll raise here. Most very large OLTP relational&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;databases, for example, involve virtually none of these issues because high-volume OLTP queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;are almost always short and touch few data and metadata items. In addition, these OLTP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;databases are frequently created and administered as collections of semi-independent smaller&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;databases, partitioned by key value. In contrast, the VLDB issues discussed here arise in very&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;large databases accessed by queries that individually touch large amounts of data and metadata&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and involve join operations, aggregations, and other operations touching large amounts of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and metadata. Such databases and applications today are usually found in data warehousing and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;data mining applications, among other places.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The VLDB environments with these attributes are characterized by many I/O operations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;within a single query involving multiple complex SQL operators and frequently generating large&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;intermediate result sets. Individual queries regularly cross any possible key partition boundary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and involve data items widely dispersed throughout the database. For these reasons, such a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database must normally be administered globally as a single entity. As a "stake in the ground," I'll&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;focus on databases that are at least 250GB in size, are commonly accessed by complex queries,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;require online administration for reorganization, backup and recovery, and are regularly subject&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;to bulk operations (such as insert, delete, and update) in single work-unit volumes of 25GB or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;more. For these databases, an MPP system, or possibly a very large SMP cluster, is required.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;However, many of the issues we raise will apply to smaller databases as well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;Parallel Execution of Individual Queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;In a pure relational database, success in such an environment of 250GB or more may require the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;highest degree of parallelism possible in execution of each individual query. The first key to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;parallel success is the structure of the SQL query language itself. In most queries, SQL acts as a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;set operator language that imposes few constraints on the order of execution; that is why&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;26&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;relational database optimizers have so much flexibility in choosing parallel execution plans. Thus,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;SQL as an application language is extremely hospitable to parallel execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Given this characterization, one must devise execution strategies that are optimized for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;parallel execution of an individual query, rather than merely providing for parallel execution of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;strategies optimized for serial execution. Note that individual DDL and DML operations--as well as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;other utilities such as backup and recovery--must execute in parallel. As indicated earlier, within&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the context of SQL2, RDBMS vendors did most of the work necessary to provide the necessary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;parallelism. Furthermore, it was possible to do so in ways that were largely transparent to the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;application developer and the DBA. They were greatly aided not only by the structure of SQL, but&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;also by the fact that the core language and data types were mostly fixed during the '80s and early&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;'90s, at least as insofar as they affect parallel execution. Even so, it takes a vendor at least two or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;three years to evolve a mature relational product that fully supports parallelism within a query for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;VLDBs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;It’s worth noting that the complexity of adding parallelism for VLDB has two sources. The first is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;replacing serial algorithms with parallel ones. The second source is subtler: There is a qualitative&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;change of mindset that must take place if one is to design competitive software for these very large&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;collections of data. For example, the first reaction of a designer building a database load program&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;is to make it use the INSERT function. This technique works for small- and medium-sized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;databases but not for giant ones; it is simply too slow. Instead, one must design for multiple&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;streams of data to be loaded in parallel, capitalizing on the fact that multiple CPUs will be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;available on the MPP or SMP cluster. If the data is coming from a single serial source, such as a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;tape drive, the initial load task should focus only on getting each data item into memory as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;quickly as possible. The power of the other CPUs should then be invoked in parallel through tasks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;to get each datum to the right place, to index it properly, and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;These problems become more complex as O/R databases enter the mainstream; new and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;potentially exotic data types must be accommodated, and new methods must be written and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;optimized for parallel execution. Complex relationships far beyond the simple row and column&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;structure of the relational model can and will exist among instances of the new data types and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;even among instances of current SQL data types--in a parts-explosion database, for example, or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;when a "purchase order" object view is superimposed on an existing on-order database. New data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;access methods to support the new operations and data types will also be required and must also&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;be optimized for parallel execution. Finally, expect giant ratios of column sizes in O/R tables with&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the largest column entries being hundreds to thousands of times larger than the smallest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;columns within a table. This change will create a need for new approaches to storage and buffer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;management in servers as well as clients.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.17 Transaction Processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Is the following schedule serial? serialisable? Why or why not?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;T1 T2 T3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;-------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1 start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;2 read Z&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;3 start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;4 read Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;5 Y = Y + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;6 write Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;7 start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;8 read Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;9 read X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;10 Z = Z + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;11 X = X + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;12 checkpoint&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;13 write X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  lang="FR" &gt;14 write Z&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  lang="FR" &gt;15 Y = Y + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  lang="FR" &gt;16 write Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;17 read X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;27&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;18 read Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;19 Y = Y + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;20 write Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;21 commit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;22 X = X + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;23 write X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;24 commit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;25 read W&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;26 W = W + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;27 write W&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;28 commit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;For the above sequence of transactions, show the log file entries, assuming initially Z = 1, Y = 2, X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;= 1, and W = 3. What happens to the transactions at the checkpoint?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1) The following transaction increases the total sales (A) and number of sales (B) in a store&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;inventory database. Write the values of A and B for each statement, assuming A is initially 100&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;and B is initially 2. The correctness criteria is that the average sale is $50. For each statement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;determine if the transaction dies during the statement whether the database is in a correct state.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;What should be done to repair the damage if the database is left in an incorrect state?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Transaction Start&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;1) Read A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;2) A &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt; A + 50&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;3) Read B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;4) B &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;/span&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt; B + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;5) Write B&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;6) Write A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;7) Transaction ends&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;2) Which protocols potentially cause cascading rollbacks and why?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:10;"  &gt;1.18 The Query Processor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The query optimizer module has the task of producing an execution plan, and the code generator&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;generates the code to execute the plan. The runtime database processor has the task of running&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the query code, whether in compiled or interpreted mode, to produce the query result. If a runtime&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;error results, an error message is generated by the runtime database processor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Figure: Typical Steps of a Query processor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;The term optimization is actually a misnomer because in some cases the chosen execution plan is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;not the optimal (best) strategy—it is just a reasonably efficient strategy for executing the query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;Finding the optimal strategy is usually too time-consuming except for the simplest of queries and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:BookmanOldStyle-Bold;font-size:14;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:11;"  &gt;28&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;RDBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;may require information on how the files are implemented and even on the contents of theseinformation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;that may not be fully available in the DBMS catalog. Hence, planning of an execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;strategy may be a more accurate description than query optimization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;For lower-level navigational database languages in legacy systems–such as the network DML or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;the hierarchical HDML- the programmer must choose the query execution strategy while writing a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;database program. If a DBMS provides only a navigational language, there is &lt;/span&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;limited need or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;i&gt;&lt;span style=";font-family:BookmanOldStyle-Italic;font-size:10;"  &gt;opportunity &lt;/span&gt;&lt;/i&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;for extensive query optimization by the DBMS; instead, the programmer is given the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;capability to choose the "optimal" execution strategy. On the other hand, a high-level query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;language—such as SQL for relational DBMSs (RDBMSs) or OQL for object DBMSs (ODBMSs)—is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;more declarative in nature because it specifies what the intended results of the query are, rather&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;than the details of how the result should be obtained. Query optimization's thus necessary for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:BookmanOldStyle;font-size:10;"  &gt;queries that are specified in a high-level query language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4449259599531918713-3105446963043474673?l=cse-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cse-notes.blogspot.com/feeds/3105446963043474673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4449259599531918713&amp;postID=3105446963043474673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/3105446963043474673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4449259599531918713/posts/default/3105446963043474673'/><link rel='alternate' type='text/html' href='http://cse-notes.blogspot.com/2008/08/rdbms.html' title='RDBMS'/><author><name>Siebel Expert</name><uri>http://www.blogger.com/profile/11533458660230230361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4449259599531918713.post-6069475504438529883</id><published>2008-08-12T05:13:00.000-07:00</published><updated>2008-12-23T04:02:41.709-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>More on algorithms</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///D:%5CDOCUME%7E1%5Cshesu04%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C06%5Cclip_filelist.xml"&gt;&lt;title&gt;© Moreniche&lt;/title&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:documentproperties&gt;   &lt;o:author&gt;Marcus Polo&lt;/o:Author&gt;   &lt;o:version&gt;11.9999&lt;/o:Version&gt;  &lt;/o:DocumentProperties&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Batang; 	panose-1:2 3 6 0 0 1 1 1 1 1; 	mso-font-alt:¹ÙÅÁ; 	mso-font-charset:129; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1342176593 1775729915 48 0 524447 0;} @font-face 	{font-family:SimSun; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:ËÎÌå; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:Tahoma; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-alt:"Lucida Sans Unicode"; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:1627421319 -2147483648 8 0 66047 0;} @font-face 	{font-family:"\@Batang"; 	panose-1:2 3 6 0 0 1 1 1 1 1; 	mso-font-charset:129; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1342176593 1775729915 48 0 524447 0;} @font-face 	{font-family:"\@SimSun"; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:"\@Arial Unicode MS"; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:TimesNewRomanPSMT; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:TimesNewRomanPS-BoldMT; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:CourierNewPSMT; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle-Bold; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle-Italic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookmanOldStyle-BoldItalic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:LucidaSansUnicode; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:CenturyGothic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:CenturyGothic-Italic; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:BookAntiqua; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:SimSun;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;6.11.3 Binary search&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;However, if we place our items in an array and sort them in either ascending or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;descending order on the key first, then we can obtain much better performance with an algorithm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;called &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;binary search&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;In binary search, we first compare the key with the item in the middle position of the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;array. If there's a match, we can return immediately. If the key is less than the middle key, then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;the item sought must lie in the lower half of the array; if it's greater then the item sought must lie&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;in the upper half of the array. So we repeat the procedure on the lower (or upper) half of the array.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;function can now be implemented:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;static void *bin_search( collection c, int low, int high, void *key ) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;int mid;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;/* Termination check */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;if (low &gt; high) return NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;mid = (high+low)/2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;switch (memcmp(ItemKey(c-&gt;items[mid]),key,c-&gt;size)) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;/* Match, return item found */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;case 0: return c-&gt;items[mid];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;/* key is less than mid, search lower half */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;case -1: return bin_search( c, low, mid-1, key);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;/* key is greater than mid, search upper half */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;case 1: return bin_search( c, mid+1, high, key );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;default : return NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;void *FindInCollection( collection c, void *key ) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;/* Find an item in a collection&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;Pre-condition:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;c is a collection created by ConsCollection&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;c is sorted in ascending order of the key&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;key != NULL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;Post-condition: returns an item identified by key if&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;57 &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 16pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;one exists, otherwise returns NULL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;int low, high;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;low = 0; high = c-&gt;item_cnt-1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;return bin_search( c, low, high, key );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;Points to note:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;a. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;bin_search is recursive: it determines whether the search key lies in the lower or upper&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;half of the array, then calls itself on the appropriate half.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;b. There is a termination condition (two of them in fact!)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;i. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;If low &gt; high then the partition to be searched has no elements in it &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic; color: black;"&gt;and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;ii. If there is a match with the element in the middle of the current partition, then we&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;can return immediately.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;c. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;AddToCollection will need to be modified to ensure that each item added is placed in its&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;correct place in the array. The procedure is simple:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;i. Search the array until the correct spot to insert the new item is found,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;ii. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;Move all the following items up one position &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic; color: black;"&gt;and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;iii. Insert the new item into the empty position thus created.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;d. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: rgb(0, 129, 0);"&gt;bin_search &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;is declared &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: rgb(0, 129, 0);"&gt;static&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;. It is a local function and is not used outside this class: if it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;were not declared static, it would be exported and be available to all parts of the program.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;The static declaration also allows other classes to use the same name internally.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;Analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;58 &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 16pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;Each step of the algorithm divides&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;the block of items being searched&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;in half. We can divide a set of &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;items in half at most &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;log&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 6pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;2 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;times.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;Thus the running time of a binary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;search is proportional to &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;log &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;we say this is a &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;O(&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;log &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n) &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;algorithm.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;Binary search requires a more complex program than&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;our original search and thus for &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Italic; color: black;"&gt;small &lt;/span&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;it may run&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;slower than the simple linear search. However, for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;large &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;Thus at large &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;, &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;log &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;is &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-Italic; color: black;"&gt;much &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;smaller than &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;consequently an &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;O(&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;log &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n) &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;algorithm is &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-Italic; color: black;"&gt;much&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;faster than an &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;O(n) &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;Plot of &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;and &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;log &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-Italic; color: black;"&gt;vs &lt;/span&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: BookmanOldStyle; color: black;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;In the worst case, insertion may require &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;operations to insert into a sorted list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;1. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;We can find the place in the list where the new item belongs using binary search in &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;O(&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;log&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n) &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;operations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;59 &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 16pt; font-family: BookmanOldStyle-Bold; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: TimesNewRomanPSMT; color: black;"&gt;2. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;However, we have to shuffle all the following items up one place to make way for the new&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;one. In the worst case, the new item is the first in the list, requiring &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;n &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;move operations for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;the shuffle!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;A similar analysis will show that deletion is also an &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle-BoldItalic; color: black;"&gt;O(n) &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt;operation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: BookmanOldStyle; color: black;"&gt
