Important Terminologies used in Database
First let us know what a database is. A database is a collection of interrelated data. RDBMS stands for Relational Database Management System. To name a few Relational Database Management Systems are Oracle, Sybase and Informix and so on. Now let us see important concepts and terms used in this. Database systems are composed of DBMS and database application.
This is the structure defined to store data under it. It is also called as an ENTITY.
It is also known as attributes in database terminology. It defines the property of an entity. In other words it is called as column in a table.
For example if we have a company where employee details and department details are gathered.
Employee details like empname, age, address and so on each of which form attribute is stored under structure called as EMP table
Similarly department details like department name, manager and so on each of which denote field are stored in a structure called d DEPT table.
Relational Database is nothing but organizing data in tabular form by creating structures as above.
This is an important term or technique used while creating tables. Normalization refers to removing redundancy of data.
Normalization is required because
- To structure the data so that pertinent relationship between entities or tables can be maintained
- To permit simple retrieval of data in response to queries.
- For simple maintenance of data when updates, insertions and deletions take place.
- To reduce the need to restructure or reorganize data when new application requirement arise.
There are four levels of normalization. They are namely:
- First Normal Form
- Second Normal Form
- Third Normal Form and
- Boyce Codd Normal Form
In each level redundancy of data is reduced.
We have seen that we can create number of tables. So a situation may arise where rows of one table need to be joined with rows in another by common values in corresponding columns. This is done in database terminology by using JOIN concept. So join helps to fetch data from one or more table that can be related by some condition.
This is important terminology in Relational Database Management System also called as RDBMS in short. It is created on a table with reference to another table or tables. In this concept foreign key figures out. The table on which the column or a combination of columns is defined by this constraint is called the foreign key is called child table. When this constraint is defined a relation is defined between this table which has the foreign key and a table that has the primary key in relationship with this. This is called as referenced key. The table which has the primary key or in other words the referenced key is called as parent table.
It is defined as a column or set of columns in a child table to declare referential integrity constraint.
Importance of Data Integrity
Data Integrity refers to accuracy of data. This is very essential for a proper maintenance and usage of database. Integrity of data can be achieved by placing constraints or rules. By placing integrity constraints one can place restrictions or checking while inserting or updating data in database. These two operations are the place when data gets into database.
Concept of Index
This is vital in database. Indexing in database is similar to the concept of pointers. This concept is needed because a database may have thousands of data or values in it and for fetching a particular value one need to perform search on database and this is a time consuming process. In order to have efficient usage of them while doing this search process indexing is used on columns. It is also possible to create unique index. When a column or combination of columns is defined as unique index then those columns cannot have duplicate values. Like dropping of tables and views it is also possible to drop an index.
Security and the concept of Locking in Database
It is very essential to have good security provided to database in order for the data to be kept safe from improper access or from improper updating of data. It is important to give security in database management system in three levels namely
Users: It is essential that only valid users and authorized users must have access to database. This is achieved in database management system by assigning user-id
Objects: It is also essential to give security to objects to tables, views and data and so on which are the important elements of a database.
Privilege: These are nothing but the actions permitted by a particular user on the database. It is essential to define this which gives security for database objects.
Concurrency of data access can be taken care by the technology of locking in database. In other words we know that a table can be accessed by many users and when a user is accessing a table and updating a data care and steps must be taken to prevent another user from accessing the same data at the same time in which the data is getting altered. This is taken care by the concept of locking in database.
When talking about locking the concept of deadlock is very important for one to know in database.
Transaction is unit of work done. So a database management system will have number of transactions. There may be situations when two or more transactions are put into wait state simultaneously .In this position each would be waiting for the other transaction to get released. Suppose we have two transactions one and two both executing simultaneously.
In transaction numbered one we update student table and then update course table. We have transaction two in which we update course table and then update student table. We know that when a table is updated it is locked and prevented from access from other transactions from updating. So in transaction one student table is updated it is locked and in transaction two course table is updated and it is locked. We have given already that both transactions gets executed simultaneously. So both student table and course table gets locked so each one waits for the other to get released. This is the concept of deadlock in DBMS.
Though the database concepts are numerous the above gives an overall idea about the important terminologies used in database.