assign 1
DESCRIPTION
TRANSCRIPT
A database is an integrated collection of logically related records or files which consolidates records into a common pool of data records that provides data for many applications A database is a collection of information that is organized so that it can easily be accessed managed and updated
A Database Management System (DBMS) is a set of computer programs that controls the creation maintenance and the use of the database of an organization and its end users It allows organizations to place control of organization-wide database development in the hands of database administrators (DBAs) and other specialists DBMSes may use any of a variety of database models such as the network model or relational model In large systems a DBMS allows users and other software to store and retrieve data in a structured way It helps to specify the logical organization for a database and access and use the information within a database It provides facilities for controlling data access enforcing data integrity managing concurrency controlled restoring database
Advantages of DBMS (Database Management Systems) are followings
A true DBMS offers several advantages over file processing The principal advantages
of a DBMS are the followings
bull Flexibility Because programs and data are independent programs do not have to be
modified when types of unrelated data are added to or deleted from the database or
when physical storage changes
bull Fast response to information requests Because data are integrated into a single
database complex requests can be handled much more rapidly then if the data were
located in separate non-integrated files In many businesses faster response means better customer service
bull Multiple access Database software allows data to be accessed in a variety of ways (such as through various key fields) and often by using several programming
languages (both 3GL and nonprocedural 4GL programs)bull Lower user training costs Users often find it easier to learn such systems and training costs may be reduced Also the total time taken to process requests may be shorter which would increase user productivitybull Less storage Theoretically all occurrences of data items need be stored only once thereby eliminating the storage of redundant data System developers and database designers often use data normalization to minimize data redundancy
The DBMS has a number of advantages as compared to traditional computer file-based
processing approach The DBA must keep in mind these benefits or capabilities during
designing databases coordinating and monitoring the DBMS
The main advantages of DBMS are described below
Data Consistency
By controlling the data redundancy the data consistency is obtained If a data item
appears only once any update to its value has to be performed only once and the
updated value (new value of item) is immediately available to all users If the DBMS has
controlled redundancy the database system enforces consistency It means that when
data item that appears more than once In the database is updated the DBMS
automatically updates each occurrence of a data item in the database However some
database systems do not support enforce data consistency
Integration of Data
In DBMS data in database is stored in tables A single database contains multiple tables
and relationships can be created between tables (or associated data entities) This
makes easy to retrieve and update data
Database Access LanguageMany DBMSs provide SQL as database access language eg SQL to access data from
multiple tables of a database Every DBMS has its own version of SQL
Development of Application
The cost and time for developing new applications is also reduced The DBMS provides
tools that can be used to develop application programs For example some wizards are
available to generate Forms and Reports Stored procedures (stored on server side)
also reduce the size of application programs
More Advantages
Data sharing Controlling Data Redundancy Data Security Data Atomicity Creating Forms Control Over Concurrency Backup and Recovery
ProceduresData Independence Leave a comment Report
0 0
Azianswered 2 years ago Ads by Google
DatabaseSQL Tool For DB2 SQL Server Derby Mimer Informix Oracleacute and more wwwdbviscom
There are some features of a database management system
which make it attractive for using a DBMS in preference to other systems They are
given below
They are Centralized data management Data independence and Systems integration
In a database system the DBMS manages the data and all access of data is through the
DBMS providing a key to effective data processing It contrasts with conventional data
processing systems where each application program has a direct access to the data
when it reads or manipulates it
In the conventional data processing application programs the programs are usually
based on extensive knowledge of data structure and format In such an environment any
change in data structure or format would entail appropriate changes to the application
programs If major changes are to be made to the data the application programs may
have to to be rewritten
The database management system provides the interface between the application
programs and the data in a database system When there are changes made to the
data representation the metadata maintained by the DBMS is altered but the DBMS
continues the process of providing data to application programs in the previous used
ways The wherever it is necessary DBMS handles the task of transforming of data
The independence between programs and the data is called data independence It is
important because every time some change is required to be made to the data structure
The programs that were being used before the change would go on to work For
providing a high degree of data independence a DBMS must take account of a
sophisticated metadata management system
In DBMS all files are integrated into one system to reduce redundancies and make the
data management system more efficient DBMS also provides centralized control of the
operational data There are some of the advantages of data independence integration
and centralized control
Redundancies and inconsistencies can be reduced by using it It provides better service
to the Users Flexibility of the system is also improved
Cost of system development and maintenance is lower than the other Standards are
enforced Security system and integrity can be improved Project requirements can be
identified and data model are developed Leave a comment Report
0 0
Mdsrnzr226answered 2 years ago
Advantages of DBMS are given below
(1) DBMS provides Potential for Enforcing Standards In large organization database
approach allows a Database Administrator to define standards as well as gives
freedom of enforcing standards among database users In a centralized database
environment it is easy for a DBA to enforce standards than in those environments where
each user has control over his own files
(2) DBMS Provides Reduced Application Development Time No doubt it takes more
time for designing a database than making a single application but once a database is
created then it becomes very easy to make new application by using facilities provided
by DBMS
(3) DBMS provides flexibility To the requirements we have to do changes in database
Using DBMS we can change the structure of database and advantage is that it will not
affect on the existing database
(4) When a single user modifies the database then all the other users of database can
see this modification (update)
(5) DBMS provides multiple user interfaces
(6) DBMS provides storage structure for Efficient Query Processing
(7) DBMS provide a mechanism for controlling redundancy
(8) DBMS provides backup and recovery
(9) DBMS enforce integrity constraints
(10) DBMS provides Persistent storage for program objects Leave a comment Report
0 0
Honestanswered 2 years ago
Security is important advantage of DBMS
Next We may see data in different view
Example
All the Bank Database cant see by the Pune But some of the details about the
clients of the bank like name and addresses may see by the pune
But entire database can view by the manager of the Bank
This will done with the help of db
Data Integrity
Functional Dependency Leave a comment Report
0 0
Karthikasanswered 2 months ago
14 ADVANTAGES OF USING DBMS
1Controlling Redundancy In traditional file processing every user group maintains its own files Each group independently keeps files on their db eg students Therefore much of the data is stored twice or more Redundancy leads to several problems
duplication of effortstorage space wasted when the same data is stored repeatedly files that represent the same data may become inconsistent (since the
updates are applied independently by each users group)We can use controlled redundancy
2Restricting Unauthorized Access A DBMS should provide a security and authorization subsystem
Some db users will not be authorized to access all information in the db (eg financial data)
Some users are allowed only to retrieve dataSome users are allowed both to retrieve and to update database
3Providing Persistent Storage for Program Objects and Data StructuresData structure provided by DBMS must be compatible with the programming languagersquos data structures Eg Object oriented DBMS are compatible with programming languages such as C++ SMALLTALK and the DBMS software automatically performs conversions between programming data structure and file formats
4Permitting Inferencing and Actions Using Deduction RulesDeductive database systems provide capabilities for defining deduction rules for inferencing new information from the stored database facts
5Providing Multiple User Interfaces (eg query languages programming languages interfaces forms menu-driven interfaces etc) 6Representing Complex Relationships Among Data
7Enforcing Integrity Constraints
8Providing Backup and Recovery(must provide facilities for recovering from hardware or software failures)
=------------------------------Disadvantages of using a DBMS
A database system generally provides on-line access to the database for many users In contrast a conventional system is often designed to meet a specific need and therefore generally provides access to only a small number of users Because of the larger number of users accessing the data when a database is used the enterprise may involve additional risks as compared to a conventional data processing system in the following areas
1 Confidentiality privacy and security 2 Data quality 3 Data integrity 4 Enterprise vulnerability may be higher 5 The cost of using DBMS
Confidentiality Privacy and Security
When information is centralised and is made available to users from remote locations the possibilities of abuse are often more than in a conventional data processing system To
reduce the chances of unauthorised users accessing sensitive information it is necessary to take technical administrative and possibly legal measures
Most databases store valuable information that must be protected against deliberate trespass and destruction
Data Quality
Since the database is accessible to users remotely adequate controls are needed to control users updating data and to control data quality With increased number of users accessing data directly there are enormous opportunities for users to damage the data Unless there are suitable controls the data quality may be compromised
Data Integrity
Since a large number of users could be using a database concurrently technical safeguards are necessary to ensure that the data remain correct during operation The main threat to data integrity comes from several different users attempting to update the same data at the same time The database therefore needs to be protected against inadvertent changes by the users
Enterprise Vulnerability
Centralising all data of an enterprise in one database may mean that the database becomes an indispensible resource The survival of the enterprise may depend on reliable information being available from its database The enterprise therefore becomes vulnerable to the destruction of the database or to unauthorised modification of the database
The Cost of using a DBMS
Conventional data processing systems are typically designed to run a number of well-defined preplanned processes Such systems are often tuned to run efficiently for the processes that they were designed for Although the conventional systems are usually fairly inflexible in that new applications may be difficult to implement andor expensive to run they are usually very efficient for the applications they are designed for
The database approach on the other hand provides a flexible alternative where new applications can be developed relatively inexpensively The flexible approach is not without its costs and one of these costs is the additional cost of running applications that the conventional system was designed for Using standardised software is almost always less machine efficient than specialised software
Database - Advantages amp Disadvantages
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
The main advantages of DBMS are described below
Data Consistency
By controlling the data redundancy the data consistency is obtained If a data item
appears only once any update to its value has to be performed only once and the
updated value (new value of item) is immediately available to all users If the DBMS has
controlled redundancy the database system enforces consistency It means that when
data item that appears more than once In the database is updated the DBMS
automatically updates each occurrence of a data item in the database However some
database systems do not support enforce data consistency
Integration of Data
In DBMS data in database is stored in tables A single database contains multiple tables
and relationships can be created between tables (or associated data entities) This
makes easy to retrieve and update data
Database Access LanguageMany DBMSs provide SQL as database access language eg SQL to access data from
multiple tables of a database Every DBMS has its own version of SQL
Development of Application
The cost and time for developing new applications is also reduced The DBMS provides
tools that can be used to develop application programs For example some wizards are
available to generate Forms and Reports Stored procedures (stored on server side)
also reduce the size of application programs
More Advantages
Data sharing Controlling Data Redundancy Data Security Data Atomicity Creating Forms Control Over Concurrency Backup and Recovery
ProceduresData Independence Leave a comment Report
0 0
Azianswered 2 years ago Ads by Google
DatabaseSQL Tool For DB2 SQL Server Derby Mimer Informix Oracleacute and more wwwdbviscom
There are some features of a database management system
which make it attractive for using a DBMS in preference to other systems They are
given below
They are Centralized data management Data independence and Systems integration
In a database system the DBMS manages the data and all access of data is through the
DBMS providing a key to effective data processing It contrasts with conventional data
processing systems where each application program has a direct access to the data
when it reads or manipulates it
In the conventional data processing application programs the programs are usually
based on extensive knowledge of data structure and format In such an environment any
change in data structure or format would entail appropriate changes to the application
programs If major changes are to be made to the data the application programs may
have to to be rewritten
The database management system provides the interface between the application
programs and the data in a database system When there are changes made to the
data representation the metadata maintained by the DBMS is altered but the DBMS
continues the process of providing data to application programs in the previous used
ways The wherever it is necessary DBMS handles the task of transforming of data
The independence between programs and the data is called data independence It is
important because every time some change is required to be made to the data structure
The programs that were being used before the change would go on to work For
providing a high degree of data independence a DBMS must take account of a
sophisticated metadata management system
In DBMS all files are integrated into one system to reduce redundancies and make the
data management system more efficient DBMS also provides centralized control of the
operational data There are some of the advantages of data independence integration
and centralized control
Redundancies and inconsistencies can be reduced by using it It provides better service
to the Users Flexibility of the system is also improved
Cost of system development and maintenance is lower than the other Standards are
enforced Security system and integrity can be improved Project requirements can be
identified and data model are developed Leave a comment Report
0 0
Mdsrnzr226answered 2 years ago
Advantages of DBMS are given below
(1) DBMS provides Potential for Enforcing Standards In large organization database
approach allows a Database Administrator to define standards as well as gives
freedom of enforcing standards among database users In a centralized database
environment it is easy for a DBA to enforce standards than in those environments where
each user has control over his own files
(2) DBMS Provides Reduced Application Development Time No doubt it takes more
time for designing a database than making a single application but once a database is
created then it becomes very easy to make new application by using facilities provided
by DBMS
(3) DBMS provides flexibility To the requirements we have to do changes in database
Using DBMS we can change the structure of database and advantage is that it will not
affect on the existing database
(4) When a single user modifies the database then all the other users of database can
see this modification (update)
(5) DBMS provides multiple user interfaces
(6) DBMS provides storage structure for Efficient Query Processing
(7) DBMS provide a mechanism for controlling redundancy
(8) DBMS provides backup and recovery
(9) DBMS enforce integrity constraints
(10) DBMS provides Persistent storage for program objects Leave a comment Report
0 0
Honestanswered 2 years ago
Security is important advantage of DBMS
Next We may see data in different view
Example
All the Bank Database cant see by the Pune But some of the details about the
clients of the bank like name and addresses may see by the pune
But entire database can view by the manager of the Bank
This will done with the help of db
Data Integrity
Functional Dependency Leave a comment Report
0 0
Karthikasanswered 2 months ago
14 ADVANTAGES OF USING DBMS
1Controlling Redundancy In traditional file processing every user group maintains its own files Each group independently keeps files on their db eg students Therefore much of the data is stored twice or more Redundancy leads to several problems
duplication of effortstorage space wasted when the same data is stored repeatedly files that represent the same data may become inconsistent (since the
updates are applied independently by each users group)We can use controlled redundancy
2Restricting Unauthorized Access A DBMS should provide a security and authorization subsystem
Some db users will not be authorized to access all information in the db (eg financial data)
Some users are allowed only to retrieve dataSome users are allowed both to retrieve and to update database
3Providing Persistent Storage for Program Objects and Data StructuresData structure provided by DBMS must be compatible with the programming languagersquos data structures Eg Object oriented DBMS are compatible with programming languages such as C++ SMALLTALK and the DBMS software automatically performs conversions between programming data structure and file formats
4Permitting Inferencing and Actions Using Deduction RulesDeductive database systems provide capabilities for defining deduction rules for inferencing new information from the stored database facts
5Providing Multiple User Interfaces (eg query languages programming languages interfaces forms menu-driven interfaces etc) 6Representing Complex Relationships Among Data
7Enforcing Integrity Constraints
8Providing Backup and Recovery(must provide facilities for recovering from hardware or software failures)
=------------------------------Disadvantages of using a DBMS
A database system generally provides on-line access to the database for many users In contrast a conventional system is often designed to meet a specific need and therefore generally provides access to only a small number of users Because of the larger number of users accessing the data when a database is used the enterprise may involve additional risks as compared to a conventional data processing system in the following areas
1 Confidentiality privacy and security 2 Data quality 3 Data integrity 4 Enterprise vulnerability may be higher 5 The cost of using DBMS
Confidentiality Privacy and Security
When information is centralised and is made available to users from remote locations the possibilities of abuse are often more than in a conventional data processing system To
reduce the chances of unauthorised users accessing sensitive information it is necessary to take technical administrative and possibly legal measures
Most databases store valuable information that must be protected against deliberate trespass and destruction
Data Quality
Since the database is accessible to users remotely adequate controls are needed to control users updating data and to control data quality With increased number of users accessing data directly there are enormous opportunities for users to damage the data Unless there are suitable controls the data quality may be compromised
Data Integrity
Since a large number of users could be using a database concurrently technical safeguards are necessary to ensure that the data remain correct during operation The main threat to data integrity comes from several different users attempting to update the same data at the same time The database therefore needs to be protected against inadvertent changes by the users
Enterprise Vulnerability
Centralising all data of an enterprise in one database may mean that the database becomes an indispensible resource The survival of the enterprise may depend on reliable information being available from its database The enterprise therefore becomes vulnerable to the destruction of the database or to unauthorised modification of the database
The Cost of using a DBMS
Conventional data processing systems are typically designed to run a number of well-defined preplanned processes Such systems are often tuned to run efficiently for the processes that they were designed for Although the conventional systems are usually fairly inflexible in that new applications may be difficult to implement andor expensive to run they are usually very efficient for the applications they are designed for
The database approach on the other hand provides a flexible alternative where new applications can be developed relatively inexpensively The flexible approach is not without its costs and one of these costs is the additional cost of running applications that the conventional system was designed for Using standardised software is almost always less machine efficient than specialised software
Database - Advantages amp Disadvantages
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
DatabaseSQL Tool For DB2 SQL Server Derby Mimer Informix Oracleacute and more wwwdbviscom
There are some features of a database management system
which make it attractive for using a DBMS in preference to other systems They are
given below
They are Centralized data management Data independence and Systems integration
In a database system the DBMS manages the data and all access of data is through the
DBMS providing a key to effective data processing It contrasts with conventional data
processing systems where each application program has a direct access to the data
when it reads or manipulates it
In the conventional data processing application programs the programs are usually
based on extensive knowledge of data structure and format In such an environment any
change in data structure or format would entail appropriate changes to the application
programs If major changes are to be made to the data the application programs may
have to to be rewritten
The database management system provides the interface between the application
programs and the data in a database system When there are changes made to the
data representation the metadata maintained by the DBMS is altered but the DBMS
continues the process of providing data to application programs in the previous used
ways The wherever it is necessary DBMS handles the task of transforming of data
The independence between programs and the data is called data independence It is
important because every time some change is required to be made to the data structure
The programs that were being used before the change would go on to work For
providing a high degree of data independence a DBMS must take account of a
sophisticated metadata management system
In DBMS all files are integrated into one system to reduce redundancies and make the
data management system more efficient DBMS also provides centralized control of the
operational data There are some of the advantages of data independence integration
and centralized control
Redundancies and inconsistencies can be reduced by using it It provides better service
to the Users Flexibility of the system is also improved
Cost of system development and maintenance is lower than the other Standards are
enforced Security system and integrity can be improved Project requirements can be
identified and data model are developed Leave a comment Report
0 0
Mdsrnzr226answered 2 years ago
Advantages of DBMS are given below
(1) DBMS provides Potential for Enforcing Standards In large organization database
approach allows a Database Administrator to define standards as well as gives
freedom of enforcing standards among database users In a centralized database
environment it is easy for a DBA to enforce standards than in those environments where
each user has control over his own files
(2) DBMS Provides Reduced Application Development Time No doubt it takes more
time for designing a database than making a single application but once a database is
created then it becomes very easy to make new application by using facilities provided
by DBMS
(3) DBMS provides flexibility To the requirements we have to do changes in database
Using DBMS we can change the structure of database and advantage is that it will not
affect on the existing database
(4) When a single user modifies the database then all the other users of database can
see this modification (update)
(5) DBMS provides multiple user interfaces
(6) DBMS provides storage structure for Efficient Query Processing
(7) DBMS provide a mechanism for controlling redundancy
(8) DBMS provides backup and recovery
(9) DBMS enforce integrity constraints
(10) DBMS provides Persistent storage for program objects Leave a comment Report
0 0
Honestanswered 2 years ago
Security is important advantage of DBMS
Next We may see data in different view
Example
All the Bank Database cant see by the Pune But some of the details about the
clients of the bank like name and addresses may see by the pune
But entire database can view by the manager of the Bank
This will done with the help of db
Data Integrity
Functional Dependency Leave a comment Report
0 0
Karthikasanswered 2 months ago
14 ADVANTAGES OF USING DBMS
1Controlling Redundancy In traditional file processing every user group maintains its own files Each group independently keeps files on their db eg students Therefore much of the data is stored twice or more Redundancy leads to several problems
duplication of effortstorage space wasted when the same data is stored repeatedly files that represent the same data may become inconsistent (since the
updates are applied independently by each users group)We can use controlled redundancy
2Restricting Unauthorized Access A DBMS should provide a security and authorization subsystem
Some db users will not be authorized to access all information in the db (eg financial data)
Some users are allowed only to retrieve dataSome users are allowed both to retrieve and to update database
3Providing Persistent Storage for Program Objects and Data StructuresData structure provided by DBMS must be compatible with the programming languagersquos data structures Eg Object oriented DBMS are compatible with programming languages such as C++ SMALLTALK and the DBMS software automatically performs conversions between programming data structure and file formats
4Permitting Inferencing and Actions Using Deduction RulesDeductive database systems provide capabilities for defining deduction rules for inferencing new information from the stored database facts
5Providing Multiple User Interfaces (eg query languages programming languages interfaces forms menu-driven interfaces etc) 6Representing Complex Relationships Among Data
7Enforcing Integrity Constraints
8Providing Backup and Recovery(must provide facilities for recovering from hardware or software failures)
=------------------------------Disadvantages of using a DBMS
A database system generally provides on-line access to the database for many users In contrast a conventional system is often designed to meet a specific need and therefore generally provides access to only a small number of users Because of the larger number of users accessing the data when a database is used the enterprise may involve additional risks as compared to a conventional data processing system in the following areas
1 Confidentiality privacy and security 2 Data quality 3 Data integrity 4 Enterprise vulnerability may be higher 5 The cost of using DBMS
Confidentiality Privacy and Security
When information is centralised and is made available to users from remote locations the possibilities of abuse are often more than in a conventional data processing system To
reduce the chances of unauthorised users accessing sensitive information it is necessary to take technical administrative and possibly legal measures
Most databases store valuable information that must be protected against deliberate trespass and destruction
Data Quality
Since the database is accessible to users remotely adequate controls are needed to control users updating data and to control data quality With increased number of users accessing data directly there are enormous opportunities for users to damage the data Unless there are suitable controls the data quality may be compromised
Data Integrity
Since a large number of users could be using a database concurrently technical safeguards are necessary to ensure that the data remain correct during operation The main threat to data integrity comes from several different users attempting to update the same data at the same time The database therefore needs to be protected against inadvertent changes by the users
Enterprise Vulnerability
Centralising all data of an enterprise in one database may mean that the database becomes an indispensible resource The survival of the enterprise may depend on reliable information being available from its database The enterprise therefore becomes vulnerable to the destruction of the database or to unauthorised modification of the database
The Cost of using a DBMS
Conventional data processing systems are typically designed to run a number of well-defined preplanned processes Such systems are often tuned to run efficiently for the processes that they were designed for Although the conventional systems are usually fairly inflexible in that new applications may be difficult to implement andor expensive to run they are usually very efficient for the applications they are designed for
The database approach on the other hand provides a flexible alternative where new applications can be developed relatively inexpensively The flexible approach is not without its costs and one of these costs is the additional cost of running applications that the conventional system was designed for Using standardised software is almost always less machine efficient than specialised software
Database - Advantages amp Disadvantages
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Redundancies and inconsistencies can be reduced by using it It provides better service
to the Users Flexibility of the system is also improved
Cost of system development and maintenance is lower than the other Standards are
enforced Security system and integrity can be improved Project requirements can be
identified and data model are developed Leave a comment Report
0 0
Mdsrnzr226answered 2 years ago
Advantages of DBMS are given below
(1) DBMS provides Potential for Enforcing Standards In large organization database
approach allows a Database Administrator to define standards as well as gives
freedom of enforcing standards among database users In a centralized database
environment it is easy for a DBA to enforce standards than in those environments where
each user has control over his own files
(2) DBMS Provides Reduced Application Development Time No doubt it takes more
time for designing a database than making a single application but once a database is
created then it becomes very easy to make new application by using facilities provided
by DBMS
(3) DBMS provides flexibility To the requirements we have to do changes in database
Using DBMS we can change the structure of database and advantage is that it will not
affect on the existing database
(4) When a single user modifies the database then all the other users of database can
see this modification (update)
(5) DBMS provides multiple user interfaces
(6) DBMS provides storage structure for Efficient Query Processing
(7) DBMS provide a mechanism for controlling redundancy
(8) DBMS provides backup and recovery
(9) DBMS enforce integrity constraints
(10) DBMS provides Persistent storage for program objects Leave a comment Report
0 0
Honestanswered 2 years ago
Security is important advantage of DBMS
Next We may see data in different view
Example
All the Bank Database cant see by the Pune But some of the details about the
clients of the bank like name and addresses may see by the pune
But entire database can view by the manager of the Bank
This will done with the help of db
Data Integrity
Functional Dependency Leave a comment Report
0 0
Karthikasanswered 2 months ago
14 ADVANTAGES OF USING DBMS
1Controlling Redundancy In traditional file processing every user group maintains its own files Each group independently keeps files on their db eg students Therefore much of the data is stored twice or more Redundancy leads to several problems
duplication of effortstorage space wasted when the same data is stored repeatedly files that represent the same data may become inconsistent (since the
updates are applied independently by each users group)We can use controlled redundancy
2Restricting Unauthorized Access A DBMS should provide a security and authorization subsystem
Some db users will not be authorized to access all information in the db (eg financial data)
Some users are allowed only to retrieve dataSome users are allowed both to retrieve and to update database
3Providing Persistent Storage for Program Objects and Data StructuresData structure provided by DBMS must be compatible with the programming languagersquos data structures Eg Object oriented DBMS are compatible with programming languages such as C++ SMALLTALK and the DBMS software automatically performs conversions between programming data structure and file formats
4Permitting Inferencing and Actions Using Deduction RulesDeductive database systems provide capabilities for defining deduction rules for inferencing new information from the stored database facts
5Providing Multiple User Interfaces (eg query languages programming languages interfaces forms menu-driven interfaces etc) 6Representing Complex Relationships Among Data
7Enforcing Integrity Constraints
8Providing Backup and Recovery(must provide facilities for recovering from hardware or software failures)
=------------------------------Disadvantages of using a DBMS
A database system generally provides on-line access to the database for many users In contrast a conventional system is often designed to meet a specific need and therefore generally provides access to only a small number of users Because of the larger number of users accessing the data when a database is used the enterprise may involve additional risks as compared to a conventional data processing system in the following areas
1 Confidentiality privacy and security 2 Data quality 3 Data integrity 4 Enterprise vulnerability may be higher 5 The cost of using DBMS
Confidentiality Privacy and Security
When information is centralised and is made available to users from remote locations the possibilities of abuse are often more than in a conventional data processing system To
reduce the chances of unauthorised users accessing sensitive information it is necessary to take technical administrative and possibly legal measures
Most databases store valuable information that must be protected against deliberate trespass and destruction
Data Quality
Since the database is accessible to users remotely adequate controls are needed to control users updating data and to control data quality With increased number of users accessing data directly there are enormous opportunities for users to damage the data Unless there are suitable controls the data quality may be compromised
Data Integrity
Since a large number of users could be using a database concurrently technical safeguards are necessary to ensure that the data remain correct during operation The main threat to data integrity comes from several different users attempting to update the same data at the same time The database therefore needs to be protected against inadvertent changes by the users
Enterprise Vulnerability
Centralising all data of an enterprise in one database may mean that the database becomes an indispensible resource The survival of the enterprise may depend on reliable information being available from its database The enterprise therefore becomes vulnerable to the destruction of the database or to unauthorised modification of the database
The Cost of using a DBMS
Conventional data processing systems are typically designed to run a number of well-defined preplanned processes Such systems are often tuned to run efficiently for the processes that they were designed for Although the conventional systems are usually fairly inflexible in that new applications may be difficult to implement andor expensive to run they are usually very efficient for the applications they are designed for
The database approach on the other hand provides a flexible alternative where new applications can be developed relatively inexpensively The flexible approach is not without its costs and one of these costs is the additional cost of running applications that the conventional system was designed for Using standardised software is almost always less machine efficient than specialised software
Database - Advantages amp Disadvantages
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Honestanswered 2 years ago
Security is important advantage of DBMS
Next We may see data in different view
Example
All the Bank Database cant see by the Pune But some of the details about the
clients of the bank like name and addresses may see by the pune
But entire database can view by the manager of the Bank
This will done with the help of db
Data Integrity
Functional Dependency Leave a comment Report
0 0
Karthikasanswered 2 months ago
14 ADVANTAGES OF USING DBMS
1Controlling Redundancy In traditional file processing every user group maintains its own files Each group independently keeps files on their db eg students Therefore much of the data is stored twice or more Redundancy leads to several problems
duplication of effortstorage space wasted when the same data is stored repeatedly files that represent the same data may become inconsistent (since the
updates are applied independently by each users group)We can use controlled redundancy
2Restricting Unauthorized Access A DBMS should provide a security and authorization subsystem
Some db users will not be authorized to access all information in the db (eg financial data)
Some users are allowed only to retrieve dataSome users are allowed both to retrieve and to update database
3Providing Persistent Storage for Program Objects and Data StructuresData structure provided by DBMS must be compatible with the programming languagersquos data structures Eg Object oriented DBMS are compatible with programming languages such as C++ SMALLTALK and the DBMS software automatically performs conversions between programming data structure and file formats
4Permitting Inferencing and Actions Using Deduction RulesDeductive database systems provide capabilities for defining deduction rules for inferencing new information from the stored database facts
5Providing Multiple User Interfaces (eg query languages programming languages interfaces forms menu-driven interfaces etc) 6Representing Complex Relationships Among Data
7Enforcing Integrity Constraints
8Providing Backup and Recovery(must provide facilities for recovering from hardware or software failures)
=------------------------------Disadvantages of using a DBMS
A database system generally provides on-line access to the database for many users In contrast a conventional system is often designed to meet a specific need and therefore generally provides access to only a small number of users Because of the larger number of users accessing the data when a database is used the enterprise may involve additional risks as compared to a conventional data processing system in the following areas
1 Confidentiality privacy and security 2 Data quality 3 Data integrity 4 Enterprise vulnerability may be higher 5 The cost of using DBMS
Confidentiality Privacy and Security
When information is centralised and is made available to users from remote locations the possibilities of abuse are often more than in a conventional data processing system To
reduce the chances of unauthorised users accessing sensitive information it is necessary to take technical administrative and possibly legal measures
Most databases store valuable information that must be protected against deliberate trespass and destruction
Data Quality
Since the database is accessible to users remotely adequate controls are needed to control users updating data and to control data quality With increased number of users accessing data directly there are enormous opportunities for users to damage the data Unless there are suitable controls the data quality may be compromised
Data Integrity
Since a large number of users could be using a database concurrently technical safeguards are necessary to ensure that the data remain correct during operation The main threat to data integrity comes from several different users attempting to update the same data at the same time The database therefore needs to be protected against inadvertent changes by the users
Enterprise Vulnerability
Centralising all data of an enterprise in one database may mean that the database becomes an indispensible resource The survival of the enterprise may depend on reliable information being available from its database The enterprise therefore becomes vulnerable to the destruction of the database or to unauthorised modification of the database
The Cost of using a DBMS
Conventional data processing systems are typically designed to run a number of well-defined preplanned processes Such systems are often tuned to run efficiently for the processes that they were designed for Although the conventional systems are usually fairly inflexible in that new applications may be difficult to implement andor expensive to run they are usually very efficient for the applications they are designed for
The database approach on the other hand provides a flexible alternative where new applications can be developed relatively inexpensively The flexible approach is not without its costs and one of these costs is the additional cost of running applications that the conventional system was designed for Using standardised software is almost always less machine efficient than specialised software
Database - Advantages amp Disadvantages
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Some db users will not be authorized to access all information in the db (eg financial data)
Some users are allowed only to retrieve dataSome users are allowed both to retrieve and to update database
3Providing Persistent Storage for Program Objects and Data StructuresData structure provided by DBMS must be compatible with the programming languagersquos data structures Eg Object oriented DBMS are compatible with programming languages such as C++ SMALLTALK and the DBMS software automatically performs conversions between programming data structure and file formats
4Permitting Inferencing and Actions Using Deduction RulesDeductive database systems provide capabilities for defining deduction rules for inferencing new information from the stored database facts
5Providing Multiple User Interfaces (eg query languages programming languages interfaces forms menu-driven interfaces etc) 6Representing Complex Relationships Among Data
7Enforcing Integrity Constraints
8Providing Backup and Recovery(must provide facilities for recovering from hardware or software failures)
=------------------------------Disadvantages of using a DBMS
A database system generally provides on-line access to the database for many users In contrast a conventional system is often designed to meet a specific need and therefore generally provides access to only a small number of users Because of the larger number of users accessing the data when a database is used the enterprise may involve additional risks as compared to a conventional data processing system in the following areas
1 Confidentiality privacy and security 2 Data quality 3 Data integrity 4 Enterprise vulnerability may be higher 5 The cost of using DBMS
Confidentiality Privacy and Security
When information is centralised and is made available to users from remote locations the possibilities of abuse are often more than in a conventional data processing system To
reduce the chances of unauthorised users accessing sensitive information it is necessary to take technical administrative and possibly legal measures
Most databases store valuable information that must be protected against deliberate trespass and destruction
Data Quality
Since the database is accessible to users remotely adequate controls are needed to control users updating data and to control data quality With increased number of users accessing data directly there are enormous opportunities for users to damage the data Unless there are suitable controls the data quality may be compromised
Data Integrity
Since a large number of users could be using a database concurrently technical safeguards are necessary to ensure that the data remain correct during operation The main threat to data integrity comes from several different users attempting to update the same data at the same time The database therefore needs to be protected against inadvertent changes by the users
Enterprise Vulnerability
Centralising all data of an enterprise in one database may mean that the database becomes an indispensible resource The survival of the enterprise may depend on reliable information being available from its database The enterprise therefore becomes vulnerable to the destruction of the database or to unauthorised modification of the database
The Cost of using a DBMS
Conventional data processing systems are typically designed to run a number of well-defined preplanned processes Such systems are often tuned to run efficiently for the processes that they were designed for Although the conventional systems are usually fairly inflexible in that new applications may be difficult to implement andor expensive to run they are usually very efficient for the applications they are designed for
The database approach on the other hand provides a flexible alternative where new applications can be developed relatively inexpensively The flexible approach is not without its costs and one of these costs is the additional cost of running applications that the conventional system was designed for Using standardised software is almost always less machine efficient than specialised software
Database - Advantages amp Disadvantages
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
reduce the chances of unauthorised users accessing sensitive information it is necessary to take technical administrative and possibly legal measures
Most databases store valuable information that must be protected against deliberate trespass and destruction
Data Quality
Since the database is accessible to users remotely adequate controls are needed to control users updating data and to control data quality With increased number of users accessing data directly there are enormous opportunities for users to damage the data Unless there are suitable controls the data quality may be compromised
Data Integrity
Since a large number of users could be using a database concurrently technical safeguards are necessary to ensure that the data remain correct during operation The main threat to data integrity comes from several different users attempting to update the same data at the same time The database therefore needs to be protected against inadvertent changes by the users
Enterprise Vulnerability
Centralising all data of an enterprise in one database may mean that the database becomes an indispensible resource The survival of the enterprise may depend on reliable information being available from its database The enterprise therefore becomes vulnerable to the destruction of the database or to unauthorised modification of the database
The Cost of using a DBMS
Conventional data processing systems are typically designed to run a number of well-defined preplanned processes Such systems are often tuned to run efficiently for the processes that they were designed for Although the conventional systems are usually fairly inflexible in that new applications may be difficult to implement andor expensive to run they are usually very efficient for the applications they are designed for
The database approach on the other hand provides a flexible alternative where new applications can be developed relatively inexpensively The flexible approach is not without its costs and one of these costs is the additional cost of running applications that the conventional system was designed for Using standardised software is almost always less machine efficient than specialised software
Database - Advantages amp Disadvantages
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Advantages
Reduced data redundancy Reduced updating errors and increased consistency Greater data integrity and independence from applications
programs Improved data access to users through use of host and query
languages Improved data security Reduced data entry storage and retrieval costs Facilitated development of new applications program
Disadvantages
Database systems are complex difficult and time-consuming to design
Substantial hardware and software start-up costs Damage to database affects virtually all applications programs Extensive conversion costs in moving form a file-based system to
a database system
Initial training required for all programmers and users
RDBMS Concepts1 What is database
A database is a logically coherent collection of data with some inherent meaning
representing some aspect of real world and which is designed built and populated
with data for a specific purpose
2 What is DBMSIt is a collection of programs that enables user to create and maintain a database
In other words it is general-purpose software that provides the users with the processes of defining constructing and manipulating the database for various applications
3 What is a Database systemThe database and DBMS software together is called as Database system
4 Advantages of DBMS
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Redundancy is controlled Unauthorised access is restricted Providing multiple user interfaces Enforcing integrity constraints Providing backup and recovery
5 Disadvantage in File Processing System Data redundancy amp inconsistency Difficult in accessing data Data isolation Data integrity Concurrent access is not possible Security Problems
6 Describe the three levels of data abstractionThe are three levels of abstraction
Physical level The lowest level of abstraction describes how data are stored Logical level The next higher level of abstraction describes what data are stored in
database and what relationship among those data View level The highest level of abstraction describes only part of entire database7 Define the integrity rules
There are two Integrity rules Entity Integrity States that ldquoPrimary key cannot have NULL valuerdquo Referential Integrity States that ldquoForeign Key can be either a NULL value
or should be Primary Key value of other relation
8 What is extension and intensionExtension -
It is the number of tuples present in a table at any instance This is time dependent
Intension - It is a constant value that gives the name structure of table and the
constraints laid on it
9 What is System R What are its two major subsystemsSystem R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems with performance at least comparable to that of existing system
Its two subsystems are Research Storage System Relational Data System
10 How is the data structure of System R different from the relational structure Unlike Relational systems in System R
Domains are not supported
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Enforcement of candidate key uniqueness is optional Enforcement of entity integrity is optional Referential integrity is not enforced
11 What is Data IndependenceData independence means that ldquothe application is independent of the storage
structure and access strategy of datardquo In other words The ability to modify the schema definition in one level should not affect the schema definition in the next higher level
Two types of Data Independence Physical Data Independence Modification in physical level should not
affect the logical level Logical Data Independence Modification in logical level should affect the
view level NOTE Logical Data Independence is more difficult to achieve
12 What is a view How it is related to data independenceA view may be thought of as a virtual table that is a table that does not really
exist in its own right but is instead derived from one or more underlying base table In other words there is no stored file that direct represents the view instead a definition of view is stored in data dictionary
Growth and restructuring of base tables is not reflected in views Thus the view can insulate users from the effects of restructuring and growth in the database Hence accounts for logical data independence
13 What is Data Model A collection of conceptual tools for describing data data relationships data
semantics and constraints
14 What is E-R modelThis data model is based on real world that consists of basic objects called entities
and of relationship among these objects Entities are described in a database by a set of attributes
15 What is Object Oriented modelThis model is based on collection of objects An object contains values stored in
instance variables with in the object An object also contains bodies of code that operate on the object These bodies of code are called methods Objects that contain same types of values and the same methods are grouped together into classes
16 What is an EntityIt is a thing in the real world with an independent existence
17 What is an Entity typeIt is a collection (set) of entities that have same attributes
18 What is an Entity set
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
It is a collection of all entities of particular entity type in the database
19 What is an Extension of entity typeThe collections of entities of a particular entity type are grouped together into an
entity set
20 What is Weak Entity setAn entity set may not have sufficient attributes to form a primary key and its
primary key compromises of its partial key and primary key of its parent entity then it is said to be Weak Entity set
21 What is an attributeIt is a particular property which describes the entity
22 What is a Relation Schema and a RelationA relation Schema denoted by R(A1 A2 hellip An) is made up of the relation name
R and the list of attributes Ai that it contains A relation is defined as a set of tuples Let r be the relation which contains set tuples (t1 t2 t3 tn) Each tuple is an ordered list of n-values t=(v1v2 vn)
23 What is degree of a RelationIt is the number of attribute of its relation schema
24 What is RelationshipIt is an association among two or more entities
25 What is Relationship set The collection (or set) of similar relationships
26 What is Relationship type Relationship type defines a set of associations or a relationship set among a given
set of entity types 27 What is degree of Relationship type
It is the number of entity type participating
25 What is DDL (Data Definition Language)A data base schema is specifies by a set of definitions expressed by a special
language called DDL
26 What is VDL (View Definition Language)It specifies user views and their mappings to the conceptual schema
27 What is SDL (Storage Definition Language)This language is to specify the internal schema This language may specify the
mapping between two schemas
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
28 What is Data Storage - Definition LanguageThe storage structures and access methods used by database system are specified
by a set of definition in a special type of DDL called data storage-definition language
29 What is DML (Data Manipulation Language)This language that enable user to access or manipulate data as organised by
appropriate data model Procedural DML or Low level DML requires a user to specify what data are needed
and how to get those data Non-Procedural DML or High level DML requires a user to specify what data are
needed without specifying how to get those data
31 What is DML CompilerIt translates DML statements in a query language into low-level instruction that
the query evaluation engine can understand
32 What is Query evaluation engineIt executes low-level instruction generated by compiler
33 What is DDL InterpreterIt interprets DDL statements and record them in tables containing metadata
34 What is Record-at-a-timeThe Low level or Procedural DML can specify and retrieve each record from a set
of records This retrieve of a record is said to be Record-at-a-time
35 What is Set-at-a-time or Set-orientedThe High level or Non-procedural DML can specify and retrieve many records in
a single DML statement This retrieve of a record is said to be Set-at-a-time or Set-oriented
36 What is Relational AlgebraIt is procedural query language It consists of a set of operations that take one or
two relations as input and produce a new relation
37 What is Relational CalculusIt is an applied predicate calculus specifically tailored for relational databases
proposed by EF Codd Eg of languages based on it are DSL ALPHA QUEL
38 How does Tuple-oriented relational calculus differ from domain-oriented relational calculus
The tuple-oriented calculus uses a tuple variables ie variable whose only permitted values are tuples of that relation Eg QUELThe domain-oriented calculus has domain variables ie variables that range over the underlying domains instead of over relation Eg ILL DEDUCE
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
39 What is normalization It is a process of analysing the given relation schemas based on their Functional
Dependencies (FDs) and primary key to achieve the properties Minimizing redundancy Minimizing insertion deletion and update anomalies
40 What is Functional Dependency A Functional dependency is denoted by X Y between two sets of attributes X
and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y] This means the value of X component of a tuple uniquely determines the value of component Y
41 When is a functional dependency F said to be minimal Every dependency in F has a single attribute for its right hand side We cannot replace any dependency X A in F with a dependency Y A where Y is a
proper subset of X and still have a set of dependency that is equivalent to F We cannot remove any dependency from F and still have set of dependency that is
equivalent to F
42 What is Multivalued dependencyMultivalued dependency denoted by X Y specified on relation schema R
where X and Y are both subsets of R specifies the following constraint on any relation r of R if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties t3[x] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] and t4[Y] = t2[Y] t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ] 43 What is Lossless join property
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition
44 What is 1 NF (Normal Form)The domain of attribute must include only atomic (simple indivisible) values
45 What is Fully Functional dependency It is based on concept of full functional dependency A functional dependency
X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more
46 What is 2NF A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R
is fully functionally dependent on primary key
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
47 What is 3NFA relation schema R is in 3NF if it is in 2NF and for every FD X A either of the
following is true X is a Super-key of R A is a prime attribute of R
In other words if every non prime attribute is non-transitively dependent on primary key
48 What is BCNF (Boyce-Codd Normal Form)A relation schema R is in BCNF if it is in 3NF and satisfies an additional
constraint that for every FD X A X must be a candidate key 49 What is 4NF
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R one of following is true X is subset or equal to (or) XY = R X is a super key
50 What is 5NFA Relation schema R is said to be 5NF if for every join dependency R1 R2
Rn that holds R one the following is true Ri = R for some i The join dependency is implied by the set of FD over R in which the left side is key
of R 51 What is Domain-Key Normal Form
A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation
52 What are partial alternate artificial compound and natural key
Partial KeyIt is a set of attributes that can uniquely identify weak entities and that are
related to same owner entity It is sometime called as DiscriminatorAlternate Key
All Candidate Keys excluding the Primary Key are known as Alternate Keys
Artificial Key If no obvious key either stand alone or compound is available then the
last resort is to simply create a key by assigning a unique number to each record or occurrence Then this is known as developing an artificial key
Compound KeyIf no single data element uniquely identifies occurrences within a
construct then combining multiple elements to create a unique identifier for the construct is known as creating a compound key
Natural Key
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
When one of the data elements stored within a construct is utilized as the primary key then it is called the natural key
53 What is indexing and what are the different kinds of indexingIndexing is a technique for determining how quickly specific data can be foundTypes
Binary search style indexing B-Tree indexing Inverted list indexing Memory resident table Table indexing
54 What is system catalog or catalog relation How is better known asA RDBMS maintains a description of all the data that it contains information
about every relation and index that it contains This information is stored in a collection of relations maintained by the system called metadata It is also called data dictionary
55 What is meant by query optimizationThe phase that identifies an efficient execution plan for evaluating a query that
has the least estimated cost is referred to as query optimization
56 What is join dependency and inclusion dependencyJoin Dependency
A Join dependency is generalization of Multivalued dependencyA JD R1 R2 Rn is said to hold over a relation R if R1 R2 R3 Rn is a lossless-join decomposition of R There is no set of sound and complete inference rules for JD
Inclusion DependencyAn Inclusion Dependency is a statement of the form that some columns of
a relation are contained in other columns A foreign key constraint is an example of inclusion dependency
57 What is durability in DBMSOnce the DBMS informs the user that a transaction has successfully completed
its effects should persist even if the system crashes before all its changes are reflected on disk This property is called durability
58 What do you mean by atomicity and aggregationAtomicity
Either all actions are carried out or none are Users should not have to worry about the effect of incomplete transactions DBMS ensures this by undoing the actions of incomplete transactions
AggregationA concept which is used to model a relationship between a collection of
entities and relationships It is used when we need to express a relationship among relationships
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
59 What is a Phantom DeadlockIn distributed deadlock detection the delay in propagating local information
might cause the deadlock detection algorithms to identify deadlocks that do not really exist Such situations are called phantom deadlocks and they lead to unnecessary aborts
60 What is a checkpoint and When does it occurA Checkpoint is like a snapshot of the DBMS state By taking checkpoints the
DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes
61 What are the different phases of transactionDifferent phases are
Analysis phase Redo Phase Undo phase
62 What do you mean by flat file databaseIt is a database in which there are no programs or user access languages It has no
cross-file capabilities but is user-friendly and provides user-interface management
63 What is transparent DBMSIt is one which keeps its Physical Structure hidden from user
64 Brief theory of Network Hierarchical schemas and their propertiesNetwork schema uses a graph data structure to organize records example for such
a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS
65 What is a queryA query with respect to DBMS relates to user commands that are used to interact
with a data base The query language can be classified into data definition language and data manipulation language
66 What do you mean by Correlated subquerySubqueries or nested queries are used to bring back a set of rows to be used by
the parent query Depending on how the subquery is written it can be executed once for the parent query or it can be executed once for each row returned by the parent query If the subquery is executed for each row of the parent this is called a correlated subquery
A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause Columns from the subquery cannot be referenced anywhere else in the parent query The following example demonstrates a non-correlated subquery
Eg Select From CUST Where 10031990 IN (Select ODATE From ORDER Where CUSTCNUM = ORDERCNUM)
67 What are the primitive operations common to all record management systems
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Addition deletion and modification
68 Name the buffer in which all the commands that are typed in are storedlsquoEditrsquo Buffer
69 What are the unary operations in Relational AlgebraPROJECTION and SELECTION
70 Are the resulting relations of PRODUCT and JOIN operation the sameNoPRODUCT Concatenation of every row in one relation with every row in
anotherJOIN Concatenation of rows from one relation and related rows from another
71 What is RDBMS KERNELTwo important pieces of RDBMS architecture are the kernel which is the
software and the data dictionary which consists of the system-level data structures used by the kernel to manage the database
You might think of an RDBMS as an operating system (or set of subsystems) designed specifically for controlling data access its primary functions are storing retrieving and securing data An RDBMS maintains its own list of authorized users and their associated privileges manages memory caches and paging controls locking for concurrent resource usage dispatches and schedules user requests and manages space usage within its table-space structures72 Name the sub-systems of a RDBMS
IO Security Language Processing Process Control Storage Management Logging and Recovery Distribution Control Transaction Control Memory Management Lock Management
73 Which part of the RDBMS takes care of the data dictionary HowData dictionary is a set of tables and database objects that is stored in a special
area of the database and maintained exclusively by the kernel
74 What is the job of the information stored in data-dictionaryThe information in the data dictionary validates the existence of the objects
provides access to them and maps the actual physical storage location
75 Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data
76 How do you communicate with an RDBMSYou communicate with an RDBMS using Structured Query Language (SQL)
77 Define SQL and state the differences between SQL and other conventional programming Languages
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
SQL is a nonprocedural language that is designed specifically for data access operations on normalized relational database structures The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them
78 Name the three major set of files on disk that compose a database in OracleThere are three major sets of files on disk that compose a database All the files are binary These are
Database files Control files Redo logs
The most important of these are the database files where the actual data resides The control files and the redo logs support the functioning of the architecture itself
All three sets of files must be present open and available to Oracle for any data on the database to be useable Without these files you cannot access the database and the database administrator might have to recover some or all of the database using a backup if there is one
79 What is an Oracle InstanceThe Oracle system processes also known as Oracle background processes
provide functions for the user processesmdashfunctions that would otherwise be done by the user processes themselves
Oracle database-wide system memory is known as the SGA the system global area or shared global area The data and control structures in the SGA are shareable and all the Oracle background processes and user processes can use them
The combination of the SGA and the Oracle background processes is known as an Oracle instance
80 What are the four Oracle system processes that must always be up and running for the database to be useable
The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer) LGWR (Log Writer) SMON (System Monitor) and PMON (Process Monitor)
81 What are database files control files and log files How many of these files should a database have at least WhyDatabase Files
The database files hold the actual data and are typically the largest in size Depending on their sizes the tables (and other objects) for all the user accounts can go in one database filemdashbut thats not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users putting the database on different disk drives or backing up and restoring just part of the database
You must have at least one database file but usually more than one files are used In terms of accessing and using the data in the tables and other objects the number (or location) of the files is immaterial
The database files are fixed in size and never grow bigger than the size at which they were created
Control Files
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
The control files and redo logs support the rest of the architecture Any
database must have at least one control file although you typically have more than
one to guard against loss The control file records the name of the database the date
and time it was created the location of the database and redo logs and the
synchronization information to ensure that all three sets of files are always in step
Every time you add a new database or redo log file to the database the information is
recorded in the control files
Redo Logs Any database must have at least two redo logs These are the journals for
the database the redo logs record all changes to the user objects or system objects If any type of failure occurs the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions In the case of non-data loss failure Oracle can apply the information in the redo logs automatically without intervention from the DBA
The redo log files are fixed in size and never grow dynamically from the size at which they were created
82 What is ROWIDThe ROWID is a unique database-wide physical address for every row on every
table Once assigned (when the row is first inserted into the database) it never changes until the row is deleted or the table is dropped
The ROWID consists of the following three components the combination of which uniquely identifies the physical storage location of the row
Oracle database file number which contains the block with the rows Oracle block address which contains the row The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows
with a particular key value Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID
83 What is Oracle Block Can two Oracle Blocks have the same addressOracle formats the database files into a number of Oracle blocks when they are
first createdmdashmaking it easier for the RDBMS software to manage the files and easier to read data into the memory areas
The block size should be a multiple of the operating system block size Regardless of the block size the entire block is not available for holding data Oracle takes up some space to manage the contents of the block This block header has a minimum size but it can grow
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
These Oracle blocks are the smallest unit of storage Increasing the Oracle block size can improve performance but it should be done only when the database is first created
Each Oracle block is numbered sequentially for each database file starting at 1 Two blocks can have the same block address if they are in different database files
84 What is database TriggerA database trigger is a PLSQL block that can defined to automatically execute
for insert update and delete statements against a table The trigger can e defined to execute once for the entire statement or once for every row that is inserted updated or deleted For any one table there are twelve events for which you can define database triggers A database trigger can call database procedures that are also written in PLSQL
85 Name two utilities that Oracle provides which are use for backup and recoveryAlong with the RDBMS software Oracle provides two utilities that you can use
to back up and restore the database These utilities are Export and Import The Export utility dumps the definitions and data for the specified part of the
database to an operating system binary file The Import utility reads the file produced by an export recreates the definitions of objects and inserts the data
If Export and Import are used as a means of backing up and recovering the database all the changes made to the database cannot be recovered since the export was performed The best you can do is recover the database to the time when the export was last performed
86 What are stored-procedures And what are the advantages of using themStored procedures are database objects that perform a user defined operation A
stored procedure can have a set of compound SQL statements A stored procedure executes the SQL commands and returns the result to the client Stored procedures are used to reduce network traffic
87 How are exceptions handled in PLSQL Give some of the internal exceptions namePLSQL exception handling is a mechanism for dealing with run-time errors
encountered during procedure execution Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination
The exception handler must be defined within a subprogram specification Errors cause the program to raise an exception with a transfer of control to the exception-handler block After the exception handler executes control returns to the block in which the handler was defined If there are no more executable statements in the block control returns to the caller
User-Defined Exceptions PLSQL enables the user to define exception handlers in the declarations
area of subprogram specifications User accomplishes this by naming an exception as in the following example
ot_failure EXCEPTIONIn this case the exception name is ot_failure Code associated with this handler is written in the EXCEPTION specification area as follows
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
EXCEPTION when OT_FAILURE then out_status_code = g_out_status_code out_msg = g_out_msg
The following is an example of a subprogram exception
EXCEPTION when NO_DATA_FOUND then g_out_status_code = FAIL RAISE ot_failure
Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler This technique of raising the exception is used to invoke all user-defined exceptions
System-Defined Exceptions Exceptions internal to PLSQL are raised automatically upon error
NO_DATA_FOUND is a system-defined exception Table below gives a complete list of internal exceptions
PLSQL internal exceptions
Exception Name Oracle ErrorCURSOR_ALREADY_OPEN ORA-06511DUP_VAL_ON_INDEX ORA-00001INVALID_CURSOR ORA-01001INVALID_NUMBER ORA-01722LOGIN_DENIED ORA-01017NO_DATA_FOUND ORA-01403NOT_LOGGED_ON ORA-01012PROGRAM_ERROR ORA-06501STORAGE_ERROR ORA-06500TIMEOUT_ON_RESOURCE ORA-00051TOO_MANY_ROWS ORA-01422TRANSACTION_BACKED_OUT ORA-00061VALUE_ERROR ORA-06502ZERO_DIVIDE ORA-01476
In addition to this list of exceptions there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established
88 Does PLSQL support overloading ExplainThe concept of overloading in PLSQL relates to the idea that you can define
procedures and functions with the same name PLSQL does not look only at the referenced name however to resolve a procedure or function call The count and data types of formal parameters are also considered
PLSQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions To further ensure calling the proper procedure you can use the dot notation Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
89 Tables derived from the ERD a) Are totally unnormalisedb) Are always in 1NFc) Can be further denormalisedd) May have multi-valued attributes
(b) Are always in 1NF
90 Spurious tuples may occur due to i Bad normalization ii Theta joins iii Updating tables from join
a) i amp ii b) ii amp iiic) i amp iii d) ii amp iii
(a) i amp iii because theta joins are joins made on keys that are not primary keys
91 A B C is a set of attributes The functional dependency is as follows AB -gt B AC -gt C C -gt B
a) is in 1NFb) is in 2NFc) is in 3NFd) is in BCNF
(a) is in 1NF since (AC)+ = A B C hence AC is the primary key Since C B is a FD given where neither C is a Key nor B is a prime attribute this it is not in 3NF Further B is not functionally dependent on key AC thus it is not in 2NF Thus the given FDs is in 1NF
92 In mapping of ERD to DFD a) entities in ERD should correspond to an existing entitystore in DFDb) entity in DFD is converted to attributes of an entity in ERDc) relations in ERD has 1 to 1 correspondence to processes in DFDd) relationships in ERD has 1 to 1 correspondence to flows in DFD
(a) entities in ERD should correspond to an existing entitystore in DFD
93 A dominant entity is the entitya) on the N side in a 1 N relationshipb) on the 1 side in a 1 N relationshipc) on either side in a 1 1 relationshipd) nothing to do with 1 1 or 1 N relationship
(b) on the 1 side in a 1 N relationship
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
94 Select NORTH CUSTOMER From CUST_DTLS Where REGION = N Order By CUSTOMER Union Select EAST CUSTOMER From CUST_DTLS Where REGION = E Order By CUSTOMERThe above is
a) Not an errorb) Error - the string in single quotes NORTH and SOUTHc) Error - the string should be in double quotesd) Error - ORDER BY clause
(d) Error - the ORDER BY clause Since ORDER BY clause cannot be used in UNIONS
95 What is Storage Manager It is a program module that provides the interface between the low-level data
stored in database application programs and queries submitted to the system 96 What is Buffer Manager
It is a program module which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory
97 What is Transaction ManagerIt is a program module which ensures that database remains in a consistent state
despite system failures and concurrent transaction execution proceeds without conflicting
98 What is File ManagerIt is a program module which manages the allocation of space on disk storage
and data structure used to represent information stored on a disk
99 What is Authorization and Integrity managerIt is the program module which tests for the satisfaction of integrity constraint
and checks the authority of user to access data 100 What are stand-alone procedures
Procedures that are not part of a package are known as stand-alone because they independently defined A good example of a stand-alone procedure is one written in a SQLForms application These types of procedures are not available for reference from other Oracle tools Another limitation of stand-alone procedures is that they are compiled at run time which slows execution
101 What are cursors give different types of cursorsPLSQL uses cursors for all database information accesses statements The
language supports the use two types of cursors Implicit Explicit
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
102 What is cold backup and hot backup (in case of Oracle) Cold Backup
It is copying the three sets of files (database files redo logs and control file) when the instance is shut down This is a straight file copy usually from the disk directly to tape You must shut down the instance to guarantee a consistent copy
If a cold backup is performed the only option available in the event of data file loss is restoring all the files from the latest backup All work performed on the database since the last backup is lost Hot Backup
Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files The cold backup is not an available option
So different means of backing up database must be used mdash the hot backup Issue a SQL command to indicate to Oracle on a tablespace-by-tablespace basis that the files of the tablespace are to backed up The users can continue to make full use of the files including making changes to the data Once the user has indicated that heshe wants to back up the tablespace files heshe can use the operating system to copy those files to the desired backup destination
The database must be running in ARCHIVELOG mode for the hot backup option
If a data loss failure does occur the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done The database is restored to the most consistent state without any loss of committed transactions
103 What are Armstrong rules How do we say that they are complete andor soundThe well-known inference rules for FDs
Reflexive rule If Y is subset or equal to X then X Y Augmentation rule
If X Y then XZ YZ Transitive rule
If X Y Y Z then X Z Decomposition rule If X YZ then X Y Union or Additive rule If X Y X Z then X YZ Pseudo Transitive rule If X Y WY Z then WX Z
Of these the first three are known as Amstrong Rules They are sound because it is enough if a set of FDs satisfy these three They are called complete because using these three rules we can generate the rest all inference rules
104 How can you find the minimal key of relational schema
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Minimal key is one which can identify each tuple of the given relation schema uniquely For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency
Algo I Determining X+ closure for X given set of FDs F1 Set X+ = X2 Set Old X+ = X+
3 For each FD Y Z in F and if Y belongs to X+ then add Z to X+
4 Repeat steps 2 and 3 until Old X+ = X+
AlgoII Determining minimal K for relation schema R given set of FDs F1 Set K to R that is make K a set of all attributes in R2 For each attribute A in K
a Compute (K ndash A)+ with respect to Fb If (K ndash A)+ = R then set K = (K ndash A)+
105 What do you understand by dependency preservationGiven a relation R and a set of FDs F dependency preservation states that
the closure of the union of the projection of F on each decomposed relation Ri is equal to the closure of F ie
((R1(F)) U hellip U (Rn(F)))+ = F+
if decomposition is not dependency preserving then some dependency is lost in the decomposition 106 What is meant by Proactive Retroactive and Simultaneous Update
Proactive UpdateThe updates that are applied to database before it becomes
effective in real world Retroactive Update
The updates that are applied to database after it becomes effective in real world
Simulatneous UpdateThe updates that are applied to database at the same time when it
becomes effective in real world
107 What are the different types of JOIN operationsEqui Join This is the most common type of join which involves only
equality comparisions The disadvantage in this type of join is that there
Unit-1 Database System Concept Lecture-2 Disadvantages of File processing systems
Hi The journey has started today you will learn about the various flaws in the conventional file processing systems The actual reason for the introduction of DBMS
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Data are stored in files and database in all information systems Files are collections of similar records Data storage is build around the corresponding application that uses the files
File Processing Systems
bull Where data are stored to individual files is a very old but often used approach to system development
bull Each program (system) often had its own unique set of files
Page No 1
Diagrammatic representation of conventional file systems
Unit-1 Database System Concept Lecture-2
Users of file processing systems are almost always at the mercy of the Information Systems department to write programs that manipulate stored data and produce needed information such as printed reports and screen displays
What is a file then
A File is a collection of data about a single entity
Files are typically designed to meet needs of a particular department or user group
Files are also typically designed to be part of a particular computer application
Advantages
1048766are relatively easy to design and implement since they are normally based on a single application or information system
1048766The processing speed is faster than other ways of storing data
Disadvantages
1048766Program-data dependence
1048766Duplication of data
1048766Limited data sharing
1048766Lengthy program and system development time
1048766Excessive program maintenance when the system changed
1048766Duplication of data items in multiple files Duplication can affect on input maintenance storage and possibly data integrity problems
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
1048766Inflexibility and non-scalability Since the conventional files are designed to support single application the original file structure cannot support the new requirements
Page No 2
Today the trend is in favor of replacing file-based systems and applications with database systems and applications
Unit-1 Database System Concept Lecture-2
Database Approach
A database is more than a file ndash it contains information about more than one entity and information about relationships among the entities
Data about a single entity (eg Product Customer Customer Order Department) are each stored to a ldquotablerdquo in the database
Databases are designed to meet the needs of multiple users and to be used in multiple applications
One significant development in the more user-friendly relational DBMS products is that users can sometimes get their own answers from the stored data by learning to use data querying methods
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Page No 3 Unit-1 Database System Concept Lecture-2
Advantages
1048766Program-data independence
1048766Minimal data redundancy improved data consistency enforcement of standards improved data quality
1048766Improved data sharing improved data accessibility and responsiveness
1048766Increased productivity of application development
1048766Reduced program maintenance Data can be shared by many applications and systems
1048766Data are stored in flexible formats Data independence If the data are well designed the user can access different combinations of same data for query and report purposes
1048766Reduce redundancy
Database Application Size
Personal Computer Database
o Supports a single-user
o Stand-alone
o May purchase such an application from a vendor
o Canrsquot integrate data with other applications
Workgroup Database
o Example would be a small team using the same set of applications such as in a physicianrsquos office
o Includes numerous workstations and a single server typically
Department Database Page No 4
o A functional area (such as production) in a firm
Unit-1 Database System Concept Lecture-2
o Same hardwaresoftware as Workgroup database but is specialized for the department
Enterprise Database
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
o Databases or set of databases to serve an entire organization
o May be distributed over several different physical locations
o Requires organizational standards for system development and maintenance
Figure 111 Conventional files versus the database
Database design in perspective
The focus is on the data from the perspective of the system designer The output of database design is database schema Data models were developed during the definition phase Then data structures supporting database technology are produced during the database design
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Page No 5 Unit-1 Database System Concept Lecture-2
Advantages of using a DBMS
There are three main features of a database management system that make it attractive to use a DBMS in preference to more conventional software These features are centralized data management data independence and systems integration
In a database system the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates In a conventional DP system an organization is likely to have several files of related data that are processed by several different application programs
In the conventional data processing application programs the programs usually are based on a considerable knowledge of data structure and format In such environment any change of data structure or format would require appropriate changes to the application programs These changes could be as small as the following
1 Coding of some field is changed For example a null value that was coded as -1 is now coded as -9999
2 A new field is added to the records
3 The length of one of the fields is changed For example the maximum number of digits in a telephone number field or a postcode field needs to be changed
4 The field on which the file is sorted is changed
Page No 6
If some major changes were to be made to the data the application programs may need to be rewritten In a database system the database management system provides the interface between the application programs and the data When changes are made to the data representation the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way The DBMS handles the task of transformation of data wherever necessary
This independence between the programs and the data is called data independence Data independence is important because every time some change needs to be made to the data structure the programs that were being used before the change would continue to work To provide a high degree of data independence a DBMS must include a sophisticated metadata management system
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
In DBMS all files are integrated into one system thus reducing redundancies and making data management more efficient In addition DBMS provides centralized control of the operational data Some of the advantages of data independence integration and centralized control are
Redundancies and inconsistencies can be reduced
In conventional data systems an organization often builds a collection of application programs often created by different programmers and requiring different components of the operational data of the organization The data in conventional data systems is often not centralized Some applications may require data to be combined from several systems These several systems could well have data that is redundant as well as inconsistent (that is different copies of the same data may have different values) Data inconsistencies are often encountered in everyday life For example we have all come across situations when a new address is communicated to an organization that we deal with (eg a bank or Telecom or a gas company) we find that some of the communications from that organization are received at the new address while others continue to be mailed to the old address Combining all the data in a database would involve reduction in redundancy as well as inconsistency It also is likely to reduce the costs for collection storage and updating of data
Better service to the Users Page No 7
A DBMS is often used to provide better service to the users In conventional systems availability of information is often poor since it normally is difficult to obtain information that the existing systems were not designed for Once several conventional systems are
combined to form one centralized data base the availability of information and its up-to-datedness is likely to improve since the data can now be shared and the DBMS makes it easy to respond to unforeseen information requests
Centralizing the data in a database also often means that users can obtain new and combined information that would have been impossible to obtain otherwise Also use of a DBMS should allow users that do not know programming to interact with the data more easily
The ability to quickly obtain new and combined information is becoming increasingly important in an environment where various levels of governments are requiring organizations to provide more and more information about their activities An organization running a conventional data processing system would require new programs to be written (or the information compiled manually) to meet every new demand
Flexibility of the system is improved
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Changes are often necessary to the contents of data stored in any system These changes are more easily made in a database than in a conventional system in that these changes do not need to have any impact on application programs
Cost of developing and maintaining systems is lower
As noted earlier it is much easier to respond to unforeseen requests when the data is centralized in a database than when it is stored in conventional file systems Although the initial cost of setting up of a database can be large one normally expects the overall cost of setting up a database and developing and maintaining application programs to be lower than for similar service using conventional systems since the productivity of programmers can be substantially higher in using non-procedural languages that have been developed with modern DBMS than using procedural languages
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Page No 8 Unit-1 Database System Concept Lecture-2
Standards can be enforced
Since all access to the database must be through the DBMS standards are easier to enforce Standards may relate to the naming of the data the format of the data the structure of the data etc
Security can be improved
In conventional systems applications are developed in an ad hoc manner Often different system of an organization would access different components of the operational data In such an environment enforcing security can be quite difficult
Setting up of a database makes it easier to enforce security restrictions since the data is now centralized It is easier to control that has access to what parts of the database However setting up a database can also make it easier for a determined person to breach security We will discuss this in the next section
Integrity can be improved
Since the data of the organization using a database approach is centralized and would be used by a number of users at a time it is essential to enforce integrity controls
Integrity may be compromised in many ways For example someone may make a mistake in data input and the salary of a full-time employee may be input as $4000 rather than $40000 A student may be shown to have borrowed books but has no enrolment Salary of a staff member in one department may be coming out of the budget of another department Page No 9
If a number of users are allowed to update the same data item at the same time there is a possibility that the result of the updates is not quite what was intended For example in an airline DBMS we could have a situation where the number of bookings made is larger than the capacity of the aircraft that is to be used for the flight Controls therefore must be introduced to prevent such errors to occur because of concurrent updating activities
However since all data is stored only once it is often easier to maintain integrity than in conventional systems
Enterprise requirements can be identified
All enterprises have sections and departments and each of these units often consider the work of their unit as the most important and therefore consider their needs as the most important Once a database has been set up with _entralized control it will be necessary to identify enterprise requirements and to balance the needs of competing units It may become necessary to ignore some requests for information if they conflict with higher priority needs of the enterprise
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Data model must be developed
Perhaps the most important advantage of setting up a database system is the requirement that an overall data model for the enterprise be built In conventional systems it is more likely that files will be designed as needs of particular applications demand The overall view is often not considered Building an overall view of the enterprise data although often an expensive exercise is usually very cost-effective in the long term
DBMS ARCHITECTURE
We now discuss a conceptual framework for a DBMS Several different frameworks have been suggested over the last several years For example a framework may be developed based on the functions that the various components of a DBMS must provide to its users It may also be based on different views of data that are possible within a DBMS We consider the latter approach Page No 10
A commonly used views of data approach is the three-level architecture suggested by ANSISPARC (American National Standards InstituteStandards Planning and Requirements Committee) ANSISPARC produced an interim report in 1972 followed by a final report in 1977 The reports proposed an architectural framework for databases
Unit-1 Database System Concept Lecture-2
Under this approach a database is considered as containing data about an enterprise The three levels of the architecture are three different views of the data
1 External ndash individual user view
2 Conceptual ndash community user view
3 Internal ndash physical or storage view
The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout A database system that is able to separate the three different views of data is likely to be flexible and adaptable This flexibility and adaptability is data independence that we have discussed earlier
We now briefly discuss the three different views
The external level is the view that the individual user of the database has This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users In general the end users and even the applications programmers are only interested in a subset of the database For
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
example a department head may only be interested in the departmental finances and student enrolments but not the library information The librarian would not be expected to have any interest in the information about academic staff The payroll office would have no interest in student enrolments Page No 11
The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation This view is normally more stable than the other two views In a database it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Unit-1 Database System Concept Lecture-2
The internal view is the view about the actual physical storage of data It tells us what data is stored in the database and how At least the following aspects are considered at this level
1 Storage allocation eg B-trees hashing etc
2 Access paths eg specification of primary and secondary keys indexes and pointers and sequencing
3 Miscellaneous eg data compression and encryption techniques optimization of the internal structures
Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database The internal view does not deal with the physical devices directly Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures This is often called physical data independence Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views This separation is sometimes called logical data independence
Assuming the three level view of the database a number of mappings are needed to enable the users working with one of the external views For example the payroll office may have an external view of the database that consists of the following information only
1 Staff number name and address
2 Staff tax information eg number of dependents
3 Staff bank information where salary is deposited
4 Staff employment status salary level leaves information etc
Page No 12
The conceptual view of the database may contain academic staff general staff casual staff etc A mapping will need to be created where all the staff in the different categories
are combined into one category for the payroll office The conceptual view would include information about each staffrsquos position the date employment started full-time or part-time etc This will need to be mapped to the salary level for the salary office Also if there is some change in the conceptual view the external view can stay the same if the mapping is changed Page No 13
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
Summary
Now we are coming to the end of this lecture but before parting we will revise thethings Files are collections of similar records Data storage is build around thecorresponding application that uses the files Duplication of data items in multiplefiles Duplication can affect on input maintenance storage and possibly data integrityproblems Inflexibility and non-scalability Since the conventional files are designed tosupport single application the original file structure cannot support the newrequirements
Today the trend is in favor of replacing file-based systems and applications withdatabase systems and applications
Unit-1 Database System Concept Lecture-2
Questions 1 Explain a file with its advantages and disadvantages 2 Define centralized data management data independence and systems
integration 3 Explain DBMS architecture 4 Explain the 3 different views or architecture of the data
Selected Bibliography
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
------------------------------------------------------------------------------------------------------------
Data dictionary
centralized repository of information about data such as meaning relationships to other data origin usage and format
A data dictionary is a reserved space within a database which is used to store information about the database itself
A data dictionary may contain information such as
Database design information Stored SQL procedures User permissions User statistics Database process information Database growth statistics Database performance statistics
Data dictionaries do not contain any actual data from the database only bookkeeping information for managing it Without a data dictionary however a database management system cannot access data from the database
database A collection of related information stored in a structured format Database is often used interchangeably with the term table (Lotus Approach for instance uses the term database instead of table) Technically theyre different A table is a single store of related information a database can consist of one or more tables of information that are related in some way For instance you could track all the information about the students in a school in a students table If you then created separate tables containing details about teachers classes and classrooms you could combine all four tables into a timetabling database Such a multi-table database is called a relational database
data entry The process of getting information into a database usually done by people typing it in by way of data-entry forms designed to simplify the process
dbms Database management system A program which lets you manage information in databases Lotus Approach Microsoft Access and FileMaker Pro for example are all DBMSs although the term is often shortened to database So the same term is used to apply to the program you use to organise your data and the actual data structure you create with that program
One of the most important parts of an Oracle database is its data dictionary which is a read-only set of tables that provides information about the database A data dictionary contains
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-
The definitions of all schema objects in the database (tables views indexes clusters synonyms sequences procedures functions packages triggers and so on)
How much space has been allocated for and is currently used by the schema objects
Default values for columns
Integrity constraint information
The names of Oracle Database users
Privileges and roles each user has been granted
Auditing information such as who has accessed or updated various schema objects
Other general database information
The data dictionary is structured in tables and views just like other database data All the data dictionary tables and views for a given database are stored in that databases SYSTEM tablespace
Not only is the data dictionary central to every Oracle database it is an important tool for all users from end users to application designers and database administrators Use SQL statements to access the data dictionary Because the data dictionary is read only you can issue only queries (SELECT statements) against its tables and views
- =------------------------------
- RDBMS Concepts
-