top of page

Student Management System Database Design And Implementation

Nov 25, 2021
5 min read

SMS Case Study And Requirement

1) Display all undergraduate student whose name starts with ‘S’ and is of length between 5 and 20.

2) Display the student who are senior citizen (>=60).

3) Display student who were born after 1st of June 1980.

4) The student are suppose to only provide mobile numbers .All mobile numbers should start with zero followed by 10 digits. Display student name having invalid phone numbers.

5) All emails should have “@” anywhere after the first character and should end with “.com”. Display count of students having invalid email id.

6) Display the name and email of student who have a Gmail account.

7) Display the above record but do not consider invalid email id.

8) Display the qualification and the total number of students registered based on their qualifications. (Alias use “totalStud” for total number of students)

9) Display the full name of the month and the total number of students who are having their birthday in that month. (Alias use “Month” and “Total”)

10) Display the student name that was born in a leap year ordering by student name and year of birth.

11) Display student whose city is Kolkata as “HomeStudent ” and others as “DistanceStudent” under a column “Remarks”. Also display the name and city of the student.

12) Display batchid, coursename, batch start date, batch end date for all batches. (batch end date=batch start date +course duration).

13) Display all batchid having a difference of 10 hours and less between its starting and ending date.

14) Display all batches having similar start date and strength.

15) Display student who enrolled for the batch after its start date.

16) Display the studentid, studentname , totalfees for all student.

17) Display courses which are not being taught currently along with courses which are being taught. Also display the batchid for the courses currently running and null for non executing courses.

18) Display count of students having no contact information. (Either email or phone).

19) Display coursename having above average fees.

20) Display coursename where fees are less than the average fees of its category.

21) Display the coursename having the highest enrollment.

22) Display student name having duplicate email ids.

23) Display student name having similar name but different email ids.


24) Display the student name, date of birth and their zodiac sign. Use Zodiac as alias

a. Aries -> Mar 21-Apr 19

b. Taurus -> Apr 20 –May 20

c. Gemini -> May 21-Jun 20

d. Cancer -> Jun21- Jul22

e. Leo -> Jul 23- Aug 22

f. Virgo -> Aug 23-Sept 22

g. Libra -> Sept 23-Oct 22

h. Scorpio -> Oct 23- Nov 21

i. Sagittarius -> Nov 22-Dec 21

j. Capricorn -> Dec 22- Jan 19

k. Aquarius -> Jan 20 – Feb 18

l. Pisces -> Feb 19- Mar 20


25) Display the course name fetching the 2nd highest revenue.

26) Generate report which displays the batch number and the number of seats vacant. [Use Alias “Vacant”].

27) Which among the following have the highest enrollment? (Graduate,Undergraduate or postgraduate). Write query to display “Qualification” , “HighestEnrollmet” (Use Alias”). 28) Display student name, age[Alias] , coursename, batchid, batch_start_ date, batch_ end _date , and enrollment date in the format 1st of Jan , 2012 .

29) Display report in the following format. Consider Sat & Sun as holiday.



Creating Tables(DDL)


Creating database sms:

CREATE DATABASE sms;
#Select database
USE sms;

Creating tables student

CREATE TABLE student
(
sid char(4) primary key,
sname varchar(20),
sdob date,
scity varchar(20),
squal varchar(20),
semail varchar(30),
sphone varchar(20)
);

Creating tables course

CREATE TABLE course
(
courseid char(4) primary key,
coursename varchar(40),
coursecategory varchar(20),
coursefees  decimal(10,2),
courseduration int 
);

Creating tables batch

CREATE TABLE batch
(
batchid char(4) primary key,
bsdate datetime ,
bstrength int,
courseid char(4), 
foreign key(courseid) references course(courseid)
);

Creating tables enrollment

CREATE TABLE enrollment
(
  batchid char(4),
  sid char(4) ,
  edate date,
  primary key(batchid,sid),
  foreign key(sid) references student(sid),
  foreign key(batchid) references batch(batchid)
);

