วันจันทร์ที่ 8 เมษายน พ.ศ. 2562

การสร้างฐานข้อมูล MySQL สำหรับ NBLOGIC




โดยสำหรับ Relational Database ที่ใช้เก็บข้อมูลจะมีลักษณะตาม ER Diagram ด้านบน

Student Table


CREATE TABLE `student` (`Student_ID` VARCHAR(13) NOT NULL,
 `Thai_Name` VARCHAR(200) NOT NULL,
 `English_Name` VARCHAR(200) NOT NULL,
 `Sex` VARCHAR(20) NOT NULL,
 `Degree` VARCHAR(200) NOT NULL,
 `Major` VARCHAR(200) NOT NULL,
 `Student_Type` VARCHAR(200) NOT NULL,
 `Program` VARCHAR(250) NOT NULL,
 `Program2` VARCHAR(250) NOT NULL,
 `Main_Course` VARCHAR(250) NOT NULL,
 `Year_Enrolled` VARCHAR(250) NOT NULL,
 `Campus` VARCHAR(250) NOT NULL,
 `Account_Number` VARCHAR(20) NOT NULL,
 `Program_ID` VARCHAR(50) NOT NULL,
 `Student_Status` VARCHAR(20) NOT NULL,
 `Year` VARCHAR(50) NOT NULL,
 `ID_Card` VARCHAR(13) NOT NULL,
 `Birth_Date` VARCHAR(50) NOT NULL,
 `Home_Town` VARCHAR(200) NOT NULL,
 `Height` VARCHAR(50) NOT NULL,
 `Weight` VARCHAR(50) NOT NULL,
 `Blood_Group` VARCHAR(10) NOT NULL,
 `Is_the_child_of` VARCHAR(50) NOT NULL,
 `From_total` VARCHAR(20) NOT NULL,
 `Address` VARCHAR(250) NOT NULL,
 `Address_` VARCHAR(250) NOT NULL,
 `Telephone` VARCHAR(20) NOT NULL,
 `Live_with` VARCHAR(50) NOT NULL,
 `Expense` VARCHAR(50) NOT NULL,
 `Funded_by` VARCHAR(50) NOT NULL,
 PRIMARY KEY (`Student_ID`),
 INDEX `FK_student_program` (`Program_ID`),
 CONSTRAINT `FK_student_program` FOREIGN KEY (`Program_ID`) REFERENCES `program` (`Program_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

Program Table

CREATE TABLE `program` (
 `Name` VARCHAR(200) NULL DEFAULT NULL,
 `Program_id` VARCHAR(50) NOT NULL,
 `Faculty` VARCHAR(200) NOT NULL,
 `Department` VARCHAR(200) NOT NULL,
 PRIMARY KEY (`Program_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

Course Table

CREATE TABLE `course` (
 `Course_id` VARCHAR(50) NOT NULL,
 `Credit_points` INT(11) NULL DEFAULT NULL,
 `Name` VARCHAR(50) NULL DEFAULT NULL,
 PRIMARY KEY (`Course_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

 Attemps Table

เนื่องจากตาราง Attemps นั้นมีความสัมพันธ์แบบ Many-to-many ทำให้เราต้องสร้าง Table ขึ้นมาใหม่แล้วกำหนด Foreign Key จาก Primary Key ของทั้ง 2 ตารางก็คือ Course_id จากตาราง course และ
Student_id จากตาราง student
CREATE TABLE `attemps` (
 `Course_id` VARCHAR(50) NOT NULL,
 `Student_id` VARCHAR(13) NOT NULL,
 `Year` YEAR NOT NULL,
 `Semester` INT(11) NOT NULL,
 `Grade` VARCHAR(10) NOT NULL,
 PRIMARY KEY (`Course_id`, `Year`, `Semester`, `Student_id`),
 INDEX `FK_attemps_student` (`Student_id`),
 CONSTRAINT `FK_attemps_course` FOREIGN KEY (`Course_id`) REFERENCES `course` (`Course_id`),
 CONSTRAINT `FK_attemps_student` FOREIGN KEY (`Student_id`) REFERENCES `student` (`Student_ID`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

Contains Table

เช่นเดียวกันกับตาราง Attemps เราจะต้องสร้าง Table ขึ้นมาใหม่แล้วกำหนด Foreign Key จาก Primary Key ของทั้ง 2 ตารางก็คือ Course_id จากตาราง course และ
Program_id จากตาราง program
CREATE TABLE `contains` (
 `Course_id` VARCHAR(50) NOT NULL,
 `Program_id` VARCHAR(50) NOT NULL,
 INDEX `FK_contains_course` (`Course_id`),
 INDEX `FK_contains_program` (`Program_id`),
 CONSTRAINT `FK_contains_course` FOREIGN KEY (`Course_id`) REFERENCES `course` (`Course_id`),
 CONSTRAINT `FK_contains_program` FOREIGN KEY (`Program_id`) REFERENCES `program` (`Program_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

ไม่มีความคิดเห็น:

แสดงความคิดเห็น