2012-04-15 32 views
0

我寫我的網上學生成績項目,該項目將計算成績,要求平均成績點和累積性等級point.the輸出爲:設計的網上學生成績結果

Name: Shakira Abdullahi 
Adm.No: 096784657  
Department: Information Technology 
Semester: 1st semester 
Level: 200 

Course title      Course code Course unit score  Grade 
Computer programming II   Csc 201  3    45  D 
Introduction to file procesing  Csc 204  2    57  C 
Introduction to the internet  Int 201  3    34  F 
Linear algebra II     Mth 205  2    60  B 
Real Analysis I     Mth 207  3    76  A 
Numeric Analysis     Mth 209  2    42  E 
Nigerian people and culture  Gst 201  2    80  A 

Units this session:17 
Units to date:35 
G.P this session:47 
G.P.A last session:3.43 
G.P.A to date:2.87 
Remarks: To repeat Int 201 

Examination grading 
Score(%) grade Grade points  
70-100  A  5 
60-69   B  4 
50-59   C  3 
45-49   D  2 
40-44   E  1 
0-39   F  0 

說明:

  • Units this session:總課程單位此會話
  • Units to date:累積每個會話單元的向上到這個會話
  • G.P this session:總和(各場(等級點x單位))
  • G.P to date:累積每個會話G.P的向上此會話
  • G.P.A last session:平均G.P最後會話
  • G.P.A to date:平均G.P最新。
  • level:我們有多達4級:100,200,300和400

而且什麼是用戶有權訪問結果之前需要有: 名稱,Adm.No,部門,學期和會議。 會議以2010-2011年爲形式。

那麼請你好,我該怎麼做這個項目?我的問題是:

  • 我可以爲此保留一個表嗎?
  • 我該如何處理查詢?
+4

你的問題[s]對於我們的QA格式來說太廣泛了。你應該限制你的帖子每個帖子一個問題。另外,請知道人們不會爲你寫你的項目......你必須證明你已經嘗試過了...... – Lix 2012-04-15 14:31:10

+4

爲什麼不啓動該項目,何時/如果遇到問題,請在此處發佈所有詳細信息,其中包括您嘗試過的內容的代碼示例。 – Lix 2012-04-15 14:31:49

回答

4

我會建議創建一個數據庫與不同的錶鏈接到學生的主表。

這是表的結構我想創建:

  • 學生
  • 課程
  • 分數
  • 分級

在每個這些我將創建所需的列。

學生表

在學生表中創建一個列如下:

  • ID(初級,INT,11,自動增量)
  • 名稱(VARCHAR,256)
  • AdmNo(INT,11)
  • Department(Varchar,256)
  • 學期(可能是與對應的值的ID或一個VARCHAR具有256個字符的最大值)
  • 電平(INT,11)
  • SessionUnits(INT,11)
  • DateUnits(INT,11)
  • ThisGP (INT,11)
  • LastGPA(浮點型)
  • TDGPA(浮點型)
  • 備註(VARCHAR,256)

門課程

  • ID(主,INT,11,自動增量)
  • 名稱(VARCHAR,256)
  • CourseCode(VARCHAR,256)

比分

  • ID(Primary,INT,11,autoincrement)
  • StudentID(ID,11)
  • CourseID(ID,11)
  • 分數(ID,11)
  • CourseUnit(ID,11)
  • 級(VARCHAR,256)

分級

  • ScoreMinPercent(INT,11)
  • ScoreMaxPercent(INT 11)
  • 級(VARCHAR,256)
  • GradePoints(INT 11)

與包括將和值的SQL如下:

CREATE TABLE IF NOT EXISTS `student` (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `Name` varchar(256) NOT NULL, 
    `AdmNo` int(11) NOT NULL, 
    `Department` varchar(256) NOT NULL, 
    `Semester` varchar(256) NOT NULL, 
    `Level` int(11) NOT NULL, 
    `SessionUnits` int(11) NOT NULL, 
    `DateUnits` int(11) NOT NULL, 
    `ThisGP` int(11) NOT NULL, 
    `LastGPA` float NOT NULL, 
    `TDGPA` float NOT NULL, 
    `Remarks` varchar(256) NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 

INSERT INTO `student` (`ID`, `Name`, `AdmNo`, `Department`, `Semester`, `Level`, `SessionUnits`, `DateUnits`, `ThisGP`, `LastGPA`, `TDGPA`, `Remarks`) VALUES 
(1, 'Shakira Abdullahi', 96784657, 'Information Technology', '1st semester', 200, 17, 35, 47, 3.43, 2.87, 'To repeat Int 201'); 

CREATE TABLE IF NOT EXISTS `courses` (
    `ID` int(11) NOT NULL DEFAULT '0', 
    `Name` varchar(256) NOT NULL, 
    `CourseCode` varchar(256) NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

INSERT INTO `courses` (`ID`, `Name`, `CourseCode`) VALUES 
(1, 'Computer programming II', 'Csc 201'), 
(2, 'Introduction to file procesing', 'Csc 204'), 
(3, 'Introduction to the internet', 'Int 201'), 
(4, 'Linear algebra II', 'Mth 205'), 
(5, 'Real Analysis I', 'Mth 207'), 
(6, 'Numeric Analysis', 'Mth 209'), 
(7, 'Nigerian people and culture', 'Gst 201'); 

CREATE TABLE IF NOT EXISTS `scores` (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `StudentID` int(11) NOT NULL, 
    `CourseID` int(11) NOT NULL, 
    `Score` int(11) NOT NULL, 
    `CourseUnit` int(11) NOT NULL, 
    `Grade` varchar(256) NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; 

INSERT INTO `scores` (`ID`, `StudentID`, `CourseID`, `Score`, `CourseUnit`, `Grade`) VALUES 
(1, 1, 1, 45, 3, 'D'), 
(2, 1, 2, 57, 2, 'C'), 
(3, 1, 3, 34, 3, 'F'), 
(4, 1, 4, 60, 2, 'B'), 
(5, 1, 5, 76, 3, 'A'), 
(6, 1, 6, 42, 2, 'E'), 
(7, 1, 7, 80, 2, 'A'); 

CREATE TABLE IF NOT EXISTS `grading` (
    `ScoreMinPercent` int(11) NOT NULL AUTO_INCREMENT, 
    `ScoreMaxPercent` int(11) NOT NULL, 
    `Grade` varchar(256) NOT NULL, 
    `GradePoints` int(11) NOT NULL, 
    PRIMARY KEY (`ScoreMinPercent`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=77 ; 

INSERT INTO `grading` (`ScoreMinPercent`, `ScoreMaxPercent`, `Grade`, `GradePoints`) VALUES 
(40, 44, 'E', 1), 
(45, 49, 'D', 2), 
(50, 59, 'C', 3), 
(60, 69, 'B', 4), 
(70, 100, 'A', 5), 
(71, 39, 'F', 0); 
+0

謝謝你給了我一個見解。 – 2012-04-15 15:27:33

+0

如果這可以幫助你投票並接受它,謝謝 – James 2012-04-15 15:31:09

+0

對我來說這個工作+1 ...只是一個問題:你是甘地嗎? – worenga 2012-04-15 17:04:54