Inserting Values into Tables

Insert values into student table

insert into student values('s001','rajesh','1980-12-17','kolkata','graduate','rajesh@gmail.com','09830978900');
insert into student values('s002','john','1949-1-7','hyderabad','postgraduate','john@yahoo.com','9833978933');
insert into student values('s003','kunal','1967-2-3','pune','postgraduate','kunal@gmail.com','09830922900');
insert into student values('s004','maya','1990-12-17','kolkata','graduate','maya.com','09830765900');
insert into student values('s005','jadeja','1940-1-23','kolkata','postgraduate','jadeja@yahoo.com','09837865432');
insert into student values('s006','suman','1995-6-17','kolkata','undergraduate','suman@gmail.com','0983097890');
insert into student values('s007','soha','1990-7-17','mumbai','undergraduate',null,null);
insert into student values('s008','thapa','1980-8-17','assam','graduate','thapa@gmail.com','19830978900');
insert into student values('s009','hira','1954-9-17','mumbai','postgraduate','hira@gmail.com','09234097890');
insert into student values('s010','akash','1977-1-27','kolkata','postgraduate','akash@gmail.com',null);
insert into student values('s011','amir','1992-1-1','delhi','undergraduate','amirgmail.com','09831118900');
insert into student values('s012','ramesh','1980-12-17','kolkata','graduate','ramesh@yahoo.com','09830918900');
insert into student values('s013','suresh','1980-3-22','kolkata','graduate','suresh@gmail.com','09830978912');
insert into student values('s014','amir','1945-1-13','delhi','postgraduate','amir123@rediffmail.com','29830978900');
insert into student values('s015','esha','1981-10-30','mumbai','graduate','esha@gmail.com','09831378900');
insert into student values('s016','gopichand','1966-5-7','assam','postgraduate','gopi@gmail.com','09831918100');
insert into student values('s017','sonali','1995-11-11','mumbai','undergraduate','sonali@gmail.com','09855978900');
insert into student values('s018','lisa','1983-1-31','delhi','graduate','lisa@gmail.com','09832978923');
insert into student values('s019','smith','1980-12-17','pune','graduate','smith@yahoo.com','09831111900');
insert into student values('s020','rajesh','1994-7-8','pune','graduate','rajesh@gmail.com','09830978900');

Insert values into course table

insert into course values('c001','sql server','compsc',1000,40);
insert into course values('c002','compmat','civileng',3000,120);
insert into course values('c003','biomaths','biotech',4000,160);
insert into course values('c004','word','compsc',500,8);
insert into course values('c005','photo','compsc',800,8);


Insert values into batch table

insert into batch values('b001','2013-02-01 09:30' ,10, 'c001');
insert into batch values('b002','2013-03-01 09:30' ,10, 'c002');
insert into batch values('b003','2013-01-01 09:30' ,10, 'c003');
insert into batch values('b004','2013-03-31 09:30' ,10, 'c003');
insert into batch values('b005','2013-04-04 09:30' ,10, 'c005');
insert into batch values('b006','2013-01-27 09:30' ,10, 'c002');
insert into batch values('b007','2012-11-30 09:30' ,10, 'c004');
insert into batch values('b008','2013-01-28 09:30' ,10, 'c002');
insert into batch values('b009','2013-02-16 09:30' ,10,'c001');
insert into batch values('b010','2012-12-12 09:30' ,10, 'c003');


Insert values into enrollment table


insert into enrollment values('b001','s001','2013-01-01');
insert into enrollment values('b001','s002','2013-01-31');
insert into enrollment values('b001','s003','2013-01-11');
insert into enrollment values('b001','s004','2013-02-02');
insert into enrollment values('b001','s005','2013-01-01');
insert into enrollment values('b001','s006','2013-01-01');
insert into enrollment values('b001','s007','2013-01-01');
insert into enrollment values('b001','s008','2013-01-01');
insert into enrollment values('b001','s009','2013-01-01');


