Active In SP
Joined: Feb 2011
17-02-2011, 02:55 PM
adv dbms.doc (Size: 53 KB / Downloads: 55)
Database recovery is the process of restoring the database to a correct state following a failure. The failure may be the result of a system crash due to hardware or software errors, a media failure, such as a head crash, or a software error in the application, such as a logical error in the program that is accessing the database. Whatever the underlying cause of the failure, the DBMS must be able to recover from the failure and restore the database to a consistent state. It is the responsibility of DBMS to ensure that the database is reliable and remains in a consistent state in the presence of failures. In general, backup and recovery refers to the various strategies and procedures involved in protecting your database against data loss and reconstructing the data such that no data is lost after failure.
Causes of failures:
• System Crashes
• User Error
• Intentional corruption of data
• Statement failure
• Application software errors
• Network failure
• Media failure
• Natural Physical Disaster
Recovery Algorithms: Recovery algorithms have techniques to ensure database consistency and transaction automicity and durability despite failure. Recovery algorithms have 2 parts:
1. Action taken during normal transaction processing to ensure enough information exists to recover from failure
2. Actions taken after a failure to recover the database contents to a state that ensures automicity, consistency and durability.
A database administrator is the name given to a person who is actually handling the environmental aspects of a database. The main functions of a database administrator are as follows:
• Installation of a new software
• Configuration of hardware and software
• Security administration
• Data analysis
• Database Design
• Data modeling and optimization
• Proactively monitor systems
• Establish standards and best practices
• Interact and train new developers
The database administrator performs a critical role within an organization and is an important and key role in database management systems. The major responsibility of a database administrator is to handle the process of developing the database and maintaining the database of an organization. The database administrator is responsible for defining the internal layout of the database and ensuring the internal layout optimizes system performance.
The database administrator has full access over all type of important data of an organization. The database administrator decides what data will be stored in the database and how to organize data in database so that it can be access easily on requirement or need of an organization. To design the database of an organization, the database administrator must have a meeting with users and determine their requirements.
The database administrator is also responsible for preparing documentation, including recording the procedures, standards, guidelines, and data descriptions necessary for the efficient and continuing user of the database environment. Documents should include materials to help end users, database application programmers, the operation staff, and all personnel connected with the database management system.
The database administrator is responsile for monitoring the database environment, such as seeing that the database is meeting performance standards, making sure the accuracy, integrity and security of data are maintained.
The database administrator is also responsible to manage any enhancements into the database environement.
Backup and recovery are the DBA’s most critical tasks; they include the following aspects:
• Establishing standards and schedules for database backups
• Developing recovery procedures for each database
• Making sure that the backup schedules meet the recovery requirements
With database, the DBA works tightly with other administrator to add user logins to the database. The DBA is also responsible for assigning users to databases and determining the proper security level for each user. Within each database, the DBA is responsible for assigning permissions to the various database objects such as tables, views and stored procedures.
Distributed Database management systems is a software for managing databases stored on a multiple computers in a network. A distributed database is a set of databases stored on multiple computers that typically appears to applications on a single database. Consequently, an application can simultaneously access and modify the data in several databases in a network. DDBMS is specially developed for heterogeneous database platforms, focusing mainly on heterogeneous database management systems.
DDBMS Advantages and Disadvantages
Distributed database management systems deliver several advantages over traditional systems. At the same time, they are subject to some problems
Characteristics of Distributed Database Management Systems
• Application interface to interact with the end user, application programs, and other DBMSs within the distributed database
• Validation to analyze data requests for syntax correctness
• Transformation to decompose complex requests into atomic data request components
• Query optimization to find the best access strategy
• Mapping to determine the data location of local and remote fragments
• I/O interface to read or write data from or to permanent local storage
• Formatting to prepare the data for presentation to the end user or to an application program.
• Security to provide data privacy at both local and remote databases
• Backup and recovery to ensure the availability and recoverability of the database in case of a failure
• DB administration features for the database administrator
• Concurrency control to manage simultaneous data access and to ensure data consistency across database fragments in the DDBMS
• Transaction management to ensure that the data moves from one consistent state to another.
The DDBMS must include at least the following components:
• Computer workstations that form the network system. The distributed database system must be independent of the computer system hardware
• Network hardware and software components that reside in each workstation. The network component allow all sites to interact and exchange data. Because the components – computers, operating systems, network hardware, and so on – are likely to be supplied by different vendors, it is best to ensure that distributed database functions can be run on multiple plastforms
• Communications media that carry the data from one workstation to another
Distributed Database Transparency Features
A distributed database system requires functional characteristics that can be grouped and described as transparency features. The transparency features have the common property of allowing the end user to feel like the database’s only user. In other words, the user believes that he is working with a centralized DBMS; all complexities of a distributed database are hidden, or transparent, to the user.
The distributed transparency features are:
• Distribution transparency, which allows a distributed database to be treated as a single logical database. If a DDBMS exhibits distribution transparency, the user does not need to know:
o That the data are partitioned – meaning the table’s rows and columns are split vertically or horizontally and stored among multiple sites
o That the data can be replicated at several sites
o The data location
• Transaction transparency, which allows a transaction to update data at more than one network site. Transaction transparency ensures that the transaction will be either entirely completed or aborted, thus maintain database integrity.
• Failure transparency, which ensures that the system will continue to operate in the event of a node failure. Functions that were lost because of the failure will be picked up by another network node
• Performance transparency, which allows the system to perform as if it were a centralized DBMS. The system will not suffer any performance degradation due to its use on a network or due to the network’s platform differences. Performance transparency also ensures that the system will find the most cost-effective path to access remote data.
• Heterogeneity transparency, which allows the integration of several different local DBMSs under a common or global scheme. The DDBMS is responsible for translating the data requests from the global schema to the local DBMS schema.
Advanced Data Modelling
Extended Entity Relationship Model(EERM)
It is also called Enhanced Entity Relationship model. This model is used to represent objects using Object Oriented Data Model. These diagrams represents the complexities of the data structures available in the tables. This model contains
• Entity Supertype and Subtypes
• Specialization Hierarchy
• Subtype Discriminator
• Disjoint and Overlapping Constraints
• Specialization and Generalization
Entity Super type and Subtypes : A subtype is a subset of another entity. For example, consider the entity Employee. There are two types of employees – salaried and employees and wage-earning employees. In this example, Employee is a supertype, and Salaried and Wage-Earning employees are the subtypes. There would be some attributes such as ‘name’ and ‘address’ that are common to the subtypes. Wage-earning employees will have some attributes such as ‘overtime’ and ‘daily wage’ that do not belong to the Salaried subtype