Showing posts with label Database management system. Show all posts

What are the characteristics of data in database?

Following are the characteristics of Data in a database:
  • Shared : Date in a database is shared among different users and applications. 
  • Persistence: Data in a database exist permanently in the sense, the data can live beyond the scope of the process that created it. 
  • Validity/Integrity/Correctness: Data should be correct with respect to the real world entity that they represent. 
  • Security: Data should be protected from unauthorized access. 
  • Consistency: Whenever more than one data element in a database represents related real-world values, the values should be consistent with respect to the relationship. 
  • Non-redundancy: No two data items in a database should represent the same real-world entity. 
  • Independence: The three levels in the schema (internal, conceptual and external) should be independent of each other so that the changes in the schema at one level should not affect the other levels.
Learn more »

What are the characteristics of modern DBMS?

database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

Characteristics

Traditionally, data was organized in file formats. DBMS was a new concept then, and all the research was done to make it overcome the deficiencies in traditional style of data management. A modern DBMS has the following characteristics −
  • Real-world entity − A modern DBMS is more realistic and uses real-world entities to design its architecture. It uses the behavior and attributes too. For example, a school database may use students as an entity and their age as an attribute.
  • Relation-based tables − DBMS allows entities and relations among them to form tables. A user can understand the architecture of a database just by looking at the table names.
  • Isolation of data and application − A database system is entirely different than its data. A database is an active entity, whereas data is said to be passive, on which the database works and organizes. DBMS also stores metadata, which is data about data, to ease its own process.
  • Less redundancy − DBMS follows the rules of normalization, which splits a relation when any of its attributes is having redundancy in values. Normalization is a mathematically rich and scientific process that reduces data redundancy.
  • Consistency − Consistency is a state where every relation in a database remains consistent. There exist methods and techniques, which can detect attempt of leaving database in inconsistent state. A DBMS can provide greater consistency as compared to earlier forms of data storing applications like file-processing systems.
  • Query Language − DBMS is equipped with query language, which makes it more efficient to retrieve and manipulate data. A user can apply as many and as different filtering options as required to retrieve a set of data. Traditionally it was not possible where file-processing system was used.
  • ACID Properties − DBMS follows the concepts of Atomicity,Consistency, Isolation, and Durability (normally shortened as ACID). These concepts are applied on transactions, which manipulate data in a database. ACID properties help the database stay healthy in multi-transactional environments and in case of failure.
  • Multiuser and Concurrent Access − DBMS supports multi-user environment and allows them to access and manipulate data in parallel. Though there are restrictions on transactions when users attempt to handle the same data item, but users are always unaware of them.
  • Multiple views − DBMS offers multiple views for different users. A user who is in the Sales department will have a different view of database than a person working in the Production department. This feature enables the users to have a concentrate view of the database according to their requirements.
  • Security − Features like multiple views offer security to some extent where users are unable to access data of other users and departments. DBMS offers methods to impose constraints while entering data into the database and retrieving the same at a later stage. DBMS offers many different levels of security features, which enables multiple users to have different views with different features. For example, a user in the Sales department cannot see the data that belongs to the Purchase department. Additionally, it can also be managed how much data of the Sales department should be displayed to the user. Since a DBMS is not saved on the disk as traditional file systems, it is very hard for miscreants to break the code.
Learn more »

Explain the difference between Hash indexes and B+-tree indexes. In particular, discuss how equality and range searches work, using an example.


A Hash index is constructed by using a hashing function that quickly maps an search key value to a specific location in an array-like list of elements called buckets. The buckets are often constructed such that there are more bucket locations than there are possible search key values, and the hashing function is chosen so that it is not often that two search key values hash to the same bucket. A B+-tree index is constructed by sorting the data on the search key and maintaining a hierarchical search data structure that directs searches to the correct page of data entries.

Insertions and deletions in a hash based index are relatively simple. If two search values hash to the same bucket, called a collision, a linked list is formed connecting multiple records in a single bucket. In the case that too many of these collisions occur, the number of buckets is increased. Alternatively, maintaining a B+-tree’s hierarchical search data structure is considered more costly since it must be updated whenever there are insertions and deletions in the data set. In general, most insertions and deletions will not modify the data structure severely, but every once in awhile large portions of the tree may need to be rewritten when they become over-filled or under-filled with data entries.

