Sei sulla pagina 1di 16

Advantages and Disadvantages of DDBMS: Advantages of DDBMS are as follows: 1.

Data are located near the greatest demand site. The data in a distributed database system are dispersed to match business requirements which reduce the cost of data access. 2. Faster data access. End users often work with only a locally stored subset of the companys data. 3. Faster data processing. A distributed database system spreads out the systems workload by processing data at several sites. 4. Growth facilitation. New sites can be added to the network without affecting the operations of other sites. 5. Improved communications. Because local sites are smaller and located closer to customers, local sites foster better communication among departments and between customers and company staff. 6. Reduced operating costs. It is more cost-effective to add workstations to a network than to update a mainframe system. Development work is done more cheaply and more quickly on low-cost PCs than on mainframes. 7. User-friendly interface. PCs and workstations are usually equipped with an easy-to-use graphical user interface (GUI). The GUI simplifies training and use for end users. 8. Less danger of a single-point failure. When one of the computers fails, the workload is picked up by other workstations. Data are also distributed at multiple sites. 9. Processor independence. The end user is able to access any available copy of the data, and an end user's request is processed by any processor at the data location. Disadvantages of DDBMS: 1. Complexity of management and control. Applications must recognize data location, and they must be able to stitch together data from various sites. Database administrators must have the ability to coordinate database activities to prevent database degradation due to data anomalies. 2. Technological difficulty. Data integrity, transaction management, concurrency control, security, backup, recovery, query optimization, access path selection, and so on, must all be addressed and resolved. 3. Security. The probability of security lapses increases when data are located at multiple sites. The responsibility of data management will be shared by different people at several sites. 4. Lack of standards. There are no standard communication protocols at the database level. (Although TCP/IP is the de facto standard at the network level, there is no standard at the application level.) For example, different database vendors employ differentand often incompatibletechniques to manage the distribution of data and processing in a DDBMS environment. 5. Increased storage and infrastructure requirements. Multiple copies of data are

required at different sites, thus requiring additional disk storage space. 6. Increased training cost. Training costs are generally higher in a distributed model than they would be in a centralized model, sometimes even to the extent of offsetting operational and hardware savings. 7. Costs. Distributed databases require duplicated infrastructure to operate (physical location, environment, personnel, software, licensing, etc.) Characteristics of Distributed Database Management Systems: A DDBMS governs the storage and processing of logically related data over interconnected computer systems in which both data and processing functions are distributed among several sites. A DBMS must have at least the following functions to be classified as distributed: 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. (Which database fragments must be accessed by the query, and how must data updates, if any, be synchronized?) 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. This activity includes the synchronization of local and remote transactions as well as transactions across multiple distributed segments. Differences between Distributed processing and distributed databases: In distributed processing, a databases logical processing is shared among two or more physically independent sites that are connected through a network. For example, the data input/output (I/O), data selection, and data validation might be performed on one computer, and a report based on that data might be created on another computer. A distributed database, on the other hand, stores a logically related database over two or more physically independent sites. The sites are connected via a computer network.

In contrast, the distributed processing system uses only a single-site database but shares the processing chores among several sites. In a distributed database system, a database is composed of several parts known as database fragments. The database fragments are located at different sites and can be replicated among various sites. Each database fragment is, in turn, managed by its local database process.

Distributed processing does not require a distributed database, but a distributed database requires distributed processing (each database fragment is managed by its own local database process). Distributed processing may be based on a single database located on a single computer. For the management of distributed data to occur, copies or parts of the database processing functions must be distributed to all data storage sites. Both distributed processing and distributed databases require a network to connect all components.

Types of Databases: A DBMS can support many different types of databases. Databases can be classified according to the number of users, the database location(s), and the expected type and extent of use. Depending On Number of Users: The number of users determines whether the database is classified as single-user or multiuser. A single-user database supports only one user at a time. In other words, if user A is using the database, users B and C must wait until user A is done. A single-user database that runs on a personal computer is called a desktop database. In contrast, a multiuser database supports multiple users at the same time. When the multiuser database supports a relatively small number of users (usually fewer than 50) or a specific department within an organization, it is called a workgroup database. When the database is used by the entire organization and supports many users (more than 50,usually hundreds) across many departments, the database is known as an enterprise database. Depending on Database location: Location might also be used to classify the database. For example, a database that supports data located at a single site is called a centralized database. A database that supports data distributed across several different sites is called a distributed database. Based on type of use: The most popular way of classifying databases today, however, is based on how they will be used and on the time sensitivity of the information gathered from them. For example, transactions such as product or service sales, payments, and supply purchases reflect critical day-to-day operations. Such transactions must be recorded accurately and immediately. A database that is designed primarily to support a companys day-to-day operations is classified as an operational database (sometimes referred to as a transactional or production database). In contrast, a data warehouse focuses primarily on storing data used to generate information required to make tactical or strategic decisions. Such decisions typically require extensive data massaging (data manipulation) to extract information to formulate pricing

