The villagers of Stanwell wishes to promote their voluntary activities, through its Parish Plan. They wish to use their new capacity to develop specialized services that help them with these activities and a number of committees have been established to implement these plans. But the committee members have no experience of developing computer applications using the database approach. They also think that each application is unique and requires a special development approach. They need to know how to identify the characteristics of a good database design and whether the same principles can be used for all of the applications proposed, or different design principles follow for each application.
For that purpose several different scenarios are evaluated. This report evaluates scenario B, which deals with The Stanwell Book Club. It needs a database to keep track of several kinds of information and to provide its members a better service.
2.0 Issues of the scenario
- Bassetshire Country library is unable to provide enough copies of any book so that every members of group can borrow a copy each month.
- So each group need to read an available book each month.
- Sometimes members swap groups because they are unable to attend their normal session or they want to read a particular book.
- Group members want to write a note about their read book' opinion, so other group members can choose enjoyable books from others.
3.0 Necessary requirements of the given scenario
- Must keep track of the Members who swap groups.
- Because of members of each group needs to read a new book in each month there should be an account of books that the members already read.
- To select a good book there should be a way of knowing the books that are most read and being enjoyed by others with their notes, so that they can go for a book that is worth to read.
- Necessary to record which readers have read which books, so that books can be chosen by each group which are new to all members.
4.0 Solutions for issues of scenario
Design a database for Stanwell Book club is the main solution; database can keep track of all the records related to Stanwell Book club. To produce a good database design, want to use different modelling tools such as Entity Relationship (ER), and Enhanced Entity Relationship (EER) diagrams, also UML modelling tools such as Class diagrams, Use Case diagrams. And also want to use different methodologies such as Relational mapping, Normalization.
4.1 Importance of Good database design
- Good database design is crucial for a high performance application
- If a race car body doesn't have smooth aerodynamics, it will produce drag and go slower
- If a database doesn't have optimized relationships normalization, it won't be able to perform as efficiently as possible.
5.0 Introduction for good Logical database
Stanwell Book Club needs to identify the requirements for the situation now it needs a good database approach. For database approach have good control of data redundancy. In this scenario Stanwell Book Club have many different files to handle their work. This often leads to redundancy of data then it leads to data consistency. Then control of data redundancy is very important. Other than that there are lot of things to be considered in good database approach. They are improved data integrity, improved security, improved data accessibility, improved maintenance, improved backup and recovery, complexity, size, cost, performance and higher impact of failure.
In database design there are three stage processes, conceptual à logicalà physical. In each stage we built a data model. Data model is used to define and analyse the requirements of motivate the structure of all databases.
Before design a database want to get a good understanding about what are the problems and what are the good solutions for those problems. After that want to make use of UML methodology like plan a fundamental Use Case diagram for the current circumstances, this will lead to identify system's important requirements, Standwell Book Club's Use-Case diagrams follows.
Use-case is good tools for analyst to use when partitioning the operations of a system. can get a clear idea about interaction between actor and the system from above Use-Case diagram. Use-case are multi level, Use-Case diagram's functionality can use by another Use-case. For an example in above Use-case diagram “borrow special book” and “attend special session” includes “swap groups”. Use-case purely functional descriptions written in formalism. Some of advantages in Use-case usage in database design are
- Premature design discouraged by Use-cases.
- Use-case is served like the estimation basis, scheduling, and validating efforts.
- Can describe the Use-casein concrete way by turning it into a scenario.
- Use-case alternative paths capture additional behaviour that can improve systems robustness.
After the Use-case diagram design want to think about using of ER and EER diagrams in database design. Part of ER diagram of Stanwell Book Club follows,
Once the database has been diagrammed and agreed to the ER diagram becomes the blueprint for constructing the database. An entity exists about which data stored in the system and entities uniquely identified, for an example in Stanwell Book club's entities are member, group, book, and discussion. Entity has many attributes. Attributes show the properties or characteristics of an entity. For example in this situation Member entity's attributes are MemberId, MemebrName, Address and JoinedDate. Database illustration and model allowed by method called data modelling schema. Communications are also desirable non computer people may or may not understand diagrams and graphics, ER diagram is a graphical tool that facilitates data modelling. ER diagram is a subset of “semantic models” in a database.
5.1 An informal Algorithm for Constructing an ER diagram
- Entity types identification of the database including week entity.
- Sketch some instances of the identified entity types.
- Relationships identification of the database including ISA and ID relationship.
- Each relationship classified according to its functionality, for example it is a one-to-one, many-to-one, and many-to-many.
- Sketch some instances of the identified relationship types.
- Sketch ER diagram with identified entity types and it relationships.
- Attribute identification of entity types and its underlying domain.
- Primary key identification for each entity types.
- Sketch some instances for attribute vales of entities.
- Include attributes and keys to the ER diagram.
5.2 EER diagram
EER is an enhanced model of ER diagram. EER includes some new semantic concepts to deal with some case such as specialization, generalization, multiple inheritance, and categories.
6.0 The Importance of Good Database Design
Good database design is critical for a high performance application. If a racing car's body does not have smooth aerodynamics, it will produce drag and go slower, same as if a database does not have optimized relationships normalization it won't be able to achieve as powerfully as possible. Time taking for database design could save lot of time and aggravation during development, the main importance of a good database design is following:
6.1 Data is in consistent form: Only required and relevant data must be saved when designing a database. Data consistent allowed by the layout of the table, other ways primary keys and unique key constraints implemented through data consistent. Data consistent also allowed by cascading, by implementing cascading on a parent or child table, it is ensured that only suitable child records exist with a valid parent record.
6.2 Redundant data elimination: Normalization should apply to good database design. Data redundancy or repletion is reduced when normalization is done, and so is the size of the database.
6.3 Simpler queries: The queries simple and fast in execution if the database is well designed.
6.4 Performance: Applications overall performance is also fully depended on good database design.
6.5 Maintenance: Important issue of the good database design, it is very east to maintain if database well designed.
7.0 Is a correct database design necessarily a quality design?
The quality of design of the database must be irrespective of the accuracy of the design. Behaviour implementation process consists of the design and structure of a solution domain following the identification of the problem domain. Design of the database should be more focused on the context, content, behaviour, persistent, and semantics of the data. Many databases are professed to be of low quality simply because they are difficult to use. Quality of the database measured in terms of a condition of factors including quality of process and behaviour and also, quality of data, semantic, and value.
8.0 Quality database design advantages
Qualities that computer-provided information should possess. They include:
- Tailored to the needs of the user
- Immediately understandable
- Attractively presented
- Easily accessible
The result of the retreat produced the following list of components that a professional searcher can use to evaluate a database:
- Value in terms of cost
- Accuracy/error rate
- System performance/ease of use
- Integration with other databases
- Customer support
A good database design forms a quality database. There are several characteristics of a quality database. Also there are number of modelling methods to produce correct database design, hence quality database. Several methods are used to provide a good database. Although for different scenarios the principle which applies for quality database are all the same. So in order to select good database design and hopefully a quality database we must have knowledge regarding characteristics of a quality database.
Using the methods & examples provided in this document, regarding the characteristics of a quality database, it will not be so hard does select a proper database with better quality.
- 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].
- SQLTeam.com.2000.Database design and modelling fundamentals.[online](updated 30 June 2000) Available at : http://www.sqlteam.com/article/database-design-and-modeling-fundamentals [Accessed 10 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]