0% found this document useful (0 votes)
77 views20 pages

RDBMS Project

The document outlines the design and implementation of an Assignment Management System using RDBMS, detailing the database schema, functionalities, and SQL queries for managing students, instructors, courses, assignments, and submissions. It includes security considerations, optional features, and programming technologies for development. The SQL code provided demonstrates the creation of tables, insertion of data, and management operations for the system.

Uploaded by

PREMIUM YT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views20 pages

RDBMS Project

The document outlines the design and implementation of an Assignment Management System using RDBMS, detailing the database schema, functionalities, and SQL queries for managing students, instructors, courses, assignments, and submissions. It includes security considerations, optional features, and programming technologies for development. The SQL code provided demonstrates the creation of tables, insertion of data, and management operations for the system.

Uploaded by

PREMIUM YT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

RDBMS Lab

(AI2130) Project
Project Title and Code: Assignment Management System(RDBMS_PR_07)

By: Aadityavardhan Singh Rathore (229310037)

Ayushmaan Singh Shekhawat (229310008)

B.tech CSE AIML Section-C

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.

Queries and Reports:

1. List all students enrolled in a specific course.


2. View all assignments for a course and their due dates.
3. Retrieve all submissions for a specific assignment, including student names and
submission dates.
4. Calculate the average grade for an assignment.
5. Generate a report on student performance in a course.

Security Considerations:

 Implement user authentication and authorization to ensure that only authorized users
(administrators, instructors, and students) can access the system and perform actions.

Additional Features (Optional):

 File upload support for student submissions.


 Notifications to remind students of upcoming assignment due dates.
 Export and import data functionality.
 Audit logs to track system activities.

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 (

StudentID NUMBER(5) PRIMARY KEY,

FirstName VARCHAR2(50),

LastName VARCHAR2(50),

Email VARCHAR2(100),

EnrollmentDate DATE

);

-- Create Instructors table


CREATE TABLE Instructors (

InstructorID NUMBER(5) PRIMARY KEY,

FirstName VARCHAR2(50),

LastName VARCHAR2(50),

Email VARCHAR2(100)
);

-- Create Courses table

CREATE TABLE Courses (

CourseID NUMBER(5) PRIMARY KEY,

CourseName VARCHAR2(100),

InstructorID NUMBER(5) REFERENCES Instructors(InstructorID)

);

-- Create Assignments table


CREATE TABLE Assignments (

AssignmentID NUMBER(5) PRIMARY KEY,

CourseID NUMBER(5) REFERENCES Courses(CourseID),

AssignmentName VARCHAR2(100),

DueDate DATE

);

-- Create Submissions table


CREATE TABLE Submissions (

SubmissionID NUMBER(5) PRIMARY KEY,

AssignmentID NUMBER(5) REFERENCES Assignments(AssignmentID),

StudentID NUMBER(5) REFERENCES Students(StudentID),

SubmissionDate DATE,
SubmissionText CLOB,

Grade NUMBER(3, 2)

);

-- Inserting details of students


INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (1, 'John', 'Doe', '[email protected]', TO_DATE('2023-01-15', 'YYYY-MM-


DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (2, 'Jane', 'Smith', '[email protected]', TO_DATE('2023-02-20', 'YYYY-


MM-DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (3, 'Michael', 'Johnson', '[email protected]', TO_DATE('2023-03-10',


'YYYY-MM-DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (4, 'Emily', 'Davis', '[email protected]', TO_DATE('2023-04-05', 'YYYY-


MM-DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (5, 'David', 'Wilson', '[email protected]', TO_DATE('2023-05-12', 'YYYY-


MM-DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (6, 'Sarah', 'Martinez', '[email protected]', TO_DATE('2023-06-18', 'YYYY-


MM-DD'));
INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (7, 'James', 'Anderson', '[email protected]', TO_DATE('2023-07-25', 'YYYY-


MM-DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (8, 'Sophia', 'Thomas', '[email protected]', TO_DATE('2023-08-30', 'YYYY-


MM-DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (9, 'Daniel', 'White', '[email protected]', TO_DATE('2023-09-07', 'YYYY-


MM-DD'));

INSERT INTO Students (StudentID, FirstName, LastName, Email, EnrollmentDate)

VALUES (10, 'Olivia', 'Brown', '[email protected]', TO_DATE('2023-10-14', 'YYYY-


MM-DD'));

-- Inserting instructors details


INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (1, 'David', 'Smith', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (2, 'Jennifer', 'Johnson', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (3, 'Michael', 'Williams', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)


VALUES (4, 'Sarah', 'Brown', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (5, 'Daniel', 'Jones', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (6, 'Emily', 'Davis', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (7, 'Christopher', 'Wilson', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (8, 'Olivia', 'Martinez', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (9, 'James', 'Garcia', '[email protected]');

INSERT INTO Instructors (InstructorID, FirstName, LastName, Email)

VALUES (10, 'Sophia', 'Lopez', '[email protected]');

-- List all students


SELECT * FROM Students;

-- List all assignments for a specific course


SELECT * FROM Assignments WHERE CourseID = 1;

-- Update student's details


UPDATE Students

SET FirstName = 'Raj', LastName = 'Kumar', Email = '[email protected]'

WHERE StudentID = 1;

UPDATE Students

SET FirstName = 'Priya', LastName = 'Patel', Email = '[email protected]'

WHERE StudentID = 2;

UPDATE Students

SET FirstName = 'Amit', LastName = 'Singh', Email = '[email protected]'

WHERE StudentID = 3;

UPDATE Students

SET FirstName = 'Neha', LastName = 'Sharma', Email = '[email protected]'

WHERE StudentID = 4;

UPDATE Students

SET FirstName = 'Vijay', LastName = 'Verma', Email = '[email protected]'

WHERE StudentID = 5;
UPDATE Students

SET FirstName = 'Pooja', LastName = 'Gupta', Email = '[email protected]'

WHERE StudentID = 6;

UPDATE Students

SET FirstName = 'Ankur', LastName = 'Yadav', Email = '[email protected]'

WHERE StudentID = 7;

UPDATE Students

SET FirstName = 'Deepa', LastName = 'Agarwal', Email = '[email protected]'

WHERE StudentID = 8;

UPDATE Students

SET FirstName = 'Rahul', LastName = 'Mishra', Email = '[email protected]'

WHERE StudentID = 9;

UPDATE Students

SET FirstName = 'Sneha', LastName = 'Srivastava', Email = '[email protected]'

WHERE StudentID = 10;

-- Update Instructor's details


-- Update instructor records with Indian names and email addresses

UPDATE Instructors

SET FirstName = 'Sandeep', LastName = 'Kumar', Email = '[email protected]'

WHERE InstructorID = 1;
UPDATE Instructors

SET FirstName = 'Neha', LastName = 'Verma', Email = '[email protected]'

WHERE InstructorID = 2;

UPDATE Instructors

SET FirstName = 'Rajesh', LastName = 'Singh', Email = '[email protected]'

WHERE InstructorID = 3;

UPDATE Instructors

SET FirstName = 'Anita', LastName = 'Sharma', Email = '[email protected]'

WHERE InstructorID = 4;

UPDATE Instructors

SET FirstName = 'Amit', LastName = 'Patel', Email = '[email protected]'

WHERE InstructorID = 5;

UPDATE Instructors

SET FirstName = 'Priya', LastName = 'Gupta', Email = '[email protected]'

WHERE InstructorID = 6;

UPDATE Instructors

SET FirstName = 'Rahul', LastName = 'Yadav', Email = '[email protected]'

WHERE InstructorID = 7;
UPDATE Instructors

SET FirstName = 'Deepak', LastName = 'Agarwal', Email = '[email protected]'

WHERE InstructorID = 8;

UPDATE Instructors

SET FirstName = 'Sneha', LastName = 'Mishra', Email = '[email protected]'

WHERE InstructorID = 9;

UPDATE Instructors

SET FirstName = 'Vijay', LastName = 'Srivastava', Email = '[email protected]'

WHERE InstructorID = 10;

-- Delete a student
DELETE FROM Students

WHERE StudentID = 1;

-- Delete an assignment and its associated


submissions
DELETE FROM Assignments

WHERE AssignmentID = 1;
-- Insert courses
INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (1, 'Mathematics 101', 1);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (2, 'History 101', 2);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (3, 'Physics 101', 3);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (4, 'Computer Science 101', 4);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (5, 'English Literature 101', 5);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (6, 'Biology 101', 6);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (7, 'Chemistry 101', 7);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (8, 'Psychology 101', 8);


INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (9, 'Art History 101', 9);

INSERT INTO Courses (CourseID, CourseName, InstructorID)

VALUES (10, 'Economics 101', 10);

-- Insert assignments
INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (1, 1, 'Math Assignment 1', TO_DATE('2023-11-05', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (2, 2, 'History Paper', TO_DATE('2023-11-10', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (3, 3, 'Physics Lab Report', TO_DATE('2023-11-15', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (4, 4, 'Programming Project', TO_DATE('2023-11-20', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (5, 5, 'Literature Essay', TO_DATE('2023-11-25', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (6, 6, 'Biology Quiz', TO_DATE('2023-12-01', 'YYYY-MM-DD'));


INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (7, 7, 'Chemistry Experiment', TO_DATE('2023-12-05', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (8, 8, 'Psychology Research Paper', TO_DATE('2023-12-10', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (9, 9, 'Art History Presentation', TO_DATE('2023-12-15', 'YYYY-MM-DD'));

INSERT INTO Assignments (AssignmentID, CourseID, AssignmentName, DueDate)

VALUES (10, 10, 'Economics Assignment', TO_DATE('2023-12-20', 'YYYY-MM-DD'));

-- Insert submissions
-- Submissions by students who have submitted their
assignments
INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,
SubmissionText, Grade)

VALUES (1, 1, 1, TO_DATE('2023-11-05', 'YYYY-MM-DD'), 'This is my submission for


the Math Assignment.', 95);

INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,


SubmissionText, Grade)

VALUES (2, 2, 2, TO_DATE('2023-11-10', 'YYYY-MM-DD'), 'My history paper is


attached.', 88);

INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,


SubmissionText, Grade)
VALUES (3, 3, 3, TO_DATE('2023-11-15', 'YYYY-MM-DD'), 'Physics lab report attached.',
92);

INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,


SubmissionText, Grade)

VALUES (4, 4, 4, TO_DATE('2023-11-20', 'YYYY-MM-DD'), 'My programming project is


complete.', 78);

INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,


SubmissionText, Grade)

VALUES (5, 5, 5, TO_DATE('2023-11-25', 'YYYY-MM-DD'), 'Here is my literature essay.',


90);

-- Submissions by students who have not submitted


assignments
INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,
SubmissionText, Grade)

VALUES (6, 6, 6, NULL, NULL, NULL);

INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,


SubmissionText, Grade)

VALUES (7, 7, 7, NULL, NULL, NULL);

INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,


SubmissionText, Grade)

VALUES (8, 8, 8, NULL, NULL, NULL);

INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,


SubmissionText, Grade)

VALUES (9, 9, 9, NULL, NULL, NULL);


INSERT INTO Submissions (SubmissionID, AssignmentID, StudentID, SubmissionDate,
SubmissionText, Grade)

VALUES (10, 10, 10, NULL, NULL, NULL);

Screenshots:
Students table-
Instructors Table-
Course Table-
Assignment Table-
Submission Table-

You might also like