What is a Database?
A structured collection of records is known as a database. The way in which a database is structured is defined by the database model. Hierarchical model, network model, object model, and relational model are some of the most commonly used models in the structure of databases. A database facilitates an organized storage of data in the form of records. The records can be queried in different ways to retrieve information from the database. Owing to organized storage of data, a database becomes a useful tool of data storage.
Databases form the basic tier of any multi-tier system. The information handled and manipulated by the other layers of an n-tier system is basically stored in a structured manner in a database. Take an example of any organization. How do you think they store their employee and customer information? Yes, they store it in a database. Imagine a website and where do you think the site maintains the log-in information about its users? Again, the answer is - a database.
After having realized the utility of databases in software systems, let us introduce ourselves to this concept. A database is composed of tables, which are composed of records. There is a primary key associated with every record and it serves as its unique identification. Every record has a unique primary key and also the information about the entity associated with that record. Each field in the database can be called attribute and data from a table can be retrieved on the basis of database attributes. Search queries enable easy data retrieval from the table, thus proving the importance of the organized nature of data in a database.
An Introduction to Relational Databases
One of the most popularly used database models is the relational model. It was developed by Edgar Codd in 1969. This model provides a declarative method for specification of data and queries. In a relational model of a database, the database users directly state the information they want to be retrieved from it and abstract away from the responsibility of describing the data structures that are used to store data. A database that confirms to the relational database model is known as a relational database.
A relational database is a collection of relations or tables. The rows of a table in a relational database are known as tuples and each column of a table is called an attribute. By definition, a relation becomes a set of tuples having the same attributes. Operations, which can be performed on the relations are select, project, and join. The join operation combines relations, the select queries are used for data retrieval and the project operation identifies attributes. Similar to other database models, even relational databases support the insert, delete, and update operations. Let us now look at the advantages of relational databases.
Support to Operations Based on Set Theory
Basically, relational databases are based on relational set theory. Normalization is a vital component of the relational model of databases. Relational operations, supported by relational databases work best with normalized tables. A relational database supports relational algebra, consequently supporting the relational operations of set theory. Apart from mathematical set operations namely, union, intersection, difference, and Cartesian product, relational databases also support select, project, relational join, and division operations. These operations are unique to relational databases.
Relational databases support an important concept of dynamic views. In this database, a view is not a part of the physical schema, it is dynamic. Hence changing the data in a table alters the data depicted by the view. Views can subset data, join and simplify multiple relations, dynamically hide the complexity in the data, and reduce data storage requirements.
Simple Operations and Defined Relationships
Relational databases use SQL, which is an easy and human-readable language. SQL instructions are in the form of plain instructions, which can be put to the database for implementation. Most of the database vendors support the SQL standard. A competitive technology of flat files supports a sequential storage of data and fails to provide the users with search and query options. On the other hand, relational databases provide the users with simple operations to manipulate data in the databases and retrieve it. Moreover relational databases establish defined relationships between tables, thus giving their users a complete picture of the data stored.
Relational databases provide excellent security. They support access permissions which allow the database administrator to implement need-based permissions to the access of data in database tables. Relational databases support the concept of users and user rights, thus meeting the security needs of databases. Relations are associated with privileges like create privilege, grant privilege, select, insert, and delete privileges, which authorize different users for corresponding operations on the database.
The other important advantages of relational databases include their performance, power, and support to new hardware technologies, as also flexibility and a capacity to meet all types of data needs. These databases are scalable and provide support for the implementation of distributed systems.
Owing to their advantages and application in the operations of data storage and retrieval, relational databases have revolutionized database management systems.