INTRODUCTION
INTRODUCTION
NAME ID
1, Yonas Degefu UGR/6959/15
2, Milkias Wakgari UGR/0422/15
3, Firaol Ayana UGR/5016/15
4, Fitale Tariku UGR/4074/15
5, Eyosiyas Bisrat UGR/2434/15
6, Alazar Andualem UGR/4511/15
1. Background
Company Profile
Mission
Vision
2. Requirement Analysis
Current Problems
Planned Functions and Activities
Goals of the New Database System
3. Conceptual Design
Mapping Rules
To address these challenges and enhance service delivery, JUCS School seeks to
implement a new online database system. The introduction of this system will
streamline administrative tasks, facilitate communication and collaboration among
stakeholders, and provide valuable insights for strategic decision-making. By
modernizing our database infrastructure, JUCS School aims to improve operational
efficiency, optimize resource allocation, and ultimately enhance the educational
experience for all students from King Garden to the 12th-grade diploma program.
The problem JUCS currently facing
The identified problem lies in the inefficiency of the traditional database system
utilized by JUCS School. This antiquated approach, while once functional, no
longer adequately meets the evolving needs of our institution. The traditional
database setup lacks effectiveness in several key areas, including the management
of student records, class schedules, attendance tracking, and communication with
parents.
Moreover, the absence of real-time data access inhibits our capacity to make
informed decisions and respond promptly to emerging needs and challenges. As a
result, our ability to optimize resources, enhance collaboration among
stakeholders, and provide a high-quality educational experience to our students is
compromised.
iii. SubjectID: Integer, identifier for the subject taught by the teacher.
(Atomic)
iv. PhoneNumber: String, phone number of the teacher (length: 10-15
characters). (Atomic)
v. Email: String, email address of the teacher (length: 5-100
characters, valid email format). (Atomic)
vi. Address: String, address of the teacher (length: 1-255 characters).
(Atomic)
vii. HireDate: Date, the date of hiring of the teacher. (Atomic)
4) Class
a. Strong Entity
b. Attributes:
i. ClassID: Integer, unique identifier for each class (Primary Key).
(Atomic)
ii. ClassName: String, name of the class (length: 1-50 characters).
(Atomic)
iii. Level: Integer, level of the class (values: 1-12). (Atomic)
iv. TeacherID: Integer, identifier for the teacher of the class (Foreign
Key referencing Teacher(TeacherID)). (Atomic)
5) Subject
a. Strong Entity
b. Attributes:
i. SubjectID: Integer, unique identifier for each subject (Primary
Key). (Atomic)
ii. SubjectName: String, name of the subject (length: 1-50 characters).
(Atomic)
iii. ClassID: Integer, identifier for the class to which the subject
belongs (Foreign Key referencing Class(ClassID)). (Atomic)
6) Exam
a) Weak Entity
b) Attributes:
7) Grade
a. Strong Entity
b. Attributes:
i. GradeID: Integer, unique identifier for each grade (Primary Key).
(Atomic)
ii. StudentID: Integer, identifier for the student (Foreign Key
hreferencing Student(StudentID)). (Atomic)
iii. TotalGrade: Float, total grade obtained by the student in the
subject. (Atomic)
iv. AverageGrade: Float, average grade obtained by the student in the
subject. (Atomic)
8) Attendance
a. Strong Entity
b. Attributes:
i. AttendanceID: Integer, unique identifier for each attendance record
(Primary Key). (Atomic)
ii. StudentID: Integer, identifier for the student (Foreign Key
referencing Student(StudentID)). (Atomic)
iii. Date: Date, date of the attendance. (Atomic)
iv. SubjectID: Integer, identifier for the subject (Foreign Key
referencing Subject(SubjectID)). (Atomic)
v. Status: String, attendance status of the student (values: 'Present',
'Absent', 'Late'). (Atomic)
9) Club
a. Strong Entity
b. Attributes:
i. ClubID: Integer, unique identifier for each club (Primary Key).
(Atomic)
ii. ClubName: String, name of the club (length: 1-50 characters).
(Atomic)
iii. Description: Text, description of the club. (Atomic)
10) TransportService
a. Strong Entity
b. Attributes:
i. TransportID: Integer, unique identifier for each transport service
(Primary Key). (Atomic)
ii. Route: String, route of the transport service (length: 1-100
characters). (Atomic)
iii. DriverName: String, name of the driver (length: 1-50 characters).
(Atomic)
iv. Capacity: Integer, capacity of the transport service. (Atomic)
11) Registration
a. Strong Entity
b. Attributes:
i. EnrollmentID: Integer, unique identifier for each enrollment
(Primary Key). (Atomic)
ii. StudentID: Integer, identifier for the student (Foreign Key
referencing Student(StudentID)). (Atomic)
iii. ClassID: Integer, identifier for the class (Foreign Key referencing
Class(ClassID)). (Atomic)
iv. ClubID: Integer, identifier for the club (Foreign Key referencing
Club(ClubID)). (Atomic)
v. TransportID: Integer, identifier for the transport service (Foreign
Key referencing TransportService(TransportID)). (Atomic)
vi. Fee: Float, fee associated with the student's enrollment. (Atomic)
12) BoardMember
a. Weak Entity
b. Attributes:
2. Student-Class Relationship
3. Student-Exam Relationship
4. Student-Attendance Relationship
5. Student-Club Relationship
6. Student-TransportService Relationship
7. Student-Grade Relationship
9. Exam-Subject Relationship
Relationship: Exam belongs to Subject
Type: Many-to-One
Foreign Key: SubjectID (in Exam)
Description: Each exam belongs to one subject.
• Type: One-to-Many