Thursday, December 01, 2016

Advantage & disadvantage of DBMS





Advantage & Disadvantage of DBMS



 DBMS Advantages
  • Reduced data redundancy
  • Reduced updating errors and increased consistency
  • Greater data integrity and independence from applications programs
  • Improved data access to users through use of host and query languages
  • Improved data security
  • Reduced data entry, storage, and retrieval costs
  • Facilitated development of new applications program
  DBMS  Disadvantages
  • Database systems are complex, difficult, and time-consuming to design
  • Substantial hardware and software start-up costs
  • Damage to database affects virtually all applications programs
  • Extensive conversion costs in moving form a file-based system to a database system
Initial training required for all programmers and users 



CPU

Alternately referred to as a processor, central processor, or microprocessor, the CPU (pronounced sea-pea-you) is the Central Processing Unit of the computer. A computer's CPU handles all instructions it receives from hardware and software running on the computer.

The CPU is often referred to as the brain of the computer. However, it is more appropriate to refer to software as the brain and the CPU as a very efficient calculator. A CPU is really good with numbers, but if it wasn't for the software it wouldn't know how to do anything else.

The CPU is a chip within the computer.

Components of a CPU

The three typical components of a CPU include the following:
  • The arithmetic logic unit (ALU), which performs arithmetic and logical operations.
  • The control unit (CU), which extracts instructions from memory and decodes and executes them, calling on the ALU when necessary.
  • Registers or memory unit, for temporary storage.
CPU

Real-time operating system

Real-time operating system

Abbreviated as RTOS, a real-time operating system or embedded operating system is a computer operating system designed to handle events as they occur. Real-time operating systems are commonly found and used in robotics, cameras, complex multimedia animation systems, communications, and have various military and government uses. 

A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time applications which process data as it comes in, typically without buffering delays. Processing time requirements (including any OS delay) are measured in tenths of seconds or shorter increments of time.

Time Sharing Operating System

A time sharing system allows many users to share the computer resources simultaneously. In other words, time sharing refers to the allocation of computer  resources in time slots to several programs simultaneously. For example a mainframe computer that has many users logged on to it. Each user uses the resources of the mainframe -i.e. memory, CPU etc. The users feel that they are exclusive user of the CPU, even though this is not possible with one CPU i.e. shared among different users.The time sharing systems were developed to provide an interactive use of the computer system. A time shared system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer. It allows many users to share the computer resources simultaneously. As the system switches rapidly from one user to the other, a short time slot is given to each user for their executions.

The time sharing system provides the direct access to a large number of users where CPU time is divided among all the users on scheduled basis. The OS allocates a set of time to each user. When this time is expired, it passes control to the next user on the system. The time allowed is extremely small and the users are given the impression that they each have their own CPU and they are the sole owner of the CPU. This short period of time during that a user gets attention of the CPU; is known as a time slice or a quantum. The concept of time sharing system is shown in figure.
                
 
In above figure the user 5 is active but user 1, user 2, user 3, and user 4 are in waiting state whereas user 6 is in ready status.

Multiuser Operating System

Multiuser Operating System

A multi-user operating system allows multiple users to access the data and processes of a single machine from different computers or terminals. These were previously often connected to the larger system through a wired network, though now wireless networking for this type of system is more common. The users will typically be at terminals or computers that give them access to the system through a network, as well as other machines on the system such as printers. A multi-user operating system differs from a single-user system on a network in that each user is accessing the same OS at different machines.


 

A multi-user operating system is often used in businesses and offices where different users need to access the same resources, but these resources cannot be installed on every system. In a multi-user operating system, the OS must be able to handle the various needs and requests of all of the users effectively.

Multiprogramming Operating System

Multiprogramming Operating System

In a multiprogramming system there are one or more programs loaded in main memory which are ready to execute. Only one program at a time is able to get the CPU for executing its instructions (i.e., there is at most one process running on the system) while all the others are waiting their turn.
The main idea of multiprogramming is to maximize the use of CPU time. Indeed, suppose the currently running process is performing an I/O task (which, by definition, does not need the CPU to be accomplished). Then, the OS may interrupt that process and give the control to one of the other in-main-memory programs that are ready to execute (i.e. process context switching). In this way, no CPU time is wasted by the system waiting for the I/O task to be completed, and a running process keeps executing until either it voluntarily releases the CPU or when it blocks for an I/O operation. Therefore, the ultimate goal of multiprogramming is to keep the CPU busy as long as there are processes ready to execute.
Note that in order for such a system to function properly, the OS must be able to load multiple programs into separate areas of the main memory and provide the required protection to avoid the chance of one process being modified by another one.


