Page 33 - วิศวกรรมซอฟต์แวร์
P. 33
กรณีตัวอย่างโครงการพัฒนาซอฟต์แวร์เช่ารถยนต์ 15-23
เรือ่ งที่ 15.2.2
กรณตี วั อยา่ งการออกแบบฐานข้อมลู
การจัดเก็บข้อมูลสามารถกระท�ำได้หลากหลายวิธี เช่น การจัดเก็บข้อมูลลงบนไฟล์ (flat-file database)
หรือการจัดเก็บข้อมูลลงในระบบจัดการฐานข้อมูล (DBMS) การออกแบบฐานข้อมูลจะเกี่ยวข้องกับการก�ำหนด
ฟอรแ์ มตของขอ้ มลู ทจ่ี ะถกู จดั เกบ็ ในระบบฐานขอ้ มลู และการเสรมิ ประสทิ ธภิ าพฐานขอ้ มลู (database optimization)
โดยปกติแล้วนักออกแบบจะออกแบบฐานข้อมูลให้อยู่ในรูปแบบบรรทัดฐาน (normalization) คือการออกแบบ
ฐานข้อมูลเพ่ือลดปัญหาข้อมูลขัดแย้ง ปัญหาการเพ่ิม ปรับปรุง และลบข้อมูล รวมถึงการประหยัดเน้ือที่จัดเก็บข้อมูล
เพ่ือให้การท�ำงานเป็นไปอย่างมีประสิทธิภาพ ในระบบซอฟต์แวร์ขนาดใหญ่อาจมีความจ�ำเป็นต้องมีการจัดการท�ำให้
ข้อมูลไม่อยู่ในรูปแบบบรรทัดฐาน (denormalization) เนื่องจากการมีจ�ำนวนรีเลชั่นมาก ๆ อาจใช้เวลาในการค้นหา
มากจนเกนิ ไป เป็นต้น
ในการพัฒนาซอฟต์แวร์ระบบเช่ารถยนต์นี้ผู้พัฒนาระบบเลือกจัดเก็บข้อมูลลงในระบบจัดการฐานข้อมูลช่ือ
มายเอสคิวแอล (MySQL) ซึ่งเป็นระบบจัดการฐานข้อมูลที่ได้รับความนิยมในการจัดเก็บข้อมูลที่ถูกใช้โดยโปรแกรม
ประยุกต์บนเว็บ ข้อพิจารณาท่ีส�ำคัญในการออกแบบฐานข้อมูลมีความเก่ียวข้องกับชนิดของข้อมูลท่ีจะถูกจัดเก็บ
ลงบนระบบจัดการฐานข้อมูล รีเลช่ัน การก�ำหนดคีย์ แสดงในตารางท่ี 15.6
ตารางท่ี 15.6 โครงสร้างฐานข้อมูลสำ� หรบั ระบบจัดการฐานขอ้ มูล MySQL
ช่อื รีเลชนั่ ชื่อข้อมูล ชนดิ ของขอ้ มลู
TBL_Client
ส�ำหรับเก็บข้อมูลของลูกค้า ClientID (PK) AUTO_INCREMENT
Security-ID (PK) VARCHAR(10)
TBL_Car Name VARCHAR(10)
ส�ำหรับเก็บข้อมูลรถยนต์ที่ให้เช่า Lastname VARCHAR(20)
บริการ Cellphone VARCHAR(12)
CarID (PK) AUTO_INCREMENT
Type VARCHAR(3)
GpsID VARCHAR(3)
Brand VARCHAR(10)
Register-Plate VARCHAR(7)
Status VARCHAR(1)