The DBMS architecture describes how data in
the database is viewed by the users. It is not concerned with how the data is
handled and processed by the DBMS. The database users are provided with an
abstract view of the data by hiding certain details of how data is physically
stored. This enables the users to manipulate the data without worrying about
where it is located or how it is actually stored.
In this architecture, the overall database
description can be defined at three levels, namely, internal, conceptual, and external
levels and thus, named three-level DBMS architecture.
This architecture is proposed by ANSI/SPARC (American National Standards
Institute/Standards Planning and Requirements Committee) and hence, is also
known as ANSI/SPARC
architecture. The three levels are discussed here.
Internal level: It
is the lowest level of data abstraction that deals with the physical
representation of the database on the computer and thus, is also known as physical
level. It describes how the data is physically stored and organized on the
storage medium. At this level, various aspects are considered to achieve
optimal runtime performance and storage space utilization. These aspects
include storage space allocation techniques for data and indexes, access paths
such as indexes, data compression and encryption techniques, and record
placement.
Conceptual level:
This level of abstraction deals with the logical structure of the entire
database and thus, is also known as logical level. It describes what data is
stored in the database, the relationships among the data and complete view of
the user’s requirements without any concern for the physical implementation.
That is, it hides the complexity of physical storage structures. The conceptual
view is the overall view of the database and it includes all the information
that is going to be represented in the database.
External level: It
is the highest level of abstraction that deals with the user’s view of the
database and thus, is also known as view level. In general, most of the users
and application programs do not require the entire data stored in the database.
The external level describes a part of the database for a particular group of
users. It permits users to access data in a way that is customized according to
their needs, so that the same data can be seen by different users in different
ways, at the same time. In this way, it provides a powerful and flexible
security mechanism by hiding the parts of the database from certain users, as
the user is not aware of existence of any attributes that are missing from the
view.
These three levels are used to describe the
schema of the database at various levels. Thus, the three-level architecture is
also known as three-schema architecture. The internal level has an internal schema, which describes the physical storage
structure of the database. The conceptual level has a conceptual
schema, which describes the structure of entire database. The external level
has external schemas or user views, which describe the
part of the database according to a particular user’s requirements, and hide
the rest of the database from that user. The physical level is managed by the
operating system under the direction of DBMS. The three-schema architecture is
shown in Figure 1.1.
To
understand the three-schema architecture, consider the three levels of the BOOK
file in Online Book database as shown in Figure 1.2. In this figure, two
views (view 1 and view 2) of the BOOK file have been defined at the external
level. Different database users can see these views. The details of the data
types are hidden from the users. At the conceptual level, the BOOK records are
described by a type definition. The application programmers and the DBA
generally work at this level of abstraction. At the internal level, the BOOK
records are described as a block of consecutive storage locations such as words
or bytes. The database users and the application programmers are not aware of
these details; however, the DBA may be aware of certain details of the physical
organization of the data.