decisions, sales forecasts, market positioning, and so on. Based on Structure: Databases can also be classified to reflect the degree to which the data are structured. Unstructured data are data that exist in their original (raw) state, that is, in the format in which they were collected. Therefore, unstructured data exist in a format that does not lend itself to the processing that yields information. Structured data are the result of taking unstructured data and formatting (structuring) such data to facilitate storage, use, and the generation of information. You apply structure (format) based on the type of processing that you intend to perform on the data. Some data might not be ready (unstructured) for some types of processing, but they might be ready (structured) for other types of processing. For example, the data value 37890 might refer to a zip code, a sales value, or a product code. If this value represents a zip code or a product code and is stored as text, you cannot perform mathematical computations with it. On the other hand, if this value represents a sales transaction, it is necessary to format it as numeric.

Relational Database Model The relational model was introduced in 1970 by E. F. Codd. The relational model foundation is a mathematical concept known as a relation. The relational data model is implemented through a very sophisticated relational database management system (RDBMS). The RDBMS performs the same basic functions provided by the hierarchical and network DBMS systems, in addition to a host of other functions that make the relational data model easier to understand and implement. Arguably the most important advantage of the RDBMS is its ability to hide the complexities of the relational model from the user. The RDBMS manages all of the physical details, while the user sees the relational database as a collection of tables in which data are stored. The user can manipulate and query the data in a way that seems intuitive and logical. A relational table stores a collection of related entities. In this respect, the relational database table resembles a file. But there is one crucial difference between a table and a file: A table yields complete data and structural independence because it is a purely logical structure. How the data are physically stored in the database is of no concern to the user or the designer. Another reason for the relational data models rise to dominance is its powerful and flexible query language. For most relational database software, the query language is Structured Query Language (SQL), which allows the user to specify what must be done without specifying how it must be done. The RDBMS uses SQL to translate user queries into instructions for retrieving the requested data. SQL makes it possible to retrieve data with far less effort than any other database or file environment. From an enduser perspective, any SQL-based relational database application involves three parts: a user interface, a set of tables stored in the database, and the SQL engine. Each of the se parts is explained below. The end-user interface: Basically, the interface allows the end user to interact with the data (by auto-generating SQL code). Each interface is a product of the software vendors idea of meaningful interaction with the data. You can also design your own customized interface with the help of application generators that are now standard fare in the database software arena.

A collection of tables stored in the database: In a relational database, all data are perceived to be st ored in tables. The tables simply present the data to the end user in a way that is easy to understand. Each table is independent. Rows in different tables are related by common values in common attributes. SQL engine: Largely hidden from the end user, the SQL engine executes all queries, or data requests. Keep in mind that the SQL engine is part of the DBMS software. The end user uses SQL to create table structures and to perform data access and table maintenance. The SQL engine processes all user requestslargely behind the scenes and without the end users knowledge. Advantages of Relational Model: The different advantages of Relational model are as follows: 1. 2. 3. 4. 5. Structural independence Improved conceptual simplicity Easier database design, implementation, management, and use Ad hoc query capability (SQL) Powerful database management system

Disadvantages: The different disadvantages of Relational model are as follows: 1. Substantial hardware and system software overhead 2. Possibility of poor design and implementation 3. Potential islands of information problems

A database management system (DBMS) is a collection of programs that manages the database structure and controls access to the data stored in the database. In a sense, a database resembles a very well-organized electronic filing cabinet in which powerful software, known as a database management system, helps manage the cabinets contents. Advantages of the DBMS: The DBMS serves as the intermediary between the user and the database. The database structure itself is stored as a collection of files, and the only way to access the data in those files is through the DBMS. The DBMS receives all application requests and translates them into the complex operations required to fulfill those requests. The DBMS hides much of the databases internal complexity from the application programs and users. The different advantages of DBMS are as follows. 1. Improved data sharing. The DBMS helps create an environment in which end users have better access to more and better-managed data. Such access makes it possible for end users to respond quickly to changes in their environment.

