รายวิชาการจัดการฐานข้อมูล (Database Management System) ง30250 สำหรับใช้เป็นสื่อการสอน ยินดีต้อนรับนักเรียนทุกคนนะค่ะ โดย อ.พรหมพร เพิ่มพูล

วันพฤหัสบดีที่ 6 มิถุนายน พ.ศ. 2556

หน่วยการเรียนรู้ที่ 1 ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล (Introduction to Database)


หน่วยการเรียนรู้ที่ 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
ถ.โพนพิสัย
หนองคาย
44000
แฟลต
4
2000
C087
UD36
6 ถ.ทหาร
อุดรธานี
41000
แฟลต
3
1500
C040
UD21
ถ.ศรีชมชื่น
อุดรธานี
41000
แฟลต
3
1800
C093
UD16
18 ถ.อุดรดุษฎี
อุดรธานี
41000
บ้าน
5
2500
C087
UD88
ถ.อดุลยเดช
อุดรธานี
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
ถ.โพนพิสัย
หนองคาย
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 ก็จะแตกต่างจากโครงสร้างแฟ้มที่สร้างด้วยภาษา จากโครงสร้างที่แตกต่างกันทำให้การใช้ข้อมูลร่วมกันทำได้ยาก
ยกตัวอย่างเช่น ฝ่ายประสานงานต้องการค้นหาชื่อและที่อยู่ของเจ้าของบ้านที่ถูกเช่าไปแล้วในปัจจุบัน  โชคไม่ดีที่ฝ่ายประสานงานไม่มีแฟ้มข้อมูลเกี่ยวกับเจ้าของบ้าน ซึ่งมีอยู่ในเฉพาะฝ่ายขายเท่านั้น  อย่างไรก็ตามฝ่ายประสานงานก็มีข้อมูล รหัสสิ่งปลูกสร้าง  ซึ่งสามารถนำไปใช้ในการค้นหา รหัสสิ่งปลูกสร้างที่ตรงกันในแฟ้มข้อมูลสิ่งปลูกสร้างที่ให้เช่า ของฝ่ายขายได้ และในแฟ้มดังกล่าวมีข้อมูล รหัสเจ้าของ  ซึ่งสามารถนำไปใช้ค้นหาข้อมูลเจ้าของได้ในแฟ้ม เจ้าของ ของฝ่ายขายได้   แต่ปัญหาคือโปรแกรมที่ใช้งานในฝ่ายประสานงานพัฒนาด้วยภาษา COBOL  และในฝ่ายขายพัฒนาโดยภาษา  ดังนั้นในการจับคู่ข้อมูลสิ่งปลูกสร้างที่ตรงกันในแฟ้ม สิ่งปลูกสร้างที่ให้เช่า ของทั้งสองฝ่าย  โปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่อแปลงรูปแบบแฟ้มข้อมูลให้อยู่ในรูปแบบที่ง่ายในการประมวลผล ซึ่งจะทำให้เสียเวลาและเสียค่าใช้จ่ายเพิ่มขึ้น
โปรแกรมที่ใช้งานคงที่ไม่มีความยืดหยุ่น
โปรแกรมประยุกต์ที่ใช้งานในระบบแฟ้มข้อมูลจะประมวลผลให้รายงานเฉพาะที่กำหนดไว้โดยผู้เขียนโปรแกรมเท่านั้น ทำให้ไม่สามารถแสดงรายงานที่ต้องการโดยรายงานดังกล่าวเป็นรายงานที่ไม่ได้มีการวางแผนให้มีในโปรแกรมที่สร้างขึ้น  หากต้องการได้รายงานดังกล่าวนั้นต้องทำการเขียนโปรแกรมขึ้นมาเพื่อประมวลผลใหม่  ทำให้ไม่สะดวกและสิ้นเปลืองถ้ารายงานนั้นไม่ได้มีการใช้บ่อยครั้ง
จากสาเหตุที่กล่าวมาทั้งหมดข้างต้น จะเห็นรูปแบบการประมวลผลแบบแฟ้มข้อมูล จึงไม่ใช่ทางเลือกที่ดีในการจัดเก็บและประมวลผลข้อมูล ดังนั้นควรพิจารณาวิธีการหรือทางเลือกอื่นในการทำงาน

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 โดยฝังไว้ในภาษาการเขียนโปรแกรมในยุคที่ในระบบการจัดการฐานข้อมูลบางอย่างจะมีเครื่องมือในการสร้างโปรแกรมได้เอง ผ่านภาษาในการสอบถามข้อมูลที่เป็นแบบไม่มีระเบียบโครงสร้าง(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.  จงยกตัวอย่างซอฟต์แวร์ระบบจัดการฐานข้อมูลที่ได้รับความนิยมในปัจจุบัน มีอะไรบ้าง










2 ความคิดเห็น:

  1. นักเรียนสามารถแสงความคิดเห็นได้นะค่ะ (อ.พรหมพร)

    ตอบลบ
  2. Online casino site review 2021
    Free casino site review 2021. We're all welcome to try our luck 카지노사이트luckclub with all the popular games and promotions offered to online casinos. Read on to find out more! Rating: 3.5 · ‎Review by LuckyClub.live

    ตอบลบ