Hash indexes are especially good at equality searches because they allow a record look up very quickly with an average cost of 1.2 I/Os. B+-tree indexes, on the other hand, have a cost of 3-4 I/Os per individual record lookup. Assume we have the employee relation with primary key eid and 10,000 records total. Looking up all the records individually would cost 12,000 I/Os for Hash indexes, but 30,000-40,000 I/Os for B+- tree indexes.

For range queries, hash indexes perform terribly since they could conceivably read as many pages as there are records since the data is not sorted in any clear grouping or set. On the other hand, B+-tree indexes have a cost of 3-4 I/Os plus the number of qualifying pages or tuples, for clustered or unclustered B+-trees respectively. Assume we have the employees example again with 10,000 records and 10 records per page. Also assume that there is an index on sal and query of age ¿ 20,000, such that there are 5,000 qualifying tuples. The hash index could cost as much as 100,000 I/Os since every page could be read for every record. It is not clear with a hash index how we even go about searching for every possible number greater than 20,000 since decimals could be used. An unclustered B+-tree index would have a cost of 5,004 I/Os, while a clustered B+-tree index would have a cost of 504 I/Os. It helps to have the index clustered whenever possible. 
Learn more »

What is the difference between a webserver and an application server? What funcionality do typical application servers provide?

A web server handles the interaction with the client’s web browser. Application servers are used to maintain a pool of processes for handling requests. Typically, they are the middleware tier between the web server and the data sources such as database systems. Application servers eliminate the problems with process- creation overload and can also provide extra functionality like abstracting away heterogeneous data sources and maintaining session state information.



When is an XML document well-formed? When is an XML document valid? 

An XML document is valid if it has an associated DTD and the document follows the rules of the DTD. An XML document is well-formed if it follows three guide- lines: 
  1.  it starts with an XML declaration, 
  2. it contains a root element that contains all other elements and 
  3. all elements are properly nested. 
Learn more »

What is CGI? Why was CGI introduced? What are the disadvantages of an architecture using CGI scripts?


CGI (Common Gateway Interface) specifies how the web server communicates other programs on the server. CGI programs are used to pass HTML form data to other programs that process that data. Each page request will create a new process on the server, which is a performance issue when requests are scaled up. 
Learn more »

Explain the following terms briefly: attribute, domain, entity, relationship, entity set, relationship set, one-to-many relationship, many-to-many relationship, participation constraint, overlap constraint, covering constraint, weak entity set, aggregation, and role indicator.

Attribute - a property or description of an entity. A toy department employee entity could have attributes describing the employee’s name, salary, and years of service.

Domain - a set of possible values for an attribute.

Entity - an object in the real world that is distinguishable from other objects such as the green dragon toy. Relationship - an association among two or more entities.

Entity set - a collection of similar entities such as all of the toys in the toy department.

Relationship set - a collection of similar relationships

One-to-many relationship - a key constraint that indicates that one entity can be associated with many of another entity. An example of a one-to-many relationship is when an employee can work for only one department, and a department can have many employees.

Many-to-many relationship - a key constraint that indicates that many of one entity can be associated with many of another entity. An example of a manyto-many relationship is employees and their hobbies: a person can have many different hobbies, and many people can have the same hobby.

Participation constraint - a participation constraint determines whether relationships must involve certain entities. An example is if every department entity has a manager entity. Participation constraints can either be total or partial. A total participation constraint says that every department has a manager. A partial participation constraint says that every employee does not have to be a manager.

Overlap constraint - within an ISA hierarchy, an overlap constraint determines whether or not two subclasses can contain the same entity.

Covering constraint - within an ISA hierarchy, a covering constraint determines where the entities in the subclasses collectively include all entities in the superclass. For example, with an Employees entity set with subclasses HourlyEmployee and SalaryEmployee, does every Employee entity necessarily have to be within either HourlyEmployee or SalaryEmployee?

Weak entity set - an entity that cannot be identified uniquely without considering some primary key attributes of another identifying owner entity. An example is including Dependent information for employees for insurance purposes.

Aggregation - a feature of the entity relationship model that allows a relationship set to participate in another relationship set. This is indicated on an ER diagram by drawing a dashed box around the aggregation.

Role indicator - If an entity set plays more than one role, role indicators describe the different purpose in the relationship. An example is a single Employee entity set with a relation Reports-To that relates supervisors and subordinates.
Learn more »

