ในบทความนี้จะขอกล่าวถึงเรื่องของการ สร้าง table และการตั้งค่าต่างๆ (PK,FK) และ การ import file csv ลงใน database โดยใช้ pgAdmin 4 โดยจะเป็นส่วนหนึ่งของการทำงานที่ได้รับมอบหมายในสัปดาห์ที่ 4 ที่อาจารย์ SPN ให้ไปลองใช้ DBMS ตัวอื่น ซึ่งตัวผมได้รับมอบหมายให้ศึกษา PostgreSQL
การออกแบบ Table ของ Group 5
จากการหารือและคุยกันเลยได้ข้อสรุปดังนี้
1. จะมีการทำ tables 3 ตาราง
2. tables ทั้ง 3 มีดังนี้
2.1 student มี attribute ดังนี้
1) stu_id (Primary Key) เป็น PK และเป็นรหัสประจำตัวนักศึกษา
2) f_name เป็นชื่อจริง
3) l_name เป็นชื่อนามสกุล
4) email เป็นอีเมล์
2.2 subject มี attribute ดังนี้
1) sub_id (Primary Key) เป็น PK และเป็นรหัสวิชา
2) sub_name เป็นชื่อวิชา
3) credits เป็นหน่วย
2.3 transcript มี attribute ดังนี้
1) stu_id (Primary Key) เป็น PK และเป็นรหัสนศ. โดยจะมี Foreign key เป็น stu_id ของ table student
2) sub_id (Primary Key) เป็น PK และเป็นรหัสวิชา โดยจะมี Foreign key เป็น sub_id ของ table subject
3) year (Primary Key) เป็น PK และเป็นปีที่ลง
4) semester (Primary Key) เป็น PK และเป็นเทอมที่ลง
5) gpa เป็นเกรดเฉลี่ยนเป็นตัวอักษร
6) comment เป็นข้อความระบุรายละเอียด(ไม่จำเป็น)
โปรแกรม pgAdmin 4
โปรแกรม pgAdmin 4 เป็นโปรแกรมที่ติดมาจากการติดตั้ง PostgreSQL โดยจะเป็นตัวจัดการ Database แบบ GUI ทำให้สามารถทำงานได้อย่างสะดวกสบายมากขึ้น
การสร้าง table ใน pgAdmin 4
เนื่องจากเป็นตัวจัดการ Database แบบ GUI ทำให้มีความสะดวกสบายในการทำงานที่ค่อนข้างสูง โดยเราสามารถที่จะสร้าง table ได้โดยการคลิกขวาที่ หมวด table แล้วเลือก Create ได้ทันที
โดยเมื่อกด Create -> Table แล้วก็จะสามารถใส่รายละเอียดต่างๆดังนี้
ในแถบ Columns จะเป็นการกำหนดค่า attributes ต่างๆ ว่าชื่ออะไร เป็นข้อมูลประเภทไหน สามารถกำหนดความยาวของข้อมูลได้ ตั้งค่า Not NULL? ได้ และตั้งค่าให้เป็น Primary key ของ table นี้ด้วยหรือเปล่า
โดยจะทำเหมือนกันทั้ง 3 tables แต่จะมีความพิเศษตรง table สุดท้ายคือ จะมีการกำหนด Foreign key ที่ชี้ไปยัง table student และ subject ที่เป็น table อ้างอิง โดยวิธีการตั้งค่าส่วนนี้มีดังนี้
ในแถบ Constraints จะมีแถบย่อยๆอีกมากมาย โดยในแถบแรกจะเป็นแถบของ Primary key ซึ่งจะบอกรายละเอียดของ PK ที่มีอยู่ใน table นี้และในแถบ Foreign Key จะเป็นส่วนที่เราต้องการให้คลิกที่แถบนั้น
ในแถบนี้เมื่อกดเครื่องหมายบวกทางขวาจะเป็นการเพิ่ม Foreign key โดยเมื่อกดไปแล้วจะสามารถตั้งค่าได้ดังนี้
โดยในแถบ Columns จะมีช่องว่างให้เติม 3 ช่องก็คือ
Local col. => ที่อยู่ใน table ปัจจุบัน References => table ที่อ้างอิง Referencing => column อ้างอิงของ table ที่เลือก
การ import csv ใน pgAdmin 4
ในการ import นั้นเราจะมีไฟล์ csv ของทั้ง 3 ตารางเรียบร้อยแล้ว
หลังจากนั้นในหมวดหมู่ table ให้เราคลิกขวาแล้วเลือก import/export
หลังจากนั้นจะมีช่องให้ browser file csv แล้วเลือก Encoding ซึ่งที่นี้ใช้ตัว UTF8 และเลือกมี Header
โดยเมื่อกด apply เสร็จแล้วก็สามารถดูข้อมูลได้โดยการใช้ SQL Script
- table => student
- table => subject
- table => transcript