RDBMS Project
RDBMS Project
(AI2130) Project
Project Title and Code: Assignment Management System(RDBMS_PR_07)
Database Schema:
1. Tables:
o Students
StudentID (Primary Key)
FirstName
LastName
Email
EnrollmentDate
o Courses
CourseID (Primary Key)
CourseName
InstructorID (Foreign Key)
o Instructors
InstructorID (Primary Key)
FirstName
LastName
Email
o Assignments
AssignmentID (Primary Key)
CourseID (Foreign Key)
AssignmentName
DueDate
o Submissions
SubmissionID (Primary Key)
AssignmentID (Foreign Key)
StudentID (Foreign Key)
SubmissionDate
SubmissionText
Grade
2. Relationships:
o Each student is enrolled in multiple courses.
o Each course has multiple assignments.
o Each assignment can have multiple student submissions.
o Each submission is associated with one student and one assignment.
Functionalities:
1. Student Management:
o Add, update, or delete student information.
o View a list of students.
o Enroll students in courses.
2. Instructor Management:
o Add, update, or delete instructor information.
o View a list of instructors.
3. Course Management:
o Add, update, or delete course information.
o View a list of courses.
o Assign instructors to courses.
4. Assignment Management:
o Add, update, or delete assignments for courses.
o View a list of assignments for a course.
o Set due dates for assignments.
5. Submission Management:
o Record student submissions for assignments.
o View submitted assignments and their grades.
o Grade assignments and provide feedback.
Security Considerations:
Implement user authentication and authorization to ensure that only authorized users
(administrators, instructors, and students) can access the system and perform actions.
Programming Technologies:
You can use a popular RDBMS like MySQL, PostgreSQL, or SQLite for database
management. You would need a programming language (e.g., Python, Java, or a web
framework like Django) to develop the application that interacts with the database.
SQL Queries:
-- Create Students table
CREATE TABLE Students (
FirstName VARCHAR2(50),
LastName VARCHAR2(50),
Email VARCHAR2(100),
EnrollmentDate DATE
);
FirstName VARCHAR2(50),
LastName VARCHAR2(50),
Email VARCHAR2(100)
);
CourseName VARCHAR2(100),
);
AssignmentName VARCHAR2(100),
DueDate DATE
);
SubmissionDate DATE,
SubmissionText CLOB,
Grade NUMBER(3, 2)
);
WHERE StudentID = 1;
UPDATE Students
WHERE StudentID = 2;
UPDATE Students
WHERE StudentID = 3;
UPDATE Students
WHERE StudentID = 4;
UPDATE Students
WHERE StudentID = 5;
UPDATE Students
WHERE StudentID = 6;
UPDATE Students
WHERE StudentID = 7;
UPDATE Students
WHERE StudentID = 8;
UPDATE Students
WHERE StudentID = 9;
UPDATE Students
UPDATE Instructors
WHERE InstructorID = 1;
UPDATE Instructors
WHERE InstructorID = 2;
UPDATE Instructors
WHERE InstructorID = 3;
UPDATE Instructors
WHERE InstructorID = 4;
UPDATE Instructors
WHERE InstructorID = 5;
UPDATE Instructors
WHERE InstructorID = 6;
UPDATE Instructors
WHERE InstructorID = 7;
UPDATE Instructors
WHERE InstructorID = 8;
UPDATE Instructors
WHERE InstructorID = 9;
UPDATE Instructors
-- Delete a student
DELETE FROM Students
WHERE StudentID = 1;
WHERE AssignmentID = 1;
-- Insert courses
INSERT INTO Courses (CourseID, CourseName, InstructorID)
-- Insert assignments
INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)
-- Insert submissions
-- Submissions by students who have submitted their
assignments
INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,
SubmissionText, Grade)
Screenshots:
Students table-
Instructors Table-
Course Table-
Assignment Table-
Submission Table-