What are the responsibilities of a DBA?

The DBA is responsible for:

  • Designing the logical and physical schemas, as well as widely-used portions of the external schema. 
  • Security and authorization. 
  • Data availability and recovery from failures. 
  • Database tuning: The DBA is responsible for evolving the database, in particular the conceptual and physical schemas, to ensure adequate performance as user requirements change.
A DBA needs to understand query optimization even if s/he is not interested in running his or her own queries because some of these responsibilities (database design and tuning) are related to query optimization. Unless the DBA understands the performance needs of widely used queries, and how the DBMS will optimize and execute these queries, good design and tuning decisions cannot be made.
Learn more »

Explain the difference between logical and physical data independence.

Logical data independence means that users are shielded from changes in the logical structure of the data, while physical data independence insulates users from changes in the physical storage of the data.

Consider the Students relation from that example (and now assume that it is not replaced by the two smaller relations). We could choose to store Students tuples in a heap file, with a clustered index on the sname field. Alternatively, we could choose to store it with an index on the gpa field, or to create indexes on both fields, or to store it as a file sorted by gpa. These storage alternatives are not visible to users, except in terms of improved performance, since they simply see a relation as a set of tuples. This is what is meant by physical data independence.
Learn more »
1. Answer the following questions in short:
a) Differentiate between logical data independence and physical data independence.
b) Three-schema architectures.
c) Differentiate between database schema and a database state.
d) Different type of data attributes.
e) The difference among a relationship instance, a relationship type, and relationship set.

2. a) Draw an ER diagram for database showing Bank. Each Bank can have multiple branches, and         each branch can have multiple accounts and loans.
   b) In what sense does a relational calculus differ from relational algebra, and in what sense are they    similar?

3. Assume a database about Company.
  EMPLOYEE (ss#, name)
  COMPANY (cname, address)
 WORKS (ss#, cname)
 SUPERVISE (superviser_ss#, employee_ss#)
a) Write relational algebra and SQL queries for each of the following cases.
i) Find the names of all supervisors that work in companies whose address equals ‘pokhara’.
ii) Find the name of all the companies who have more than 4 supervisors.
iii) Find the name of supervisor who has the largest number of employees.
b) What is a view in SQL and how it is defined? Explain how vies are typically implemented.

4. a) Define a first, second, and third normal forms with suitable examples.
    b) What is a functional dependency? When are two sets of functional dependencies equivalent?           How can we determine their equivalence?

5. a) Discuss the ACID properties of a database transaction with suitable example.
    b) Describe the serial and serializable schedule? Why serializable schedule is consider correct?

6. a) How does the granularity of data items affects the performance of conurrency control? What           factors affect selections of granularity size for data items?
   b) Describe the two-phase commit protocol for database transaction.
Learn more »

Discuss the ACID properties of a database transaction with suitable example.

There are four properties of database. They are as follows:

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 an 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 happen.
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.
Learn more »

What are the different data models in the database management system?

The basic structure or design of the database is the data model. A data model is a
collection of conceptual tools for describing data, data relationships, data semantics, and
consistency constraints. Some data models are given below:
Entity-Relationship Model:
Entity-relationship (E-R) model is a high level data model based on a perception of a
real world that consists of collection of basic objects, called entities, and of relationships among
these entities. An entity is a thing or object in the real world that is distinguishable from other
objects. Entities are described in a database by a set of attributes. A relationship is an
association among several entities. The set of all entities of the same type is called an entity set
and the set of all relationships of the same type is called a relationship set. Overall logical
structure of a database can be expressed graphically by E-R diagram. The basic components of
this diagram are:
o Rectangles (represent entity sets)
o Ellipses (represent attributes)
o Diamonds (represent relationship sets among entity sets)
o Lines (link attributes to entity sets and entity sets to relationship sets)
Relational Model:
It is the current favorite model. The relational model is a lower level model that uses a
collection of tables to represent both data and relationships among those data. Each table has
multiple columns, and each column has a unique name. Each table corresponds to an entity set or
relationship set, and each row represents an instance of that entity set or relationship set.
Relationships link rows from two tables by embedding row identifiers (keys) from one table as
attribute values in the other table. Structured query language (SQL) is used to manipulate data
stored in tables.
The relational data model is the most widely used data model, and a vast majority of current
database systems are based on the relational model. The relational model is at a lower level of
abstraction than the E-R model. Database designs are often carried out in the E-R model, and
then translated to the relational model.
Other Data Models:
Object-based data models (Object-oriented and Object-relational):
Object oriented data model is extension to E-R model with the notion of encapsulation,
methods (functions) and object identity. It is based on collection of objects, like the E-R
model. An object contains values stored in instance variables within the object.
Network model:
In network model, data are represented by the set of records and relationships among data
are represented by links.
Hierarchical model:
Hierarchical model also represents data by a set of records but records are organized in
hierarchical or order structure and database is a collection of such disjoint trees. The nodes of
the tree represent record types. Hierarchical tree consists one root record type along with zero
more occurrences of its dependent subtree and each dependent subtree is again hierarchical.


