How To Start Your Project

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

How to start your Database project?

If you want to work on database projects for (SCSD / SECD 2523 Database) but you don’t know where
to start? Here, I’ll give some of the most exciting database project ideas, so you can choose one topic
according to your interests and expertise. Completing your project is a great way to show your knowledge,
strengthen your skills, and get good marks.

1. Identify Your Team Members (3 - 4)


The first step on the ladder to beginning your project is the identification of the various team
members to be involved (End of Week 3).
2. Define Your Design Goals
Secondly, choose a topic that is interesting to you. Put thought into the goals of the project. I
suggest having one main goal and a number of smaller goals that will ultimately lead you to
project success (End of Week 3).
3. Design and Implementation
Try to implement such scenario in a database, create a schema for it, a E-R diagram for it and try
to normalize it. Provide the output in word file and access file holding your complete database.

The following are some database project topics related to database course. Choose one topic with your
group members according to your requirements:

1. E-Commerce Management System


2. Inventory Management System
3. Railway Management System
4. Swimming Pool Management System
5. College Data Management System
6. Library Management System
7. Hospital Data Management System
8. Blood Donation Management System
9. Attendance Management System
10. Gym Management System
11. Examination Management System
12. School Management System
13. Doctor Appointment Booking System
14. Restaurant Management System
15. Cinema Booking System
16. Car Rental System Database
17. Student Record Keeping System
18. Payroll Management System
19. Art Gallery Management Database
20. Hotel Management System Database
21. Salary Management System Database
 Project Requirements:

1- A proper explanation of the project topic like if the topic is Library Management System then a one-page
description of it (As per your requirement, it can be lengthier - 2 -3 pages).

2- Provide the description of the data which is known as the system catalog (or data dictionary or
metadata—the “data about data”) in each step.

3- When you analyze the information needs for any organization, you should attempt to identify entities,
attributes, and relationships.
 An entity is a distinct object (a person, place, thing, concept, or event) in the organization that is to be
represented in the database.
 An attribute is a property that describes some aspect of the object that we wish to record.
For example, the Dream Home database (Figure 1). It consists of:
• Six entity types (the rectangles): Branch, Staff, PropertyForRent, Client, PrivateOwner, and Lease;
• Six attributes, one for each entity: branchNo, staffNo, propertyNo, clientNo, ownerNo, and leaseNo.

Figure 1: Example of the Dream Home database entities (tables)

4- Build conceptual data model


To build a conceptual data model of the data requirements for your project. The first step in
conceptual database design is to build one (or more) conceptual data models of the data
requirements of your database system. A conceptual data model includes:
 Step 4.1: Entity (tables) types
The first step in building a conceptual data model is to determine and define the main objects
(tables) for the model.
As entity types are identified, you should assign them names that are meaningful and obvious to the
user. Record the names and descriptions of entities in a data dictionary. If possible, document the
expected number of occurrences of each entity. If an entity is known by different names, the names
are referred to as synonyms or aliases, which are also recorded in the data dictionary. Figure 1 shows
description of entities (Figure 2).
Figure 2: the data dictionary for the entities (tables)

 Step 4.2: Identify relationship types


After identified the entities, the next step is to identify all the relationships that exist between
these entities (tables). Typically, relationships are indicated by verbs or verbal expressions. For
example:
• Staff Manages PropertyForRent
• PrivateOwner Owns PropertyForRent
• PropertyForRent AssociatedWith Lease

It is often easier for you to visualize a system by using Entity–Relationship (ER) diagrams. In
this course you should use UML diagram to represent entities and how they relate to one another
more easily.
Having identified the relationships to your model, in next step, you should determine the
multiplicity of each relationship. If specific values for the multiplicity are known, or even upper
or lower limits, document these values as well (Figure 3).
Figure 3: Example of UML diagram showing entity and relationship types

As relationship types are identified, assign them names that are meaningful and obvious to the user.
Also record relationship descriptions and the multiplicity constraints in the data dictionary. Figure

Figure 4: Example of the data dictionary that documents the relationships and the multiplicity
 Step 4.3: Identify and associate attributes with entity or relationship types
The objective of this step is to associate attributes with appropriate entity or relationship types. So
the next step in your project is to identify the types of facts about the entities and relationships that
we have chosen to be represented in the database. In the similar way to identifying entities, we look
for nouns or noun phrases in the users’ requirements specification. The attributes can be identified
(Table 1) where the noun or noun phrase is a property, quality, identifier, or characteristic of one of
these entities or relationships.
i. It is important to note whether an attribute is simple or composite.
ii. An attribute can also be single-valued or multi-valued.
iii. An attribute can be also derived attributes whose values are based on the values of other
attributes
Table 1: Example of database entities with attributes

As attributes are identified (Figure 5), assign them names that are meaningful to the user. You
should record the following information for each attribute:
 attribute name and description;
 data type and length;
 any aliases that the attribute is known by;
 whether the attribute is composite and, if so, the simple attributes that make up the composite