insert into enrollment values('b002','s010','2013-02-01');
insert into enrollment values('b002','s012','2013-02-27');
insert into enrollment values('b002','s014','2013-01-21');
insert into enrollment values('b002','s016','2013-01-12');
insert into enrollment values('b002','s017','2013-02-15');

insert into enrollment values('b003','s018','2013-12-11');
insert into enrollment values('b003','s019','2013-02-27');
insert into enrollment values('b003','s020','2013-01-21');
insert into enrollment values('b003','s013','2013-01-01');
insert into enrollment values('b003','s007','2013-12-15');
insert into enrollment values('b003','s008','2013-11-25');

insert into enrollment values('b004','s001','2013-02-11');
insert into enrollment values('b004','s003','2013-02-27');
insert into enrollment values('b004','s006','2013-01-21');
insert into enrollment values('b004','s009','2013-03-01');

insert into enrollment values('b005','s001','2013-02-11');
insert into enrollment values('b005','s003','2013-02-27');
insert into enrollment values('b005','s006','2013-03-21');
insert into enrollment values('b005','s009','2013-04-01');

insert into enrollment values('b006','s001','2013-01-11');
insert into enrollment values('b006','s003','2012-12-27');
insert into enrollment values('b006','s006','2013-01-11');
insert into enrollment values('b006','s009','2013-01-01');
insert into enrollment values('b006','s007','2013-01-13');
insert into enrollment values('b006','s002','2012-12-17');
insert into enrollment values('b006','s008','2013-01-21');
insert into enrollment values('b006','s005','2013-01-01');


insert into enrollment values('b007','s001','2012-11-11');
insert into enrollment values('b007','s002','2012-11-11');
insert into enrollment values('b007','s003','2012-11-21');
insert into enrollment values('b007','s004','2012-11-13');
insert into enrollment values('b007','s007','2012-10-13');
insert into enrollment values('b007','s010','2012-10-17');
insert into enrollment values('b007','s009','2012-12-01');

insert into enrollment values('b008','s011','2012-11-11');
insert into enrollment values('b008','s012','2012-11-11');
insert into enrollment values('b008','s013','2012-11-21');
insert into enrollment values('b008','s014','2012-11-13');
insert into enrollment values('b008','s017','2012-10-13');
insert into enrollment values('b008','s020','2012-10-17');
insert into enrollment values('b008','s019','2012-12-01');

insert into enrollment values('b009','s001','2012-11-11');
insert into enrollment values('b009','s012','2012-11-11');
insert into enrollment values('b009','s013','2012-11-21');
insert into enrollment values('b009','s004','2012-11-13');
insert into enrollment values('b009','s007','2012-10-13');
insert into enrollment values('b009','s010','2012-10-17');
insert into enrollment values('b009','s009','2012-12-01');

insert into enrollment values('b010','s011','2012-11-11');
insert into enrollment values('b010','s002','2012-11-11');
insert into enrollment values('b010','s003','2012-11-21');
insert into enrollment values('b010','s014','2012-11-13');
insert into enrollment values('b010','s017','2012-10-13');
insert into enrollment values('b010','s010','2012-10-17');
insert into enrollment values('b010','s009','2012-12-01');


If you need solution of above all queries then contact us or send your details at realcode4you@gmail.com , If you need any other database related task then also contact us and get complete solution with an cheap and affordable price.



11 Comments


xx88 khiến mình quan tâm hơn đến cách cùng một hành trình được thể hiện trên những kích thước màn hình khác nhau. Trên máy tính, mình thường vào Thể thao rồi chọn bóng rổ và có thể quan sát phạm vi nội dung khá rộng. Khi chuyển sang điện thoại, mình thử tiếp tục với Xổ số 3 miền và thấy phần hiển thị được tập trung hơn vào khu đang sử dụng. Dù lượng thông tin xuất hiện cùng lúc thay đổi, mình vẫn dựa vào những điểm quen để xác định hướng tiếp theo. Việc giữ cách tìm theo từng danh mục giúp mình chuyển thiết bị khá tự nhiên mà không cần ghi nhớ lại vị trí…

