You are on page 1of 5

Database - Advantages & 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.

Data Dictionary
A data dictionary is simply a repository for information about the database data definitions and characteristic such as usage, physical representations, ownership, authorization, and security. The DBMS can access the data dictionary to determine the information it needs to operate. For example, the DBMS can access the data dictionary to, Determine if a data element already exists before adding. This reduces data redundancy Change the description of a data field. For Example, to change the description of a 20-position alphanumeric field to a 25-character alphanumeric field, only the description in the data dictionary need to be modified. Determine what relationship exists between the elements. Determine what applications programs can access what data elements.

The data dictionary is also useful to programmers and system analysts, A programmer can copy a definition directly from the data dictionary for use in an applications program. This guarantees greater accuracy with less work from the programmer. If a data description is changed, the data dictionary can be consulted to determine all affected applications programs.

DD Information The names associated with that element (aliases) A description of the data element in natural language Details of ownership Details of users that refer to the element Details of the systems and programs which refer to or update the element Details on any privacy constraints that should be associated with the item Details about the data element in data processing systems, such as the length of the data item in characters, whether it is numeric alphabetic or another data type, and what logical files include the data item. The security level attached to the element in order to control access. The total storage requirement The validation rules for each element (e.g. acceptable values) Details of the relationship of the data items to others

Database ACID (Atomicity, Consistency, Isolation, Durability) Properties


There are a set of properties that guarantee that database transactions are processed reliably, referred to as ACID (Atomicity, Consistency, Isolation, Durability). Atomicity Atomicity refers to the ability of the database to guarantee that either all of the tasks of a transaction are performed or none of them are. Database modifications must follow an all or nothing rule. Each transaction is said to be atomic if when one part of the transaction fails, the entire transaction fails. Consistency The consistency property ensures that the database remains in a consistent state before the start of the transaction and after the transaction is over (whether successful or not). For example, in a storefront there is an inconsistent view of what is truly available for purchase if inventory is allowed to fall below 0, making it impossible to provide more than intent to complete a transaction at checkout time. An example in a double-entry accounting system illustrates the concept of a true transaction. Every debit requires an associated credit. Both of these happen or neither happens. A distributed data system is either strongly consistent or has some form of weak consistency. Once again, using the storefront example, a database needs to provide consistency and isolation, so that when one customer is reducing an item in stock and in parallel is increasing the basket by one, this is isolated from another customer who will have to wait while the data store catches up. At the other end of the spectrum is BASE (Basically Available Soft-state Eventual consistency). Weak consistency is sometimes referred to as eventual consistency; the database eventually reaches a consistent state. Weak consistency systems are usually ones where data is replicated; the latest version is sitting somewhere in the cluster, older versions are still out there. Eventually all nodes will see the latest version. Isolation Isolation refers to the requirement that other operations cannot access or see the data in an intermediate state during a transaction. This constraint is required to maintain the performance as well as the consistency between transactions in a database. Thus, each transaction is unaware of another transactions executing concurrently in the system. Durability Durability refers to the guarantee that once the user has been notified of success, the transaction will persist, and not be undone. This means it will survive system failure, and that the database system has checked the integrity constraints and won't need to abort the transaction. Many databases implement durability by writing all transactions into a transaction log that can be played back to recreate the system state right before a failure. A transaction can only be deemed committed after it is safely in the log. Durability does not imply a permanent state of the database. Another transaction may overwrite any changes made by the current transaction without hindering durability.

Dr. E. F. Codd's 12 rules


Note that based on these rules there is no fully relational database management system available today. In particular, rules 6, 9, 10, 11 and 12 are difficult to satisfy.

Foundation Rule A relational database management system must manage its stored data using only its relational capabilities.

1. Information Rule All information in the database should be represented in one and only one way - as values in a table.

2. Guaranteed Access Rule Each and every datum (atomic value) is guaranteed to be logically accessible by resorting to a combination of table name, primary key value and column name.

3. Systematic Treatment of Null Values Null values (distinct from empty character string or a string of blank characters and distinct from zero or any other number) are supported in the fully relational DBMS for representing missing information in a systematic way, independent of data type.

4. Dynamic On-line Catalog Based on the Relational Model The database description is represented at the logical level in the same way as ordinary data, so authorized users can apply the same relational language to its interrogation as they apply to regular data.

5. Comprehensive Data Sublanguage Rule A relational system may support several languages and various modes of terminal use. However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings and whose ability to support all of the following is comprehensible: Data definition View definition Data manipulation (interactive and by program) Integrity constraints Authorization Transaction boundaries (begin, commit, and rollback). 6. View Updating Rule All views that are theoretically updateable are also updateable by the system.

7. High-level Insert, Update, and Delete The capability of handling a base relation or a derived relation as a single operand applies nor only to the retrieval of data but also to the insertion, update, and deletion of data.

8. Physical Data Independence Application programs and terminal activities remain logically unimpaired whenever any changes are made in either storage representation or access methods.

9. Logical Data Independence Application programs and terminal activities remain logically unimpaired when information preserving changes of any kind that theoretically permit unimpairment are made to the base tables.

10. Integrity Independence Integrity constraints specific to a particular relational database must be definable in the relational data sublanguage and storable in the catalog, not in the application programs.

11. Distribution Independence The data manipulation sublanguage of a relational DBMS must enable application programs and terminal activities to remain logically unimpaired whether and whenever data are physically centralized or distributed.

12. Nonsubversion Rule If a relational system has or supports a low-level (single-record-at-a-time) language, that low-level language cannot be used to subvert or bypass the integrity rules or constraints expressed in the higherlevel (multiple-records-at-a-time) relational language.

You might also like