Database Management Systems An Evaluation of the Property-4-R-Us real estate agency case

Database Management Systems: An Evaluation of the Property-4-R-Us real estate agency’s case

Omari Simba

Unit/Subject Name and Code

Instructor’s Name

Institution’s Name

Department Name

Date

Table of Contents

TOC o “1-3” h z u Introduction PAGEREF _Toc385800798 h 3Different DBMS approaches and the actual DBMS employing them PAGEREF _Toc385800799 h 3File System Approach to data storage PAGEREF _Toc385800800 h 4Relational Database Management Systems (RDBMS) PAGEREF _Toc385800801 h 4Object-Oriented Database Management System Approach PAGEREF _Toc385800802 h 5Object-Relational Database Management System (ORDMS) approach PAGEREF _Toc385800803 h 5Other Database Management Systems PAGEREF _Toc385800804 h 6Conclusion PAGEREF _Toc385800805 h 6Entity relationship diagram (ERD), identifying entities in the problem domain and showing relationships among entities7Identifying entities and their attributes7Entity Agent7Entity Client8Entity Property9Relationship Among Entities9Deriving Entity Relationships9Entity Relationships10Entity Relationship Diagram11Relational Model of ERD12 Creating and populating tables property, entity and agent………………………………..13

References17

Introduction Many organizations are rapidly embracing management information systems as opposed to the traditional off-the-shelf filing, prompting an urgent rise for the need of data warehousing. The data fed into the management information systems and the information produced as the processed data need to be stored for future retrieval, aid in further data processing and act as future reference. Data can be stored in various forms in the computer. However, the file system and the database system approaches are the main forms of data storage mechanisms. The efficient mechanism for data storage among the two is the database system. A database is a collection of real-world related data, collected and maintained to represent a given organisation’s information needs (Kumar, N.d, p. 2). The users can interact with the database by creating and maintaining its data through the database management system which is simply a set of programs that provides abstraction between the database and the user (Robbins, 1995, p. 3). Different database management systems (DBMS) are in existence, employing the Relational database approach, Object-oriented database approach, object-relational approach or the file system approach.Different DBMS approaches and the actual DBMS employing them

Every actual database management system implementation has a theory of operation behind it. The theory models and simulates the way data is stored and manipulated through update, search, insertion, deletion and retrieval. The theory lays down the framework for the operation of the entire database management system. It is important therefore to explore the various theories that have been advanced to simulate the working of the various database management systems.

In any one specific approach, the following requirements must be met to qualify that given database management system as effective: efficiency should be met in manipulation of very large data, fault-tolerance and resilience in case of hardware or software failure without inconsistence and loss of data, capability to incorporate access control mechanisms to allow only authorized personnel to access it, have a long perseverance ability transcending time and nature of programs accessing its contents (Sirpal, N.d, P.4).

File System Approach to data storage

The file system is part of the operating system that manages the storage, manipulation and retrieval of files. The files are records of interrelated data/information. However, the file system has been found to have the following main flaw: data redundancy.

Relational Database Management Systems (RDBMS)

In relational database management systems, the stored data is modelled into relations that exist between attributes of entities, which are real world objects. The attributes of that given entity is represented in the columns while the instance of the entity representing the real world object is represented by the records; rows of the table. According to Bergholt et al (1998), a relational database management system is a system that organizes data/information into two-dimensional relations as represented in the rows and columns of the database table (p.11). The record, also known as a tuple, contains information about a given instance of an entity with the component of each cell being of a primitive data type; integer (int), character (char), float, strings. (Subau, 2007, p.2). The RDBMS is advantageous in that it provides an easier approach in the analysis, design, implementation, testing, maintenance and use of the database, excellent conceptual simplification, excellent SQL querying ability which in combination produces an efficient database management system (Sirpal, N.d, p.30). It however has the following advantages: lack of enough space to handle the storage of media files like audio and visual files, the restriction of data being stored in rows and columns and poor design possibility (Sirpal. N.d, P. 30).

Object-Oriented Database Management System ApproachAccording to Bergholt et al (1998) the entity in the RDMS is modelled to be an object in the OODBMS, having the attributes of procedures, a group of values or simple values and pointers/references to other objects (p. 15). Data is stored along with those procedures that can act on that data (Subau, 2007, p.3). Structural properties and Behavioural properties of an object are defined by a finite set of attributes and finite set of methods that are uniquely inherent in any particular object ( Wang, N.d, p. 6). The OODBMS was designed to handle complex and large data while ensuring consistent, secure, extensible and controlled data management, controlled and extensible data management, data independent mechanisms that would allow the implementation of the object-oriented model of database design (Sirpal, N.d, p. 31). The theory also inherits other powerful object-oriented language capabilities like data encapsulation, inheritance, polymorphism and use of objects to represent real world entities, making it better than RDBMS (Sirpal, N.d, p.31).