In three-schema
architecture, each user group refers only to its own external view. Whenever a
user specifies a request to generate a new external view, the DBMS must
transform the request specified at external level into a request at conceptual
level, and then into a request at physical level. If the user requests for data
retrieval, the data extracted from the database must be presented according to
the need of the user. This process of transforming the requests and results
between various levels of DBMS architecture is known as mapping.
The main advantage of three-schema
architecture is that it provides data independence. Data
independence is the ability to change the schema at one level of the
database system without having to change the schema at the other levels. Data
independence is of two types, namely, logical data independence and physical
data independence.
Logical data
independence: It is the ability to change the conceptual schema without
affecting the external schemas or application programs. The conceptual schema
may be changed due to change in constraints or addition of new data item or
removal of existing data item, etc., from the database. The separation of the
external level from the conceptual level enables the users to make changes at the
conceptual level without affecting the external level or the application
programs. For example, if a new data item, say Edition is added to the BOOK
file, the two views (view 1 and view 2 shown in Figure 1.2) are not affected.
Physical data
independence: It is the ability to change the internal schema without affecting
the conceptual or external schema. An internal schema may be changed due to
several reasons such as for creating additional access structure, changing the
storage structure, etc. The separation of internal schema from the conceptual
schema facilitates physical data independence.
Logical data independence is more difficult
to achieve than the physical data independence because the application programs
are always dependent on the logical structure of the database. Therefore, the
change in the logical structure of the database may require change in the
application programs.
Data buffer
In computer
science, a buffer is a region of a physical memory storage used to
temporarily store data
while it is being moved from one place to another. Typically, the data is
stored in a buffer as it is retrieved from an input
device (such as a microphone) or just before it is sent to an output
device (such as speakers). However, a buffer may be used when moving data
between processes within a computer. This
is comparable to buffers in telecommunication. Buffers can be implemented in a
fixed memory location in hardware—or by using a virtual data buffer in
software, pointing at a location in the physical memory. In all cases, the data
stored in a data buffer are stored on a physical storage medium. A
majority of buffers are implemented in software,
which typically use the faster RAM to store temporary data, due
to the much faster access time compared with hard
disk drives. Buffers are typically used when there is a difference
between the rate at which data is received and the rate at which it can be
processed, or in the case that these rates are variable, for example in a
printer spooler
or in online video streaming.
A buffer often
adjusts timing by implementing a queue (or FIFO)
algorithm in memory, simultaneously writing data into the queue at one rate and
reading it at another rate.
Buffers are often used in conjunction with I/O to hardware,
such as disk
drives, sending or receiving data to or from a network,
or playing sound on a speaker. A line to a rollercoaster
in an amusement park shares many similarities. People who ride the coaster come
in at an unknown and often variable pace, but the roller coaster will be able
to load people in bursts (as a coaster arrives and is loaded). The queue
area acts as a buffer—a temporary space where those wishing to ride
wait until the ride is available. Buffers are usually used in a FIFO
(first in, first out) method, outputting data in the order it arrived. Telecommunication buffer
A buffer routine
or storage medium
used in telecommunications compensates for a difference in rate of flow of data, or time of occurrence of events, when
transferring data from one device to another.
Buffers are used for many purposes, including:
Interconnecting two digital
circuits operating at different rates,
Holding data for later use,
Allowing timing corrections to be made on a
data
stream,
Collecting binary data bits into groups that
can then be operated on as a unit,
Delaying the transit time of a signal in order
to allow other operations to occur.
Buffer versus cache
A cache
often also acts as a buffer, and vice versa. However, cache operates on the
premise that the same data will be read from it multiple times, that written
data will soon be read, or that there is a good chance of multiple reads or
writes to combine to form a single larger block. Its sole purpose is to reduce
accesses to the underlying slower storage. Cache is also usually an abstraction
layer that is designed to be invisible.
A "Disk Cache" or "File
Cache" keeps statistics on the data contained within it and commits data
within a time-out period in write-back modes. A buffer does none of this.
A buffer is primarily used for input,
output, and sometimes very temporary storage of data that is either en
route between other media or data that may be modified in a non-sequential
manner before it is written (or read) in a sequential manner.
Good examples include:
The BUFFERS
command/statement in CONFIG.SYS of DOS.
The buffer between a serial port (UART) and
a MODEM. The COM
port speed may be 38400 bit/s while the MODEM may
only have a 14400 bit/s carrier.
The integrated buffer on a Hard Disk Drive,
Printer or other piece of hardware.
The Framebuffer
on a video card.
History
An early mention of a print buffer is the
Outscriber devised by image processing pioneer Russel A. Kirsch for the SEAC
computer in 1952
One of the most serious problems in the
design of automatic digital computers is that of getting the calculated results
out of the machine rapidly enough to avoid delaying the further progress of the
calculations. In many of the problems to which a general-purpose computer is
applied the amount of output data is relatively big —so big that serious
inefficiency would result from forcing the computer to wait for these data to
be typed on existing printing devices. This difficulty has been solved in the
SEAC by providing magnetic recording devices as output units. These devices are
able to receive information from the machine at rates up to 100 times as fast
as an electric typewriter can be operated. Thus, better efficiency is achieved
in recording the output data; transcription can be made later from the magnetic
recording device to a printing device without tying up the main computer.
Sequential file organization
A sequential file contains records organized
by the order in which they were entered. The order of the records is fixed.
Records in sequential files can be read or
written only sequentially.
After you have placed a record into a sequential
file, you cannot shorten, lengthen, or delete the record. However, you can
update (REWRITE) a record if the length does not change. New records are added at
the end of the file.
If the order in which you keep records in a
file is not important, sequential organization is a good choice whether there
are many records or only a few. Sequential output is also useful for printing
reports.
File Management System

Also referred to as simply a file system
or filesystem. The system
that an operating
system or program
uses to organize and keep track of files. For example, a hierarchical
file
system is one that uses directories to
organize files into a tree structure.
Although the operating system provides its
own file management system, you can buy separate file management systems. These
systems interact smoothly with the operating system but provide more features, such as
improved backup procedures and
stricter file protection.
Tidak ada komentar:
Posting Komentar