2. Improved data security. The more users access the data, the greater the risks of data security breaches. Corporations invest considerable amounts of time, effort, and money to ensure that corporate data are used properly. A DBMS provides a framework for better enforcement of data privacy and security policies. 3. Better data integration. Wider access to well-managed data promotes an integrated view of the organizations operations and a clearer view of the big picture. It becomes much easier to see how actions in one segment of the company affect other segments. 4. Minimized data inconsistency. Data inconsistency exists when different versions of the same data appear in different places. For example, data inconsistency exists when a companys sales department stores a sales representatives name as Bill Brown and the companys personnel department stores that same persons name as William G. Brown, or when the companys regional sales office shows the price of a product as $45.95 and its national sales office shows the same products price as $43.95. The probability of data inconsistency is greatly reduced in a properly designed database. 5. Improved data access. The DBMS makes it possible to produce quick answers to ad hoc queries. From a database perspective, a query is a specific request issued to the DBMS for data manipulationfor example, to read or update the data. Simply put, a query is a question, and an ad hoc query is a spur-of-the-moment question. The DBMS sends back an answer (called the query result set) to the application. For example, end users, when dealing with large amounts of sales data, might want quick answers to questions (ad hoc queries) such as: - What was the dollar volume of sales by product during the past six months? - What is the sales bonus figure for each of our salespeople during the past three months? - How many of our customers have credit balances of $3,000 or more? 6.Improved decision making. Better-managed data and improved data access make it possible to generate better-quality information, on which better decisions are based. The quality of the information generated depends on the quality of the underlying data. Data quality is a comprehensive approach to promoting the accuracy, validity, and timeliness of the data. While the DBMS does not guarantee data quality, it provides a framework to facilitate data quality initiatives. 7.Increased end-user productivity. The availability of data, combined with the tools that transform data into usable information, empowers end users to make quick, informed decisions that can make the difference between success and failure in the global economy.

Disadvantages of Database: Although the database system yields considerable advantages over previous data management approaches, database systems do carry significant disadvantages. For example: 1. Increased costs. Database systems require sophisticated hardware and software and highly skilled personnel. The cost of maintaining the hardware, software, and personnel required to operate and manage a database system can be substantial. Training, licensing, and regulation compliance costs are often overlooked when database systems are implemented. 2. Management complexity. Database systems interface with many different technologies and have a significant impact on a companys resources and culture. The changes introduced by the adoption of a database system must be properly managed to ensure that they help advance the companys objectives. Given the fact that database systems hold crucial company data that are accessed from multiple sources, security issues must be assessed constantly. 3. Maintaining currency. To maximize the efficiency of the database system, you must keep your system current. Therefore, you must perform frequent updates and apply the latest patches and security measures to all components. Because database technology advances rapidly, personnel training costs tend to be significant. Vendor dependence. Given the heavy investment in technology and personnel training, companies might be reluctant to change database vendors. As a consequence, vendors are less likely to offer pricing point advantages to existing customers, and those customers might be limited in their choice of database system components. 4. Frequent upgrade/replacement cycles. DBMS vendors frequently upgrade their products by adding new functionality. Such new features often come bundled in new upgrade versions of the software. Some of these versions require hardware upgrades. Not only do the upgrades themselves cost money, but it also costs money to train database users and administrators to properly use and manage the new features.

CODDS RULES
1 Information Rule: All information in a relational database including table names, column names are represented by values in tables. This simple view of data speeds design and learning. User productivity is improved since knowledge of only one language is necessary to access all data such as description of the table and attribute definitions, integrity constraints. Action

can be taken when the constraints are violated. Access to data can be restricted. All these information are also stored in tables. 2 Guaranteed Access Rule: Every piece of data in a relational database, can be accessed by using combination of a table name, a primary key value that identifies the row and column name which identified a cell. User productivity is improved since there is no need to resort to using physical pointers addresses. Provides data independence. Possible to retrieve each individual piece of data stored in a relational database by specifying the name of the table in which it is stored, the column and primary key which identified the cell in which it is stored. Systematic Treatment of Nulls Rule: The RDBMS handles records that have unknown or inapplicable values in a pre-defined fashion. Also, the RDBMS distinguishes between zeros, blanks and nulls in the records hand handles such values in a consistent manner that produces correct answers, comparisons and calculations. Through the set of rules for handling nulls, users can distinguish results of the queries that involve nulls, zeros and blanks. Even though the rule doesnt specify what should be done in the case of nulls it specifies that there should be a consistent policy in the treatment of nulls. Active On-line catalog based on the relational model: The description of a database and in its contents are database tables and therefore can be queried on-line via the data manipulation language. The database administrators productivity is improved since the changes and additions to the catalog can be done with the same commands that are used to access any other table. All queries and reports can also be done as any other table. Comprehensive Data Sub-language Rule: A RDBMS may support several languages. But at least one of them should allow user to do all of the following: define tables and views, query and update the data, set integrity constraints, set authorizations and define transactions. User productivity is improved since there is just one approach that can be used for all database operations. In a multi-user environment the user does not have to worry about the data integrity an such things, which will be taken care by the system. Also, only users with proper authorization will be able to access data. View Updating Rule: Any view that is theoretically updateable can be updated using the RDBMS. Data consistency is ensured since the changes made in the view are transmitted to the base table and vice-versa.

