Friday, October 11, 2019

MBA Database Management Essay

A1. Differentiate between Traditional File System & Modern Database System File Base system were the traditional systems which has been replaced now by modern database systems. All database application are using the Modern day database management systems now a days . The difference between the these two technologies given below. File-based System File-based systems were an early attempt to computerize the manual filing system. File-based system is a collection of application programs that perform services for the end-users. Each program defines and manages its data. However, five types of problem are occurred in using the file-based approach: Separation and isolation of data When data is isolated in separate files, it is more difficult for us to access data that should be available. The application programmer is required to synchronize the processing of two or more files to ensure the correct data is extracted. Duplication of data When employing the decentralized file-based approach, the uncontrolled duplication of data is occurred. Uncontrolled duplication of data is undesirable because: i.Duplication is wasteful ii.Duplication can lead to loss of data integrity Data dependence Using file-based system, the physical structure and storage of the data files and records are defined in the application program code. This characteristic is known as program-data dependence. Making changes to an existing structure are rather difficult and will lead to a modification of program. Such maintenance activities are time-consuming and subject to error. Incompatible file formats The structures of the file are dependent on the application programming language. However file structure provided in one programming language such as direct file, indexed-sequential file which is available in COBOL programming, may be different from the structure generated by other programming language such as C. The direct incompatibility makes them difficult to process jointly. Fixed queries / proliferation of application programs File-based systems are very dependent upon the application programmer. Any required queries or reports have to be written by the application programmer. Normally, a fixed format query or report can only be entertained and no facility for ad-hoc queries if offered. File-based systems also give tremendous pressure on data processing staff, with users’ complaints on programs that are inadequate or inefficient in meeting their demands. Documentation may be limited and maintenance of the system is difficult. Provision for security, integrity and recovery capability is very limited. Database Systems: In order to overcome the limitations of the file-based approach, the concept of database and the Database Management System (DMS) was emerged in 60s. A database is an application that can store and retrieve data very rapidly. The relational bit refers to how the data is stored in the database and how it is organized. When we talk about database, we mean a relational database, in fact an RDBMS – Relational Database Management System. In a relational database, all data is stored in tables. These have the same structure repeated in each row (like a spreadsheet) and it is the relations between the tables that make it a â€Å"relational† table Advantages: A number of advantages of applying database approach in application system are obtained including: Control of data redundancy The database approach attempts to eliminate the redundancy by integrating the file. Although the database approach does not eliminate redundancy entirely, it controls the amount of redundancy inherent in the database. Data consistency: By eliminating or controlling redundancy, the database approach reduces the risk of inconsistencies occurring. It ensures all copies of the idea are kept consistent. More information from the same amount of data With the integration of the operated data in the database approach, it may be possible to derive additional information for the same data. Sharing of data Database belongs to the entire organization and can be shared by all authorized users. Improved data integrity Database integrity provides the validity and consistency of stored data. Integrity is usually expressed in terms of constraints, which are consistency rules that the database is not permitted to violate. Improved security Database approach provides a protection of the data from the unauthorized users. It may take the term of user names and passwords to identify user type and their access right in the operation including retrieval, insertion, updating and deletion. Enforcement of standards The integration of the database enforces the necessary standards including data formats, naming conventions, documentation standards, update procedures and access rules. Economy of scale Cost savings can be obtained by combining all organization’s operational data into one database with applications to work on one source of data. Balance of conflicting requirements By having a structural design in the database, the conflicts between users or departments can be resolved. Decisions will be based on the base use of resources for the organization as a whole rather that for an individual entity. Improved data accessibility and responsiveness By having an integration in the database approach, data accessing can be crossed departmental boundaries. This feature provides more functionality and better services to the users. Increased productivity The database approach provides all the low-level file-handling routines. The provision of these functions allows the programmer to concentrate more on the specific functionality required by the users. The fourth-generation environment provided by the database can simplify the database application development. Improved maintenance Database approach provides a data independence. As a change of data structure in the database will be affect the application program, it simplifies database application maintenance. Increased concurrency Database can manage concurrent data access effectively. It ensures no interference between users that would not result any loss of information nor loss of integrity. Improved backing and recovery services Modern database management system provides facilities to minimize the amount of processing that can be lost following a failure by using the transaction approach. Disadvantages In split of a large number of advantages can be found in the database approach, it is not without any challenge. The following disadvantages can be found including: Complexity Database management system is an extremely complex piece of software. All parties must be familiar with its functionality and take full advantage of it. Therefore, training for the administrators, designers and users is required. Size The database management system consumes a substantial amount of main memory as well as a large number amount of disk space in order to make it run efficiently. Cost of DBMS A multi-user database management system may be very expensive. Even after the installation, there is a high recurrent annual maintenance cost on the software. Cost of conversion When moving from a file-base system to a database system, the company is required to have additional expenses on hardware acquisition and training cost. Performance As the database approach is to cater for many applications rather than exclusively for a particular one, some applications may not run as fast as before. Higher impact of a failure The database approach increases the vulnerability of the system due to the centralization. As all users and applications reply on the database availability, the failure of any component can bring operations to a halt and affect the services to the customer seriously Q2. What is the disadvantage of sequential file organization? How do you overcome it? What are the advantages & disadvantages of Dynamic Hashing? Disadvantage of Sequestial file organization: A file that contains records or other elements that are stored in a chronological order based on account number or some other identifying data. In order to locate the desired data, sequential files must be read starting at the beginning of the file. A sequential file may be stored on a sequential access device such as magnetic tape or on a direct access device such as magnetic disk. Contrast with random file. Dynamic Hashing: Advantages The main advantage of hash tables over other table data structures is speed. This advantage is more apparent when the number of entries is large (thousands or more). Hash tables are particularly efficient when the maximum number of entries can be predicted in advance, so that the bucket array can be allocated once with the optimum size and never resized. If the set of key-value pairs is fixed and known ahead of time (so insertions and deletions are not allowed), one may reduce the average lookup cost by a careful choice of the hash function, bucket table size, and internal data structures. In particular, one may be able to devise a hash function that is collision-free, or even perfect (see below). In this case the keys need not be stored in the table . Disadvantages Hash tables can be more difficult to implement than self-balancing binary search trees. Choosing an effective hash function for a specific application is more an art than a science. In open-addressed hash tables it is fairly easy to create a poor hash function. Although operations on a hash table take constant time on average, the cost of a good hash function can be significantly higher than the inner loop of the lookup algorithm for a sequential list or search tree. Thus hash tables are not effective when the number of entries is very small. (However, in some cases the high cost of computing the hash function can be mitigated by saving the hash value together with the key.) For certain string processing applications, such as spell-checking, hash tables may be less efficient than tries, finite automata, or Judy arrays. Also, if each key is represented by a small enough number of bits, then, instead of a hash table, one may use the key directly as the index into an array of values. Note that there are no collisions in this case. The entries stored in a hash table can be enumerated efficiently (at constant cost per entry), but only in some pseudo-random order. Therefore, there is no efficient way to efficiently locate an entry whose key is nearest to a given key. Listing all n entries in some specific order generally requires a separate sorting step, whose cost is proportional to log(n) per entry. In comparison, ordered search trees have lookup and insertion cost proportional to log(n), but allow finding the nearest key at about the same cost, and ordered enumeration of all entries at constant cost per entry. If the keys are not stored (because the hash function is collision-free), there may be no easy way to enumerate the keys that are present in the table at any given moment. Although the average cost per operation is constant and fairly small, the cost of a single operation may be quite high. In particular, if the hash table uses dynamic resizing, an insertion or deletion operation may occasionally take time proportional to the number of entries. This may be a serious drawback in real-time or interactive applications. Hash tables in general exhibit poor locality of reference—that is, the data to be accessed is distributed seemingly at random in memory. Because hash tables cause access patterns that jump around, this can trigger microprocessor cache misses that cause long delays. Compact data structures such as arrays, searched with linear search, may be faster if the table is relatively small and keys are integers or other short strings. According to Moore’s Law, cache sizes are growing exponentially and so what is considered â€Å"small† may be increasing. The optimal performance point varies from system to system. Hash tables become quite inefficient when there are many collisions. While extremely uneven hash distributions are extremely unlikely to arise by chance, a malicious adversary with knowledge of the hash function may be able to supply information to a hash which creates worst-case behavior by causing excessive collisions, resulting in very poor performance (i.e., a denial of service attack). In critical applications, either universal hashing can be used or a data structure with better worst-case guarantees may be preferable Q3. What is relationship type? Explain the difference among a relationship instance, relationship type & a relation set? A3. A relationship type R among n entity types E1, E2, †¦, En is a set of associations among entities from these types. Actually, R is a set of relationship instances ri where each ri is an n-tuple of entities (e1, e2, †¦, en), and each entity ej in ri is a member of entity type Ej, 1≠¤j≠¤n. Hence, a relationship type is a mathematical relation on E1, E2, †¦, En, or alternatively it can be defined as a subset of the Cartesian product E1x E2x †¦ xEn . Here, entity types E1, E2, †¦, En defines a set of relationship, called relationship sets. Q4. What is SQL? Discuss. Q5. What is Normalization? Discuss various types of Normal Forms? Q6. What do you mean by Shared Lock & Exclusive lock? Describe briefly two phase locking protocol? MI0034 – Database Management System – 4 Credits Assignment – Set- 2 (60 Marks) Answer all the Questions Q1. Define Data Model & discuss the categories of Data Models? What is the difference between logical data Independence & Physical Data Independence? Q2. What is a B+Trees? Describe the structure of both internal and leaf nodes of a B+Tree? Q3. Describe Projection operation, Set theoretic operation & join operation? Q4. Discuss Multi Table Queries? Q5. Discuss Transaction Processing Concept? 10.2 Describe properties of Transactions? Q6. Describe the advantage of Distributed database? What is Client/server Model? Discuss briefly the security and Internet violation? .

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.