0% found this document useful (0 votes)
1K views

SCRIPTDB

The document creates a university database with tables for students, courses, departments, and marks. It defines the structure of each table with columns and primary/foreign keys. It then populates the tables with sample data for students enrolled in different courses across multiple semesters.

Uploaded by

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

SCRIPTDB

The document creates a university database with tables for students, courses, departments, and marks. It defines the structure of each table with columns and primary/foreign keys. It then populates the tables with sample data for students enrolled in different courses across multiple semesters.

Uploaded by

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

------------------------------------------------Create Database UniversityDatabase;

------------------------------------------------Use UniversityDatabase;
----------------------------------------------create table StudentTable (ID
varchar(50) not null, Name varchar(100), FatherName varchar(100), DepartmentID int,
BID int, DOB date, Marks float, Status varchar(20));
--------------------------------------------select *from studenttable;
--------------------------------------------create table Kankor(BID int not null,
BName varchar(50), BAbr varchar(50));
--------------------------------------------create table Semester(SemesterID int
not null, SemesterName varchar(50), SemesterAbr nvarchar(50));
------------------------------------------create table MarksTable(ID varchar(50)
not null, SemesterID int not null, CourseID bigint, TotalObtained float);
----------------------------------------create table Departments(DepartmentID int
not null, DeptName varchar(100), DeptAbr varchar(50), Duration int);
--------------------------------------create table CourseTable(CourseID bigint
IDENTITY(1,1) not null, CourseCode varchar(20), CourseName varchar(150), Credits
int)
------------------------------------create table AttendanceTable(ID varchar(50) not
null, SemesterID int not null, CourseID bigint, HourNumber int, AttendanceStatus
bit)
--------------------------------Alter table Kankor Add Primary Key(BID);
------------------------------Alter table Departments Add Primary
Key(DepartmentID);
----------------------------Alter table CourseTable Add Primary Key(CourseID);
--------------------------Alter table StudentTable Add Foreign Key(DepartmentID)
--------------------------References Departments (DepartmentID);
------------------------Alter table StudentTable Add Foreign Key(BID)
------------------------References KANKOR (BID);
----------------------Alter table MarksTable Add Foreign Key(ID)
----------------------References StudentTable (ID);
--------------------Alter table MarksTable Add Foreign Key(SemesterID)
--------------------References Semester (SemesterID);
------------------Alter table MarksTable Add Foreign Key(CourseID)
------------------References CourseTable (CourseID);
----------------Alter table AttendanceTable Add Foreign Key(ID)
----------------References StudentTable (ID);
--------------Alter table AttendanceTable Add Foreign Key(SemesterID)
--------------References Semester (SemesterID);
------------Alter table AttendanceTable Add Foreign Key(CourseID)
------------References CourseTable (CourseID);
----------insert into Kankor(BID, BName, BAbr)
----------Values (1,'First','A1'), (2,'Second','A2'), (3,'Third','A3');
----INSERT INTO DEPARTMENTS(DEPARTMENTID, DEPTNAME, DEPTABR, DURATION)
----VALUES (1,'Computer Science','CS', 8), (2,'Engineering','EE', 8);
----INSERT INTO CourseTable(CourseCode, CourseName, Credits)
----VALUES ('DB101', 'Advanced Database', 4), ('SE101', 'Software Engineering', 3),
('OS101', 'Operating System', 4),
----('ED202', 'Engineering Drawing', 4), ('Ph202', 'Physics', 3);
----INSERT INTO Semester(SemesterID, SemesterName, SemesterAbr)
----VALUES (1,'First','I'), (2,'Second','II'), (3,'Third','III'),
(4,'Fourth','IV'), (5,'Fifth','V'), (6,'Sixth','VI'), (7,'Seventh','VII'),
(8,'Eighth','VIII');
----INSERT INTO StudentTable(ID, Name, FatherName, DepartmentID, BID, DOB, Marks,
Status)
----VALUES ('CS-1', 'Aimal', 'AbdulHadi', 1, 1, '1997-12-17', 100, 1), ('CS-2',
'Ajmal', 'AbdulHadi', 1, 1, '1995-12-17', 100, 1), ('CS-3', 'Faisal', 'AbdulHadi',
1, 1, '1998-12-17', 90, 1),
----('CS-4', 'Munir', 'Karim', 1, 1, '1997-12-17', 50, 0), ('CS-5', 'Ahmad',
'Khaliq', 1, 1, '1990-12-17', 80, 1), ('CS-6', 'Hasibullah', 'Janan', 1, 1, '1997-
12-17', 50, 0), ('CS-7', 'Qadershah', 'Momin', 1, 1, '1995-12-17', 50, 0), ('CS-8',
'Nasir', 'Muhib', 1, 1, '1997-12-19', 100, 1), ('EE-10', 'Anwar', 'AbdulHadi', 2,
2, '1997-12-17', 100, 1);
----INSERT INTO AttendanceTable(ID, SemesterID, CourseID, HourNumber,
AttendanceStatus)
----VALUES ('CS-1', 1, 1, 1, 1), ('CS-2', 1, 1, 1, 1), ('CS-3', 1, 1, 1, 1), ('CS-
4', 1, 1, 1, 1), ('CS-5', 1, 1, 1, 1), ('CS-6', 1, 1, 1, 1), ('CS-7', 1, 1, 1, 1),
('CS-8', 1, 1, 1, 1), ('EE-10', 1, 1, 1, 1);
----INSERT INTO StudentTable(ID, Name, FatherName, DepartmentID, BID, DOB, Marks,
Status)
----VALUES ('EE-11', 'Hanan', 'Ashraf', 1, 1, '1997-12-17', 50, 0);
----INSERT INTO AttendanceTable(ID, SemesterID, CourseID, HourNumber,
AttendanceStatus)
----VALUES ('EE-11', 1, 1, 1, 1);

----Create View StudentKankorMarks


----As
----Select
----ID As StudentEnrollment,
----Name As StudnetName,
----FatherName As SFatherName,
----Marks As KankorMarks
----From StudentTable
----Go
----Insert into MarksTable(ID, SemesterID, CourseID, TotalObtained)
----Values ('CS-1', 1, 1, 90), ('CS-1', 1, 2, 99), ('CS-1', 1, 3, 90),
---- ('CS-2', 1, 1, 70), ('CS-2', 1, 2, 39), ('CS-2', 1, 3, 50),
---- ('CS-3', 1, 1, 50), ('CS-3', 1, 2, 89), ('CS-3', 1, 3, 70),
---- ('CS-4', 1, 1, 50), ('CS-4', 1, 2, 69), ('CS-4', 1, 3, 87),
---- ('CS-5', 1, 1, 55), ('CS-5', 1, 2, 64), ('CS-5', 1, 3, 47),
---- ('CS-6', 1, 1, 50), ('CS-6', 1, 2, 69), ('CS-6', 1, 3, 42),
---- ('CS-7', 1, 1, 50), ('CS-7', 1, 2, 59), ('CS-7', 1, 3, 57),
---- ('CS-8', 1, 1, 90), ('CS-8', 1, 2, 59), ('CS-8', 1, 3, 47),
---- ('EE-10', 1, 1, 50), ('EE-10', 1, 2, 33), ('EE-10', 1, 3, 87),
---- ('EE-11', 1, 1, 60), ('EE-11', 1, 2, 63), ('EE-11', 1, 3, 87);
----Insert into MarksTable(ID, SemesterID, CourseID, TotalObtained)
----Values ('CS-1', 2, 1, 90), ('CS-1', 2, 2, 99), ('CS-1', 2, 3, 90),
---- ('CS-2', 2, 1, 70), ('CS-2', 2, 2, 39), ('CS-2', 2, 3, 50),
---- ('CS-3', 2, 1, 50), ('CS-3', 2, 2, 89), ('CS-3', 2, 3, 70),
---- ('CS-4', 2, 1, 50), ('CS-4', 2, 2, 69), ('CS-4', 2, 3, 87),
---- ('CS-5', 2, 1, 55), ('CS-5', 2, 2, 64), ('CS-5', 2, 3, 47),
---- ('CS-6', 2, 1, 50), ('CS-6', 2, 2, 69), ('CS-6', 2, 3, 42),
---- ('CS-7', 2, 1, 50), ('CS-7', 2, 2, 59), ('CS-7', 2, 3, 57),
---- ('CS-8', 2, 1, 90), ('CS-8', 2, 2, 59), ('CS-8', 2, 3, 47),
---- ('EE-10', 2, 1, 50), ('EE-10', 2, 2, 33), ('EE-10', 2, 3, 87),
---- ('EE-11', 2, 1, 60), ('EE-11', 2, 2, 63), ('EE-11', 2, 3, 87),

---- ('CS-1', 3, 1, 90), ('CS-1', 3, 2, 99), ('CS-1', 3, 3, 90),


---- ('CS-2', 3, 1, 70), ('CS-2', 3, 2, 39), ('CS-2', 3, 3, 50),
---- ('CS-3', 3, 1, 50), ('CS-3', 3, 2, 89), ('CS-3', 3, 3, 70),
---- ('CS-4', 3, 1, 50), ('CS-4', 3, 2, 69), ('CS-4', 3, 3, 87),
---- ('CS-5', 3, 1, 55), ('CS-5', 3, 2, 64), ('CS-5', 3, 3, 47),
---- ('CS-6', 3, 1, 50), ('CS-6', 3, 2, 69), ('CS-6', 3, 3, 42),
---- ('CS-7', 3, 1, 50), ('CS-7', 3, 2, 59), ('CS-7', 3, 3, 57),
---- ('CS-8', 3, 1, 90), ('CS-8', 3, 2, 59), ('CS-8', 3, 3, 47),
---- ('EE-10', 3, 1, 50), ('EE-10', 3, 2, 33), ('EE-10', 3, 3, 87),
---- ('EE-11', 3, 1, 60), ('EE-11', 3, 2, 63), ('EE-11', 3, 3, 87),

---- ('CS-1', 4, 1, 90), ('CS-1', 4, 2, 99), ('CS-1', 4, 3, 90),


---- ('CS-2', 4, 1, 70), ('CS-2', 4, 2, 39), ('CS-2', 4, 3, 50),
---- ('CS-3', 4, 1, 50), ('CS-3', 4, 2, 89), ('CS-3', 4, 3, 70),
---- ('CS-4', 4, 1, 50), ('CS-4', 4, 2, 69), ('CS-4', 4, 3, 87),
---- ('CS-5', 4, 1, 55), ('CS-5', 4, 2, 64), ('CS-5', 4, 3, 47),
---- ('CS-6', 4, 1, 50), ('CS-6', 4, 2, 69), ('CS-6', 4, 3, 42),
---- ('CS-7', 4, 1, 50), ('CS-7', 4, 2, 59), ('CS-7', 4, 3, 57),
---- ('CS-8', 4, 1, 90), ('CS-8', 4, 2, 59), ('CS-8', 4, 3, 47),
---- ('EE-10', 4, 1, 50), ('EE-10', 4, 2, 33), ('EE-10', 4, 3, 87),
---- ('EE-11', 4, 1, 60), ('EE-11', 4, 2, 63), ('EE-11', 4, 3, 87),

---- ('CS-1', 5, 1, 90), ('CS-1', 5, 2, 99), ('CS-1', 5, 3, 90),


---- ('CS-2', 5, 1, 70), ('CS-2', 5, 2, 39), ('CS-2', 5, 3, 50),
---- ('CS-3', 5, 1, 50), ('CS-3', 5, 2, 89), ('CS-3', 5, 3, 70),
---- ('CS-4', 5, 1, 50), ('CS-4', 5, 2, 69), ('CS-4', 5, 3, 87),
---- ('CS-5', 5, 1, 55), ('CS-5', 5, 2, 64), ('CS-5', 5, 3, 47),
---- ('CS-6', 5, 1, 50), ('CS-6', 5, 2, 69), ('CS-6', 5, 3, 42),
---- ('CS-7', 5, 1, 50), ('CS-7', 5, 2, 59), ('CS-7', 5, 3, 57),
---- ('CS-8', 5, 1, 90), ('CS-8', 5, 2, 59), ('CS-8', 5, 3, 47),
---- ('EE-10', 5, 1, 50), ('EE-10', 5, 2, 33), ('EE-10', 5, 3, 87),
---- ('EE-11', 5, 1, 60), ('EE-11', 5, 2, 63), ('EE-11', 5, 3, 87),

---- ('CS-1', 6, 1, 90), ('CS-1', 6, 2, 99), ('CS-1', 6, 3, 90),


---- ('CS-2', 6, 1, 70), ('CS-2', 6, 2, 39), ('CS-2', 6, 3, 50),
---- ('CS-3', 6, 1, 50), ('CS-3', 6, 2, 89), ('CS-3', 6, 3, 70),
---- ('CS-4', 6, 1, 50), ('CS-4', 6, 2, 69), ('CS-4', 6, 3, 87),
---- ('CS-5', 6, 1, 55), ('CS-5', 6, 2, 64), ('CS-5', 6, 3, 47),
---- ('CS-6', 6, 1, 50), ('CS-6', 6, 2, 69), ('CS-6', 6, 3, 42),
---- ('CS-7', 6, 1, 50), ('CS-7', 6, 2, 59), ('CS-7', 6, 3, 57),
---- ('CS-8', 6, 1, 90), ('CS-8', 6, 2, 59), ('CS-8', 6, 3, 47),
---- ('EE-10', 6, 1, 50), ('EE-10', 6, 2, 33), ('EE-10', 6, 3, 87),
---- ('EE-11', 6, 1, 60), ('EE-11', 6, 2, 63), ('EE-11', 6, 3, 87),

---- ('CS-1', 7, 1, 90), ('CS-1', 7, 2, 99), ('CS-1', 7, 3, 90),


---- ('CS-2', 7, 1, 70), ('CS-2', 7, 2, 39), ('CS-2', 7, 3, 50),
---- ('CS-3', 7, 1, 50), ('CS-3', 7, 2, 89), ('CS-3', 7, 3, 70),
---- ('CS-4', 7, 1, 50), ('CS-4', 7, 2, 69), ('CS-4', 7, 3, 87),
---- ('CS-5', 7, 1, 55), ('CS-5', 7, 2, 64), ('CS-5', 7, 3, 47),
---- ('CS-6', 7, 1, 50), ('CS-6', 7, 2, 69), ('CS-6', 7, 3, 42),
---- ('CS-7', 7, 1, 50), ('CS-7', 7, 2, 59), ('CS-7', 7, 3, 57),
---- ('CS-8', 7, 1, 90), ('CS-8', 7, 2, 59), ('CS-8', 7, 3, 47),
---- ('EE-10', 7, 1, 50), ('EE-10', 7, 2, 33), ('EE-10', 7, 3, 87),
---- ('EE-11', 7, 1, 60), ('EE-11', 7, 2, 63), ('EE-11', 7, 3, 87),

---- ('CS-1', 8, 1, 90), ('CS-1', 8, 2, 99), ('CS-1', 8, 3, 90),


---- ('CS-2', 8, 1, 70), ('CS-2', 8, 2, 39), ('CS-2', 8, 3, 50),
---- ('CS-3', 8, 1, 50), ('CS-3', 8, 2, 89), ('CS-3', 8, 3, 70),
---- ('CS-4', 8, 1, 50), ('CS-4', 8, 2, 69), ('CS-4', 8, 3, 87),
---- ('CS-5', 8, 1, 55), ('CS-5', 8, 2, 64), ('CS-5', 8, 3, 47),
---- ('CS-6', 8, 1, 50), ('CS-6', 8, 2, 69), ('CS-6', 8, 3, 42),
---- ('CS-7', 8, 1, 50), ('CS-7', 8, 2, 59), ('CS-7', 8, 3, 57),
---- ('CS-8', 8, 1, 90), ('CS-8', 8, 2, 59), ('CS-8', 8, 3, 47),
---- ('EE-10', 8, 1, 50), ('EE-10', 8, 2, 33), ('EE-10', 8, 3, 87),
---- ('EE-11', 8, 1, 60), ('EE-11', 8, 2, 63), ('EE-11', 8, 3, 87);
----Create View View_CreditMultipliedMarks
----AS
----Select
----ID,
----M.SemesterID,
----C.CourseID,
----C.CourseCode,
----C.CourseName,
----C.Credits,
----M.TotalObtained,
----(M.TotalObtained * C.Credits) AS MultipiedMarks
----From MarksTable M
---- Inner Join CourseTable C on C.CourseID = M.CourseID;
----Create View View_SemesterPercentage
----AS
----Select
----SemesterID,
----ID,
----Sum(Credits) As TotalCredits,
----Sum(MultipiedMarks) AS TotalGrandMarks,
----Sum(MultipiedMarks)/ Sum(Credits) AS Percentage
----From View_CreditMultipliedMarks
----Group BY SemesterID, ID;

----ALTER View [dbo].[View_CreditMultipliedMarks]


----AS
----Select
----ID,
----C.CourseID,
----M.SemesterID,
----C.CourseCode,
----C.CourseName,
----C.Credits,
----M.TotalObtained,

----CASE WHEN M.TotalObtained >=90 AND M.TotalObtained<=100 THEN


---- 4
---- WHEN M.TotalObtained >=80 AND M.TotalObtained<90 THEN
---- 3
---- WHEN M.TotalObtained >=70 AND M.TotalObtained<80 THEN
---- 2
---- WHEN M.TotalObtained >=55 AND M.TotalObtained<70 THEN
---- 1
---- Else
---- 0
----END Points,
----CASE WHEN M.TotalObtained >=90 AND M.TotalObtained<=100 THEN
---- 4 * C.Credits
---- WHEN M.TotalObtained >=80 AND M.TotalObtained<90 THEN
---- 3 * C.Credits
---- WHEN M.TotalObtained >=70 AND M.TotalObtained<80 THEN
---- 2 * C.Credits
---- WHEN M.TotalObtained >=55 AND M.TotalObtained<70 THEN
---- 1 * C.Credits
---- Else
---- 0 * C.Credits
----END GP,
----CASE WHEN M.TotalObtained >=90 AND M.TotalObtained<=100 THEN
---- 'A'
---- WHEN M.TotalObtained >=80 AND M.TotalObtained<90 THEN
---- 'B'
---- WHEN M.TotalObtained >=70 AND M.TotalObtained<80 THEN
---- 'C'
---- WHEN M.TotalObtained >=55 AND M.TotalObtained<70 THEN
---- 'D'
---- Else
---- 'F'
----END GLetter,

----(M.TotalObtained * C.Credits) AS MultipiedMarks


----From MarksTable M
---- Inner Join CourseTable C on C.CourseID = M.CourseID;
----GO

----ALTER View [dbo].[View_SemesterPercentage]


----AS
----Select
----SemesterID,
----ID,
----Sum(Credits) As TotalCredits,
----Sum(MultipiedMarks) AS TotalGrandMarks,
----Sum(MultipiedMarks)/ Sum(Credits) AS Percentage,
----Sum(Convert(Float,GP))/Sum(Credits) AS SGPA

----From View_CreditMultipliedMarks
----Group BY SemesterID, ID;
----GO

----Create View View_StudentTranscript


----AS
----Select
----S.ID,
----S.Name,
----S.FatherName,
----D.DeptName,
----SEM.SemesterName,
----VC.CourseCode,
----VC.CourseName,
----VC.Credits,
----VC.TotalObtained,
----VC.MultipiedMarks,
----VC.Points,
----VC.GP,
----VC.GLetter,
----SV.TotalCredits,
----SV.TotalGrandMarks,
----SV.Percentage,
----SV.SGPA
----From StudentTable S
---- Inner Join Departments D on D.DepartmentID=S.DepartmentID
---- Inner Join View_CreditMultipliedMarks VC on VC.ID=S.ID
---- Inner Join Semester SEM on Sem.SemesterID=VC.SemesterID
---- Inner Join View_SemesterPercentage SV on SV.ID = S.ID
----Go

-------------------------------------------------------------------------

--Create View HW_ViewTotalPercentage


--AS
--Select
--ID,
--Sum(Credits) As TotalCredits,
--Sum(MultipiedMarks) AS TotalGrandMarks,
--Sum(MultipiedMarks)/ Sum(Credits) AS GeneralPercentage,
--Sum(Convert(Float,GP))/Sum(Credits) AS CGPA
--From View_CreditMultipliedMarks
--GO

--Create View HW_ViewFinalTranscript


--AS
--Select
--S.ID,
--S.Name,
--S.FatherName,
--D.DeptName,
--SV.TotalCredits,
--SV.TotalGrandMarks,
--SV.GeneralPercentage,
--CASE WHEN SV.GeneralPercentage >=90 AND SV.GeneralPercentage<=100 THEN
-- 'A'
-- WHEN SV.GeneralPercentage >=80 AND SV.GeneralPercentage<90 THEN
-- 'B'
-- WHEN SV.GeneralPercentage >=70 AND SV.GeneralPercentage<80 THEN
-- 'C'
-- WHEN SV.GeneralPercentage >=55 AND SV.GeneralPercentage<70 THEN
-- 'D'
-- Else
-- 'F'
--END GPAMark,
--SV.CGPA
--From StudentTable S
-- Inner Join Departments D on D.DepartmentID=S.DepartmentID
-- Inner Join HW_ViewTotalPercentage SV on SV.ID = S.ID
--Go

--Select * From HW_ViewFinalTranscript;

-----------------------------------------------------------------------------------
-------------------
--Declare @ID varchar(50);
--SET @ID = 'CS-3';

--Declare @FinalTranscript Table(


--ID varchar(50),
--Name varchar(50),
--FatherName varchar(50),
--DeptName varchar(50),
--TotalCredits int,
--TotalGrandMarks int,
--GeneralPercentage float,
--GPAMark varchar(20),
--CGPA float);

--Insert into @FinalTranscript


--Select
--@ID,
--S.Name,
--S.FatherName,
--D.DeptName,
--SV.TotalCredits,
--SV.TotalGrandMarks,
--SV.GeneralPercentage,
--CASE WHEN SV.GeneralPercentage >=90 AND SV.GeneralPercentage<=100 THEN
-- 'A'
-- WHEN SV.GeneralPercentage >=80 AND SV.GeneralPercentage<90 THEN
-- 'B'
-- WHEN SV.GeneralPercentage >=70 AND SV.GeneralPercentage<80 THEN
-- 'C'
-- WHEN SV.GeneralPercentage >=55 AND SV.GeneralPercentage<70 THEN
-- 'D'
-- Else
-- 'F'
--END GPAMark,
--SV.CGPA
--From StudentTable S
-- Inner Join Departments D on D.DepartmentID=S.DepartmentID
-- Inner Join HW_ViewTotalPercentage SV on SV.ID = S.ID
--where S.ID = @ID;

--Select * from @FinalTranscript;

-------------------------------------------------------------------

--Create Procedure SP_GetFinalTranscript


--@ID varchar(50)
--AS
--Declare @FinalTranscript Table(
--ID varchar(50),
--Name varchar(50),
--FatherName varchar(50),
--DeptName varchar(50),
--TotalCredits int,
--TotalGrandMarks int,
--GeneralPercentage float,
--GPAMark varchar(20),
--CGPA float);

--Insert into @FinalTranscript


--Select
--@ID,
--S.Name,
--S.FatherName,
--D.DeptName,
--SV.TotalCredits,
--SV.TotalGrandMarks,
--SV.GeneralPercentage,
--CASE WHEN SV.GeneralPercentage >=90 AND SV.GeneralPercentage<=100 THEN
-- 'A'
-- WHEN SV.GeneralPercentage >=80 AND SV.GeneralPercentage<90 THEN
-- 'B'
-- WHEN SV.GeneralPercentage >=70 AND SV.GeneralPercentage<80 THEN
-- 'C'
-- WHEN SV.GeneralPercentage >=55 AND SV.GeneralPercentage<70 THEN
-- 'D'
-- Else
-- 'F'
--END GPAMark,
--SV.CGPA
--From StudentTable S
-- Inner Join Departments D on D.DepartmentID=S.DepartmentID
-- Inner Join HW_ViewTotalPercentage SV on SV.ID = S.ID
--where S.ID = @ID;

--Select *from @FinalTranscript;

EXEC SP_GetFinalTranscript 'CS-1'

You might also like