Multitasking OS

Multitasking has the same meaning of multiprogramming but in a more general sense, as it refers to having multiple (programs, processes, tasks, threads) running at the same time. This term is used in modern operating systems when multiple tasks share a common processing resource (e.g., CPU and Memory). At any time the CPU is executing one task only while other tasks waiting their turn. The illusion of parallelism is achieved when the CPU is reassigned to another task (i.e. process or thread context switching).
There are subtle differences between multitasking and multiprogramming. Multitasking OS implies Multiprogramming but vice-versa not possible.

Batch operating system

Batch operating system

The users of a batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. The programmers leave their programs with the operator and the operator then sorts the programs with similar requirements into batches.
The problems with Batch Systems are as follows −
  • Lack of interaction between the user and the job.
  • CPU is often idle, because the speed of the mechanical I/O devices is slower than the CPU.
  • Difficult to provide the desired priority.


Friday, November 25, 2016

Characteristics of DBMS



Traditionally data was organized in file formats. DBMS was all new concepts then and all the research was done to make it to overcome all the deficiencies in traditional style of data management. Modern DBMS has the following characteristics:
  • Real-world entity: Modern DBMS are 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 student as entity and their age as their attribute.
  • Relation-based tables: DBMS allows entities and relations among them to form as tables. This eases the concept of data saving. A user can understand the architecture of database just by looking at table names etc.
  • Isolation of data and application: A database system is entirely different than its data. Where database is said to active entity, data is said to be passive one 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 rules of normalization, which splits a relation when any of its attributes is having redundancy in values. Following normalization, which itself is a mathematically rich and scientific process, make the entire database to contain as less redundancy as possible.
  • Consistency: DBMS always enjoy the state on consistency where the previous form of data storing applications like file processing does not guarantee this. Consistency is a state where every relation in database remains consistent. There exist methods and techniques, which can detect attempt of leaving database in inconsistent state.
  • 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 different filtering options, as he or she wants. Traditionally it was not possible where file-processing system was used.
  • ACID Properties: DBMS follows the concepts for ACID properties, which stands for Atomicity, Consistency, Isolation and Durability. These concepts are applied on transactions, which manipulate data in database. ACID properties maintains database in healthy state in multi-transactional environment and in case of failure.
  • Multiuser and Concurrent Access: DBMS support multi-user environment and allows them to access and manipulate data in parallel. Though there are restrictions on transactions when they attempt to handle same data item, but users are always unaware of them.
  • Multiple views: DBMS offers multiples views for different users. A user who is in sales department will have a different view of database than a person working in production department. This enables user to have a concentrate view of database according to their requirements.
  • Security: Features like multiple views offers security at some extent where users are unable to access data of other users and departments. DBMS offers methods to impose constraints while entering data into database and retrieving data at later stage. DBMS offers many different levels of security features, which enables multiple users to have different view with different features. For example, a user in sales department cannot see data of purchase department is one thing, additionally how much data of sales department he can see, can also be managed. Because DBMS is not saved on disk as traditional file system it is very hard for a thief to break the code.

DATABASE MANAGEMENT SYSTEM



DATABASE: - Database is the space defined on the media for holding files. It is just like the organisational cabinet where all the information about the organisation is consisted. OR
                        A database is a collection of related information storage, so that it is available to many users for different purpose.

DATABASE SYSTEM: - A database system is an integrated collection of related files, along with details of the interpretation of the data contained therein. OR
                        It is a sophisticated, computerized record keeping system, a repository for a collection of computerized data file. It maintains information and makes that information available on demand. The important advantage of database is to maintain integrity.

DATABASE MANAGEMENT SYSTEM: - A DBMS is a software system that allows access to data contained in a database. The objective of the DBMS is to provide a convenient and effective method of defining, storing and retrieving the information contained in the database. The DBMS is the major software component of a database system. The DBMS is a combination of hardware and software that can be used to set up and monitor a database & can manage the updating and retrieval of database that has been stored in it. The DBMS is an intermediary between the user and the database.



Most DBMS have the following facilities.

(a)              Creating of a file, addition & deletion of the data, modification of data.
(b)             Creation, addition and deletion of entire files.
(c)              Retrieving data collectively or selectively.
(d)             The data stored can be sorted or indexed at the user’s discretion and direction.
(e)              To maintain data integrity and database use.