computer science

The computer science essay below has been submitted to us by a student in order to help you with your studies.

importance of quality database design

Introduction

This document demonstrates the importance of quality database design and provides guidelines to evaluate database design. In the discussion it uses example from system scenario which helps committee to understand design concepts and evaluation criteria.

Why Quality of an Application so Important?

Main intend of a software is to fulfill clients requirements and needs in business purpose. To fulfill every requirement, Application must be quality application. To achieve a better quality application there are number of parts which must be considered including interfaces, database and the quality of programming. In this document, its further discusses importance of good quality database and how to evaluate given database design.

What is Quality database design?

In a simple words quality database design must be avoid data anomalies. Main objective of good database is establishing an electronic data storage which provides accurate data access to applications. So quality database must be facilitate,

  • Avoid duplication of data
  • Provide security to data
  • Share data as necessary
  • Data availability and concurrency
  • Data recovery and backup functions

Back to the scenario,

In the Stanwell Parish Plan, proposed design must be address every requirements of the Theatre seat booking system. Database should be facilitating to avoid double seat booking and information of the seat booking must be stored for future use. And also database should be allow to retrieve data customer wise and seat wise and each sales of seat must be stored according to the customer. To provide impressive work it must also facilitate to store information about pantomime and the information about them.

Other than that database should be faced positively for some few issues such as,

  • Retrieve most popular position of seat
  • Store popular customers
  • Retrieve each customers favorite seats

To provide better facility for customers, Good quality database is necessary to the proposed system.

What is Database design?

As Wikipedia define, "Database designis the process of producing a detaileddata modelof adatabase". Database design can be representing in many forms of views using different kind of tools. They represent the structure of the database.

Tool such as use case diagrams represent graphical view of functionalities on system and showing which actor can perform certain functions of the system. In other hand an entity-relationship (ER) diagrams illustrate the interrelation ship between the entities in a database. Entity is a piece of data of a real world object or concept and Relationship represents the way of data sharing between entities. EER diagram is more specified than ER diagram and represent more information than ER diagram. Other than those diagrams, Relational mapping shows the structure of the tables and normalization makes sure accuracy of the tables.

Solution for proposed System

Use case diagrams:

     As mention earlier use case diagram represent the graphical view of functionalities of the system. Use case shows transaction between the each function and between functions and the actor of the system. Actor can be human or an external application which uses the proposed system. Before come to the final solution it is better to identify all requirements clearly and create use case stage by stage.

To proposed system, at the beginning come up with a basis use case such as shown in bellow.

This is not a solution use case for the system. Above use case represent four main functions of the proposed system but it does not represent the relationship between the each function. In a real world situation, Availability of seat must be checked before buy a tickets. Since use case provides transaction through system there must be efficient way to represent relationship between factions such as check seat availability and buy tickets. It can be represent as fallows,

<> relationship demonstrate relationship between functions called check seat availability and buy tickets. In here it state that availability of ticket must be checked before buy a ticket. Much more attention should be giving when using relationship like <> and <>. Do not uses <> relationship to separate big use case in to small use cases.

Why use case diagrams are important?

  • Use case capture the functional requirements of system
  • Use case show the scope of an application so it can be used to estimating, scheduling and validating effort.
  • Use cases provide traceability
  • Use cases are reusable

Entity-Relationship (ER) diagrams

ER diagrams are conceptual model which is used to represent relationship between entities. ER diagrams are highly discretional conceptual models.

Entity: represent real world object and use to store data

Attributes: the data which describe the entity

Relationship: demonstrate relationship between entities

Cardinality: state the numeric relation between two entity

There are two notations that can be used to draw ER diagrams. Those are SSADM which widely use at United Kingdom and Unified Modeling Language (UML) which used in widely. Since company locates on UK this document carry on with SSADM notation.

To start ER diagram, every entity and attributes of those must be identified and draw with them using one of above notation. Then relationship between those entities must be sate and then add cardinality to the relation.

     Using above method, it can be avoid the above arise problem. In here it is provide relationship to find out how many times one customer had book the same seat. Even though it solves the problem, still there is another problem and that is how to use cardinality between three classes. By using another entity instead of relationship, it can be overcome from the problem of cardinality. Proposed solution demonstrate the final solution for situation where three entities should be combined to retrieve quires

Cardinality problem can be solved Using entity instead of relationship. Even though this is good way to solve problems, every situation does not fit for similar type of solutions. So situation must be carefully study before come to the solution.

Why ER diagrams are important?

  • ER diagrams describe the relationship between entities
  • ER diagrams identify the primary key of each entity and attribute of the entity
  • ER diagrams describe the cardinality of relationship

EER diagrams (Enhanced Entity Relationship)

EER diagrams demonstrate the detailed view of ER diagrams including inheritance and some specific relationship types such as composition, aggregation and association.

     In above diagram it shows relationship between the two entities called sells and customer details. As requirement describe in proposed system every sells details must be record for further use. As It mentions each sells has its own unique record of details and there must be a more details way to represent the relationship between two entities. Composition is kind of relationship which can be substitute to a association as fallows,