Object-Relational Database Management System (ORDMS) approach

The object-relational approach is an attempt to extend the functionalities of relational database managements (RDBMS) systems with the object-oriented approach of database design by attempting to bridge the gap between the two (Wang, N.d, p. 4). Both features from the two approaches must be combines to produce a real ORDBMS (Bergholt et al., 1998).

Other Database Management Systems

Apart from the three main database design approaches discussed above, other minor database design theories have been advanced. Güting (1994) proposes a spatial database model system that supports spatial data types and querying languages to achieve spatial join methods and indexing suitable for geographic information system applications (p. 1). Parallel and distributed database management systems have also been proposed. Parallelism achieved through partition and pipelining techniques have proven to achieve database access efficiency through indexing, querying and data loading experimental techniques (Ramakrishnan et al. 1992). Combining parallelism in a distributed environment can highly increase the efficiency of access to any distributed DBMS.

Conclusion

Object-Relational approach to database management system design proves to be the most efficient design mechanism for the database management system in our case. To improve it further, aspects of spatial, parallelism and distributed computing environments can be added to the database management system to make it more efficient to handle virtually any data, from any geographical area in an efficient manner. A spatial distributed parallel ORDMS can be proposed to be deployed in managing the data warehousing needs of Property-4-R-Us real estate agency. Entity relationship diagram (ERD), identifying entities in the problem domain and showing relationships among entitiesIdentifying entities and their attributesEntity Agentagent_id

Commission_rate

W_phone

M_phone

l-name

surname

f-name

Commission_code

Agent_contacts

Agent

Agent_name

total_monthly_sales

base_salary

payment_date

cheque_number

Client_id

Entity Client

Client-id

First_name

property_id

client_phone

mobile-phone

last_name

surname

Client

Client-type

address

Entity PropertyProperty_id

location

Agreed_price

listingForSale_date

Year_build

size

Asking_price

House_design

Property

Buyer_id

buter

Deposit_paid

Settlement_date

room_numbers

Relationship Among EntitiesDeriving Entity RelationshipsAgent Property Client

Agent Values Pays/Receives-payment

Property valued Sold/bought

Client Books appointment Buys/sells Entity RelationshipsAgent

Values

Property

Client

Agent

Property

Agent

Valued

Pays or Paid

Book Appoint

Client

Agent

Client

Buys/Sells

Bought/sold

Property

Client

Property

Entity Relationship DiagramA_name

agent_id

chequeNo

client_id

No.Rms

Yr_build

H_design

ListDate

totalMonthsales

BaseSalary

SettlementDate

description

AgreePrice

phone

Client_id

Pro_id

Address

mobile

f_name

surname

l_name

C_type

Address

rate

Mobile

payDate

Pro_id

Deposit

AskPrice

size

location

Paid/pays/Book Appointment

Client

Buys/sells/bought/sold

Property

Valued/Values

Agent

Relational Model of ERDProperty Property_id (PK) Size Location Description House_design NumberOfRooms Year_build ListingForSale_date Asking_price Agreed_price Deposit_paid Settlement_Date Agent_id (FK) Client_id (FK)

Agent Agent_id (PK) f_name surname l_name work_phone mobile_phone Cheque_number Payment_date Base_salary Commission_code Commission_rate Total_Monthly_salary client_id (FK)

Pays or Paid/ Book Appointme

Buys or Sells/Bought

Values/Valued

Client Client_id (PK) Client_type f_name surname l_name Mobile_phone Telephone Postal_Address Physical_address Property_id (FK)

3. Creating and Populating tables agent, client and property

— phpMyAdmin SQL Dump

— version 4.0.4.1

— http://www.phpmyadmin.net

— Host: 127.0.0.1

— Generation Time: Apr 20, 2014 at 01:10 PM

— Server version: 5.5.32

— PHP Version: 5.4.19

SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;

SET time_zone = “+00:00”;

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

— Database: `pr4u`

CREATE DATABASE IF NOT EXISTS `pr4u` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

USE `pr4u`;

/* Table structure for table `agent`*/