Like

batc2929
6 days ago

https://jun88.pet/ khiến mình quan tâm đến cách một khu nội dung giữ được dấu hiệu riêng khi bên trong có nhiều lựa chọn để chuyển đổi. Mình thường quan sát vùng hiển thị trước và sau mỗi thao tác để xem trạng thái mới được thể hiện ra sao. Khi vào Casino, mình có thể đổi giữa Roulette và Baccarat, rồi quay lại lựa chọn trước mà vẫn dựa trên cùng một phạm vi chung. Tên trò thay đổi giúp mình nhận biết điểm đến hiện tại, còn cấu trúc của khu vẫn tạo cảm giác quen thuộc trong suốt quá trình. Khi đã chuyển vài lượt, mình không cần quay lại trang đầu để xác định vị trí. Với mình,…


Like

batc2929
7 days ago

fly 88 khiến mình có xu hướng nhìn hệ thống theo từng cụm nhỏ thay vì cố khám phá mọi thứ trong một lượt. Mình chọn Thể thao và Xổ số để quan sát cách hai hướng nội dung được đặt trong cấu trúc chung. Phần giao diện là điểm mình chú ý thêm, nhất là cách các khu vực được chia thành những vùng khá dễ nhận biết. Nhờ đó, mình có thể xác định nơi muốn tìm trước rồi mới quan sát sâu hơn. Với mình, cách tiếp cận vài nhóm đại diện như vậy vẫn đủ để hình dung cách tổ chức tổng thể mà lượng thông tin trên màn hình không trở nên quá dày.


Like

batc2929
Sep 29

go99 cho mình một góc quan sát khác khi mình thử sử dụng nhiều nhóm nội dung theo thứ tự không cố định. Mình bắt đầu với Bắn cá, chuyển sang Xổ số rồi Nổ hũ để xem từng khu vực được phân chia như thế nào. Nội dung trung tâm thay đổi theo lựa chọn, trong khi những điểm điều hướng quen thuộc vẫn giúp mình giữ được hướng. Ở lần truy cập sau, mình thử đảo thứ tự và vẫn nhận ra khá nhanh khu vực cần tìm. Qua cách này, mình dần hiểu nền tảng theo từng nhánh lớn thay vì phụ thuộc vào một hành trình duy nhất mỗi khi muốn chuyển sang nội dung khác. 


Like

batc2929
Sep 25

go88 makes me notice how the interface changes when I move between web and mobile browsing. On my phone, I usually recognize sections through their main images and titles before opening them. Card Games with Phom gives me one familiar point, while Sports with football brings a denser information view once selected. Casino with Baccarat then introduces another layout centered on the table. These shifts help create a clear browsing rhythm on a smaller display. After a few sessions, I become more familiar with where each type of content appears and how the interface responds as I move through it.


Like

REALCODE4YOU

Realcode4you is the one of the best website where you can get all computer science and mathematics related help, we are offering python project help, java project help, Machine learning project help, and other programming language help i.e., C, C++, Data Structure, PHP, ReactJs, NodeJs, React Native and also providing all databases related help.

​

Hire Us to get Instant help from realcode4you expert with an affordable price.

USEFUL LINKS

Discount

ADDRESS

Noida, Sector 63, India 201301

Follows Us!

  • Facebook
  • Twitter
  • Instagram
  • LinkedIn

OUR CLIENTS BELONGS TO

  • india
  • australia
  • canada
  • hong-kong
  • ireland
  • jordan
  • malaysia
  • new-zealand
  • oman
  • qatar
  • saudi-arabia
  • singapore
  • south-africa
  • uae
  • uk
  • usa

© 2026 IT Services provided by Realcode4you.com

bottom of page