Learn more »

What are the different level of data abstraction?

Data abstraction is the technique of hiding the complexity of the database to its users.
There are three levels of data abstraction which are discussed below.
• Physical Level or Internal Level:
It is the lowest level of abstraction and describes how the data in the database are actually
stored. This level describes complex low-level data structures in detail and is concerned
with the way the data is physically stored. Data only exists at physical level.
• Logical Level or Conceptual Level:
This is the next higher level of abstraction and describes what data are stored in the
database, and what relationships exist among those data. It describes the structure of
whole database and hides details of physical storage structure. It concentrates on
describing entities, data types, relationships, attributes and constraints. All of the views
must be derivable from this conceptual schema.
• View Level or External Level:
It is the highest level of abstraction and is concerned with the way the data is seen by
individual users. This level simplifies the users’ interaction with the system. It includes a
number of user views and hence is guided by the end user requirement. It describes only
those part of the database in which the users are interested and hides rest of all from
those users. Each user group refers to its own external schema.
Example:
view level
• View result
• View student information
logical level: entire database schema
• Courses (CourseNo,CourseName,Credits,Dept)
• Student (StudentID,Lname,Fname,Level,Major)
• Grade (StudentID,CourseNo,mark)
physical level:
• how these tables are stored, how many bytes it required etc
Learn more »

What is the purpose of database management system?

Traditionally, file processing system was used to manage information. It stores data in
various files of different application programs to extract or insert data to appropriate file. File
processing system has several drawbacks due to which database management system is required.
Database management system removes problems found in file processing system. Some of the
major problems of file processing systems are:
1. Data redundancy and inconsistency:
In file processing system, different programmer creates files and writes
application programs to access it. After a long period of time files may exist with
different formats and application programs may be written in many different
programming languages. Moreover, same information may be duplicated in several files.
We have to pay for higher storage and access cost for such redundancy. It may leads
database in inconsistent state because update made may be reflected in one file but it may
not be reflected in another files where same information exist in another files.
2. Difficulty in accessing data:
In file processing system, we can not easily access required data stored in
particular file.
For each new task we have to write a new application program. File processing
system can not allow data to be retrieve in convenient and efficient manner.
3. Integrity problem:
In database, we required to enforce certain type consistency constraints to ensure
the database correctness or to enforce certain business rules. It is in fact called integrity
constraints (e.g. account balance > 0), integrity of database need not to be violated. In file
processing system, integrity constraint becomes the part of application program.
Programmer need to write appropriate code to enforce it. When new constraints are
required to add or change existing one, it is difficult to change program to enforce it.
4. Atomicity problem:
Failures may lead database in an inconsistent state with partial updates. For
example, failure occurs while transferring fund from account A to B. There would be the
case that certain amount from account A is retrieved and it is updated but failure occurs
just before it is deposited to account B, such case may lead database in inconsistent state.
5. Concurrent access problem:
Concurrent accessed increase the overall performance of system providing fast
response time but uncontrolled concurrent accesses can lead inconsistencies in system.
File processing system allow concurrent access but it is unable to coordinate different
application programs so database may lead in inconsistent state. E.g. two people reading
a balance and updating it at the same time.
6. Security problem:
Since file processing system consist large no. of application programs and it is
added in ad hoc manner. So it is difficult to enforce security to each application to allow
accessing only part of data/database for individual database users.
Learn more »

What is database management system? What are its applications?