High-Level Insert, Update and Delete: The RDBMS supports insertions, updation and deletion at a table level. The performance is improved since the commands act on a set of records rather than one record at a time. Physical Data Independence: The execution of adhoc requests and application programs is not affected by changes in the physical data access and storage methods.Database administrators can make changes to the physical access and storage method which improve performance and do not require changes in the application programs or requests. Here the user specified what he wants an need not worry about how the data is obtained. Logical Data Independence: Logical changes in tables and views such adding/deleting columns or changing fields lengths need not necessitate modifications in the programs or in the format of adhoc requests. The database can change and grow to reflect changes in reality without requiring the user intervention or changes in the applications. For example, adding attribute or column to the base table should not disrupt the programs or the interactive command that have no use for the new attribute. Integrity Independence: Like table/view definition, integrity constraints are stored in the on-line catalog and can therefore be changed without necessitating changes in the application programs. Integrity constraints specific to a particular RDB must be definable in the relational data sublanguage and storable in the catalog. At least the Entity integrity and referential integrity must be supported. Distribution Independence: Application programs and adhoc requests are not affected by change in the distribution of physical data. Improved systems reliability since application programs will work even if the programs and data are moved in different sites. No subversion Rule: If the RDBMS has a language that accesses the information of a record at a time, this language should not be used to bypass the integrity constraints. This is necessary for data integrity. According to Dr. Edgar. F. Codd, a relational database management system must be able to manage the database entirely through its relational capabilities.

10

11

12

Client Server System


Client-server computing is a software engineering technique often used within distributed computing that allows two independent processes to exchange information, through a dedicated connection, following an established protocol. Client-server system is mainly two different processors that exchange information on common server. Unlike peer to peer system there is one server that stores the information and gives it only when the client provides specific identification like username.

Client/server systems are constructed so that the database can reside on a central computer, known as a server, and be shared among several users. Users access the server through a client or server application: In a two-tier client/server system, users run an application on their local computer, known as a client, that connects over a network to the server running SQL Server. The client application runs both business logic and the code to display output to the user, and is also known as a thick client. In a multitier client/server system, the client application logic is run in two locations: Client-server systems are not limited to traditional computers. An example is an automated teller machine (ATM) network. Customers typically use ATMs as clients to interface to a server that manages all of the accounts for a bank. This server may in turn work with servers of other banks (such as when withdrawing money at a bank at which the user does not have an account). The ATMs provide a user interface and the servers provide services, such as checking on account balances and transferring money between accounts.
Advantages of client-server system are; (1) Content of server are secure, server allows client to use only that information that server wants. (2) If a user happens to erase a shared resource from the server, you can rely on the nightly backup. (Its very difficult to back up a peer -to-peer network every night.) (3) Client-server networks also tend to be much more stable. Downsides of client-server system; only downside to a client/server network is its cost. Servers can become very expensive.

Client/Server Architecture The client/server architecture significantly decreased network traffic by providing a query response rather than total file transfer. It allows multi-user updating through a GUI front end to a shared database. Remote Procedure Calls (RPCs) or standard query language (SQL) statements are typically used to communicate between the client and server. Client capabilities and local processing Server ning both hardware and software.

Such as file access, printing, archiving, or database access.

Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. In a network, the client/server model provides aconvenient way to interconnect programs that are distributed efficiently across different locations. Client server system operates in a networked environment , splitting the processing of an application between a front end client and a back end processor. Database functionality can be divided into Back end manages access structures , query evaluation and optimization , concurrency control and recovery. Front end consist of tools such as forms , report-writers and graphical user interface facilities. The following are the examples of client/server architectures. 1) Two tier architectures A two-tier architecture is where a client talks directly to a server, with no intervening server. It is typically used in small environments(less than 50 users).