Above diagram describe more details relationship between sells and customer details. It indicates that every sells has its own customer details. Aggregation and inheritance is another kind of relationships which can be use in EER diagrams to provide more detail about a relationship. Since proposed system does not have situation to use aggregation or inheritance it is not necessary to discuss further.

Relational Mapping

Relational mapping is a process which converts conceptual data models in to tables, which can be implemented using DBMS tool. Relational database is a collection of shared data and each table of database has a unique name.

Table must be consist of,

  • Unique name
  • Primary key
  • Attributes

The reason for having more than one table in a database is to avoid anomalies such as insert, delete and update. Relation mapping do by considering cardinality of an ER or EER diagrams. There are three type of relationship between relations,

  • One-to-one relationship
  • One-to-many relationship
  • Many-to -many relationship

Advantage of using relational database is, it is simple to understand and relational database depend on mathematical reasoning.

Normalization is process which ensure database consist with best set of table with right attributes and it make sure insert, delete and update anomalies are avoided and keep data integrity. There are series of guideline to ensure database is normalized.

First normal form:

  • First normal form (1NF)
  • Remove duplicative columns from the same table and separate tables for each related data and discover unique columns.

  • Second normal form (2NF)
  • Remove subset of data that apply to multiple rows and put them in separate tables and create relationship between them.

  • Third normal form (3NF)
  • Get rid from columns that does not depend on primary key

  • Fourth normal form (4NF)
  • Get rid from multi value dependencies

    Evaluation key factors

    It is important to evaluate database design to ensure the quality of database design. Evaluation can be done against some component including,

  • Consistency
  • Timeliness
  • Value in terms of cost
  • Accuracy/error rate
  • Accessibility
  • System performance/ease of use
  • Integration with other databases
  • Coverage/scope
  • Output
  • Documentation
  • Customer support
  • Is a correct database design necessarily a quality design?

    Correct database design demonstrate the structure of the database and it must be,

  • Avoid data duplication
  • Provide better security for data
  • Provide data availability
  • Facilitate concurrent access to data
  • Provide data constancy
  • The problem is whether correct database design can provide them in practically. There can be many type of correct solution for a given problem and those are different from each other. Every solution does not have any problem theory wise. But in case of Quality, every correct solution cannot be applied for the same situation. To provide better service to clients it is important to use Best quality solution to solve the problem. In real life situation correct and quality database must be allow to execute any kind of correct queries and database must be respond for those queries in error free manner.

    What are the Advantages of having correct quality database?

  • By having Quality database, it can be maintain data integrity because of data duplication not allowed in correct quality database.
  • By having quality database data can be securely distributed among the users and the application.
  • Correct quality database provide 24/7 data availability and it also facilitate concurrent access to the data.
  • Quality database avoid data separation across multiple table and helps to better control of data manipulation.
  • Correct database design provide data constancy
  • Importance of having quality database for proposed system

  • Since proposed application facilitate booking seat online, the database must ensure that same seat does not book more than once
  • Since proposed system allow customer to web access to system, data must be available 24/7
  • Since proposed system allow customer to web access to system, data must be secure and it must not allow to modify data to unauthorized parties.
  • Since proposed system allow customer to web access to system, database must be provide concurrent access to the customers.
  • Since Proposed system facilitate store selling details and send information about future performance, database must be provide easy access to the data must be stored in structured manner.
  • Conclusion

    The idea of implementing database application is to provide better service to people who live in Stanwell village. There for our responsible is to give maximum services to villagers as we can.

    Above discussed information and criteria will be help to choose best suit design for proposed system and it will lead to gain good quality application which meets our requirements.

    References

  • Wikipedia, database design [online] (updated 12 Jan 2010) Available at: http://en.wikipedia.org/wiki/Database_design [Accessed 13 Jan 2010].
  • Mike gahan.2000.An introduction to databases.[online](updated 10 October 2000) Available at: http://www.ucl.ac.uk/archaeology/cisp/database/manual/node1.html [Accessed 10 January 2010].
  • John A. Hoxmeier.1997.A framework for accessing database quality.[online]Available at : http://osm7.cs.byu.edu/ER97/workshop4/jh.html [Accessed 12 January 2010]
  • Farrkoh Alemi.2007.healthcare databases.[online](updated 27 November 2007) Available at : http://gunston.gmu.edu/709/DataModelingERDiagram.asp [Accessed 12 January 2010]
  • Development cycles.2004.Entity Relationship Modeling-Experience vs InExperience.[online](updated 05 April 2004) Available at : http://www.devarticles.com/c/a/Development-Cycles/Entity-Relationship-Modeling/13/ [Accessed 12 January 2010]
  • Veda c storey. Modelling quality requirements in conceptual database design.[e-book] Available at : http://web.mit.edu/tdqm/www/tdqmpub/QEROct98.pdf [Accessed 12 January 2010]
  • John A. Hoxmeier.1997.A framework for accessing database quality.[online]Available at : http://osm7.cs.byu.edu/ER97/workshop4/jh.html [Accessed 12 January 2010]

Request Removal

If you are the original writer of this essay and no longer wish to have the essay published on the UK Essays website then please click on the link below to request removal:

Request the removal of this essay


More from UK Essays