Table of Contents
Database management system (DBMS), according to Miaka’s statement (2012, p.2) is a storage area which allows users to create large quantities of data, retrieve the data with ease whenever needed and in any desired format. This has been brought into realization due to the need of companies and organizations to process a huge amount of data. Manual storage of such huge amounts of data would be tedious and time wasting when it comes to retrieving the data. Therefore, in order to facilitate easy contact with the data when the need arises is very crucial and this can be achieved by use of DBMS. Vidya (2010) outlines DBMS as a storage area which allows relations between two files to be established and stores data in flat-files with metadata. However, DBMS neither sustains the client/server architecture nor oblige integrity constraints.
Relational Database Management System (RDBMS), as stated by Shabbir (2005),is a storage area that enables users to build, update and keep a proper maintenance of a relational database. It has the capability of storing the data in the form of related tables. Relational databases remain very powerful, due to the fact that the questions on how data relate to one another and how the data can be extracted from the database require few or no assumptions. A single database in relational systems can be distributed across multiple tables which is an important feature that distinguishes it from flat-file databases. Unlike DBMS, RDBMS has features that enable it to support client/server architecture as well as imposing integrity constraints. Moreover, it allows several users to access data tables at the same time, unlike DBMS where only one user can access the data at a specific time.
Importance of Data Models in Database Applications Design
Databases are initially represented in the form of data models before the actual design. A data model is an illustration of an actual situation that shows the dataflow and realistic interrelationships that exist among various data elements. It is a very vital part of the abstract design process. Data model mainly focuses on the kind of data that should be stored in the database. Data modeling is of great significance in the analysis of data requirements that is needed to back up business activities of an organization. The main objective of data models is to offer support to the development of information systems by giving a concrete definition and format of the data. This is achieved by ensuring that every data object that is needed by the database is accurately represented. Therefore, data model ensures that no data is omitted in the actual database design process that could eventually lead to a poorly designed database. In the event of this, it helps any developer to ascertain the purpose of different tables that are represented in table form. As a result, they can be able to maintain the system in the absence of the original developer by the help of the model.Dimensional modeling enables one to visualize any possible questions for which the end business users may need to provide an answer. By the use of data modeling, users get an insight and explore the data structure and exploit it completely.
Data modeling gives a visual representation of the business world. By its mere definition, modeling is an abstraction of the real world that enables one to visualize what cannot be in reality. ER diagrams have in the past been used by data modeler as a means of communication media between them and the business end users. Therefore, since data model is an organized abstraction of the data, it has become one of the most essential ways of understanding and managing the business. In absence of a data model, organizing the structure and contents of the business data would be very difficult.
Data modeling also plays a very crucial role when it comes to the plan of implementing the data ware house. Initially, ER focused particularly on eradicating data redundancy and maintaining consistency among the various sources of data and applications. Merging the data models of each business area prior to actual implementation can ascertain that the resultant output will be effective and may lower the cost of implementation.
Besides, it enhances database performance, which is very sensitive in a warehouse. Data modeling makes easy the management of metadata that are related to data warehouse. This is achieved through describing the actual business information needs. Every need and detail of the business is defined and outlined clearly. Therefore, there is formation of sound basis of the physical database design.
Importance of Data Models
Designing a database is a very intensive and time consuming section of development process. When designing a relational database, there is a sequence that needs to be followed. This sequence involves a process of five steps: planning and analysis, conceptual design, logical design and implementation. While designing a database for a given application, the first thing that should be put into considerations is deciding on how the information to be stored can be arranged into tables. This designing can be simplified and made easy by use of a given data model that best suits the database that is being designed.
Considering a relational database, the approach that could be employed may be quite different from other types of databases at some point. These could be different depending on the type of data model that has been used in the design. In relational database, data files are related to one another by use of common data elements. Therefore, there are some data models that are suitable for designing a relational database so as to meet its requirements. The two data models that can be used in design of relational databases are physical data model and the logical data model.
Physical data model can be taken as a data-specific model which is used to embody relational data objects and their relationships. It takes into considerations the facilities and constraints specified database management systems. One distinguishing fact of the physical data model is that it can be used to produce DDL statements which are then deployed to a database. In the development of a project, physical data model typically inherits from a logical data model though it can be reverse-engineered from a certain database implementation. A complete data model should have database artifacts that are needed to develop relationship between tables and achieve performance goals. It may contain accurate storage allocation information for a given database system. It enables data to be stored maintained in structured format. The designing of a physical data model follows the following steps that are easy and precise. First, the entities are converted into tables for data storage. Then the relationships are converted into foreign keys and the attributes are converted into columns. Finally, the physical data model is modified on physical constraints. An important feature of the physical data model is that it can be used to construct databases, table spaces, files, instances, tables, columns, data types, constraints, partitions, indexes and views. Physical data model is of great importance since it provides visual abstraction of the data base structure as well as deriving the database schema from the model. This derivation of the is done automatically. This is facilitated by the abundance of the meta-data that has been captured by the physical data model and the mapping to aspects of the database which is very close.
When designing a database you will always require gathering all the requirements in order to come up with the required database to meet all the business needs. All the requirements need to be organized in terms of entities and relations so that they can meet the needs of the business. This organization is referred to as data modeling. When data is organized in the manner that it only meets the business needs, we call this logical data modeling. Logical data modeling mostly involves all the needs of the business rather than the needs of the business. When logical data modeling is achieved then the needs of the database are achieved also. It forms the basis of physical data modeling and with the two designing of the database becomes easy. Logical data modeling involves the most important things or requirements of an organization and their relationship to each other. In order to achieve this type of modeling one has to gather information about all the processes carried out by the business, the kind of data the organization deals with and the units of organization involved.
According to Horberman (2009 p.185-191), the implementation of logical data modeling on different types of databases differs and there when implementing one should take note on this. Its implementation on relational databases takes a different form from the implementation on network database. On relational database the implementation is done in two dimensions, one has to perceive data inform of tables or relations. Then relationships are established between the tables by logically linking the tables using foreign keys. The key strategy of implementing this kind of data modeling is to identify the objects involved and establish the relationship that exists between them. Logical data modeling is important in that it helps in understanding of business elements and their requirements, facilitating reduction of data redundancy and providing a foundation for developing and designing a database. Logical data models can be represented in form of entity relation diagrams but in the currently designers are considering various design methodologies plus diagram notations. These involve use of data flow or use- case scenarios. Today most of the modelers are using Unified Modeling Language to achieve the logical data model representation.
Each entity is characterized by its own attributes as follows:
Customer: customer Id(Primary key), name, address, phone.
Employee: Emp Id(primary key), name, address, phone, age, salary, startDate , position.
Product: product No(primary Key), type, price
Supplier: Supplier I(Primary key), name, address, phone.
Order: orderID(Primary key), date, status.
Store: storecode(primary key), address, name.
The above ER Diagram shows how the entities relate to each other. Store to Customer: a store can serve one or many customers, Store to Employee: a store can hire one or many employees, Store to supplier: a store can have one or more suppliers. Customer and Order: a customer can only place one order at a time. Order and Customer: only one order can be placed by one customer at a time. Product and order: Many products can be purchased by one order but not vice versa. Product and suppliers: one or many products can be supplied by one or many suppliers and vice versa.