Database Management System:
Management of data involves a way to store data and also provides a mechanism for
manipulation of that data. Database management systems are basically designed to manage large
volume of information.
A database system is basically just a computerized record-keeping system. A database
system involves four major components: data, hardware, software, and users. The database
management system (DBMS) is the software that handles all access to the database. It is
defined as the collection of interrelated data and a set of programs to access those data.
The primary goal of DBMS is to store and retrieve data in both convenient (easy method)
and efficient (capable of performing well) manner. Some of the examples of DBMS are Oracle,
SQL-Server, MySQL, MS Access etc.

Applications of DBMS:
· Banking:
To store information about customers, their account number, balance etc.
· Airlines:
For reservations and schedule information.
· Telecommunication:
To keep records of customers, call made, balance left, generating monthly bills
etc.
· Universities:
To keep records of students, courses, marks of students etc.
· Sales:
To keep information of customers, products list, purchase information etc.
· Manufacturing:
To store orders, tracking production of items etc.
· Human Resources:
To keep records of employee, their salary, bonus etc.
Learn more »

What are different types of DBMS?

Different Types of database Management System

The DBMS can be classified according to the number of users and the database site locations. These are:

On the basis of the number of users:
  • Single-user DBMS
  • Multi-user DBMS
 
On the basis of the site location
 
  • Centralized DBMS
  • Parallel DBMS
  • Distributed DBMS
  • Client/server DBMS
The DBMS can be  multi-user or single-user. The configuration of the hardware and also the size of the organization can confirm whether or not it's a multi-user system or one user system.

In single user system the information resides on one laptop and is just accessed by one user at a time. This one user could style, maintain, and write information programs.

Due to great deal of information management most systems square measure multi-user. during this state of affairs the information square measure each integrated and shared. A information is integrated once identical data isn't recorded in 2 places. as an example, each the Library department and also the Account department of the school information may have student addresses. despite the fact that each departments could access completely different parts of the information, the students' addresses ought to solely reside in one place. it's the work of the DBA to form positive that the software package makes the proper addresses out there from one central enclosure.

Centralized Database System

The centralized DBMS system consists of one processor along side its associated knowledge storage devices and alternative peripherals. it's physically confined to one location. knowledge will be accessed from the multiple websites with the employment of a electronic network whereas the info is maintained at the central site.
                   centralized database system consists of a single processor

Disadvantages of Centralized Database System

  • When the central site computer or database system goes down, then every one (users) is blocked from using the system until the system comes back.
  • Communication costs from the terminals to the central site can be expensive.

Parallel Database System

Parallel information system design consists of a multiple Central process Units (CPUs) and information storage disk in parallel. Hence, they improve process and Input/Output (I/O) speeds. Parallel information systems area unit utilized in the appliance that ought to question extraordinarily giant databases or that ought to method a particularly sizable amount of transactions per second.

Advantages of a Parallel Database System

  • Parallel database systems are very useful for the applications that have to query extremely large databases (of the order of terabytes, for example, 1012 bytes) or that have to process an extremely large number of transactions per second (of the order of thousands of transactions per second).
  • In a parallel database system, the throughput (that is, the number of tasks that can be completed in a given time interval) and the response time (that is, the amount of time it takes to complete a single task from the time it is· submitted) are very high.

Disadvantages of a Parallel Database System

  • In a parallel database system, there· is a startup cost associated with initiating a single process and the startup-time may overshadow the actual processing time, affecting speedup adversely.
  • Since process executing in a parallel system often access shared resources, a slowdown may result from interference of each new process as it completes with existing processes for commonly held resources, such as shared data storage disks, system bus and so on.

Distributed Database System

A logically interrelated collection of shared data physically distributed over a computer network is called as distributed database and the software system that permits the management of the distributed database and makes the distribution transparent to users is called as Distributed DBMS.
 
It consists of a single logical database that is split into a number of fragments. Each fragment is stored on one or more computers under the control of a separate DBMS, with the computers connected by a communications network. As shown, in distributed database system, data is spread across a variety of different databases. These are managed by a variety of different DBMS software running on a variety of different operating systems. These machines are spread (or distributed) geographically and connected together by a variety of communication networks.
                         logically interrelated collection of shared data physically distributed over a computer network is called as distributed database

Advantages of Distributed Database System

 
• Distributed database architecture provides greater efficiency and better performance.
• A single database (on server) can be shared across several distinct client (application) systems.
• As data volumes and transaction rates increase, users can grow the system incrementally.
• It causes less impact on ongoing operations when adding new locations.
• Distributed database system provides local autonomy.
 

