Database and Database Management Systems(DBMS)
Importance of Database:
We write java program and run the program to get result. We would provide the required input arguments and it would return the result. But after the program execution completes, the input parameter and result would be deleted from memory. It can’t be retrieved back as it is not stored in storage media. If we want see the result again, we have to provide the input again to process it. It would become complex and impossible to provide the inputs again in enterprise application. So we require to store the data in storage in organized way. Here “Database” evolution initiated and now there are so many databases in software industry to handle the enterprise data.
What is Database:
A database is a collection of logically related information organized,so that it can be easily accessed, managed and updated.
Database is a collection of data for an organization. Database would have organization data in organized and logial way. A database management system (DBMS) is system software for creating and managing databases. The DBMS provides users and programmers with a systematic way to create, retrieve, update and manage data. A DBMS makes it possible for end users to create, read, update and delete data in a database. The DBMS essentially serves as an interface between the database and end users or application programs, ensuring that data is consistently organized and remains easily accessible.
What is DBMS:
A database management system (DBMS) is a collection of programs that enables you to store, modify, and extract information from a database. The DBMS is perhaps most useful for providing a centralized view of data that can be accessed by multiple users, from multiple locations, in a controlled manner. Initially DBMS is designed to access the database. But now it is designed smartly to provide services such as user management, cache management, Backup and recovery management, avoid data redundancy, check 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. In industry We have different kind of databases group by the way of storing the data in database and it actual use.
Major Types of Databases and DBMS:
NoSQL DBMS – It is for loosely defined data structures. The data of facebook, twitter is managed in NoSQL databases. Example of NoSQL databases Cassendra,MapR.
In-memory database management system (IMDBMS) – provides faster response times and better performance such as EhCache, SAP HANA
Columnar database management system (CDBMS) – well-suited for data warehouses that have a large number of similar data items. Apache HBase and Endeca
Cloud-based data management system – the cloud service provider is responsible for providing and maintaining the DBMS. Clustrix database as a service, Amazon SimpleDB and Google cloud Bigtable.
Relational database management system (RDMS) – Data stored in tabluar format and adaptable to most use cases. Industry leading RDBMS is Oracle, MySQL and SQL Server.In this series, we would discuss more about RDBMS and SQL.
RDBMS and SQL:
One Billion Bank customers, Billions of Moderate Transactions. One Management Solution. RDBMS.
SQL(Structured Query Language) designed for managing data held in a relational database management system. SQL is language and API to access RDBMS. SQL is a database management system (DBMS) that is based on the relational model as invented by E. F. Codd, of IBM’s San Jose Research Laboratory. Many popular databases currently in use are based on the relational database model. Different vendors implements the SQL specification such as Oracle, MySQL, IBM DB2 and MS SQL server.
Let us start with an example of employee of an organization. The employee details stored in tabular information in RDBMS as below.
| ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 2 | Khilan | 25 | Delhi | 1500.00 | | 3 | kaushik | 23 | Kota | 2000.00 | | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 6 | Komal | 22 | MP | 4500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------|
This is RDBMS employee table(relation). It is way of storing data in RDBMS. We can avoid data redundancy, Data integrity by enforcing constraints. We will discuss more on relation and constraints in next sections. To get information from the relation, we write SQL statements. For example, to get all the employee who get salary more than 10,000, the SQL query would look like,
“SELECT * FROM EMPLOYEE WHERE SALARY > 10000” => It would return all the employee details with salary greater than 10000. We will discuss more on SQL statements in next section. Happy Selecting:).