Database Development : Database System

A database is an organized collection of data. You can visualize it as a container of information. The data is typically organized to model relevant aspects of reality (for example, the availability of rooms in hotels), in a way that supports processes requiring this information (for example, finding a hotel with vacancies). Suppose if you own a stationary shop, you need to keep detailed records of the materials available in your shop. You also need to store information about pricing, stock levels for reordering, old stocks, etc. While in the manual system, you would maintain several files with different bits of information; in the computerized system you would use database programs such as Microsoft Access, OpenOffice.org Base, and MySQL, to organize the data as per your business need. The database concept has evolved since the 1960s to ease increasing difficulties in designing, building, and maintaining complex information systems (typically with many concurrent end-users, and with a large amount of diverse data). In this lesson, you will learn database concepts and to work with a Database Management System (DBMS).

Database Management System

A database management system is a software package with computer programs that controls the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications. A database is an integrated collection of data records, files, and other objects. A DBMS allows different user application programs to concurrently access the same database. Well known DBMSs include Oracle, IBM DB2, Microsoft SQL Server, Microsoft Access,
PostgreSQL, MySQL, FoxPro, and SQLite. Data can be organized into two types:
  • Flat File: Data is stored in a single table. Usually suitable for less amount of data.
  • Relational: Data is stored in multiple tables and the tables are linked using a common field. Relational is suitable for medium to large amount of data.

Database Servers

Database servers are dedicated computers that hold the actual databases and run only the DBMS and related software. Typically databases available on the database servers are accessed through command line or graphic user interface tools referred to as Frontends; database servers are referred to as Back-ends. Such type of data access is referred to as a client-server model.

RDBMS

A relational database management system (RDBMS) is a database management system that is based on the relational model as introduced by E. F. Codd, of IBM's San Jose Research Laboratory. Most popular databases currently in use are based on the relational database model.
      The relational model for database management is a database model based on first-order predicate logic, first formulated and proposed in 1969 by Edgar F. Codd. In the relational model of a database, all data is represented in terms of tuples, grouped into relations. A database organized in terms of the relational model is a relational database. The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the database management system software take care of describing data structures for storing the data and retrieval procedures for answering queries.

Database Concepts

Database contains objects that are used for storing and managing information. To understand a database in very simple language, let’s look at the example of your address book. What do you store in an address book? You may have people’s name, people’s address, people’s phone number and maybe even people’s birthdays. There is a common element here – people. In this example, each person is considered an “item”. So, an item is what the database is storing information about. When you were recording information in your address book, what did you ask the people? What is your address? What is your phone number? etc. Each question that we ask about our item is a “field”. Now, say you make new friends and want to add their information to your address book. You will ask questions, get the answers and create a new “record”. So a record is a set of information (made up of fields) stored in your database about one of the items. A “value” is the actual text or numerical amount or date that you put in while adding information to your database. When you put all the information together in a grid (like you do in a spreadsheet), a collection of similar records creates a table. A database can have one or many tables. An address book example is a very simple one, in real life there are many more details involved. A big company would have in its database, one table for its products, one table for its suppliers, one table for its customer details, one for orders received and maybe many others. Basically each table in a database contains information about one type of item. So a database is basically a container that holds tables and other objects and manages how they can be used.
    Another very important thing to remember is that when we put in information, we may have people with the same name (there can be more than one Charu Arora) or the same address (members of a family). But when creating a database an important feature is record uniqueness in every table. It is important to be able to distinguish between different items having duplicate values. Uniqueness helps to avoid accidental duplication of records caused by user or computer error. This can be achieved by using some number or value that uniquely identifies a record. If such a unique value does not exist in your fields, as the database designer, you can create a special additional field in a table where unique numbers or values can be assigned for each new entry. Therefore, every table has a key field which ensures that there are 100% unique values throughout the database. Every database table should have one or more fields designated as key. You can assign a unique value to this key for differentiating records that may have similar names or address. Look at the following example of student database:

In this table, it will be extremely difficult to differentiate between student records as they have names that are similar. To differentiate, you can add additional field - roll number - that will be unique for each record (example below).


Share:

0 comments: