Beruflich Dokumente
Kultur Dokumente
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.
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
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
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