Disadvantages of Distributed Database System

 
• Recovery from failure is more complex in distributed database systems than in centralized systems.

Client-Server DBMS

Client/Server architecture of database system has two logical components namely client, and server. Clients are generally personal computers or workstations whereas server is large workstations, mini range computer system or a mainframe computer system. The applications and tools of DBMS run on one or more client platforms, while the DBMS soft wares reside on the server. The server computer is caned backend and the client's computer is called front end. These server and client computers are connected into a network. The applications and tools act as clients of the DBMS, making requests for its services. The DBMS, in turn, processes these requests and returns the results to the client(s). Client/Server architecture handles the Graphical User Interface (GUI) and does computations and other programming of interest to the end user. The server handles parts of the job that are common to many clients, for example, database access and updates.

Multi-Tier client server computing models

In a single-tier system the database is centralized, which means the DBMS Software and the data reside in one location and the dumb terminals were used to access the DBMS as shown.
                 single-tier system the database is centralized
The rise of personal computers in businesses during the 1980s, the increased reliability of networking hardware causes Two-tier and Three-tier systems became common. In a two-tier system, different software is required for the server and for the client. Illustrates the two-tier client server model. At the early stages client server computing model was called two-tier-computing model in which client is considered as data capture and validation tier and Server was considered as data storage tier. This scenario is depicted.

Problems of two-tier architecture

 
The need of enterprise scalability challenged this traditional two-tier client-server model. In the mid-1990s, as application became more complex and could be deployed to hundreds or thousands of end-users, the client side, now undergoes with following problems:
                     two-tier client-server model
• A' fat' client requiring considerable resources on client's computer to run effectively. This includes disk space, RAM and CPU.
• Client machines require administration which results overhead.

Three-tier architecture

By 1995, three-tier architecture appears as improvement over two-tier architecture. It has three layers, which are:
 
First Layer: User Interface which runs on end-user's computer (the client) .

Second Layer: Application Server It is a business logic and data processing layer. This middle tier runs on a server which is called as Application Server.

Third Layer: Database Server It is a DBMS, which stores the data required by the middle tier. This tier may run on a separate server called the database server.
As, described earlier, the client is now responsible for application's user interface, thus it requires less computational resources now clients are called as 'thin client' and it requires less maintenance.

Advantages of Client/Server Database System

  1. Client/Server system has less expensive platforms to support applications that had previously been running only on large and expensive mini or mainframe computers
  2. Client offer icon-based menu-driven interface, which is superior to the traditional command-line, dumb terminal interface typical of mini and mainframe computer systems.
  3. Client/Server environment facilitates in more productive work by the users and making better use of existing data.Client/Server database system is more flexible as compared to the Centralized system
  4. Client/Server database system is more flexible as compared to the Centralized system.
  5. Response time and throughput is high.
  6. The server (database) machine can be custom-built (tailored) to the DBMS function and thus can provide a better DBMS performance.
  7. The client (application database) might be a personnel workstation, tailored to the needs of the end users and thus able to provide better interfaces, high availability, faster responses and overall improved ease of use to the user. + A single database (on server) can be shared across several distinct client (application) systems.

Disadvantages of Client/Server Database System

  1. Programming cost is high in client/server environments, particularly in initial phases.
  2. There is a lack of management tools for diagnosis, performance monitoring and tuning and security control, for the DBMS, client and operating systems and networking environments.
Learn more »

What are the advantages and disadvantages of database management system?

Advantages of DBMS

The management system has promising potential blessings, that square measure explained below:

1. dominant Redundancy: In filing system, every application has its own non-public files, that can't be shared between multiple applications. 1:his will typically result in substantial redundancy within the keep knowledge, which ends up in wastage of cupboard space. By having centralized information most of this will be avoided. it's unimaginable that each one redundancy ought to be eliminated. generally there square measure sound business and technical reasons for· maintaining multiple copies of identical knowledge. in a very information system, but this redundancy are often controlled.

For example: just in case of school information, there is also the quantity of applications like General workplace, Library, Account workplace, Hostel etc. every of those applications could maintain the subsequent info into own non-public file applications:

