Sie sind auf Seite 1von 5

Project Guidelines

 
Prepared for: 
INFO 2102 – Database Systems II 
 
International Islamic University Malaysia 
Department of Information Systems
Kulliyyah of Information & Communication Technology
PROJECT OUTLINE
Salam Foundation is a non-profit organization that collects and distributes zakaat donations. Its
objective is to "relieve the poor, the elderly, children and all those who are in need in any part of the world
as a result of natural disasters, such as floods, earthquakes, droughts, famine epidemics, poverty and
plagues and the relief of those who are refugees fleeing from war zones and war victims."

Today, with the emerging awareness on the obligation to pay zakaat among Muslim communities, Salam
Foundation has initiated to develop a database to assist them in managing the donations.

The project has begun. From the analysis and the design phase, the following information was collected:

ENTITY  DESCRIPTION
DONOR  Donor information including name, address, telephone number 
DONATION  Details the donation given by donors including date, amount, staff 
received the zakaat, method payment and type of donation (Zakaat‐
Maal/Zakaat possession or Zakaat‐Fitra/compulsory). 
TYPE_ZAKAAT  Details the information on each type of donation. 
STAFF  Provide the staff information such as name, address, telephone 
number, gender, job title and date of registration as a volunteer. 
PAYMETHOD  Option for the payment of the donation, such as credit card, cash, or 
wired transfer. 
PROGRAM  Details the programs information including name, location, date, staff(s) 
involved. 

Given the details of the entities above, it is now your group duties to implement the database using SQL
programming. The deliverables of the project will be compiled in a CD containing the following items:

i. Script to create tables and sequences (Salam.sql). You must write your group name, section
number, as well as the names and matriculation numbers of all members on the cover of the cd.
Make sure that your disk is virus free and working.

Create all of the required tables and sequences needed for this project. For those who are not
familiar with sequences you may see some examples in Lect12.pdf lecture notes. Once the tables
built, run data.sql scripts (download it from Project folder in Course Repository) to populate the
tables. The objective is to ensure that you understand how to read an ER Diagram and know how
to create tables, sequences and also table constraints. Please ensure that your script to create tables
and sequences contains these items:
 Drop table statements.
 Create table statements complete with primary key and foreign key declarations (make sure
that you give a proper name to each constraint).
 Drop sequence statements.
 Create sequence statements.

Name your script as Salam.sql. The data.sql script will have no errors if you have created the
tables and sequences accordingly.
ii. Script to insert the data into DONATION table (INSERT.sql). Refer to donation.xls for the
transaction details.

iii. Script of queries to answer the following problems (QUERY.sql):


a. Find the details of donor that donated more than $1500 in total.
b. Find the details of the staff handle the most donors.
c. Find the details of the staff that lives in the same city as their donors.
d. Find the details of the program held in the same city as the staff in charge.
e. Find the name and occupation of the donor’s that donated the most.
f. Display the total donation for each type of zakaat. (Use appropriate formatting for currency)
g. Display the total donation for each type of payment method. (Use appropriate formatting for
currency)

iv. Script to create the following procedures:


a. Procedure to facilitate a donor registration. Call the procedure from anonymous block to allow
the user to enter the required information. Name this script as 4-a.sql.
b. Procedure to enquire the details of the program being held at certain city. Call the procedure
from anonymous block to allow the user to enter the name of the city. Name this script as 4-
b.sql.

v. Script to create the functions to determine the status of a potential donor and to calculate the zakat
amount that he/she owe according to the following flowchart (FUNC.sql):

Salary

“You are not liable yes Deduct the total


no yes
for zakat. Your > 2875.87 salary with the
Any liability?
salary is below the (nisab) total liability =
nisab.” asset

no

Calculate the
amount of the
zakat (2.5% of the
salary)

no Is total asset
> 2875.87

yes

Calculate the
amount of the
zakat (2.5% of the
asset)

Call the function from anonymous block to allow the user to enter the required information. Name this
script as 5.sql.
ENTITY RELATIONSHIP DIAGRAM 

DONOR DONATION TYPE_ZAKAAT


belongs
DonorID DonationID TZakaatID
DFname DDate TDescription
DLName DonorID
DAddress makes DAmount
DCity StaffID
DState PayMethID has PAYMETHOD
DOccupation TZakaatID
DGender PayMethID
DPhone PMDescription

STAFF receives
PROGRAM
StaffID
SFName ProgramID
SLName manage PName
SAddress PDate
SCity PLocation
SState StaffID
SPhone
DATA DICTIONARY  

DONOR table
Attribute Name Data Type Allow NULL
DonorID (PK) NUMERIC NO
DFname VARCHAR Length=15 NO
DLName VARCHAR Length=15 NO
DAddress VARCHAR Length=25 YES
DCity VARCHAR Length=15 YES
DState VARCHAR Length=15 YES
DOccupation VARCHAR Length=15 YES
DGender VARCHAR Length=6 YES
DPhone NUMERIC YES

DONATION table
Attribute Name Data Type Allow NULL
DonationID (PK) NUMERIC NO
DDate DATE NO
DonorID NUMERIC NO
DAmount NUMERIC NO
StaffID VARCHAR Length=10 NO
PayMethID NUMERIC NO
TZakaatID NUMERIC NO

TYPE_ZAKAAT table
Attribute Name Data Type Allow NULL
TZakaatID NUMERIC NO
TDescription VARCHAR Length=60 NO

PAYMETHOD table
Attribute Name Data Type Allow NULL
PayMethID (PK) NUMERIC NO
PMDescription VARCHAR Length=20 NO

STAFF table
Attribute Name Data Type Allow NULL
StaffID (PK) VARCHAR Length=10 NO
SFname VARCHAR Length=15 NO
SLName VARCHAR Length=15 NO
SAddress VARCHAR Length=25 YES
SCity VARCHAR Length=15 YES
SState VARCHAR Length=15 YES
SPhone NUMERIC YES

PROGRAM table
Attribute Name Data Type Allow NULL
ProgramID (PK) VARCHAR Length=10 NO
PName VARCHAR Length=30 NO
PDate DATE YES
PLocation VARCHAR Length=20 YES
StaffID VARCHAR Length=10 NO

Das könnte Ihnen auch gefallen