In two tier client/server architectures, the user interface is placed at user's desktop environment and the database management system services are usually in a server that is a more powerful machine that provides services to the many clients. Information processing is split between the user system interface environment and the database management server environment.

2) Three tier architectures The three tier architecture is introduced to overcome the drawbacks of the two tier architecture. In the three tier architecture, a middleware is used between the user system interface client environment and the database management server environment.

These middleware are implemented in a variety of ways such as transaction processing monitors, message servers or application servers. The middleware perform the function

of queuing, application execution and database staging. In addition the middleware adds scheduling and prioritization for work in progress.

The three tier client/server architecture is used to improve performance for large number of users and also improves flexibility when compared to the two tier approach.

The drawback of three tier architectures is that the development environment is more difficult to use than the development of two tier applications.

The widespread use of the term 3-tier architecture also denotes the following architectures:

Application sharing between a client, middleware and enterprise server Application sharing between a client, application server and enterprise database server.

Data model structure of a database means to achieve data abstraction

Specify retrievals and updates on the database application Allows the database designer to specify a set of valid operations allowed on database objects.

Categories of Data Models -level or conceptual data models

-level or physical data models computer storage media

storage.

Data Base Adminstrator


A database administrator (short form DBA) is a person responsible for the installation, configuration, upgrade, administration, monitoring and maintenance of databases in an [1] organization. The role includes the development and design of database strategies, system monitoring and improving database performance and capacity, and planning for future expansion requirements.

Position of the DBA in the Organization

The DBA should be placed high enough in the organization to exercise the necessary degree of control over the use of the database and to communicate at the appropriate level within user departments. However, the DBA should not be remote from the dayto-day processes of monitoring database use, advising on and selecting applications, and maintaining the required level of database integrity. The appropriate position and reporting structure of the DBA depends solely on the nature and size of the organization. In most organizations, the DBA is best placed as a functional manager with an status equivalent to the systems, programming, and operations managers. The DBA should have direct responsibility for all aspects of the continued operation of the database. It is also useful to give the DBA at least partial control over the programming and IS operation standards, since the DBA must have the ability to ensure that DBMScompatible standards are understood and observed.
Necessary Attributes for a DBA

The DBA is an essential resource to the organization: a politician, technician, diplomat, and policeman. The DBA needs to be a fair-minded person who is able to see both sides of database problems (that is, the IS department's side and the user's

side) without prejudice in favor of either side. The DBA is expected to resolve problems for the benefit of the organization as a whole.

The DBA also needs


administrative skill to set up and enforce the standards and procedures for using the database; technical ability to understand the factors governing hardware performance, with considerable knowledge both of the operating system software and the DBMS being used; a thorough knowledge of existing and future applications; and skills to produce an efficient database design that meets the application requirements

Management Support

To be effective, the DBA must be recognized and supported by both IS and user group management. With an in-depth understanding of the database operation and the service it provides to the organization, the DBA needs to be recognized as a center of competence for all matters involving the design or use of the database. In principle, management should include the DBA in all decisions affecting the database to ensure that the database environment is not disrupted. Additionally, the DBA may often be able to suggest more cost-effective solutions that were known to management.

data dictionary
The data dictionary is one of the DBA's most important tools. It must be based upon a set of uniform data definition procedures as indicated above. A data dictionary contains information about the definition, structure and use of data. It does not store the actual data itself, but rather data about data. Simply stated, the data dictionary contains the name of each data type (element), its definition (size and type), where and how it is used and its relationship to other data elements. A data dictionary enables the DBA to exercise better management and control over the organization's data resources. Advanced users of data dictionaries have also found them to be valuable tools in project management and systems design. The data dictionary will enable the DBA independently to manage actual data items and the programs that manipulate and access them. This independence of control results in the substantially enhanced usefulness of the data. The data dictionary serves to collect the information needed in order to make the data more useful. The dictionary should record logical data formats and relationships and be broken down into three main areas:
Conceptual the data and existing natural relationships how it is used now

Usage

Implementation how it is currently stored in the database

Standards are required relating to the use and/or interpretation of specific data entities. The data dictionary should contain

logical data structures;

physical storage structures; data attributes; a description of data sources:


Where the data comes from How it is obtained How it is edited and validated What are the accuracy requirements? What are the security requirements? Who may access each data item? Who may update each data item?

accuracy and security requirements:


response requirements: for each application area, what are the retrieval and response requirements?

Potrebbero piacerti anche