It is clear from the higher than file systems, that there's some common knowledge of the coed that has got to be mentioned in every application, like Rollno, Name, Class, Phone_No~ Address etc. this may cause the matter of redundancy which ends up in wastage of cupboard space and tough to take care of, however just in case of centralized information, knowledge are often shared by range of applications and therefore the whole school will maintain its computerised knowledge with the subsequent database:

                        

It is clear within the higher than information that Rollno, Name, Class, Father_Name, Address,

Phone_No, Date_of_birth that square measure keep repeatedly in filing system in every application, needn't be keep repeatedly just in case of information, as a result of each different application will access this info by connection of relations on the premise of common column i.e. Rollno. Suppose any user of Library system want the Name, Address of any explicit student and by connection of Library and General workplace relations on the premise of column Rollno he/she will simply retrieve this info.

Thus, we will say that centralized system of package reduces the redundancy of information to nice extent however cannot eliminate the redundancy as a result of RollNo continues to be recurrent all told the relations.

2. Integrity are often enforced:
Integrity {of knowledge|of knowledge|of information} means data in information is often correct, specified propaganda can't be keep in information. so as to take care of the integrity of information, some integrity constraints square measure implemented on the information. A package ought to give capabilities for outlining and implementing the constraints.

For Example: allow us to take into account the case {of school|of school|of faculty} information and suppose that college having solely BTech, MTech, MSc, BCA, BBA and BCOM categories. But if a \.,ser enters the category MCA, then this propaganda should not be keep in information ANd should be prompted that this can be an invalid knowledge entry. so as to enforce this, the integrity constraint should be applied to the category attribute of the coed entity. But, just in case of filing system tins constraint should be implemented on all the applying individually (because all applications have a category field).

In case of package, this integrity constraint is applied just the once on the category field of the

General workplace (because category field seems just the once within the whole database), and every one different applications can get the category info regarding the coed from the final workplace table that the integrity constraint is applied to the full information. So, we will conclude that integrity constraint are often simply implemented in centralized package system as compared to filing system.

3. Inconsistency are often avoided : once identical knowledge is duplicated and changes square measure created at one web site, that isn't propagated to the opposite web site, it offers rise to inconsistency and therefore the 2 entries relating to identical knowledge won't agree. At such times the info is alleged to be inconsistent. So, if the redundancy is removed probabilities of getting inconsistent knowledge is additionally removed.

Let us once more, take into account the faculty system and suppose that just in case of General_Office file

it is indicated that Roll_Number five lives in Amritsar however in library file it's indicated that

Roll_Number five lives in Jalandhar. Then, this can be a state at that tIle 2 entries of identical object don't consider {each different|one another} (that is one is updated and other is not). At such time the information is alleged to be inconsistent.

An inconsistent information is capable of supply incorrect or conflicting info. thus there ought to be no inconsistency in information. It are often clearly shown that inconsistency are often avoided in centralized system alright as compared to filing system ..

Let us take into account once more, the instance of school system and suppose that RollNo five is .shifted from Amritsar to Jalandhar, then address info of Roll range five should be updated, whenever Roll range and address happens within the system. just in case of filing system, the data should be updated individually in every application, however if we tend to build updation solely at 3 places and forget to create updation at fourth application, then the full system show the inconsistent results regarding Roll range five.

In case of package, Roll range and address happens along solely single time in General_Office table. So, it wants single updation {and then|then|so|and thus} AN different application retrieve the address info from General_Office that is updated so, all application can get this and latest info by providing single update operation and this single update operation is propagated to the full information or all different application mechanically, this property is termed as Propagation of Update.

We can say the redundancy of information greatly have an effect on the consistency of information. If redundancy is a smaller amount, it's simple to implement consistency of information. Thus, package system will avoid inconsistency to nice extent.

4. knowledge are often shared: As explained earlier, the info regarding Name, Class, Father a reputation etc. of General_Office is shared by multiple applications in centralized package as compared to filing system thus currently applications are often developed to work against identical keep knowledge. The applications is also developed while not having to make any new keep files.



5. Standards are often implemented : Since package may be a central system, thus commonplace are often implemented simply is also at Company level, Department level, National level or International level. The standardized knowledge is incredibly useful throughout migration or interchanging of information. The filing system is AN freelance system thus commonplace can't be simply implemented on multiple freelance applications.

