ฐานข้อมูล
ฐานข้อมูลเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ
ทำให้ผู้ใช้สามารถใช้ข้อมูลที่เกี่ยวข้องในระบบงานต่าง ๆ ร่วมกันได้
โดยที่จะไม่เกิดความซ้ำซ้อนของข้อมูล
และยังสามารถหลีกเลี่ยงความขัดแย้งของข้อมูลด้วย
อีกทั้งข้อมูลในระบบก็จะถูกต้องเชื่อถือได้ และเป็นมาตรฐานเดียวกัน
โดยจะมีการกำหนดระบบความปลอดภัยของข้อมูลขึ้น
นับได้ว่าปัจจุบันเป็นยุคของสารสนเทศ
เป็นที่ยอมรับกันว่า สารสนเทศเป็นข้อมูลที่ผ่านการกลั่นกรองอย่างเหมาะสม
สามารถนำมาใช้ประโยชน์อย่างมากมาย ไม่ว่าจะเป็นการนำมาใช้งานด้านธุรกิจ การบริหาร
และกิจการอื่น ๆ องค์กรที่มีข้อมูลปริมาณมาก ๆ
จะพบความยุ่งยากลำบากในการจัดเก็บข้อมูล
ตลอดจนการนำข้อมูลที่ต้องการออกมาใช้ให้ทันต่อเหตุการณ์
ดังนั้นคอมพิวเตอร์จึงถูกนำมาใช้เป็นเครื่องมือช่วยในการจัดเก็บข้อมูล
การประมวลผลข้อมูล ซึ่งทำให้ระบบการจัดเก็บข้อมูลเป็นไปได้สะดวก ทั้งนี้โปรแกรมแต่ละโปรแกรมจะต้องสร้างวิธีควบคุมและจัดการกับข้อมูลขึ้นเอง
ฐานข้อมูลจึงเข้ามามีบทบาทสำคัญอย่างมาก โดยเฉพาะระบบงานต่าง ๆ ที่ใช้คอมพิวเตอร์
การออกแบบและพัฒนาระบบฐานข้อมูล
จึงต้องคำนึงถึงการควบคุมและการจัดการความถูกต้องตลอดจนประสิทธิภาพในการเรียกใช้ข้อมูลด้วย
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ระบบฐานข้อมูล
(Database
System) หมายถึง
โครงสร้างสารสนเทศที่ประกอบด้วยรายละเอียดของข้อมูลที่เกี่ยวข้องกันที่จะนำมาใช้ในระบบต่าง
ๆ ร่วมกัน
ระบบฐานข้อมูล
จึงนับว่าเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ ซึ่งผู้ใช้สามารถจัดการกับข้อมูลได้ในลักษณะต่าง
ๆ ทั้งการเพิ่ม การแก้ไข การลบ ตลอดจนการเรียกดูข้อมูล
ซึ่งส่วนใหญ่จะเป็นการประยุกต์นำเอาระบบคอมพิวเตอร์เข้ามาช่วยในการจัดการฐานข้อมูล
นิยามและคำศัพท์พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บิท
(Bit) หมายถึง
หน่วยของข้อมูลที่มีขนาดเล็กที่สุด
ไบท์
(Byte) หมายถึง
หน่วยของข้อมูลที่กิดจากการนำบิทมารวมกันเป็นตัวอักขระ (Character)
เขตข้อมูล
(Field) หมายถึง
หน่วยของข้อมูลที่ประกอบขึ้นจากตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันแล้วได้ความหมายของสิ่งใดสิ่งหนึ่ง
เช่น ชื่อ ที่อยู่ เป็นต้น
ระเบียน
(Record) หมายถึง
หน่วยของข้อมูลที่เกิดจากการนเอาเขตข้อมูลหลาย ๆ เขตข้อมูลมารวมกัน
เพื่อเกิดเป็นข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของนักศึกษา 1 ระเบียน (1 คน) จะประกอบด้วย
รหัสประจำตัวนักศึกษา
1 เขตข้อมูล
ชื่อนักศึกษา
1 เขตข้อมูล
ที่อยู่
1 เขตข้อมูล
แฟ้มข้อมูล
(File) หมายถึงหน่วยของข้อมูลที่เกิดจากการนำข้อมูลหลาย
ๆ ระเบียนที่เป็นเรื่องเดียวกันมารวมกัน เช่น แฟ้มข้อมูลนักศึกษา แฟ้มข้อมูลลูกค้า
แฟ้มข้อมูลพนักงาน
ส่วนในระบบฐานข้อมูล มีคำศัพท์ต่าง ๆ
ที่เกี่ยวข้องดังนี้
เอนทิตี้
(Entity) หมายถึง
ชื่อของสิ่งใดสิ่งหนึ่ง ได้แก่ คน สถานที่ สิ่งของ การกระทำ
ซึ่งต้องการจัดก็บข้อมูลไว้
เช่น เอนทิตี้ลูกค้า เอนทิตี้พนักงาน
- เอนทิตี้ชนิดอ่อนแอ (Weak Entity) เป็นเอนทิตี้ที่ไม่มีความหมาย
หากขาดเอนทิตี้อื่นในฐานข้อมูล
แอททริบิวต์(Attribute) หมายถึง
รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของเอนทิตี้หนึ่ง ๆ เช่น
เอนทิตี้นักศึกษา ประกอบด้วย
- แอทริบิวต์รหัสนักศึกษา
- แอททริบิวต์ชื่อนักศึกษา
- แอททริบิวต์ที่อยู่นักศึกษา
เอนทิตี้นักศึกษา ประกอบด้วย
- แอทริบิวต์รหัสนักศึกษา
- แอททริบิวต์ชื่อนักศึกษา
- แอททริบิวต์ที่อยู่นักศึกษา
ความสัมพันธ์
(Relationships) หมายถึง
ความสัมพันธ์ระหว่างเอนทิตี้ เช่น ความสัมพันธ์ระหว่างเอนทิตี้นักศึกษาและเอนทิตี้คณะวิชา
เป็นลักษณะว่า นักศึกษาแต่ละคนเรียนอยู่คณะวิชาใดคณะวิชาหนึ่ง
ในการแสดงความสัมพันธ์ระหว่างเอนทิตี้
เราจะใช้หัวลูกศรเพื่อแสดงความสัมพันธ์ ดังตัวอย่างในรูปต่อไปนี้
รูปที่
1.1 คณะวิชา ß ----------à à นักศึกษา (คณะวิชามีความสัมพันธ์กับนักศึกษา)
ในการระบุความสัมพันธ์ระหว่างเอนทิตี้
จะกำหนดโดยใช้หัวลูกศร
และหากพิจารณาความสัมพันธ์จากเอนทิตี้นักศึกษาไปยังเอนทิตี้คณะวิชา
อาจจะกำหนดความสัมพันธ์ได้ดังนี้
รูปที่
1.2 คณะวิชา ----------------à นักศึกษา (นักศึกษาสังกัดอยู่คณะวิชา)
และหากพิจารณาความสัมพันธ์จากเอนทิตี้คณะวิชาไปยังเอนทิตี้นักศึกษา
อาจกำหนดความสัมพันธ์ได้ดังนี้
รูปที่
1.3 คณะวิชา --------------à à นักศึกษา (คณะวิชาประกอบด้วยนักศึกษา)
จากรูปที่
1.2
จะเห็นได้ว่า นักศึกษา 1 คนจะสามารถสังกัดอยู่ได้เพียง
1 คณะวิชา แต่จากรูปที่ 1.3 จะเห็นได้ว่า
1 คณะวิชาสามารถประกอบด้วยนักศึกษาหลาย ๆ คน
ความสัมพันธ์ระหว่างเอนทิตี้ แบ่งออกเป็น 3 ประเภท คือ
1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-one Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่งที่มีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง
ในลักษณะหนึ่งต่อหนึ่ง (1 :
1)
2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-many
Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่ง
ที่มีความสัมพันธ์กับข้อมูลหลาย ๆ ข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะ (1:m)
ตัวอย่างเช่น
3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลสองเอนทิตี้ในลักษณะกลุ่มต่อกลุ่ม
(m:n)
เอนทิตี้ใบสั่งซื้อแต่ละใบจะสามารถสั่งสินค้าได้มากกว่าหนึ่งชนิด
ความสัมพันธ์ของข้อมูลจากเอนทิตี้ใบสั่งซื้อไปยังเอนทิตี้สินค้า
จึงเป็นแบบหนึ่งต่อกลุ่ม (1:m)
ในขณะที่สินค้าแต่ละชนิด จะถูกสั่งอยู่ในใบสั่งซื้อหลายใบ
ความสัมพันธ์ของข้อมูลจากเอนทิตี้สินค้าไปยังอินทิตี้ใบสั่งซื้อ
จึงเป็นแบบหนึ่งต่อกลุ่ม (1:n) ดังนั้นความสัมพันธ์ของเอนทิตี้ทั้งสอง
จึงเป็นแบบกลุ่มต่อกลุ่ม (m:n)
จากคำศัพท์ต่าง
ๆ ที่เกี่ยวข้องกับระบบฐานข้อมูลที่ได้กล่าวมาแล้วข้างต้น
จึงอาจให้นิยามของฐานข้อมูลในอีกลักษณะได้ว่า “ฐานข้อมูล” อาจหมายถึง โครงสร้างสารสนเทศ ที่ประกอบด้วยหลาย ๆ
เอนทิตี้ที่มีความสัมพันธ์กัน
ความสำคัญของการประมวลผลแบบระบบฐานข้อมูล
จากการจัดเก็บข้อมูลรวมเป็นฐานข้อมูลจะก่อให้เกิดประโยชน์ดังนี้
1. สามารถลดความซ้ำซ้อนของข้อมูลได้
การเก็บข้อมูลชนิดเดียวกันไว้หลาย
ๆ ที่ ทำให้เกิดความซ้ำซ้อน (Redundancy) ดังนั้นการนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล
จะชาวยลดปัญหาการเกิดความซ้ำซ้อนของข้อมูลได้ โดยระบบจัดการฐานข้อมูล (Database
Management System : DBMS) จะช่วยควบคุมความซ้ำซ้อนได้
เนื่องจากระบบจัดการฐานข้อมูลจะทราบได้ตลอดเวลาว่ามีข้อมูลซ้ำซ้อนกันอยู่ที่ใดบ้าง
2. หลีกเลี่ยงความขัดแย้งของข้อมูลได้
หากมีการเก็บข้อมูลชนิดเดียวกันไว้หลาย
ๆ ที่และมีการปรับปรุงข้อมูลเดียวกันนี้
แต่ปรับปรุงไม่ครบทุกที่ที่มีข้อมูลเก็บอยู่ก็จะทำให้เกิดปัญหาข้อมูลชนิดเดียวกัน
อาจมีค่าไม่เหมือนกันในแต่ละที่ที่เก็บข้อมูลอยู่
จึงก่อใให้เกิดความขัดแย้งของข้อมูลขึ้น (Inconsistency)
3. สามารถใช้ข้อมูลร่วมกันได้
ฐานข้อมูลจะเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน
ดังนั้นหากผู้ใช้ต้องการใช้ข้อมูลในฐานข้อมูลที่มาจากแฟ้มข้อมูลต่างๆ
ก็จะทำได้โดยง่าย
4. สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล
บางครั้งพบว่าการจัดเก็บข้อมูลในฐานข้อมูลอาจมีข้อผิดพลาดเกิดขึ้น
เช่น
จากการที่ผู้ป้อนข้อมูลป้อนข้อมูลผิดพลาดคือป้อนจากตัวเลขหนึ่งไปเป็นอีกตัวเลขหนึ่ง
โดยเฉพาะกรณีมีผู้ใช้หลายคนต้องใช้ข้อมูลจากฐานข้อมูลร่วมกัน
หากผู้ใช้คนใดคนหนึ่งแก้ไขข้อมูลผิดพลาดก็ทำให้ผู้อื่นได้รับผลกระทบตามไปด้วย
ในระบบจัดการฐานข้อมูล (DBMS)
จะสามารถใส่กฎเกณฑ์เพื่อควบคุมความผิดพลาดที่เกดขึ้น
5. สามารถกำหนดความป็นมาตรฐานเดียวกันของข้อมูลได้
การเก็บข้อมูลร่วมกันไว้ในฐานข้อมูลจะทำให้สามารถกำหนดมาตรฐานของข้อมูลได้รวมทั้งมาตรฐานต่าง
ๆ ในการจัดเก็บข้อมูลให้เป็นไปในลักษณะเดียวกันได้
เช่นการกำหนดรูปแบบการเขียนวันที่ ในลักษณะ วัน/เดือน/ปี หรือ ปี/เดือน/วัน
ทั้งนี้จะมีผู้ที่คอยบริหารฐานข้อมูลที่เราเรียกว่า ผู้บริหารฐานข้อมูล (Database
Administrator : DBA) เป็นผู้กำหนดมาตรฐานต่างๆ
6. สามารถกำหนดระบบความปลอดภัยของข้อมูลได้
ระบบความปลอดภัยในที่นี้
เป็นการป้องกันไม่ให้ผู้ใช้ที่ไม่มีสิทธิมาใช้ หรือมาเห็นข้อมูลบางอย่างในระบบ
ผู้บริหารฐานข้อมูลจะสามารถกำหนดระดับการเรียกใช้ข้อมูลของผู้ใช้แต่ละคนได้ตามความเหมาะสม
7. เกิดความเป็นอิสระของข้อมูล
ในระบบฐานข้อมูลจะมีตัวจัดการฐานข้อมูลที่ทำหน้าที่เป็นตัวเชื่อมโยงกับฐานข้อมูล
โปรแกรมต่าง ๆ อาจไม่จำเป็นต้องมีโครงสร้างข้อมูลทุกครั้ง
ดังนั้นการแก้ไขข้อมูลบางครั้ง
จึงอาจกระทำเฉพาะกับโปรแกรมที่เรียกใช้ข้อมูลที่เปลี่ยนแปลงเท่านั้น
ส่วนโปรแกรมที่ไม่ได้เรียกใช้ข้อมูลดังกล่าว ก็จะเป็นอิสระจากการเปลี่ยนแปลง
รูปแบบของระบบฐานข้อมูล
รูปแบบของระบบฐานข้อมูล
มีอยู่ด้วยกัน 3 ประเภท คือ
1. ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
เป็นการเก็บข้อมูลในรูปแบบที่เป็นตาราง
(Table)
หรือเรียกว่า รีเลชั่น (Relation) มีลักษณะเป็น
2 มิติ คือเป็นแถว (row) และเป็นคอลัมน์
(column) การเชื่อมโยงข้อมูลระหว่างตาราง
จะเชื่อมโยงโดยใช้แอททริบิวต์ (attribute) หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล
ฐานข้อมูลเชิงสัมพันธ์นี้จะเป็นรูปแบบของฐานข้อมูลที่นิยมใช้ในปัจจุบัน ดังตัวอย่าง
รหัสพนักงาน
|
ชื่อพนักงาน
|
ที่อยู่
|
เงินเดือน
|
รหัสแผนก
|
12501535
12534568
12503452
12356892
15689730
|
นายสมพงศ์
นายมนตรี
นายเอก
นายบรรทัด
นายราชัน
|
กรุงเทพ
นครปฐม
กรุงเทพ
นนทบุรี
สมุทรปราการ
|
12000
12500
13500
11500
12000
|
VO
VN
VO
VD
VA
|
รูปแสดงตารางพนักงาน
2. ฐานข้อมูลแบบเครือข่าย (Network Database)
ฐานข้อมูลแบบเครือข่ายจะเป็นการรวมระเบียนต่าง
ๆ และความสัมพันธ์ระหว่างระเบียนแต่จะต่างกับฐานข้อมูลเชิงสัมพันธ์ คือ
ในฐานข้อมูลเชิงสัมพันธ์จะแฝงความสัมพันธ์เอาไว้
โดยระเบียนที่มีความสัมพันธ์กันจะต้องมีค่าของข้อมูลในแอททริบิวต์ใดแอททริบิวต์หนึ่งเหมือนกัน
แต่ฐานข้อมูลแบบเครือข่าย จะแสดงความสัมพันธ์อย่างชัดเจน ตัวอย่างเช่น
3. ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database)
ฐานข้อมูลแบบลำดับชั้น
เป็นโครงสร้างที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบพ่อ-ลูก (Parent-Child Relationship
Type : PCR Type) หรือเป็นโครงสร้างรูปแบบต้นไม้ (Tree) ข้อมูลที่จัดเก็บในที่นี้ คือ ระเบียน (Record) ซึ่งประกอบด้วยค่าของเขตข้อมูล
(Field) ของเอนทิตี้หนึ่ง ๆ
ฐานข้อมูลแบบลำดับชั้นนี้คล้ายคลึงกับฐานข้อมูลแบบเครือข่าย
แต่ต่างกันที่ฐานข้อมูลแบบลำดับชั้น มีกฎเพิ่มขึ้นมาอีกหนึ่งประการ คือ ในแต่ละกรอบจะมีลูกศรวิ่งเข้าหาได้ไม่เกิน
1 หัวลูกศร
โปรแกรมฐานข้อมูล เป็นโปรแกรมหรือซอฟแวร์ที่ช่วยจัดการข้อมูลหรือรายการต่าง
ๆ ที่อยู่ในฐานข้อมูล ไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล
โปรแกรมฐานข้อมูล
จะช่วยให้ผู้ใช้สามารถค้นหาข้อมูลได้อย่างรวดเร็ว
ซึ่งโปรแกรมฐานข้อมมูลที่นิยมใช้มีอยู่ด้วยกันหลายตัว เช่น Access, FoxPro, Clipper,
dBase, FoxBase, Oracle, SQL เป็นต้น
โดยแต่ละโปรแกรมจะมีความสามารถต่างกัน บางโปรแกรมใช้ง่ายแต่จะจำกัดขอบเขตการใช้งาน
บ่งโปรแกรมใช้งานยากกว่า แต่จะมีความสามารถในการทำงานมากกว่า
โปรแกรม
Access นับเป็นโปรแกรมที่นิยมใช้กันมากในขณะนี้
โดยเฉพาะในระบบฐานข้อมูลขนาดใหญ่
สามารถสร้างแบบฟอร์มที่ต้องการจะเรียกดูข้อมูลในฐานข้อมูล
หลังจากบันทึกข้อมูลในฐานข้อมูลเรียบร้อยแล้ว จะสามารถค้นหาหรือเรียกดูข้อมูลจากเขตข้อมูลใดก็ได้
นอกจากนี้ Access ยังมีระบบรักษาความปลอดภัยของข้อมูล
โดยการกำหนดรหัสผ่านเพื่อป้องกันความปลอดภัยของข้อมูลในระบบได้ด้วย
โปรแกรม
FoxPro เป็นโปรแกรมฐานข้อมูลที่มีผู้ใช้งานมากที่สุด
เนื่องจากใช้ง่ายทั้งวิธีการเรียกจากเมนูของ FoxPro และประยุกต์โปรแกรมขึ้นใช้งาน
โปรแกรมที่เขียนด้วย FoxPro จะสามารถใช้กลับ dBase คำสั่งและฟังก์ชั่นต่าง ๆ ใน dBase จะสามารถใช้งานบน
FoxPro ได้ นอกจากนี้ใน FoxPro ยังมีเครื่องมือช่วยในการเขียนโปรแกรม
เช่น การสร้างรายงาน
โปรแกรม
dBase เป็นโปรแกรมฐานข้อมูลชนิดหนึ่ง
การใช้งานจะคล้ายกับโปรแกรม FoxPro ข้อมูลรายงานที่อยู่ในไฟล์บน
dBase จะสามารถส่งไปประมวลผลในโปรแกรม Word Processor
ได้ และแม้แต่ Excel ก็สามารถอ่านไฟล์ .DBF
ที่สร้างขึ้นโดยโปรแกรม dBase ได้ด้วย
โปรแกรม
SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย
ไม่ซับซ้อน มีประสิทธิภาพการทำงานสูง
สามารถทำงานที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบฐานข้อมูลเชิงสัมพันธ์
และเป็นภาษาหนึ่งที่มีผู้นิยมใช้กันมาก โดยทั่วไปโปรแกรมฐานข้อมูลของบริษัทต่าง ๆ
ที่มีใช้อยู่ในปัจจุบัน เช่น Oracle, DB2 ก็มักจะมีคำสั่ง
SQL ที่ต่างจากมาตรฐานไปบ้างเพื่อให้เป็นจุดเด่นของแต่ละโปรแกรมไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น