CREATE TABLE IF NOT EXISTS `agent` (

`agent_id` varchar(20) NOT NULL,

`f_name` varchar(20) NOT NULL,

`surname` varchar(20) NOT NULL,

`l_name` varchar(25) NOT NULL,

`work_phone` int(25) NOT NULL,

`mobile_phone` int(20) NOT NULL,

`base_salary` int(20) NOT NULL,

`total_monthly_sales` int(25) NOT NULL,

`commission_code` varchar(20) NOT NULL,

`commission_rate` int(25) NOT NULL,

`cheque_number` varchar(25) NOT NULL,

`payment_date` varchar(25) NOT NULL,

`client_id` varchar(25) NOT NULL,

PRIMARY KEY (`agent_id`),

KEY `client_id` (`client_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Populating table ‘agent’*/

INSERT INTO `agent` (`agent_id`, `f_name`, `surname`, `l_name`, `work_phone`, `mobile_phone`, `base_salary`, `total_monthly_sales`, `commission_code`, `commission_rate`, `cheque_number`, `payment_date`, `client_id`) VALUES

(‘A1’, ‘John’, ‘Smith’, ‘Clark’, 2012181205, 712181205, 800, 500000, ‘A’, 0, ‘A1C3245′, ’10/04/2014’, ”),

(‘A2’, ‘Sussan’, ‘Jane’, ‘Doe’, 202568978, 714559860, 1000, 800000, ‘C’, 0, ‘A2C4586′, ’30/04/2014’, ‘C1’),

(‘A3’, ‘Mathews’, ‘Ken’, ‘Johnstone ‘, 208579369, 832569875, 12000, 1000000, ‘D’, 0, ‘A3C4587′, ’29/04/2014’, ‘C1’);

/* Table structure for table `client`*/

CREATE TABLE IF NOT EXISTS `client` (

`client_id` varchar(20) NOT NULL,

`f_name` varchar(20) NOT NULL,

`surname` varchar(20) NOT NULL,

`l_name` varchar(20) NOT NULL,

`client_type` varchar(10) NOT NULL,

`mobile_phone` int(20) NOT NULL,

`home_phone` int(20) NOT NULL,

`address` int(20) NOT NULL,

`city` varchar(20) NOT NULL,

`property_id` varchar(20) NOT NULL,

KEY `property_id` (`property_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Populating table ‘client’*/

INSERT INTO `client` (`client_id`, `f_name`, `surname`, `l_name`, `client_type`, `mobile_phone`, `home_phone`, `address`, `city`, `property_id`) VALUES

(‘C1’, ‘Richard’, ‘Klein’, ‘Joe’, ‘Seller’, 2147483647, 2147483647, 40325, ‘Liverpool’, ‘P5’),

(‘C2’, ‘Annette’, ‘Mary’, ‘Wycliffe’, ‘Buyer’, 23569856, 35687927, 4543256, ‘London’, ‘P3’);

/*Table structure for table `property`*/

CREATE TABLE IF NOT EXISTS `property` (

`property_id` varchar(20) NOT NULL,

`location` varchar(20) NOT NULL,

`size` int(10) NOT NULL,

`house_design` varchar(20) NOT NULL,

`deposit_paid` int(20) NOT NULL,

`settlement_date` date NOT NULL,

`room_numbers` int(20) NOT NULL,

`year_build` date NOT NULL,

`listing_year` date NOT NULL,

`asking_price` int(25) NOT NULL,

`agreed_price` int(25) NOT NULL,

PRIMARY KEY (`property_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Populating table ‘property’*/

INSERT INTO `property` (`property_id`, `location`, `size`, `house_design`, `deposit_paid`, `settlement_date`, `room_numbers`, `year_build`, `listing_year`, `asking_price`, `agreed_price`) VALUES

(‘P1’, ‘London’, 0, ‘Bungalow’, 50000, ‘2014-04-30’, 3, ‘2010-12-15’, ‘2014-04-01’, 200000, 150000),

(‘P2’, ‘Birmigham’, 0, ‘Apartment’, 100000, ‘2014-04-29’, 30, ‘2012-08-16’, ‘2014-02-04’, 1000000, 850000);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

ReferencesKumar, PS. N.d. Database Systems

Robbins, RJ. (1995). Database Fundamentals. Johns Hopkins University

Sirpal, S. N.d. Intro to RDBMS-OODBMS-ORDBMS

Bergholt, L., Due, JS., Hohn, RT., Knudsen, JL., Nielsen, KH., Olesen, TS. & Pedersen, ES. (1998). Database Management Systems: Relational, Object-Relational, and Object-Oriented Data Models, Centre for Objekt Teknology

Subau, G. (2007). Comparison of RDBMS, OODBMS and ORDBMS, Bucharest, Romania

Wang, LT. N.d. Object-Oriented DBMS Concepts, National University of Singapore

Güting, RH. (1994). An Introduction to Spatial Database Systems

Ramakrishnan, Gehrke, Hellerstein & Gray.(1992). Parallel Database Systems: The Future of High Performance Database Systems.