6. proscribing unauthorized access: once multiple users share a information, it's doubtless that some users won't be approved to access all info within the information. for instance, account workplace knowledge is commonly thought-about confidential, and thence solely approved persons square measure allowed to access such knowledge. additionally, some users is also allowable solely to retrieve knowledge, whereas different square measure allowed each to retrieve and to update. Hence, the sort of access operation retrieval or update should even be controlled. Typically, users or user teams square measure given account numbers protected by passwords, that they will use to realize access to the information. A package ought to give a security and authorization system, that the DBA uses to make accounts and to specify account restrictions. The package ought to then enforce these restrictions mechanically.

7. resolution Enterprise demand than Individual Requirement: Since many varieties of users with varied level of technical data use a information, a package ought to give a range of program. the necessities of the enterprise square measure additional vital than the individual user necessities. So, the DBA will structure the information system to supply AN overall service that's "best for the enterprise".

For example: A illustration are often chosen for the info in storage that provides quick access for the foremost vital application at the value of poor performance in another application. But, the filing system favors the individual necessities than the enterprise necessities

8. Providing Backup and Recovery: A package should give facilities for convalescent from hardware or code failures. The backup and recovery system of the package is answerable for recovery. for instance, if the pc system fails within the middle of a posh update program, the recovery system is answerable for ensuring that the .database is fixed up to the state it absolutely was in before the program started execution.

9. value of developing and maintaining system is lower: it's abundant easier to retort to out of the blue requests once knowledge is centralized in a very information than once it's keep in a very typical filing system. though the initial value of fixing of a information are often massive, however the value of developing and maintaining application programs to be way not up to for similar service victimisation typical systems. The productivity of programmers are often higher in victimisation non-procedural languages that are developed with package than victimisation procedural languages.

10. knowledge Model are often developed :
The centralized system is ready to represent the advanced knowledge and interfile relationships, which ends up higher knowledge modeling properties. the info madding properties of relative model relies on Entity and their Relationship, that is mentioned thoroughly in chapter four of the book.

11. Concurrency management : package systems give mechanisms to supply synchronous  access of information to multiple users.

Disadvantages of package


The disadvantages of the information approach square measure summarized as follows:

1. quality : the availability of the practicality that's expected of an honest package makes the package a very advanced piece of code. information designers, developers, information directors and end-users should perceive this practicality to require full advantage of it. Failure to know the system will result in dangerous style selections, which may have serious consequences for a company.

2. Size : The quality and breadth of practicality makes the package a very massive piece of code, occupying several megabytes of space and requiring substantial amounts of memory to run expeditiously.

3. Performance: usually, a File primarily based system is written for a particular application, like invoicing. As result, performance is mostly superb. However, the package is written to be additional general, to cater for several applications instead of only one. The impact is that some applications might not run as quick as they accustomed.

4. Higher impact of a failure: The centralization of resources will increase the vulnerability of the system. Since all users and applications think about the ~vailabi1ity of the package, the failure of any element will bring operations to a halt.



5. value of package: the value of DBMS varies considerably, betting on the setting and practicality provided. there's additionally the continual annual maintenance value.

6. further Hardware costs: The disk storage necessities for the package and therefore the information could necessitate the acquisition of further cupboard space. what is more, to attain the desired performance it's going to be necessary to buy a bigger machine, maybe even a machine dedicated to running the package. The procural of further hardware leads to any expenditure.



7. value of Conversion: In some things, the value oftlle package and additional hardware is also insignificant compared with the value of changing existing applications to run on the new package and hardware. This value additionally includes the value of coaching employees to use these new systems and presumably the utilization of specialist employees to assist with conversion and running of the system. This value is one in all the most reasons why some organizations feel tied to their current systems and can't switch to fashionable information technology.
Learn more »

What are the roles and responsibilites of Database Administrator (DBA) ?

Following are the roles and responsibilities of Database Administrator:
  • Installing and updating the Oracle server and application tools.
  • Allocating system storage and planning future storage requirements for the database system.
  • Creating primary database storage structures (table spaces) after application developers have designed an application.
  • Creating primary objects (tables, views, indexes ) etc once application developers have designed an application.
  • Modifying the database structure, as necessary from information giveny by application developers.
  • Enrolling users and maintinging system security.
  • Ensuring compliance with your oracle license agreements.
  • Controlling and monitory user access to the database. 
  • Monitoring and optimizing the performance of the database.
  • Planning for backup and restoring the database. 
  • Contacting Oracle corporation for technical support. 
Learn more »