Objectives The main objectives of database management system are Data availability, Data integrity, Data security, and Data independence
Data Availability The data which we created will be available to the wide variety of users can access the date easily in a meaningful format Client1 Client2 Client3
Data Integrity the correctness of the data in the database Data can be accessed by any user accurately Data must consistent to access with any type of application Data must access without any problem.
Data Security only authorized users can access the data. Data security can be enforced by passwords . If multiple users accessing same data, DBMS must not allow conflict changes
Data Independence One of the main objectives of DBMS is to facilitate sharing of a database by current and future applications . There are two different data independence Logical Data Independence Data can be modified without changing Physical Schema Physical Data Independence Data can be changed with change in logical schema
Evolution of DBMS
Introduction In recent years, two approaches to DBMS are more popular, which are Object-Oriented DBMS (OODBMS) Object Relational DBMS (ORDBMS).
The sequential order of the development of DBMS is as follows: Flat files – 1960s–1980s Hierarchical – 1970s–1990s Network – 1970s–1990s Relational – 1980s–present Object-oriented – 1990s–present Object-relational – 1990s–present Data warehousing – 1980s–present Web-enabled – 1990s–present
Early 1960s. Charles Bachman created the first general purpose DBMS Integrated Data Store. It created the basis for the network model which was standardized by CODASYL (Conference on Data System Language ). Late 1960s : IBM developed the Information Management System (IMS). IMS used an alternate model, called the Hierarchical Data Model. In 1970: Edgar Codd , from IBM created the Relational Data Model . In 1981: Codd received the Turing Award for his contributions to database theory. Codd Passed away in April 2003.
In 1976: Peter Chen presented Entity-Relationship model, which is widely used in database design . In 1980: SQL developed by IBM, became the standard query language for databases. SQL was standardized by ISO. In 1980s and 1990s: IBM , Oracle, Informix and others developed powerful DBMS.
Classification of DBMS
Database management systems can be classified based on several criteria, such as the data model, user numbers and database distribution Based on the data model Based on the number of users Based on the sites over which network is distributed Based on usage
Based on the data model Relational database They are table oriented which means data is stored in different tables , each has the key field whose task is to identify each row . Object oriented database The information here is in the form of the object as used in object oriented programming. It adds the database functionality to object programming languages.
Hierarchical database The information is represented in the form of parent child releationship It is mainly used in mainframe comuputers Network database Mainly used on a large digital computers. If there are more connections, then this database is efficient.
Based on the number of users Single user As the name itself indicates it can support only one user at a time. It is mostly used with the personal computers. The user may design, maintain and write the database programs. Multiple users It supports multiple users concurrently . Data can be both integrated and shared, a database should be integrated when the same information is not need be recorded in two places .
Based on the sites over which network is distributed Centralized database system The DBMS and database are stored at the single site that is used by several other systems too. We can simply say that data here is maintained on the centralized server . Parallel network database system This system has the advantage of improving processing input and output speeds. Majorly used in the applications that have query to larger database . Distributed database system In this data and the DBMS software are distributed over several sites but connected to the single computer.
Based on usage Online Transaction Processing(OLTP) DBMS They manage the operational data. Database server must be able to process lots of simple transactions per unit of time. Online Analytical Processing(OLAP) DBMS They use the operational data for tactical and strategical decision making. They have limited users deal with huge amount of data, complex queries.
Components of DBMS
Database The database consists of logically related data stored in a single data storage area It is possible to remove most of the file system’s problems
Database Management System It is a collection of software programs used to create and manipulate data stored in database. The database system is composed of the five major ports Hardware Software People Procedures Data
Hardware Hardware is physical components connect to computer DBMS required basic hardware components such as Hard disk to store data in database Input devices to provide instructions Output devices to display results RAM to hold data temporarily Like above there are different kind of hardware required to use DBMS.
Software It is the program which controls everything DBMS is software wrapped around the database It provides us with an easy-to-use interface to store, access and update data. DBMS software converts database access language into database commands to access database
Data Data is that resource, for which DBMS was designed DBMS was created to store and utilize data . Database stores users data and metadata. Data is collection of raw (unstructured) information Metadata is data about data, i.e., where data is stored, what is size of data etc.
Procedures general instructions to use a database management system That includes To setup and install a DBMS To Login and logout of DBMS software To manage database To take backups To generating reports , etc.
Users: users who interact with database system Database Administrator Database Administrator is the one who manages the complete database management system DBA takes care of the security of the DBMS it's availability managing the license keys managing user accounts and access, etc. Application programmer or software developer This user group is involved in developing and designing the parts of DBMS. End users End users are the one who store, retrieve, update and delete data.
Data Models
What is Data Model? the logical design and structure of a database defines how data will be stored, accessed and updated in a DBMS While the Relational Model is the most widely used database model ,
Types of Data Models Database Evolution changes the style of data stored in database. There are four different data models Hierarchical Data model Network Data Model Entity relationship data model Relational data model Object Oriented
Hierarchical Model organizes data into a tree-like-structure (upside down tree) Hierarchy starts with single root expands like a tree, adding child nodes to the parent nodes . In this model child node will only have a single parent node.
Advantages are . It promotes data sharing. Maintains parent child relationship Database security is provided and enforced by DBMS Provides data integrity. It is efficient with one to many relationships. Disadvantages are . Requires knowledge of physical data storage Requires knowledge of hierarchical path Changes of structures will require changes in all applications No support of DDL or DML
Network model It is extension of the Hierarchical model . data is organized more like a graph One child can have multiple parent nodes Data has more relationships established in this model Used for many to many data relationships Most widely used model before Relational model introduced.
Advantages are . It promotes data sharing. Parent/Child relationship promotes conceptual simplicity. Database security is provided and enforced by DBMS Parent/Child relationship promotes data integrity. It is efficient with M: M relationships. Disadvantages are . Requires knowledge of physical data storage Changes of structures will require changes in all applications Implementation limitations are there
Entity relationship model It was introduced in the year 1976, by peter chen graphical representation of entities and their relationships in a database structure . This model provides good structured database design It is represented using ER diagrams Object is defined as Entity and it’s characteristics are defined as attributes
Advantages Straight-forward representation of relationships easy convert ER Model to any other model Provides Graphical representation of Database
Dis-Advantages There is no Industrial Standards It is not suitable for Low level design.
Relational Data model Introduced by EF CODD in the year 1970 It was the most widely used to data model to create RDBMS applications Data is organized in the form of tables Relationships are maintained by storing common field In this model tables are known as “Relations”
Advantages Relational model is very simple than Hierarchical and Network model. Easy to user because of tables having rows and columns. Faster to access data stored in database It follows Constraints and Other rules to manage database and data integrity
Disadvantages It becomes more complex when data grows in database. When database become complex , data sharing is not possible.
Object Oriented Model In this model , database is designed with group of objects. Objects contains Data and Behaviors. This models helps us to create OODBMS(Object Oriented Database Management System) OOD will allows us to communicate with object Oriented languages.
Object1 Object2 Object3 Data members Data members Data members Methods Methods Methods
Advantages: It is mainly used to complex datatypes , such as images,videos , audio,etc . Flexible to access data. Able to store large amount of data Easily integrated into web and other applications
Disadvantages Data accessing slower than relational model Because of Complex data, degrade performance of database.