3 of 10

What is a database?

by Raj Kumar

In simple terms, database is a software program to store, access and manage the data in an organized manner. There is a system which works behind the database and is called as database management system (DBMS). Actually the database can be assumed as an integral part of DBMS. If we just look at the feature of storing the data or information, there are other means through which data can be stored like Microsoft Excel spreadsheets, Word documents and flat text files. But they are neither well organized nor support most needed features like authentication, security permissions, quick data search based on customized criteria and controlled manipulations or transactions with accuracy, integrity and availability.

Database is built on a specific data model. Depending on the model used, database features and data services vary. Based on the model, database can be classified into hierarchal, network, relational and object model database management system. A database having hierarchal model has simple composition which looks similar to tree shaped nodal structure. But it is less flexible and restricts itself to one-to-many data storage relationships. Hierarchal model is used in specialized domain like Mobile technologies and data storage related to geographical information. Network model has more complex form of data storage structure as compared to hierarchal model. Network database supports many-to-many data relationships. Data access can be done using one of several paths. Both hierarchal and network model works on the concept of navigation through data using set of links. To access any piece of record, path is followed by navigating through linked dataset until the desired data is returned. Object database is the result of database functionalities combined with object oriented programming techniques. It is managed by object database management system (ODBMS) and has less usage in common data processes. In today's scenario, most commonly used database is of relational type.

Relational database contains basic data storing object called as table. Table is two-dimensional representation of data storage. It stores the data in the form of horizontal rows which in turn is divided into equal number of columns. Rows and columns are also referred as "tuples and "attributes" respectively. Actually the data is physically stored in data pages which are managed and allocated to a single table or group of tables by DBMS. Each data page starts with header information containing names of allocated table and other details. If we consider database table as an object, each row is an instance of that object. For example, "Employee" table contain multiple rows and each row uniquely represents an employee record. The relational model is based on Codd rules. Codd defined a set of database rules starting from "Rule 0" to "Rule 12". Database needs to follow and implement these set of Codd rules in order to behave as relational. For e.g. Microsoft SQL Server is very powerful relational DBMS. It can support hundreds of thousands users concurrently.

SQL (Structured Query Language) is the common tool in DBMS to interact with actual data. There are various software vendors available which provide number of DBMS. Every DBMS has its own version of SQL which strictly follows the standards laid down by American National Standards Institute (ANSI) and International Organization for Standardization (ISO). Microsoft SQL Server uses Transact - SQL (also called as T-SQL) to access and manipulate the data. Relational database contains several objects viz. tables, stored procedures, views, triggers, constraints and indexes. Tables are simply created by keeping in mind that related data should be grouped together and fall at one place. If the data shows one-to-many relationship, tables are created accordingly to maintain detail level records. Related tables are cascaded and managed by referential integrity constraints. Each table has its own primary key which identifies each row within that table uniquely. With primary key and foreign key combination, relationships are maintained within multiple tables which in turn reflect the concept of relational modeled database. Clustered and Non-Clustered Indexes are main indexes which help in data sorting, quick search and improve overall database performance. Other objects like stored procedure, view and trigger contains SQL scripts which in turn are written to implement complex business functionalities at database level instead of hard coding in user application layer.

Helium, Inc.
200 Brickstone Square Andover, MA 01810 USA