attribute;
 whether the attribute is multi-valued;
Figure 5: the data dictionary for a description of attributes.

 Step 4.4: Determine attribute domains


The domains (data types) for all the attributes should be determined in your model.
 Step 4.5: Determine candidate, primary, and alternate key attributes
In this step you should identify the candidate key (s) for each entity type and, if there is more
than one candidate key, to choose one to be the primary key and the others as alternate keys
(Figure 6).

Figure 6: identify the primary key (s) for each entity type
 Step 4.6: Consider use of enhanced modeling concepts
In this step, you have try to continue the development of your ER model using the enhanced
modeling concepts, namely specialization/ generalization, aggregation, and composition. If you
select the specialization approach, you have to highlight differences between entities by defining
one or more subclasses of a superclass entity. If you select the generalization approach, you
should identify common features between entities to define a generalizing superclass entity. Or
you may use aggregation to represent a ‘has-a’ or ‘is-part-of’ relationship between entity types,
where one represents the ‘whole’ and the other the ‘part’. You may also use composition (a
special type of aggregation) to represent an association between entity types where there is a
strong ownership and coincidental lifetime between the ‘whole’ and the ‘part’ (Figure 7).

Figure 7: Example of enhances ER diagram with specialization/generalization added.


5- Build Logical Data Model
In this step, students should translate the conceptual data model created in Step 4 (Figure 8) into a
logical data model of the data requirements of the enterprise. This objective is achieved by following
these activities:

Figure 8: Example of conceptual data model with all attributes


 Step 5.1 Derive relations for logical data model (Convert the ER diagram into relational tables)
In this step, student should derive relations for the logical data model to represent the entities,
relationships, and attributes. Student should describe the composition of each relation using a DBDL
for relational databases. Using the DBDL, you first specify the name of the relation, followed by a
list of the relation’s simple attributes enclosed in brackets. Then you have to identify the primary
key and any alternate and/or foreign key(s) of the relation. Following the identification of a foreign
key, the relation containing the referenced primary key is given. Any derived attributes are also
listed, along with how each one is calculated.
The relationship that an entity has with another entity is represented by the primary key/ foreign key
mechanism. In deciding where to place the foreign key attribute(s), first student must identify the
“parent” and “child” entities involved in the relationship. The parent entity refers to the entity that
posts a copy of its primary key into the relation that represents the child entity, to act as the foreign
key.
Students should describe how relations are derived for the following structures that may occur
in a conceptual data model:
1. Strong entity types
2. Weak entity types
3. One-to-many (1:*) binary relationship types
4. One-to-one (1:1) binary relationship types
5. One-to-one (1:1) recursive relationship types
6. Superclass/subclass relationship types
7. Many-to-many (*:*) binary relationship types
8. Complex relationship types
9. Multi-valued attributes
At the end of Step 5.1, document the composition of the relations derived for the logical data model
using the DBDL ( see Figure 9).
Note: Database Design Language (DBDL) is a written formatting design language used to display
tables by identifying the primary key (underlined) and columns.
Figure 9: DBDL for the DreamHome Database

 Step 5.2 Validate relations using normalization (optional- Bonus)


In this step students validate the groupings of attributes in each relation using the rules of
normalization. The purpose of normalization is to ensure that the set of relations has a minimal yet
sufficient number of attributes necessary to support the data requirements of the enterprise. Also,
the relations should have minimal data redundancy to avoid the problems of update anomalies

6- Convert the logical database design to a physical database design


The methodology started by producing a conceptual data model in Step 4 and then derived a set of
relations to produce a logical data model in Step 5. The derived relations were validated to ensure
they were correctly structured using the technique of normalization. In step 6 and final step of the
database design methodology, the students must decide how to translate the logical database
design (that is, the entities, attributes, relationships, and constraints described as DBDL) into a
physical database design that can be implemented using the Oracle SQL Developer.
To start the physical design process, students first collate and assimilate the information about the
relations produced during logical database design. The necessary information can be obtained from
the data dictionary and the definition of the relations described using the DBDL see Figure 10. The
next step is to decide how to implement the base relations (tables) using Oracle SQL Developer
(CREATE COMMANDS). To represent the design of the base relations (TABLES), student should
use an extended form of the DBDL to define domains, default values, and null indicators for all
relations separately see Figure 11.
Figure 10: example of DBDL for the PropertyForRent relation (table).

Figure 11: example of SQL code for creating the PropertyForRent relation (table).
7- Database Management System Testing
Testing is the last step of student’s project. This is the stage where it shows whether the system and
database are working as desired, otherwise further modification is required.
 Insert queries (INSERT INTO)
 SQL queries related to report generation

8- Conclusion
Write your project conclusion here (One Paragraph)
The project conclusion is a summary of your project work.

9- References
10- Appendix

You might also like