我會建議創建一個數據庫與不同的錶鏈接到學生的主表。
這是表的結構我想創建:
在每個這些我將創建所需的列。
學生表
在學生表中創建一個列如下:
- 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);
你的問題[s]對於我們的QA格式來說太廣泛了。你應該限制你的帖子每個帖子一個問題。另外,請知道人們不會爲你寫你的項目......你必須證明你已經嘗試過了...... – Lix 2012-04-15 14:31:10
爲什麼不啓動該項目,何時/如果遇到問題,請在此處發佈所有詳細信息,其中包括您嘗試過的內容的代碼示例。 – Lix 2012-04-15 14:31:49