หน่วยการเรียนรู้ที่ 1
ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
(Introduction to Database)
1.1
บทนำ(Introduction)
ในปัจจุบันนี้ฐานข้อมูลมีความเกี่ยวข้องกับการดำเนินชีวิตประจำวันของเราเป็นอย่างมาก ซึ่งกล่าวได้ว่า ฐานข้อมูล(Database) เป็นกลุ่มของข้อมูลที่สัมพันธ์กัน โดยมีระบบการจัดการฐานข้อมูล(Database
Management System : DBMS) ซึ่งเป็นซอฟต์แวร์ที่ทำหน้าที่ในการจัดการและควบคุมการเข้าถึงข้อมูลในฐานข้อมูล ในการใช้งานฐานข้อมูล
ผู้ใช้จะใช้งานผ่านโปรแกรมประยุกต์(Database Application) ซึ่งเป็นโปรแกรมที่ติดต่อกับฐานข้อมูลเพื่อใช้ในการประมวลผลให้ได้สารสนเทศที่ต้องการ ตัวอย่างของระบบงานฐานข้อมูลที่เกี่ยวข้องกับชีวิตประจำวันของเรา
การซื้อของจากซูเปอร์มาเก็ต
เมื่อเราซื้อสินค้าจากซูเปอร์มาเก็ต
การเข้าถึงข้อมูลในฐานข้อมูลก็จะเริ่มต้นขึ้นโดยที่พนักงานขายจะใช้เครื่องอ่านบาร์โค้ดอ่านบาร์โค้ดที่ติดกับสินค้าที่เราซื้อ
ซึ่งเชื่อมต่อกับโปรแกรมเพื่อค้นหาราคาสินค้าจากฐานข้อมูลสินค้าและแสดงบนเครื่องคิดเงิน
, ถ้าปริมาณสินค้าในคลังสินค้ามีปริมาณน้อยกว่าปริมาณที่กำหนดให้คงไว้ในคลังสินค้า
ฐานข้อมูลก็จะแสดงรายการสั่งซื้อสินค้ารายการนั้นขึ้นมาอย่างอัตโนมัติ และในกรณีที่ลูกค้าโทรศัพท์มาสั่งซื้อสินค้า
พนักงานก็สามารถตรวจสอบจำนวนสินค้าคงเหลือในคลังจากฐานข้อมูลได้ว่ามีจำนวนเพียงพอที่จะสั่งซื้อได้หรือไม่
เป็นต้น
การซื้อของโดยใช้บัตรเครดิต
เมื่อเราซื้อสินค้าโดยใช้บัตรเครดิต
พนักงานขายก็สามารถตรวจสอบได้ว่าคุณมีวงเงินที่สามารถชำระค่าสินค้าได้หรือไม่ ซึ่งในการตรวจสอบนี้สามารถทำได้โดยการโทรศัพท์ตรวจสอบหรือผ่านเครื่องอ่านบัตรอัตโนมัติที่เชื่อมต่อเข้ากับระบบคอมพิวเตอร์
ไม่ว่าจะเป็นกรณีใดก็ตามก็จะมีฐานข้อมูลเกี่ยวข้องที่ใดที่หนึ่งที่เก็บข้อมูลเกี่ยวกับการซื้อสินค้าที่คุณใช้บัตรเครดิตในการชำระเงิน ในการตรวจสอบวงเงินคงเหลือของคุณนั้น
จะมีโปรแกรมที่ใช้หมายเลขบัตรเครดิตเพื่อตรวจสอบราคาสินค้าที่ลูกค้าต้องการซื้อร่วมกับยอดซื้อทั้งหมดของเดือนว่ายังอยู่ในวงเงินที่กำหนดหรือไม่ เมื่อการซื้อสินค้าถูกยืนยัน
รายละเอียดต่างๆในการซื้อสินค้าก็จะถูกบันทึกไว้ในฐานข้อมูล
การจองตั๋วเครื่องบินผ่านตัวแทนจำหน่าย
เมื่อเราต้องการจองหรือซื้อตั๋วเครื่องบิน
พนักงานขายจะเข้าถึงฐานข้อมูลเพื่อค้นหาที่นั่งว่างที่เหลือของเที่ยวบินที่เราต้องการ
ซึ่งอาจเป็นขาไปและขากลับ
และเมื่อเรายืนยันว่าต้องการซื้อหรือจองที่นั่งที่ต้องการแล้ว
พนักงานก็จะบันทึกรายละเอียดในการจองและข้อมูลของลูกค้าลงในฐานข้อมูล เมื่อถึงวันเวลาเดินทาง
ลูกค้าก็ต้องนำตั๋วเครื่องบินที่ซื้อไว้มาเช็คอิน
พนักงานก็สามารถดึงข้อมูลของลูกค้าขึ้นมาตรวจสอบความถูกต้องได้
การใช้บริการในห้องสมุด
ในห้องสมุดจะมีฐานข้อมูลที่เก็บรายละเอียดต่างๆเกี่ยวกับหนังสือในห้องสมุดไว้
, รายละเอียดของสมาชิก , การจองหนังสือ และการยืมคืนหนังสือ เป็นต้น นอกจากนี้ยังมีโปรแกรมที่แสดงอินเด็กซ์เพื่อให้ผู้อ่านสามารถค้นหาหนังสือที่ต้องการโดยค้นหาตามชื่อเรื่อง
, ชื่อผู้แต่ง หรือ อื่นๆ ได้
การใช้งานอินเทอร์เน็ต
หลายๆเว็บไซต์ในอินเทอร์เน็ตเกี่ยวข้องกับการใช้งานอินเทอร์เน็ต
เช่น เว็บไซต์ขายหนังสือ เราสามารถค้นหาข้อมูลหนังสือประเภทต่างๆ
ที่ต้องการได้
ซึ่งเว็บไซต์เหล่านี้จะมีฐานข้อมูลเก็บไว้ที่เครื่องเซิร์ฟเวอร์
ซึ่งฐานข้อมูลนี้ก็จะจัดเก็บข้อมูลที่เกี่ยวข้องกับหนังสือที่ขาย ,
ข้อมูลในการจัดส่ง , จำนวนที่คงเหลือ และข้อมูลในการสั่งซื้อ เป็นต้น
การเรียนในมหาวิทยาลัย
โดยส่วนใหญ่แล้วในมหาวิทยาลัยจะมีฐานข้อมูลที่จัดเก็บข้อมูลของนักศึกษาทั้งหมดของมหาวิทยาลัย
, ข้อมูลรายวิชาต่างๆ ที่เปิดสอน , ข้อมูลการลงทะเบียนเรียนของนักศึกษา ,
และข้อมูลประวัติการเรียนต่าง ๆ
1.2
ลำดับชั้นของข้อมูล(Hierarchical of
Data)
โดยทั่วไปข้อมูลจะอยู่ในลักษณะที่เป็นลำดับชั้น
โดยเริ่มจากหน่วยของข้อมูลที่มีขนาดเล็กสุดที่คอมพิวเตอร์ใช้ในการประมวลผล(bit) ไปจนถึง ระบบฐานข้อมูล
โดยสามารถเรียงลำดับชั้นของข้อมูลจากเล็กไปถึงขนาดใหญ่ได้ดังนี้
บิต(Bit) คือ
หน่วยของข้อมูลที่เล็กที่สุด ในแต่ละบิตจะเป็นตัวเลขในระบบเลขฐานสอง ประกอบด้วย 0
และ 1 ซึ่งนำมาใช้แทน ระหว่างสองสถานะ เช่น
จริง-เท็จ เปิด-ปิด เป็นต้น เนื่องจากคอมพิวเตอร์ทำงานโดยการส่งกระแสไฟฟ้าเข้ามายังเครื่องคอมพิวเตอร์
ซึ่งอาจจะเป็น เปิด(on) หรือ ปิด(off),แรงดันไฟฟ้าสูง(High-voltage)
หรือ แรงดันไฟฟ้าต่ำ(Low-voltage) จึงนำเลข 0
และ 1 มาแทนสถานะดังกล่าวในการประมวลผลในคอมพิวเตอร์
ไบต์(Byte) หรือ
อักขระ(Character) คือ การนำเอาบิตหลาย ๆ
บิตมาเรียงกันเป็นสายเพื่อแสดงแทนข้อมูล แต่เนื่องจากคอมพิวเตอร์เข้าใจเพียงเลข 0
และเลข 1 เท่านั้นถ้าต้องการให้คอมพิวเตอร์รูปจักอักขระตัวอักษร
A,B….,Z จะต้องมีการเอาเลข 0 และเลข 1
มาเรียงต่อกันเป็นรหัสแทนอักขระ โดยปกติ 1 ตัวอักขระจะมีความยาว
8 บิต ซึ่งเท่ากับ 1 ไบต์ จำนวนบิตที่นำมาเรียงต่อกันเป็นไบต์นี้แตกต่างกันไปตามรหัสแทนข้อมูล
รหัสแทนข้อมูลที่ใช้กันแพร่หลายมี 2 ระบบคือ รหัสเอบซีดิก (EBCDIC)
และรหัสแอสกี (ASCII) ใช้ 8 บิต รวมกันเป็น 1 ไบต์ โดย 1 ไบต์
จะใช้แทนอักขระ 1 ตัว
เขตข้อมูล(Field) คือกลุ่มของอักขระที่สัมพันธ์กัน ตั้งแต่ 1 ตัวขึ้นไปที่นำมารวมกันแล้วแสดงลักษณะหรือความหมายอย่างใดอย่างหนึ่ง
ตัวอย่างของเขตข้อมูล เช่น ชื่อ , ที่อยู่, หมายเลขบัตรประจำตัว เป็นต้น เขตข้อมูลแต่ละเขตข้อมูลยังแยกออกเป็นประเภทข้อมูล ซึ่งจะบ่งบอกว่าในเขตข้อมูลนั้นบรรจุข้อมูลประเภทใดไว้
สามารถแยกประเภทของเขตข้อมูลได้เป็น 3 ประเภท ตัวอย่างของเขตข้อมูล
เช่น ชื่อ , ที่อยู่, หมายเลขบัตรประจำตัว
เป็นต้น
ระเบียน(Record) เป็นกลุ่มของเขตข้อมูลที่สัมพันธ์กัน
ตัวอย่างของระเบียน เช่น ชื่อและที่อยู่และหมายเลขบัตรประจำตัว เป็นต้น
แฟ้ม(File) เป็นกลุ่มของระเบียนที่สัมพันธ์กัน
ตัวอย่างของแฟ้ม เช่น
ข้อมูลของพนักงานทุกคนที่ทำงานในแผนกเดียวกันของบริษัทที่ประกอบด้วย ชื่อ, ที่อยู่ และหมายเลขประจำตัวของพนักงานทุกคน เป็นต้น
ฐานข้อมูล(Database) เป็นกลุ่มของแฟ้มข้อมูลที่สัมพันธ์กัน
ตัวอย่างเช่น ฐานข้อมูลของบริษัท ประกอบด้วยแฟ้มข้อมูลของพนักงานทั้งพนักงานเก่าและพนักงานที่ทำงานอยู่ในปัจจุบันในทุกแผนกของบริษัท
ซึ่งพนักงานแต่ละคนก็จะเกี่ยวข้องกับแฟ้มต่าง ๆ เช่น การจ่ายเงินเดือน , เงินบำเหน็จบำนาญ เป็นต้น ฐานข้อมูลมีทั้งฐานข้อมูลขนาดเล็กที่เก็บและใช้งานบนเครื่องคอมพิวเตอร์ส่วนตัว
ไปจนถึงฐานข้อมูลขนาดใหญ่ ที่เป็นแบบออนไลน์(online)
1.3
ระบบแฟ้มข้อมูล(File System)
การจัดเก็บข้อมูลด้วยระบบแฟ้มข้อมูลเป็นรูปแบบการจัดเก็บข้อมูลแบบดั้งเดิมที่นิยมใช้กันเมื่อคอมพิวเตอร์ถูกใช้เป็นเครื่องมือในการจัดเก็บและประมวลผลสารสนเทศในยุคเริ่มต้น
การศึกษารูปแบบการประมวลผลแบบแฟ้มข้อมูลจะทำให้เห็นถึงข้อบกพร่องต่างๆ
ที่เป็นสาเหตุให้การจัดเก็บข้อมูลแบบฐานข้อมูลได้รับความนิยมขึ้นมาแทนที่การจัดเก็บข้อมูลแบบแฟ้มข้อมูล
1.3.1
การประมวลผลแบบแฟ้มข้อมูล
ระบบแฟ้มข้อมูล(File-based
system) คือ ชุดของโปรแกรมประยุกต์ที่ให้ผู้ใช้ใช้เพื่อประมวลผลงานที่ต้องการ
โดยแต่ละโปรแกรมก็จะกำหนดและจัดการข้อมูลของตนเอง
รูปที่ 1.1
ลำดับชั้นของข้อมูล
ระบบแฟ้มข้อมูลเป็นรูปแบบการจัดเก็บข้อมูลแบบคอมพิวเตอร์ที่เข้ามาแทนที่การจัดเก็บข้อมูลด้วยเอกสารแบบเก่า
ระบบแฟ้มข้อมูลถูกพัฒนาขึ้นเพื่อตอบสนองความต้องการของงานอุตสาหกรรมเพื่อให้การเข้าถึงข้อมูลมีประสิทธิภาพขึ้น
เพื่อให้เข้าใจรูปแบบการจัดเก็บข้อมูลแบบแฟ้มมากขึ้น
ขอให้พิจารณาตัวอย่างต่อไปนี้
ฝ่ายขายได้รับมอบหมายให้มีหน้าที่ในการขายหรือให้เช่าสิ่งปลูกสร้าง ยกตัวอย่างเช่น เมื่อลูกค้าทาบทามให้ฝ่ายขายหาสิ่งปลูกสร้างที่มีทำเลที่ตั้งเหมาะการประกอบธุรกิจหรืออยู่อาศัยเพื่อเช่า ฝ่ายขายก็จะค้นหาข้อมูลสิ่งปลูกสร้างจากเอกสารที่เคยให้ข้อมูลไว้ของเจ้าของสิ่งปลูกสร้างดังรูปที่
1.2(ก)
ลูกค้าจะต้องป้อนข้อมูลในแบบฟอร์มของฝ่ายดังรูปที่ 1.2(ข)
ด้วยการสนับสนุนจากฝ่ายประมวลผลข้อมูล(Data
Processing : DP) ทำให้ฝ่ายขายสามารถสร้างระบบสารสนเทศที่จัดการข้อมูลการเช่าสิ่งปลูกสร้าง
ระบบนี้ประกอบด้วยแฟ้ม 3 แฟ้มดังนี้ แฟ้มสิ่งปลูกสร้าง , แฟ้มเจ้าของ และลูกค้า ดังรูปที่ 1.3
ฝ่ายประสานงานรับผิดชอบในการจัดการสัญญาเช่า เมื่อลูกค้าตกลงเช่าสิ่งปลูกสร้าง
ก็จะมีการป้อนรายละเอียดในการเช่าลงเอกสารดังรูปที่ 1.4 เอกสารนี้จะถูกส่งมายังฝ่ายประสานงานเพื่อกำหนดหมายเลขการเช่า
, ค่าเช่า และช่วงเวลาในการเช่าอีกครั้ง
ด้วยการช่วยเหลือจากฝ่ายประมวลผลข้อมูลทำให้ฝ่ายประสานงานสามารถสร้างระบบสารสนเทศในการจัดการสัญญาเช่า ระบบนี้ประกอบด้วยแฟ้ม 3 แฟ้ม
คือ การเช่า , สิ่งปลูกสร้าง และข้อมูลลูกค้า
ซึ่งมีการเก็บข้อมูลคล้ายกับข้อมูลของฝ่ายขาย ดังรูปที่ 1.5
สิ่งปลูกสร้างที่ให้เช่า
รหัสสิ่งปลูกสร้าง
|
ที่อยู่
|
จังหวัด
|
รหัสไปรษณีย์
|
ประเภท
|
จำนวนห้อง
|
ค่าเช่า
|
รหัสเจ้าของ
|
UB15
|
16 ถ.ชยางกูร
|
อุบลราชธานี
|
34000
|
บ้าน
|
6
|
3000
|
C046
|
NK55
|
6 ถ.โพนพิสัย
|
หนองคาย
|
44000
|
แฟลต
|
4
|
2000
|
C087
|
UD36
|
6 ถ.ทหาร
|
อุดรธานี
|
41000
|
แฟลต
|
3
|
1500
|
C040
|
UD21
|
2 ถ.ศรีชมชื่น
|
อุดรธานี
|
41000
|
แฟลต
|
3
|
1800
|
C093
|
UD16
|
18 ถ.อุดรดุษฎี
|
อุดรธานี
|
41000
|
บ้าน
|
5
|
2500
|
C087
|
UD88
|
5 ถ.อดุลยเดช
|
อุดรธานี
|
41000
|
แฟลต
|
4
|
2200
|
C093
|
เจ้าของ
รหัสเจ้าของ
|
ชื่อ
|
นามสกุล
|
ที่อยู่
|
โทรศัพท์
|
C046
|
จิระศักดิ์
|
เลิศชัย
|
2 ถ.ชยางกูร อ.เมือง
จ.อุบลฯ
|
045312703
|
C087
|
ยุบล
|
นาคราช
|
6 ถ.โพนพิสัย จ.หนองคาย
|
042456789
|
C040
|
แจ่มศรี
|
อุ่นรัตนะ
|
88/52 ถ.ศรีชมชื่น จ.อุดรธานี
|
042244505
|
C093
|
คุณาวุฒิ
|
บุญกว้าง
|
12 ถ.อุดรดุษฎี อ.เมือง
จ.อุดรธานี
|
042211040
|
รูปที่ 1.3 แฟ้มข้อมูลที่ใช้ในฝ่ายขาย
ลูกค้าที่ต้องการเช่า
รหัสลูกค้า
|
ชื่อ
|
นามสกุล
|
ที่อยู่
|
โทรศัพท์
|
ประเภทที่ต้องการ
|
ค่าเช่าสูงสุด/ด.
|
CR76
|
นิพล
|
สังสุทธิ
|
77 ถ.ผาแดง จ.อุบลฯ
|
045355778
|
แฟลต
|
2500
|
CR56
|
อารีรัตน์
|
บุญทอง
|
64 ถ.ทหาร จ.อุดรฯ
|
042255118
|
แฟลต
|
1500
|
CR74
|
ปราการ
|
พิพัฒน์
|
48/7 ถ.อุดรดุษฎี จ.อุดรฯ
|
042325597
|
บ้าน
|
4000
|
CR62
|
รำไพ
|
ทองอ่อน
|
66 ถ.อโศก กทม.
|
022556688
|
แฟลต
|
3000
|
รูปที่ 1.3 แฟ้มข้อมูลที่ใช้ในฝ่ายขาย(ต่อ)
รูปที่ 1.4 เอกสารรายละเอียดการเช่าที่ใช้ในฝ่ายประสานงาน
การเช่า
รหัสการเช่า
|
รหัสสิ่งปลูกสร้าง
|
รหัสลูกค้า
|
ค่าเช่า
|
วิธีชำระเงิน
|
ค่าเช่าล่วงหน้า
|
การชำระ
|
วันที่เริ่มเช่า
|
วันที่สิ้นสุด
|
ระยะ เวลา(ด)
|
10024
|
UB15
|
CR62
|
3000
|
บัตรVISA
|
6000
|
Y
|
1 มิย. 47
|
31
พค. 48
|
12
|
10075
|
NK55
|
CR76
|
2000
|
เงินสด
|
4000
|
N
|
1 สค. 47
|
31 มค. 48
|
6
|
10012
|
UD16
|
CR74
|
2500
|
เช็ค
|
2500
|
Y
|
1 กค. 47
|
30 มิย. 48
|
12
|
สิ่งปลูกสร้างที่ให้เช่า
รหัสสิ่งปลูกสร้าง
|
ที่อยู่
|
จังหวัด
|
รหัสไปรษณีย์
|
ค่าเช่า
|
UB15
|
16 ถ.ชยางกูร
|
อุบลราชธานี
|
34000
|
3000
|
NK55
|
6 ถ.โพนพิสัย
|
หนองคาย
|
44000
|
2000
|
UD16
|
18 ถ.อุดรดุษฎี
|
อุดรธานี
|
41000
|
2500
|
รูปที่ 1.5 แฟ้มข้อมูลที่ใช้ในฝ่ายประสานงาน
ลูกค้า
รหัสลูกค้า
|
ชื่อ
|
นามสกุล
|
ที่อยู่
|
โทรศัพท์
|
CR76
|
นิพล
|
สังสุทธิ
|
77 ถ.ผาแดง จ.อุบลฯ
|
045355778
|
CR74
|
ปราการ
|
พิพัฒน์
|
48/7 ถ.อุดรดุษฎี จ.อุดรฯ
|
042325597
|
CR62
|
รำไพ
|
ทองอ่อน
|
66 ถ.อโศก กทม.
|
022556688
|
รูปที่ 1.5 แฟ้มข้อมูลที่ใช้ในฝ่ายประสานงาน(ต่อ)
รูปที่ 1.6 รูปแบบการประมวลผลแบบแฟ้มข้อมูล
จากรูปที่ 1.6
แสดงการเข้าถึงแฟ้มข้อมูลของตนเองผ่านโปรแกรมประยุกต์ที่เขียนขึ้นเพื่อใช้งานเฉพาะของตนเอง โปรแกรมประยุกต์ของแต่ละฝ่ายจะจัดการข้อมูลนำเข้า
, การบำรุงรักษาแฟ้มข้อมูล และการออกรายงานเฉพาะที่ต้องการของตนเอง ในการประมวลผลแบบแฟ้มข้อมูลนั้น
โครงสร้างข้อมูลทางกายภาพและการจัดเก็บข้อมูลของแฟ้มจะถูกกำหนดไว้ในส่วนรหัสโปรแกรม
พิจารณาอีกตัวอย่างที่คล้ายกัน
เช่น ฝ่ายบัญชีมีการจัดเก็บข้อมูลที่เกี่ยวกับการจ่ายเงินเดือนให้กับพนักงานดังนี้
แฟ้มเงินเดือนพนักงาน(รหัสพนักงาน,ชื่อ,นามสกุล,เพศ,เงินเดือน,รหัสสาขา)
ฝ่ายบุคคลากรมีการจัดเก็บข้อมูลเกี่ยวกับพนักงาน
แฟ้มพนักงาน(รหัสพนักงาน
,ชื่อ ,นามสกุล ,ตำแหน่ง,เพศ ,วันเกิด,เงินเดือน,รหัสสาขา)
จะเห็นได้ชัดว่ามีข้อมูลที่ซ้ำกันในแต่ละฝ่าย
ซึ่งโดยทั่วไปแล้วมักจะเกิดขึ้นในระบบแฟ้มข้อมูล
1.3.2
ข้อจำกัดของการประมวลผลแบบแฟ้มข้อมูล
ในการประมวลผลข้อมูลแบบแฟ้มข้อมูลก่อให้เกิดข้อจำกัดในการปัญหาด้านต่าง
ๆ ดังต่อไปนี้
ข้อมูลถูกแบ่งและแยกไว้คนละไฟล์
เมื่อข้อมูลถูกแบ่งและแยกให้อยู่คนละไฟล์
การเข้าถึงข้อมูลจึงเป็นไปได้ยาก
ยกตัวอย่างเช่น ถ้าเราต้องการแสดงรายการบ้านที่ตรงกับความต้องการของลูกค้า อันดับแรกต้องทำการสร้างแฟ้มชั่วคราวซึ่งมีข้อมูลลูกค้าที่มีความต้องการสิ่งปลูกสร้างประเภท”บ้าน”โดยดึงข้อมูลมาจากแฟ้มลูกค้าที่ต้องการเช่า
หลังจากนั้นทำการค้นหาข้อมูลสิ่งปลูกสร้างประเภท”บ้าน”ในแฟ้มสิ่งปลูกสร้างที่ให้เช่าและมีค่าเช่า/เดือนไม่เกินค่าเช่าสูงสุดที่ลูกค้ากำหนด
สำหรับระบบแฟ้มข้อมูลนี้ทำให้การประมวลผลดังกล่าวทำได้ยาก
ผู้พัฒนาโปรแกรมต้องประมวลผลแฟ้มข้อมูลจากทั้งสองแฟ้มในเวลาเดียวกันและคำนึงถึงความถูกต้องของข้อมูลด้วย
ข้อมูลมีความซ้ำซ้อนกัน
เนื่องจากแต่ละฝ่ายก็จะมีระบบแฟ้มข้อมูลที่ประมวลผลงานของตนเอง
จึงทำให้ไม่สามารถควบคุมความซ้ำซ้อนของข้อมูลได้
ยกตัวอย่างเช่น พิจารณารูปที่ 1.5 แฟ้มข้อมูลที่ใช้ในฝ่ายขาย
และแฟ้มข้อมูลของฝ่ายประสานงาน
จะเห็นว่ามีแฟ้มสิ่งปลูกสร้างที่ให้เช่าและแฟ้มลูกค้าซ้ำซ้อนกันในทั้งฝ่ายขายและฝ่ายประสานงาน
การที่ไม่มีการควบคุมความซ้ำซ้อนของข้อมูลทำให้เกิดปัญหาต่างๆ ดังนี้
§ ทำให้สิ้นเปลืองเงินและเวลาสำหรับการใช้งานข้อมูลที่มีอยู่ในหลายแฟ้ม
§ ทำให้สิ้นเปลืองพื้นที่ในการจัดเก็บข้อมูล
§ ทำให้ขาดความคงสภาพของข้อมูล(Integrity) หรือกล่าวว่าข้อมูลไม่ต้องกัน(Inconsistency) ยกตัวอย่างเช่น พิจารณาข้อมูลที่ซ้ำซ้อนกันระหว่างฝ่ายบัญชีและฝ่ายบุคคลากรที่เคยยกตัวอย่างไปก่อนหน้านี้
สมมุติว่ามีพนักงานคนหนึ่งย้ายที่อยู่ใหม่แล้วมีการเปลี่ยนข้อมูลที่อยู่เฉพาะในแฟ้มข้อมูลของฝ่ายบุคคลากรเท่านั้น
เมื่อฝ่ายบัญชีออกใบแจ้งรายการจ่ายเงินเดือนให้กับพนักงานคนดังกล่าวแล้วส่งไปยังที่อยู่ที่ปรากฏในแฟ้มข้อมูลของฝ่ายบัญชีซึ่งเป็นข้อมูลที่ไม่ถูกต้อง
มีความขึ้นต่อกันของข้อมูล
โครงสร้างและการจัดเก็บข้อมูลของแฟ้มข้อมูลและรายการข้อมูลต่างๆถูกกำหนดไว้ในโปรแกรมประยุกต์
หมายความว่าการแก้ไขโครงสร้างแฟ้มข้อมูลทำได้ยาก ตัวอย่างเช่น ต้องการเพิ่มขนาดข้อมูลของฟิลด์ “ที่อยู่” ของแฟ้มสิ่งปลูกสร้างที่ให้เช่า จากขนาด 50 ตัวอักษร
ให้เพิ่มขึ้นเป็น 60 ตัวอักษร
ซึ่งดูเหมือนเป็นการเปลี่ยนแปลงที่ไม่ยาก
แต่ในทางปฏิบัติแล้วมีขั้นตอนที่ยุ่งยากดังนี้
§ เปิดแฟ้มสิ่งปลูกสร้างขึ้นมาอ่าน
§ เปิดแฟ้มชั่วคราวเพื่อสร้างโครงสร้างใหม่
§ อ่านรายการข้อมูลจากแฟ้มต้นฉบับ แปลงข้อมูลไปสู่โครงสร้างใหม่และเขียนข้อมูลลงในแฟ้มชั่วคราว ทำซ้ำกันจนครบทุกรายการข้อมูลในแฟ้มต้นฉบับ
§ ลบแฟ้มข้อมูลสิ่งปลูกสร้างที่ให้เช่าซึ่งเป็นแฟ้มต้นฉบับ
§ เปลี่ยนชื่อแฟ้มชั่วคราวเป็น
“สิ่งปลูกสร้างที่ให้เช่า” แทน
นอกจากนี้แล้ว
ทุกโปรแกรมที่มีการเข้าถึงข้อมูลในแฟ้ม “สิ่งปลูกสร้างที่ให้เช่า” ต้องปรับปรุงให้โครงสร้างใหม่ให้ตรงกัน
ดังนั้นโปรแกรมเมอร์ต้องตรวจดูทุกโปรแกรมที่เกี่ยวข้องกับข้อมูลดังกล่าวและแก้ไขให้ถูกต้อง
หลังจากนั้นต้องทดสอบโปรแกรมดังกล่าวหลังการแก้ไข ทำให้เสียเวลา คุณลักษณะของระบบแฟ้มข้อมูลแบบนี้เรียกอีกอย่างว่า
การขึ้นต่อกันระหว่างโปรแกรมและข้อมูล(Program – Data dependence)
รูปแบบข้อมูลไม่ตรงกัน
เนื่องจากโครงสร้างข้อมูลจะถูกฝังไว้ในส่วนของโปรแกรมประยุกต์
ทำให้โครงสร้างแฟ้มข้อมูลขึ้นอยู่กับภาษาการเขียนโปรแกรมของโปรแกรมประยุกต์ ตัวอย่างเช่น โครงสร้างของแฟ้มข้อมูลที่สร้างด้วยภาษา COBOL ก็จะแตกต่างจากโครงสร้างแฟ้มที่สร้างด้วยภาษา C จากโครงสร้างที่แตกต่างกันทำให้การใช้ข้อมูลร่วมกันทำได้ยาก
ยกตัวอย่างเช่น
ฝ่ายประสานงานต้องการค้นหาชื่อและที่อยู่ของเจ้าของบ้านที่ถูกเช่าไปแล้วในปัจจุบัน โชคไม่ดีที่ฝ่ายประสานงานไม่มีแฟ้มข้อมูลเกี่ยวกับเจ้าของบ้าน
ซึ่งมีอยู่ในเฉพาะฝ่ายขายเท่านั้น
อย่างไรก็ตามฝ่ายประสานงานก็มีข้อมูล “รหัสสิ่งปลูกสร้าง” ซึ่งสามารถนำไปใช้ในการค้นหา
รหัสสิ่งปลูกสร้างที่ตรงกันในแฟ้มข้อมูล”สิ่งปลูกสร้างที่ให้เช่า” ของฝ่ายขายได้ และในแฟ้มดังกล่าวมีข้อมูล “รหัสเจ้าของ”
ซึ่งสามารถนำไปใช้ค้นหาข้อมูลเจ้าของได้ในแฟ้ม “เจ้าของ” ของฝ่ายขายได้
แต่ปัญหาคือโปรแกรมที่ใช้งานในฝ่ายประสานงานพัฒนาด้วยภาษา COBOL และในฝ่ายขายพัฒนาโดยภาษา C ดังนั้นในการจับคู่ข้อมูลสิ่งปลูกสร้างที่ตรงกันในแฟ้ม
“สิ่งปลูกสร้างที่ให้เช่า”
ของทั้งสองฝ่าย
โปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่อแปลงรูปแบบแฟ้มข้อมูลให้อยู่ในรูปแบบที่ง่ายในการประมวลผล
ซึ่งจะทำให้เสียเวลาและเสียค่าใช้จ่ายเพิ่มขึ้น
โปรแกรมที่ใช้งานคงที่ไม่มีความยืดหยุ่น
โปรแกรมประยุกต์ที่ใช้งานในระบบแฟ้มข้อมูลจะประมวลผลให้รายงานเฉพาะที่กำหนดไว้โดยผู้เขียนโปรแกรมเท่านั้น
ทำให้ไม่สามารถแสดงรายงานที่ต้องการโดยรายงานดังกล่าวเป็นรายงานที่ไม่ได้มีการวางแผนให้มีในโปรแกรมที่สร้างขึ้น
หากต้องการได้รายงานดังกล่าวนั้นต้องทำการเขียนโปรแกรมขึ้นมาเพื่อประมวลผลใหม่ ทำให้ไม่สะดวกและสิ้นเปลืองถ้ารายงานนั้นไม่ได้มีการใช้บ่อยครั้ง
จากสาเหตุที่กล่าวมาทั้งหมดข้างต้น
จะเห็นรูปแบบการประมวลผลแบบแฟ้มข้อมูล
จึงไม่ใช่ทางเลือกที่ดีในการจัดเก็บและประมวลผลข้อมูล
ดังนั้นควรพิจารณาวิธีการหรือทางเลือกอื่นในการทำงาน
1.4
ฐานข้อมูล(Database)
จากข้อจำกัดต่างๆ
ที่เกิดจากการประมวลผลแบบแฟ้มข้อมูลที่กล่าวไว้ในหัวข้อที่แล้ว เป็นผลมาจากปัจจัย 2 อย่างดังนี้
§ การนิยามข้อมูลถูกฝังรวมไว้กับโปรแกรมประยุกต์
แทนที่จะถูกแยกเก็บไว้ต่างหากอย่างอิสระ
§ ไม่มีการควบคุมการเข้าถึงข้อมูลและการจัดการข้อมูล
นอกเหนือจากที่กำหนดเอาไว้ในโปรแกรมประยุกต์
เพื่อให้ประสิทธิภาพในการประมวลผลงานมีประสิทธิภาพมากขึ้น
จึงมีการวิธีการใหม่ที่เรียกว่า ฐานข้อมูล(Database) ขึ้นมา
ในส่วนนี้จะกล่าวถึงความหมายของฐานข้อมูลและระบบการจัดการฐานข้อมูล(Database
Management System : DBMS) และส่วนประกอบที่สำคัญในระบบการจัดการฐานข้อมูล
1.4.1
นิยามของฐานข้อมูล
ฐานข้อมูล(Database) หมายถึง แหล่งเก็บข้อมูล
ซึ่งสามารถให้ผู้ใช้หลายคนสามารถใช้งานร่วมกันได้
แทนที่จะแยกเก็บข้อมูลแยกออกจากกันไว้คนละแฟ้ม
และมีข้อมูลที่ซ้ำซ้อนกันอย่างเช่นระบบแฟ้มข้อมูล
ฐานข้อมูลจะมีการจัดเก็บข้อมูลต่างๆ ไว้ด้วยกันโดยให้มีข้อมูลที่ซ้ำซ้อนกันน้อยที่สุด
ฐานข้อมูลจะไม่มีฝ่ายใดฝ่ายหนึ่งเป็นเจ้าของแต่ผู้เดียวแต่จะมีการแบ่งปันข้อมูลร่วมกันทั้งองค์กร ฐานข้อมูลไม่ได้มีหน้าที่จัดเก็บข้อมูลอย่างเดียวแต่ยังมีหน้าที่ในการอธิบายความหมายของรายการข้อมูลที่เก็บอยู่ในฐานข้อมูลด้วย ซึ่งเรียกส่วนที่ใช้อธิบายข้อมูลนี้ว่า
บัญชีระบบ(System catalog) หรือ พจนานุกรมของข้อมูล(Data
dictionary) หรือ เมตาดาต้า(Meta-data)
ซึ่งหมายถึง ข้อมูลของข้อมูล
คุณลักษณะดังกล่าวทำให้ฐานข้อมูลมีความเป็นอิสระต่อกันระหว่างโปรแกรมและข้อมูล(Program-Data
independence)
ในการทำงานของระบบฐานข้อมูลนี้
โครงสร้างของข้อมูลจะถูกแยกออกจากโปรแกรมประยุกต์และเก็บเอาไว้ในฐานข้อมูล
ถ้ามีการเพิ่มหรือปรับปรุงโครงสร้างของข้อมูลก็จะไม่มีผลกระทบกับโปรแกรมประยุกต์ ตัวอย่างเช่น หากต้องการเพิ่มฟิลด์ข้อมูลใหม่
หรือต้องการสร้างแฟ้มข้อมูลใหม่
โปรแกรมประยุกต์ที่เคยใช้งานอยู่ก็ไม่มีผลกระทบใด ๆ
แต่ถ้าต้องการลบฟิลด์ข้อมูลออกจากแฟ้มข้อมูล
ซึ่งฟิลด์ข้อมูลดังกล่าวถูกใช้งานโดยโปรแกรมประยุกต์
ก็ต้องมีการปรับปรุงที่โปรแกรมประยุกต์เพื่อความเหมาะสม
1.4.2
ระบบการจัดการฐานข้อมูล
ระบบการจัดการฐานข้อมูล(Database
Management System : DBMS) คือ ซอฟต์แวร์ที่ทำงานประสานกับผู้ใช้
เพื่อให้ผู้ใช้สามารถกำหนด สร้าง
บำรุงรักษา และควบคุมการใช้งานข้อมูลในฐานข้อมูล โดยทั่วไปมีลักษณะดังนี้
§ ผู้ใช้สามารถนิยามฐานข้อมูล
ผ่านส่วนที่เรียกว่า “ภาษาในการนิยามข้อมูล(Data Definition : DDL)” ซึ่งให้ผู้ใช้สามารถกำหนดชนิดข้อมูลและโครงสร้างและข้อกำหนดต่างๆ
ให้กับข้อมูลที่จะเก็บในฐานข้อมูล
§ ผู้ใช้สามารถเพิ่ม แก้ไข
ลบ และค้นคืนข้อมูลจากฐานข้อมูลได้
ผ่านส่วนที่เรียกว่า “ภาษาในการจัดการข้อมูล(Data Manipulation Language : DML) เนื่องจากมีคลังส่วนกลางที่เก็บข้อมูลทั้งหมดและส่วนอธิบายข้อมูล
ซึ่งทำให้ DML มีส่วนที่สามารถสอบถามข้อมูลจากฐานข้อมูลได้
เรียกว่า “ภาษาสอบถามข้อมูล(Query language)”
§ สามารถควบคุมการเข้าถึงข้อมูลในฐานข้อมูล
เช่น
-
ระบบรักษาความปลอดภัย
ซึ่งจะช่วยป้องกันไม่ผู้ที่ไม่มีสิทธ์เข้าถึงข้อมูลในฐานข้อมูล
-
ระบบรักษาความคงสภาพ
ซึ่งจะช่วยรักษาความต้องกันของข้อมูลที่เก็บไว้
-
ระบบควบคุมภาวะพร้อมกัน
ซึ่งจะยอมให้สามารถใช้ข้อมูลร่วมกันได้
-
ระบบกู้คืนข้อมูล
ซึ่งจะช่วยกู้ข้อมูลที่เสียหายจากความเสียหายที่เกิดจากซอฟต์แวร์และฮาร์ดแวร์ให้คงสภาพเดิม
-
มีส่วนอธิบายข้อมูลในฐานข้อมูลที่ให้ผู้ใช้สามารถใช้งานได้
รูปที่ 1.7 การประมวลผลด้วยฐานข้อมูล
จากรูปที่ 1.7 เป็นรูปแบบการประมวลผลแบบฐานข้อมูล
ที่แสดงให้เห็นการใช้งานโปรแกรมประยุกต์ของฝ่ายขายและฝ่ายประสานงานเพื่อเข้าถึงข้อมูลในฐานข้อมูลผ่านระบบการจัดการฐานข้อมูล(DBMS) ซึ่งโปรแกรมประยุกต์ของแต่ละฝ่ายก็จะจัดการข้อมูลนำเข้า
, การบำรุงรักษาข้อมูล และสร้างรายงาน เมื่อเปรียบเทียบกับระบบแฟ้มข้อมูล
จะเห็นว่าโครงสร้างทางกายภาพและการจัดเก็บข้อมูลจะถูกจัดการโดยระบบการจัดการฐานข้อมูล(DBMS)
1.4.3
องค์ประกอบของการใช้งานระบบการจัดการฐานข้อมูล
ในการใช้งานระบบการจัดการฐานข้อมูลมีองค์ประกอบ
5 ส่วน ได้แก่ ฮาร์ดแวร์ , ซอฟต์แวร์ , ข้อมูล , ระเบียบวิธีการ และบุคคลากร
แสดงดังรูปที่ 1.8
รูปที่ 1.8 สภาวะการใช้งานระบบการจัดการฐานข้อมูล
ฮาร์ดแวร์(Hardware)
ในการใช้งานระบบการจัดการฐานข้อมูลและโปรแกรมประยุกต์ต้องอาศัยส่วนฮาร์ดแวร์ในการรัน
ส่วนของฮาร์ดแวร์นี้อาจจะเป็นเครื่องคอมพิวเตอร์ส่วนบุคคลเครื่องเดียว
จนถึงเมนเฟรมเครื่องเดียว
จนถึงระบบเครือข่ายคอมพิวเตอร์ แล้วความต้องการ ระบบการจัดการฐานข้อมูลบางอย่างกำหนดให้สามารถทำงานบนฮาร์ดแวร์และระบบปฏิบัติที่กำหนดเท่านั้น
แต่บางอย่างก็สามารถทำงานได้บนฮาร์ดแวร์และระบบปฏิบัติการที่หลายหลายได้
ระบบการจัดการฐานข้อมูลจะกำหนดคุณสมบัติขั้นต่ำของหน่วยความจำและพื้นที่ว่างของฮาร์ดดิสก์ในการทำงานไว้ ยกตัวอย่างเช่นในรูปที่ 1.9 เป็นคุณสมบัติของฮาร์ดแวร์ที่ใช้ในระบบของบริษัทบ้านในฝัน
ซอฟต์แวร์(Software)
องค์ประกอบส่วนซอฟต์แวร์ประกอบด้วย
ระบบการจัดการฐานข้อมูล(DBMS)เอง และโปรแกรมประยุกต์
ทำงานร่วมกับระบบปฏิบัติการรวมทั้งซอฟต์แวร์ด้านเครือข่ายในการทำงานผ่านระบบเครือข่าย
โดยทั่วไปโปรแกรมประยุกต์มักจะเขียนด้วยภาษาการเขียนโปรแกรมในยุคที่ 3(3GL)
เช่น ภาษา C , C++ , JAVA , Visual Basic , COBOL , FORTRAN
, Ada หรือ Pascal หรือเขียนด้วยภาษาการเขียนโปรแกรมยุคที่
4(4GL) เช่น ภาษา SQL โดยฝังไว้ในภาษาการเขียนโปรแกรมในยุคที่
3 ในระบบการจัดการฐานข้อมูลบางอย่างจะมีเครื่องมือในการสร้างโปรแกรมได้เอง
ผ่านภาษาในการสอบถามข้อมูลที่เป็นแบบไม่มีระเบียบโครงสร้าง(non-procedural
query language) , ตัวสร้างรายงาย(report generator) , ตัวสร้างฟอร์ม(form
generator) , ตัวสร้างภาพกราฟิก(graphic generator) และตัวสร้างโปรแกรมประยุกต์(application generator)
ข้อมูล(Data)
บางทีองค์ประกอบที่สำคัญที่สุดก็อาจจะเป็น
ข้อมูล จากรูปที่ 1.8 สังเกตได้ว่าข้อมูลทำหน้าที่เป็นสะพานระหว่างองค์ประกอบด้านเครื่องคอมพิวเตอร์กับองค์ประกอบด้านมนุษย์
ฐานข้อมูลประกอบด้วยข้อมูลที่ใช้ในการประมวลผลและเมต้าดาต้า(meta-data)
ซึ่งหมายถึงข้อมูลของข้อมูล
โครงสร้างของฐานข้อมูลนี้เรียกว่า เค้าร่าง(schema) จากรูปที่ 1.7 เค้าร่าง ประกอบด้วย แฟ้มข้อมูล 4 แฟ้ม หรือ ตาราง
สิ่งปลูกสร้างที่ให้เช่า , เจ้าของ , ลูกค้า และ การเช่า ตารางสิ่งปลูกสร้างที่ให้เช่ามีฟิลด์ข้อมูล
8 ฟิลด์ หรือ เรียกว่า แอททริบิวท์ “รหัสสิ่งปลูกสร้าง , ที่อยู่ , จังหวัด , รหัสไปรษณีย์ , ประเภท ,
จำนวนห้อง , ค่าเช่า และ รหัสเจ้าของ” แอททริบิวท์ “รหัสเจ้าของ” จำลองความสัมพันธ์ระหว่าง สิ่งปลูกสร้างที่ให้เช่า และ เจ้าของ ที่เป็นเจ้าของสิ่งปลูกสร้างที่ให้เช่า ตัวอย่างเช่น ในรูปที่ 1.3 เจ้าของ รหัส C040 , แจ่มศรี อุ่นรัตนะ
เป็นเจ้าของสิ่งปลูกสร้าง รหัส UD36 เป็นต้น
ระเบียบวิธีการ(Procedure)
ระเบียบวิธีการจะเกี่ยวข้องกับคำสั่งและกฏที่ควบคุมการออกแบบและใช้งานฐานข้อมูล
ผู้ใช้ของระบบและทีมงานที่จัดการฐานข้อมูลต้องการให้มีการจัดทำเอกสารระเบียบวิธีการที่แสดงถึงวิธีใช้หรือประมวลผลระบบ ซึ่งประกอบด้วยคำสั่งในการทำงานเหล่านี้
§ เข้าใช้งานระบบการจัดการฐานข้อมูล
§ การใช้งานส่วนประกอบเฉพาะของระบบการจัดการฐานข้อมูลหรือการใช้โปรแกรมประยุกต์
§ การเริ่มต้นและหยุดการทำงานของระบบการจัดการฐานข้อมูล
§ การสำรองข้อมูลในฐานข้อมูล
§ จัดการความล้มเหลวที่เกิดจากฮาร์ดแวร์หรือซอฟต์แวร์
ซึ่งประกอบด้วยวิธีการระบุส่วนที่เสียหาย , วิธีการแก้ไข และการกู้คืนฐานข้อมูล
§ เปลี่ยนโครงสร้างของตาราง
, จัดการกับการเข้าถึงข้อมูลที่เก็บในฮาร์ดดิสก์หลายตัว,ปรับปรุงประสิทธิภาพ หรือ
การเก็บข้อมูลไว้ในหน่วยเก็บข้อมูลสำรอง
บุคคลกร(People)
องค์ประกอบสุดท้ายได้แก่
คน ซึ่งมีความเกี่ยวข้องกับระบบ
ซึ่งจะอธิบายในส่วนต่อไป
1.5
ผู้ที่เกี่ยวข้องกับการใช้งานฐานข้อมูล
ในส่วนนี้จะกล่าวถึงบทบาทหน้าที่ต่างๆ
ของคนที่มีส่วนเกี่ยวข้องในการใช้งานฐานข้อมูล ซึ่งคน ถือเป็นองค์ประกอบส่วนที่ 5 แบ่งออกได้เป็น
4 ประเภทหลัก ดังนี้
1.5.1
ผู้บริหารฐานข้อมูล(Database
Administrator : DBA)
ผู้บริหารฐานข้อมูลมีหน้าที่รับผิดชอบในการจัดการข้อมูลในฐานข้อมูล
ประกอบด้วย การวางแผนฐานข้อมูล , พัฒนาและรักษามาตรฐาน , นโยบายและระเบียบวิธีการ
และการออกแบบฐานข้อมูลระดับแนวคิด/ตรรกะ
นอกจากนี้ยังมีหน้าที่จัดการฐานข้อมูลในระดับกายภาพ
ประกอบด้วย การออกแบบและดำเนินการฐานข้อมูลในระดับกายภาพ
ควบคุมความปลอดภัยและความคงสภาพ
บำรุงรักษาการทำงานของระบบ
และรักษาประสิทธิภาพในการใช้งานโปรแกรมของผู้ใช้
จะเห็นได้ว่าผู้บริหารฐานข้อมูลต้องมีความรู้ในรายละเอียดของระบบการจัดการฐานข้อมูลที่ใช้และองค์ประกอบในการทำงาน
1.5.2
นักออกแบบฐานข้อมูล(Database
Designer)
ในการออกแบบฐานข้อมูล
เราสามารถแบ่งนักออกแบบฐานข้อมูลออกได้ 2 ประเภท ได้แก่
นักออกแบบฐานข้อมูลระดับตรรกะ และนักออกแบบฐานข้อมูลระดับกายภาพ
นักออกแบบฐานข้อมูลระดับตรรกะ(Logical
database designer)
เกี่ยวข้องกับการระบุข้อมูล(ได้แก่ เอนติตี้ และแอททริบิวท์) ,
ความสัมพันธ์ระหว่างข้อมูล และข้อกำหนดของข้อมูลที่เก็บในฐานข้อมูล
นักออกแบบฐานข้อมูลระดับตรรกะต้องเข้าใจโครงสร้างข้อมูลและขอบเขตงาน(Business
rule)อย่างดี
ซึ่งขอบเขตงานหมายถึงคุณลักษณะสำคัญของข้อมูลในมุมมองขององค์กร ตัวอย่างขอบเขตงานของบริษัทบ้านในฝันได้แก่
§ สมาชิกของทีมงานไม่สามารถบริหารสิ่งปลูกสร้างที่ให้เช่าเกิน
100
แห่งในเวลาเดียวกัน
§ สมาชิกของทีมงานไม่สามารถดำเนินการในการขายหรือให้เช่าสิ่งปลูกสร้างของตนเอง
§ ทนายของบริษัทไม่สามารถทำหน้าที่เป็นทั้งผู้ขายและผู้ซื้อสิ่งปลูกสร้าง
เพื่อให้มีประสิทธิภาพมากขึ้น
ในการพัฒนาแบบจำลองข้อมูลนักออกแบบฐานข้อมูลระดับตรรกะต้องเข้าไปเกี่ยวข้องกับผู้ใช้งานฐานข้อมูลทุกระดับ
และต้องทำตั้งแต่ต้นกระบวนการออกแบบ ในที่นี้ขอแบ่งงานในการออกแบบขั้นตรรกะออกเป็น 2
ส่วน
§ การออกแบบขั้นแนวคิด(Conceptual
database design) ในการออกแบบขั้นนี้จะเป็นอิสระจากระบบการจัดการฐานข้อมูล
, โปรแกรมประยุกต์ , ภาษาการเขียนโปรแกรม หรือข้อจำกัดด้านกายภาพอื่นๆ
§ การออกแบบขั้นตรรกะ(Logical
database design) เลือกใช้แบบจำลองข้อมูลที่ต้องการเช่น แบบเชิงสัมพันธ์(relational)
, แบบเครือข่าย(Network) , แบบลำดับชั้น(Hierarchical)
หรือแบบเชิงวัตถุ(Object-oriented)
นักออกแบบฐานข้อมูลระดับกายภาพ(Physical
database designer)
มีหน้าที่นำการออกแบบขั้นตรรกะไปทำให้เป็นจริงในระดับกายภาพ ดังนี้
§ แปลงการออกแบบขั้นตรรกะให้เป็นตารางข้อมูลและข้อกำหนดด้านความคงสภาพ
§ เลือกโครงสร้างในการจัดเก็บข้อมูลและวิธีการเข้าถึงข้อมูลที่มีประสิทธิภาพ
§ ออกแบบการรักษาความปลอดภัยของข้อมูล
1.5.3
นักพัฒนาโปรแกรม(Application
Developers)
นักพัฒนาโปรแกรมมีหน้าที่เขียนโปรแกรมตามที่นักวิเคราะห์ระบบ(System analyst)
แต่ละโปรแกรมประกอบด้วยคำสั่งงานที่มีการร้องขอให้ระบบการจัดการฐานข้อมูลประมวลผลที่อยู่ในฐานข้อมูล
ซึ่งประกอบด้วย การค้นคืนข้อมูล การเพิ่ม การปรับปรุง และการลบข้อมูล โปรแกรมอาจเขียนด้วยภาษาการเขียนโปรแกรมยุคที่ 3
หรือ ยุคที่ 4
1.5.4
ผู้ใช้(End user)
ผู้ใช้มีส่วนเกี่ยวข้องกับฐานข้อมูลในฐานะที่เป็นผู้ที่ใช้งานโปรแกรมประยุกต์เพื่อทำงานของตนเอง
ซึ่งโปรแกรมนี้จะมีการทำงานที่เกี่ยวข้องกับฐานข้อมูล
1.6
ข้อดีและข้อจำกัดของระบบการจัดการฐานข้อมูล
ในการใช้งานระบบการจัดการฐานข้อมูลเพื่อจัดการข้อมูลในฐานข้อมูลมีทั้งข้อดีและข้อเสียดังนี้
1.6.1
ข้อดี
§ ควบคุมความซ้ำซ้อนของข้อมูล(Control of data
redundancy) จากการทำงานของระบบแฟ้มข้อมูล พิจารณาจากรูปที่
1.5
จะเห็นว่ามีการจัดเก็บข้อมูลที่ซ้ำซ้อนกัน
ได้แก่แฟ้มสิ่งปลูกสร้างที่ให้เช่า และแฟ้มลูกค้า ที่เก็บอยู่ในฝ่ายขายและฝ่ายประสานงาน ในการทางตรงกันข้าม
การประมวลผลแบบฐานข้อมูลจะมีการขจัดข้อมูลที่ซ้ำซ้อนกันโดยรวมข้อมูลที่ซ้ำกันเก็บไว้ในที่เดียวกัน
แต่ถึงอย่างไรการประมวลผลแบบฐานข้อมูลก็ไม่ได้ขจัดข้อมูลซ้ำให้หมดโดยสิ้นเชิง
แต่จะควบคุมให้มีปริมาณข้อมูลที่ซ้ำซ้อนน้อยที่สุดในฐานข้อมูล
บางครั้งเราจำเป็นต้องมีการคัดลอกกุญแจของรายการข้อมูลเพื่อจำลองความสัมพันธ์ของข้อมูลไว้
§ ข้อมูลต้องกัน(Data
consistency) เป็นผลมาจากการขจัดและควบคุมความซ้ำซ้อนของข้อมูล
จึงทำให้ความเสี่ยงที่เกิดข้อมูลไม่ต้องลดลง
ถ้าข้อมูลถูกจัดเก็บไว้ในที่แห่งเดียวกัน
เมื่อมีการปรับปรุงค่าข้อมูลก็ทำเพียงครั้งเดียว และค่าข้อมูลใหม่ที่ปรับปรุงก็จะมีผลต่อผู้ใช้ทุกคน
§ มีการใช้ข้อมูลร่วมกัน(Sharing of
data) เนื่องจากฐานข้อมูลมีการจัดเก็บข้อมูลไว้ด้วยกันทำให้ผู้ใช้ที่มีสิทธิ์สามารถใช้ข้อมูลร่วมกันได้
§ รักษาความคงสภาพ(Improved
integrity) ความคงสภาพของฐานข้อมูล
คือ ความถูกต้องและความต้องกันของข้อมูลที่เก็บอยู่ในฐานข้อมูล
โดยปกติแล้วความคงสภาพก็หมายถึง ข้อบังคับ(Constraints)
ซึ่งเป็นกฏความต้องกันที่ฐานข้อมูลไม่อนุญาตให้ฝ่าฝืน
ข้อบังคับนี้สามารถกำหนดให้เฉพาะรายการข้อมูลหรือความสัมพันธ์ระหว่างรายการข้อมูลก็ได้
ตัวอย่างเช่น กำหนด ข้อบังคับความคงสภาพกำหนดว่า พนักงานมีเงินเดือนไม่เกิน 100,000
บาท , ในข้อมูลต้องระบุข้อมูลรหัสสาขาที่สังกัด
และรหัสสาขานั้นต้องสอดคล้องกับรหัสสาขาที่มีอยู่จริง เป็นต้น
ผู้บริหารฐานข้อมูล(DBA)จะเป็นผู้กำหนด
ส่วนระบบการจัดการฐานข้อมูล(DBMS) จะบังคับใช้ข้อบังคับดังกล่าว
§ รักษาความปลอดภัย(Improved
security) การรักษาความปลอดภัยคือการป้องกันฐานข้อมูลจากผู้ที่ไม่มีสิทธิ์ในการใช้งาน
ในกำหนดสิทธิ์การใช้งานจะกำหนดโดยผู้บริหารฐานข้อมูล(DBA) และระบบการจัดการฐานข้อมูล(DBMS) จะบังคับใช้การรักษาความปลอดภัยดังกล่าว
รูปแบบในการรักษาความปลอดภัยได้แก่ การกำหนดชื่อผู้ใช้(username) และรหัสผ่าน(password)
§ มีความเป็นอิสระของข้อมูล(Data
independence) ในการจัดเก็บข้อมูลแบบฐานข้อมูลนั้น
ระบบการจัดการฐานข้อมูล(DBMS)
จะแยกข้อมูลออกจากโปรแกรมประยุกต์
ทำให้แก้ไขโครงสร้างข้อมูลจึงไม่มีผลกระทบต่อโปรแกรม เรียกว่า
ความอิสระของข้อมูล
§ มีบริการสำรองและกู้คืนข้อมูล(Improved backup
and recovery services) ในระบบฐานข้อมูลมีส่วนที่ใช้ในการสำรองข้อมูลตามช่วงเวลาที่กำหนด
และมีส่วนที่กู้คืนข้อมูลจากความเสียหายที่เกิดจากฮาร์ดแวร์และซอฟต์แวร์
1.6.2
ข้อจำกัด
§ ซับซ้อน(Complexity) เนื่องจากมีฟังก์ชันในการใช้งานที่มากมาย
จึงทำให้ระบบการจัดการฐานข้อมูลเป็นซอฟต์แวร์ที่มีองค์ประกอบที่ซับซ้อน ดังนั้น ผู้ออกแบบและผู้พัฒนาโปรแกรม ,
ผู้บริหารฐานข้อมูล(DBA) และผู้ใช้งานทั่วไป
จำเป็นต้องมีความเข้าใจในฟังก์ชันการทำงานต่างๆ
เพื่อให้สามารถใช้งานได้อย่างเต็มประสิทธิภาพ
การที่ไม่เข้าใจระบบอย่างดีเป็นผลทำให้เกิดการตัดสินในการออกแบบผิดพลาด
ซึ่งจะทำให้เกิดปัญหากับองค์กร
§ ขนาดใหญ่(Size) เนื่องจากความซับซ้อนและฟังก์ชันการทำงานมากมาย
ทำให้ระบบการจัดการฐานข้อมูลเป็นซอฟต์แวร์ที่มีขนาดใหญ่ ,
ใช้เนื้อที่ในการจัดเก็บมากและต้องการเนื้อที่ในหน่วยความจำจำนวนมากในการประมวลผล
§ ราคาของDBMSแพง(Cost of DBMS) ราคาของระบบการจัดการฐานข้อมูลขึ้นอยู่ฟังก์ชันการทำงาน ยิ่งมีฟังก์ชันการทำงานที่ดียิ่งมีราคาแพงตามไปด้วย
§ ราคาของฮาร์ดแวร์แพงตามไปด้วย(Additional
hardware cost) ในการติดตั้งระบบการจัดการฐานข้อมูลต้องใช้พื้นที่ในหน่วยเก็บข้อมูลมาก
และฐานข้อมูลก็ต้องการพื้นที่จำนวนมากในการจัดเก็บข้อมูล
นอกจากนี้ในการประมวลผลข้อมูลแบบฐานข้อมูลก็จำเป็นใช้เครื่องคอมพิวเตอร์ที่มีประสิทธิภาพสูง
เพื่อให้ได้สารสนเทศที่ต้องการรวดเร็ว
§ ค่าใช้จ่ายในการแปลงระบบ(Cost of
conversion)
เกิดจาการเปลี่ยนจากระบบเดิมมาใช้โปรแกรมใหม่และระบบการจัดการฐานข้อมูลตัวและฮาร์ดแวร์ใหม่
ค่าใช้จ่ายดังกล่าวประกอบด้วยค่าใช้จ่ายในการฝึกอบรมพนักงานในการใช้งานระบบใหม่
และค่าจ้างทีมผู้เชี่ยวชาญในการแปลงระบบและทำให้ระบบดำเนินงานได้ต่อไป
§ ผลกระทบจากความเสียหายสูง(Higher impact
of a failure) เนื่องจากระบบการจัดการฐานข้อมูลมีการรวมทรัพยากรต่างๆ
เพื่อจัดการแบบส่วนกลาง ทำให้หากเกิดความล้มเหลวขึ้นก็จะส่งผลกระทบกับส่วนอื่นๆ ด้วย
แบบฝึกหัดท้ายบท
1.
อธิบายความหมายของข้อมูลและบอกลักษณะของข้อมูลที่ดี
2.
อธิบายความหมายของศัพท์เกี่ยวกับโครงสร้างแฟ้มข้อมูลในคอมพิวเตอร์
ดังนี้
1.
บิต (Bit)
2.
ไบต์ (Byte)
3.
ฟิลด์ (Field)
4.
เรคอร์ด (Record)
5.
ไฟล์(File)
3.
บอกวิธีการจัดเก็บข้อมูลและการจัดการแฟ้มข้อมูลแบบเรียงลำดับ
(Sequential
File Organization)
4.
ระบุปัญหาของการจัดเก็บข้อมูลแบบแฟ้มข้อมูล
5.
อธิบายความหมายฐานข้อมูล และระบบฐานข้อมูล
6.
อธิบายการจัดเก็บข้อมูลแบบระบบฐานข้อมูลมีข้อดีกว่าการจัดเก็บข้อมูลแบบแฟ้มข้อมูลอย่างไร
7.
อธิบายข้อจำกัดของการใช้ระบบฐานข้อมูล
8.
ระบบจัดการฐานข้อมูล (DBMS) คืออะไร
9.
หน้าที่ของระบบจัดการฐานข้อมูลมีอะไรบ้าง
จงอธิบาย
10.
ส่วนประกอบของระบบจัดการฐานข้อมูล มีกี่ส่วน
อะไรบ้าง
11.
ระบบจัดการฐานข้อมูล (DBMS) มีความสำคัญต่อระบบฐานข้อมูลอย่างไร
12.
ส่วนประกอบหลักของระบบจัดการฐานข้อมูลมีกี่ส่วนอะไรบ้าง
13.
ผู้บริหารฐานข้อมูล (Database
Administrator : DBA) คืออะไร
และมีส่วนเกี่ยวข้องกับระบบฐานข้อมูลอย่างไร จงอธิบาย
14. จงบอกหน้าที่ของพจนานุกรมข้อมูล (Data
Dictionary)
15. จงยกตัวอย่างซอฟต์แวร์ระบบจัดการฐานข้อมูลที่ได้รับความนิยมในปัจจุบัน
มีอะไรบ้าง






