หน้าเว็บ

29/9/53

ภาษาที่ใช้สำหรับนิยามข้อมูล (Data Definition Language - DLL) – ตอนที่ 1

Data Definition Language (DLL) เป็นภาษาที่ใช้นิยามข้อมูลโครงสร้างข้อมูลเพื่อเปลี่ยนแปลง หรือยกเลิกโครงสร้างฐานข้อมูลตามที่ออกแบบไว้ โครงสร้างดังกล่าว คือ สคีมา (Schema) นั้นเอง ตัวอย่างเช่น การกำหนดให้ฐานข้อมูลประกอบด้วยตารางอะไรบ้าง ชื่ออะไร ประเภทใด มีอินเด็กซ์ (Index)
ภาษา DDL ประกอบด้วย 3 คำสั่ง คือ
    • คำสั่งการสร้าง (Create) ได้แก่ การสร้างตารางและอินเด็กซ์
CREATE TABLE <Table name>
( Attribute 1 Type 1,
Attribute 2 Type 2,
)
CREATE Unique Index on X <Table name>
เช่น
CREATE TABLE SSQQ
(SNO CHAR(5) Not NULL,
SNAME CHAR(10),
STATUS integer
)
CREATE Unique Index XS11 on S11(SNO)


SELECT *

FROM Customer

WHERE Cust_ID='00001'

รูปแบบการใช้คำสั่ง SQL

รูปแบบการใช้คำสั่ง SQL สามารถใช้ได้เป็น 2 แบบ ดังนี้ คือ

  • คำสั่ง SQL ที่ใช้ในการเรียกดูข้อมูลได้ทันที (Interactive SQL) เป็นการเรียกใช้คำสั่ง SQL สั่งงานบนจอภาพ เพื่อเรียกดูข้อมูลในขณะที่ทำงานได้ทันที เช่น

SELECT City

FROM Supplier

WHERE sno=’SE’;

  • คำสั่ง SQL ที่ใช้เขียนร่วมกันกับโปรแกรมอื่นๆ (Embedded SQL) เป็นคำสั่ง SQL ที่ใช้ร่วมกับคำสั่งของโปรแกรมภาษาต่างๆ เช่น PL/1 PASCCAL เป็นต้น หรือแม้แต่คำสั่งในโปรแกรมที่ระบบจัดการฐานข้อมูลนั้นมีใช้เฉพาะ เช่น ORACEL มี PL/SQL (Procedural Language / SQL) ที่สามารถเขียนโปรแกรมและนำคำสั่ง SQL มาเขียนร่วมด้วย เป็นต้น

ตัวอย่างการใช้คำสั่ว SQL ในภาษา PL/1

EXEC SQL SELECT City

INTO:XCity

FROM Supplier

WHERE sno=’S4’;

28/9/53

ภาษา SQL (Structure Query Language)

ภาษา SQL (Structure Query Language)

ภาษา Standard relational database Query Language (SQL) ถูกพัฒนาครั้งแรกโดยบริษัท IBM เป็นภาษาที่ใช้ในการจัดการฐานข้อมูลเกือบทุกๆ ตัว เช่น MS SQL Server ,Oracle ,Access โดยมีรูปแบบของคำสั่งมาตราฐานที่ถูกกำหนดโดย ANSI (American National Standards Institute) และมีรูปแบบของคำสั่งที่ง่ายต่อการทำงาน คล้ายกับภาษามนุษย์เลยทีเดียว

ภาษา SQL แบ่งออกเป็น 2 ส่วน คือ

  • ภาษาที่ใช้สำหรับนิยามข้อมูล  (Data Definition Language - DLL)
  • ภาษาที่ใช้ในการจัดการข้อมูล (Data Manipulation Language - DML)
    • ภาษาในการควบคุม (Control Language)
    • ภาษาในการเลือกข้อมูล (Data Query Language)

25/9/53

โปรแกรมฐานข้อมูลที่นิยมใช้

โปรแกรมฐานข้อมูล เป็นโปรแกรมหรือซอฟแวร์ที่ช่วยจัดการข้อมูลหรือรายการต่าง ๆ ที่อยู่ในฐานข้อมูล ไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล

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

ระบบจัดการฐานข้อมูล

ระบบจัดการฐานข้อมูล คือ ระบบโปรแกรมที่มีความสามารถในการจัดการข้อมูลใน ด้านต่างๆ ได้แก่ การให้คำจำกัดความของข้อมูลและเรคคอร์ด การกำหนดความสัมพันธ์ระหว่างฟิลด์ต่าง ๆ ในเรคคอร์ดการจัดการประมวลผล ปรับเปลี่ยนแก้ไขข้อมูล และจัดการกำหนดควบคุมการใช้ข้อมูลอย่างมีระบบ
จุดมุ่งหมายสำคัญของระบบจัดการฐานข้อมูลจำแนกออกได้เป็น 2 ด้าน คือ เพื่อจัดการควบคุมและสนับสนุนการใช้งานขององค์กรอย่างเป็นระบบ

องค์ประกอบของระบบจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูลจำแนกเป็นย่อยๆ ได้หลายส่วน โดยแต่ละส่วนจะทำงานร่วมกันได้ หรือในบางกรณีอาจเป็นงานเฉพาะส่วนย่อยๆ จากภาพประกอบแสดงองค์ประกอบหลักของระบบจัดการฐานข้อมูล สัญลักษณ์รูปทรงกระบอกแสดงองค์ประกอบต่างๆ ที่ประกอบกันขึ้นมาเป็นตัวระบบจัดการฐานข้อมูลทั้งหมด ได้แก่

Authorized User Profiles AUP เป็นองค์ประกอบด้านการจัดการควบคุมตัวผู้ใช้ระบบใครสามารถอ่านข้อมูลชุดใดได้ เช่น การกำหนดรหัสผ่าน (password) ให้กับผู้ใช้ระดับต่างๆ ในองค์กร

Catalogued Queries/Report/Lable (CQRL) เป็นส่วนที่ควบคุมจัดการด้าน การเลือกค้นหาข้อมูลที่ต้องการ การทำรายงานตารางสรุปต่างๆ ซึ่งจะจัดตามคำร้องขอของผู้ใช้ระบบและออก Output ที่ต้องการ

Transaction and Screen Definition เป็นชุดโปรแกรมที่ควบคุมจัดการด้านการนำเสนอข้อมูลต่างๆ ทางจอภาพ หรือทำตามคำขอต่างๆ ของผู้ใช้ระบบ

User’s Application Program เป็นชุดโปรแกรมเฉพาะด้าน สร้างเพื่อใช้งานเฉพาะภายในหน่วยงานหนึ่งในองค์การ หรือตามความต้องการเฉพาะด้านของผู้ใช้ระบบในบางระดับ

Data Definition และ Store Database เป็นส่วนสำคัญที่สุดของระบบเป็นส่วนที่เก็บ Data dictionary และตัวข้อมูลต่างๆ ที่มีอยู่ในระบบ

หน้าที่ของระบบจัดการฐานข้อมูล
1. ช่วยกำหนด และเก็บโครงสร้างฐานข้อมูล (Define and Store Database Structure)

2. ช่วยดึงข้อมูลจากฐานข้อมูล (Load Database) ข้อมูลที่นำมาประมวลผลด้วยโปรแกรมคอมพิวเตอร์ ระบบจัดการฐานข้อมูลจะทำการรับและเก็บข้อมูลไว้ในข้อมูลเพื่อใช้ใน การประมวลผล

3. ช่วยเก็บและดูแลข้อมูล (Store and Maintain Data) ข้อมูลที่เก็บในฐานข้อมูลจะถูกเก็บรวบรวมได้ด้วยกัน โดยมีระบบจัดการฐานข้อมูลเป็นผู้ดูแลรักษาข้อมูลเหล่านั้น

4. ช่วยประสานงานกับระบบปฏิบัติการ (Operating System) เนื่องจากคอมพิวเตอร์ต้องพึ่งระบบปฏิบัติการช่วยเพื่อให้ทำงานได้ ดังนั้นระบบปฏิบัติการจะคอยควบคุมการทำงานของอุปกรณ์คอมพิวเตอร์หรือโปรแกรมต่าง ๆ เป็นต้น ระบบจัดการฐานข้อมูลจะทำการประสานงานกับระบบปฏิบัติการในการเรียกใช้ แก้ไขข้อมูล ลบข้อมูล ออกรายงาน

5. ช่วยควบคุมความปลอดภัย (Security Control) ในระบบการจัดการฐานข้อมูลจะมีวิธีควบคุมการเรียกใช้ข้อมูล หรือแก้ไขเปลี่ยนแปลงข้อมูลของผู้ใช้ในระบบจะมีวิธีควบคุมการเรียกใช้ข้อมูล หรือแก้ไขเปลี่ยนแปลงข้อมูลของผู้ใช้ในระบบซึ่งสามารถเรียกข้อมูลมาแก้ไขได้แตกต่างกัน เพื่อป้องกันความเสียหายที่จะเกิดขึ้นกับฐานข้อมูล

6. ช่วยจัดทำสำรองข้อมูลและการกู้คืน (Backup and Recover) ในระบบจัดการฐานข้อมูลจะทำการสำรองข้อมูลของฐานข้อมูลและเมื่อเกิดปัญหาขึ้นกับฐานข้อมูล เช่น แฟ้มข้อมูลเสียหายเนื่องจากดิสก์เสีย ระบบจัดการฐานข้อมูลจะใช้ระบบข้อมูลสำรองนี้ในการฟื้นฟู สภาพการทำงานของระบบให้สู่สภาวะปกติ

7. ช่วยควบคุมการใช้ข้อมูลพร้อมกับของผู้ใช้ในระบบ (Concurrency Control) ในระบบคอมพิวเตอร์ที่มีผู้ใช้หลายคนสามารถเรียกข้อมูลได้พร้อมกัน ระบบฐานข้อมูลที่มีคุณสมบัติที่มีใช้หลายคนสามารถเรียกข้อมูลได้พร้อมกันระบบฐานข้อมูลที่มีคุณสมบัตินี้ จะทำการควบคุมการใช้ข้อมูลพร้อมกันของผู้ใช้หลายคนในเวลาเดียวกัน โดยมีการควบคุมอย่างถูกต้องเหมาะสม
8. ช่วยควบคุมความสมบูรณ์ของข้อมูล (Integrity Control) ระบบจัดการฐานข้อมูลจะทำการควบคุมค่าของข้อมูลในระบบให้ถูกต้องตามที่ควรจะเป็น เช่น รหัสนักศึกษาที่ลงทะเบียน จะต้องตรงกับรหัสนักศึกษาในข้อมูลประวัติ

9. ช่วยทำหน้าที่จัดทำดรรชนีข้อมูล (Data Directory) ระบบจัดการฐานข้อมูลจะทำการสร้างดรรชนีข้อมูลเมื่อมีการกำหนดโครงสร้างของฐานข้อมูลขึ้นมาเพื่อเก็บรายละเอียดต่างๆ ที่เกี่ยวข้องกับฐานข้อมูลเช่น ชื่อตาราง ชื่อฟิลด์ ดรรชนีต่างๆ เป็นต้น

การสืบค้นฐานข้อมูล
การสืบค้น หมายถึง การค้นหาข้อมูลที่จัดเก็บไว้ในฐานข้อมูล จุดมุ่งหมายของ การเก็บข้อมูลไว้ในฐานข้อมูล จุดหลัก คือ ง่ายต่อการสืบค้น เมื่อเวลาต้องการนำข้อมูลมาใช้ ชุดคำสั่งสำหรับการจัดการฐานข้อมูลเป็นชุดคำสั่งที่ใช้ในการค้นหา (Select) แก้ไข (Update) เพิ่มเติม (Insert) และการลบ (Delete)

SQL (Structure Query Language) เป็นชุดคำสั่งที่ใช้จัดการฐานข้อมูลและข้อมูลในฐานข้อมูลชุดคำสั่ง SQL นิยมใช้มากในระบบฐานข้อมูลแบบตารางสัมพันธ์ ชุดคำสั่งที่ใช้ใน การจัดการกับฐานข้อมูลที่สำคัญๆ มี 4 คำสั่ง คือ
1. (Select) ใช้สำหรับการเลือกหาข้อมูลหรือเรคคอร์ดที่ต้องการในฐานข้อมูล
2. (Update) ใช้เมื่อต้องการแก้ไขข้อมูลหรือเรคคอร์ด
3. (Delete) ใช้เมื่อต้องการการลบข้อมูลหรือเรคคอร์ด
4. (Insert) ใช้เมื่อต้องการเพิ่มเติมเรคคอร์ดหรือข้อมูลใหม่

ความสัมพันธ์ของฐานข้อมูล

ความสัมพันธ์ (Relationships) หมายถึง คำกริยาที่แสดงความสัมพันธ์ระหว่างสองเอนทิตี้ เช่น เอนทิตี้นักศึกษาและเอนทิตี้โปรแกรมวิชามีความสัมพันธ์ในด้าน “เป็นนักศึกษาสังกัดอยู่” นั่นคือ นักศึกษาแต่ละคนสังกัดอยู่ในโปรแกรมวิชาใดวิชาหนึ่ง

ความสัมพันธ์ระหว่างเอนทิตี้
ในการระบุชื่อความสัมพันธ์ระหว่างเอนทิตี้ จะพิจารณาด้วยการกำหนดทิศทางของความสัมพันธ์จากเอนทิตี้หนึ่งไปยังเอนทิตี้หนึ่งว่ามีความสัมพันธ์กันอย่างไร เช่น ความสัมพันธ์จากเอนทิตี้นักศึกษาไปแต่ละคนสังกัดอยู่ในโปรแกรมวิชาเป็นความสัมพันธ์ที่เรียกว่า “สังกัดอยู่” นั่นคือนักศึกษาแต่ละคนสังกัดอยู่ในโปรแกรมวิชาในทางกลับกัน อาจจะระบุทิศทางของความสัมพันธ์ว่า ความสัมพันธ์จากเอนทิตี้โปรแกรมวิชาไปยังเอนทิตี้นักศึกษา เป็นความสัมพันธ์ที่เรียกว่า “ประกอบด้วย” นั่นคือแต่ละโปรแกรมวิชาประกอบด้วยนักศึกษา
นอกจากคำนึงถึงความสัมพันธ์แล้ว ยังต้องพิจารณาถึงจำนวนข้อมูล ที่เกิดขึ้นระหว่างความสัมพันธ์ของทั้งสองเอนทิตี้ว่ามีค่าเท่าไร (Cardinality Ratio) เช่น ความสัมพันธ์ของข้อมูลจากเอนทิตี้นักศึกษาไปยังเอนทิตี้โปรแกรมิชาเป็นอัตราส่วน 1 : 1 นั่นคือ นักศึกษาแต่ละสังกัดอยู่โปรแกรมวิชาเพียงโปรแกรมวิชาเป็นอัตราส่วน 1 : 30 นั่นคือแต่ละโปรแกรมวิชาจะประกอบด้วยนักศึกษา 30 คนเป็นต้น

ความสัมพันธ์ระหว่างเอนทิตี้ 2 เอนทิตี้
1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One - to - One Relationships) เป็น การแสดงความสัมพันธ์ เอนทิตี้หนึ่งว่ามีความสัมพันธ์กับเอนทิตี้หนึ่งในลักษณะที่เป็นหนึ่งต้องหนึ่ง เช่น นักศึกษาแต่ละคนสังกัด โปรแกรมวิชาได้เพียงโปรแกรมวิชาเดียวเท่านั้น
2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One - to - many Relationships) เป็น การแสดงความสัมพันธ์ของเอนทิตี้หนึ่งว่ามีความสัมพันธ์กับข้อมูลหลายข้อมูลของเอนทิตี้หนึ่ง เช่น ความสัมพันธ์ของนักศึกษากับการลงทะเบียนนักศึกษาหนึ่งคนสามารถลงทะเบียนได้หลายสาขา
3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many - to - Many Relationships) เป็ น การแสดงความสัมพันธ์ของข้อมูลสองเอนทิตี้ ในลักษณะแบบกลุ่มต่อกลุ่ม เช่น ในเอนทิตี้ การลงทะเบียนแต่ละครั้งสามารถลงทะเบียนได้หลายรายวิชา ความสัมพันธ์ของนักศึกษาไปยังเอนทิตี้รายวิชาเป็นแบบหนึ่งต่อกลุ่ม (1: N) และแต่ละรายวิชาถูกลงทะเบียนได้จากนักศึกษาหลายคน ซึ่งเป็นความสัมพันธ์ของเอนทิตี้รายวิชาไปยังเอนทิตี้นักศึกษาเป็นแบบหนึ่งต่อกลุ่ม (1: M) ดังความสัมพันธ์ระหว่างเอนทิตี้ทั้งสองจึงเป็นแบบกลุ่มต่อกลุ่ม (N: M)

ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)

ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)

ฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลแบบนี้แสดง การจัดเก็บข้อมูลในรูปแบบของตาราง ที่มีลักษณะเป็นสองมิติ คือ แถว (Row) และคอลัมน์ (Column) ซึ่งในการเชื่อมโยงกันระหว่างข้อมูลในตาราง 2 ตาราง หรือมากกว่า จะเชื่อมโยงโดยใช้แอททริบิวต์ที่มีอยู่ในตารางที่ต้องการเชื่อมโยงข้อมูลกัน โดยที่แอททริบิวต์จะแสดงคุณสมบัติของรีเลชั่นต่าง ๆ ซึ่งรีเลชั่นต่าง ๆ ได้ผ่านกระบวนการทำรีเลชั่นให้เป็นบรรทัดฐาน (Normalized) ในระหว่าง การออกแบบเพื่อละความซ้ำซ้อน เพื่อให้การจัดการฐานข้อมูลเป็นไปอย่างมีประสิทธิภาพ
ตัวอย่าง เป็นตารางรายชื่อนักศึกษาและตารางโปรแกรมวิชา ถ้าต้องการทราบว่านักศึกษารหัส 441031138 เป็นนักศึกษาของโปรแกรมวิชาใด ก็ต้องนำรหัสโปรแกรมวิชาในตารางนักศึกษาไปตรวจสอบกับตารางโปรแกรมวิชา ซึ่งมีรหัสของโปรแกรมวิชาซึ่งเรียกว่าเป็นดรรชนี และดึงข้อมูลออกมา


ภาพประกอบที่ 24 ความสัมพันธ์ของข้อมูลนักศึกษาและโปรแกรมวิชา
(วิเศษศักดิ์ โคตรอาษา. 2542 : 135)

ฉะนั้นสามารถสรุปโครงสร้างข้อมูลหลักที่สำคัญๆ ของฐานข้อมูลเชิงสัมพันธ์ ในส่วนที่เกี่ยวข้องกับการจัดเก็บข้อมูลและการค้นหาในฐานข้อมูล ดังนี้

1. ตารางเรคคอร์ดและฟิลด์ ข้อมูลต่างๆ ในฐานข้อมูลจะถูกจัดเก็บและนำเสนอในรูปแบบของตาราง โดยในตารางหนึ่งๆ จะจัดเก็บรวบรวมข้อมูลประเภทเดียวกันเข้าไว้ด้วยกัน ในแต่ละแถวและคอลัมน์ ซึ่งในศัพท์ของฐานข้อมูลจะเรียกฟิลด์ ในแต่ละแถวของตารางก็ คือ ข้อมูลหนึ่งชุดหรือข้อมูล 1 เรคคอร์ดในแต่ละแถวหรือเรคคอร์ดจะประกอบด้วยฟิลด์หรือคอลัมน์ที่เป็นส่วนย่อยที่แสดงแอททริบิวต์ของข้อมูลในแต่ละเรคคอร์ด

2. ดรรชนี ถ้าตารางข้อมูลมีนักศึกษาเก็บอยู่จำนวนมากการที่จะค้นหาข้อมูลที่ต้องการของนักศึกษาคนใดคนหนึ่งจะต้องเสียเวลาอย่างมาก เพราะจะต้องทำการค้นทีละเรคคอร์ด ในตารางไปจนกว่าจะครบ ข้อมูลของนักศึกษาที่ต้องการ เพื่อช่วยให้การค้นหาข้อมูลที่ต้องการทำได้รวดเร็วขึ้นฐานข้อมูลทั่วไปจึงมีโครงสร้างอีกชนิดหนึ่ง เรียกว่า ดรรชนีเพื่อสนับสนุนการค้นหาให้รวดเร็วขึ้น โดยปกติแล้วในแต่ละตารางจะมีฟิลด์หรือหลายฟิลด์ประกอบกันที่จะสามารถบอกถึงความแตกต่างของข้อมูลในแต่ละแถวได้ ฟิลด์หรือคอลัมน์ดังกล่าวเรียกว่าเป็นดรรชนีหลัก ของตาราง

3. ความสัมพันธ์ของตารางฐาน ข้อมูลแบบตารางสัมพันธ์ส่วนใหญ่แล้ว จะประกอบไปด้วยตารางข้อมูลต่างๆ หลายตาราง แต่ละตารางจะมีความสัมพันธ์กันในลักษณะใดลักษณะหนึ่ง

กฎที่เกี่ยวข้องกับดรรชนีในฐานข้อมูลเชิงสัมพันธ์

เนื่องจากรีเลชั่นต่างๆ ในฐานข้อมูลเชิงสัมพันธ์จะอ้างอิงความสัมพันธ์ของข้อมูล โดยใช้ดรรชนีกฎที่เกี่ยวข้องกับการใช้ดรรชนีในฐานข้อมูลเชิงสัมพันธ์ มีดังนี้

1. กฎความบูรณภาพของเอนทิตี้ (The Entity Integrity Rule) แอททริบิวต์ใดที่จะเป็นดรรชนีหลักข้อมูลในแอททริบิวต์นั้นจะเป็นค่าง่าย (Null) ไม่ได้หมายความของการเป็นค่าว่างไม่ได้ (Not Null) ในที่นี้หมายถึง ข้อมูลแอททริบิวต์เป็นดรรชนีหลักจะไม่ทราบค่าแน่นอนหรือ ไม่มีค่าไม่ได้

2. กฎความบูรณภาพของการอ้างอิง (The Referentail Integrity Rule) คือ ค่าของดรรชนีหลักนอกจากจะต้องสามารถอ้างอิงให้ตรงกับค่าของดรรชนีหลักได้ จึงจะเชื่อมโยงหรืออ้างอิงข้อมูลระหว่างสองรีเลชั่นได้

การกำหนดความสัมพันธ์

ในโปรแกรมการจัดการฐานข้อมูล เช่น โปรแกรมแอกเซส สามารถเชื่อมโยงข้อมูลต่างๆ จากตารางเพื่อที่จะสามารถแสดงข้อมูลที่ได้บนรายงานข้อคำถามหรือแบบฟอร์ม การเชื่อมโยงข้อมูลจากหลาย ตารางนี้เรียกว่าความสัมพันธ์ (Relation) การสร้างความสัมพันธ์ระหว่างตารางในฐานข้อมูลโดยการกำหนดให้ตารางมีความสัมพันธ์กันนั้น ต้องมีแอททริบิวต์หรือฟิลด์ที่เหมือนกัน และให้ค่าฟิลด์ที่เหมือนกันเป็นตัวเชื่อมความสัมพันธ์ ฟิลด์ที่เหมือนกันของตารางเรียกว่า ดรรชนีนอก (Foreing Key) เช่น ตารางของนักศึกษาและโปรแกรมวิชาจะมีรหัสของโปรแกรมวิชาที่เหมือนกัน ในเวลาที่นำโปรแกรมจัดการฐานข้อมูลมาใช้จะต้องมีการสร้างแบบฟอร์มหรือรายงานเรียบร้อยแล้ว จึงกำหนดความสัมพันธ์ระหว่างตาราง หรือกำหนดความสัมพันธ์ตั้งแต่สร้างความสัมพันธ์เสร็จ กล่าวคือจะมีความบูรณภาพความสัมพันธ์เป็นตารางที่เกี่ยวข้อง (Related Table)

ข้อดีของฐานข้อมูลเชิงสัมพันธ์

ฐานข้อมูลเชิงสัมพันธ์เป็นฐานข้อมูลที่มีรูปแบบง่ายสำหรับผู้ใช้ทั่วไป โดยเฉพาะผู้ใช้ซึ่งไม่ใช่นักวิเคราะห์และออกแบบโปรแกรม โปรแกรมเมอร์หรือผู้จัดการฐานข้อมูล เป็นต้น ข้อดีที่ผู้ใช้ทั่วไปรู้สึกว่าฐานข้อมูลชนิดนี้เข้าใจง่าย มีดังนี้

1. ฐานข้อมูลเชิงสัมพันธ์เป็นกลุ่มของรีเลชั่นหรือตารางที่ข้อมูลถูกจัดเก็บเป็นแถวและคอลัมน์ ซึ่งทำให้ผู้ใช้เห็นภาพของข้อมูลได้ง่าย
2. ผู้ใช้ไม่จำเป็นต้องรู้ว่าข้อมูลถูกจัดเก็บอย่างไร รวมถึงวิธีการเข้าถึงข้อมูล (Access Approach)
3. ภาษาที่ใช้ในการเรียกดูข้อมูล เป็นลักษณะคล้ายภาษาอังกฤษและไม่จำเป็นต้องเขียนเป็นลำดับขั้นตอน
4. การเรียกใช้หรือเชื่อมโยงข้อมูลทำได้ง่ายโดยใช้โอเปอร์เรเตอร์ ทางคณิตศาสตร์ เช่น SELECT ไม่จำเป็นต้องมีตัวชี้ (Pionter) ซึ่งยุ่งยาก

ฐานข้อมูลแบบเชิงลำดับขั้น (Hierarchical Database)

ูฐานข้อมูลแบบเชิงลำดับขั้น (Hierarchical Database)

ฐานข้อมูลแบบเชิงลำดับขั้น เป็นโครงสร้างข้อมูลที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบพ่อ - แม่ - ลูก (Parent Child Relationship Tape : PCR Type

โครงสร้างของฐานข้อมูลเชิงลำดับขั้นประกอบด้วย ประเภทของเรคคอร์ดและมีความสัมพันธ์กัน ดังนี้

1. ประกอบด้วยเรคคอร์ด 4 ประเภท คือ ชื่อนักศึกษา ชมรม คณะ โปรแกรมวิชา
2. ประกอบด้วยความสัมพันธ์แบบ PCR 3 ประเภท คือ ความสัมพันธ์ของนักศึกษากับชมรมและความสัมพันธ์ของนักศึกษากับคณะวิชา และความสัมพันธ์ของคณะวิชากับโปรแกรมวิชา โดยมีนักศึกษาและคณะเป็นเรคคอร์ดประเภทพ่อ - แม่ (Parent Record Type) และมีชมรมและโปรแกรมวิชาเป็นเรคคอร์ดประเภทลูก (ChildRecord Type)

ฐานข้อมูลแบบเครือข่าย (Network Database)

ูฐานข้อมูลแบบเครือข่าย (Network Database)

โครงสร้างของฐานข้อมูลแบบเครือข่ายประกอบด้วยประเภทของเรคคอร์ด และกลุ่มของข้อมูลของเรคคอร์ดนั้น การจัดข้อมูลอยู่ในความสัมพันธ์แบบพาเรนต์ไชล์ แต่ละสมาชิกสามารถมีความสัมพันธ์กันได้มากกว่าหนึ่ง นั่นคือสามารถมีความสัมพันธ์ของข้อมูลในแบบ N : M
ตัวอย่าง กลุ่มข้อมูลที่เกี่ยวกับเรื่องวิชาโปรแกรมวิชาเอก จะประกอบด้วยข้อมูลจากเรคคอร์ดหลัก 1 ข้อมูล และข้อมูลของเรคคอร์ดที่เป็นสมาชิก จะเห็นว่าเรคคอร์ดหลัก คือ โปรแกรมวิชา จะมีข้อมูลของเรคคอร์ดที่เป็นสมาชิกคือนักศึกษา ที่เรียนในแต่ละโปรแกรมวิชา จะมีข้อมูลของเรคคอร์ดที่เป็นสมาชิกคือนักศึกษาที่เรียนในแต่ละโปรแกรม

รูปแบบของฐานข้อมูล

แบ่งออกเป็น 3 ประเภท คือ

1. ฐานข้อมูลแบบเครือข่าย (Network Datdbase)
2. ฐานข้อมูลแบบเชิงลำดับขั้น (Hierarchical Database)
3. ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)

คำศัพท์ของฐานข้อมูล

คำศัพท์ของฐานข้อมูล

  • เอนทิตี้ (Entity) ใช้แทนความจริงเกี่ยวกับสิ่งต่าง ๆ ซึ่งไม่ขึ้นอยู่กับความเป็นอยู่ อาจบอกเกี่ยวกับความเป็นอยู่ทางกายภาพ เช่น เกี่ยวกับบุคคล รถยนต์ บ้าน หรือลูกค้า หรืออาจบอกเกี่ยวกับความสัมพันธ์ภายในหน่วยงานหรือวิชาเรียน ซึ่งบางครั้งเอนทิตี้ในบางเอนทิตี้จะไม่มีความหมาย หากไม่มีเอนทิตี้อื่นในฐานข้อมูล เช่น เอนทิตี้ประวัติครอบครัวนักศึกษาจะไม่มีความหมาย ถ้าไม่มีเอนทิตี้ของนักศึกษาคนใด เอนทิตี้ ประเภทนี้เรียกอีกอย่างว่า เอนทิตี้ชนิดอ่อนแอ (Weak Entity)
  • แอททริบิวต์ (Attibute) หมายถึง รายละเอียดของข้อมูลในเอนทิตี้ เช่น เอนทิตี้นักศึกษา ประกอบด้วย แอททริบิวต์รหัสนักศึกษา ชื่อ สกุล โปรแกรมวิชา คณะ หรือแอนทิตี้ พนักงาน ประกอบด้วยแอททริบิวต์รหัสพนักงาน ชื่อ เงินเดือน เป็นต้น แอททริบิวต์บางแอททริบิวต์ ประกอบด้วย ข้อมูลหลายส่วนรวมกัน ซึ่งอาจแยกย่อยเป็นแอททริบิวต์ได้อีก ซึ่งแอททริบิวต์ที่มีคุณสมบัติแบบนี้
  • แอททริบิวต์แบบผสม (composite Atteibute) ตัวอย่างเช่น แอททริบิวต์ประกอบด้วยข้อมูล บ้านเลขที่ ถนน ซอย อำเภอ จังหวัด รหัสไปรษณีย์ สามารถแยกย่อยเป็น แอททริบิวต์ที่อยู่ 1 ประกอบด้วย ข้อมูล บ้านเลขที่ ถนน ซอย อำเภอ แอททริบิวต์ที่ 2 ประกอบด้วย จังหวัด รหัสไปรษณีย์ เป็นต้น นอกจากนี้ยังมีแอททริบิวต์ที่ไม่มีความหายในตัวเอง แต่สามารถหาค่าได้จากแอททริบิวต์อื่น ๆ เช่น แอททริบิวต์อายุ สามารถคำนวณจากแอททริบิวต์วันเดือนปีเกิด เป็นต้น ซึ่งแอททริบิวต์ที่มีคุณสมบัติอย่างนี้เรียกว่า แอททริบิวต์ที่ถูกแปลค่ามา (Derived Attrebute)
  • ทูเพิล (Tuple) หมายถึง ค่าของข้อมูลในแต่ละแถว (Row) หรือเรียกว่า เรคคอร์ด (Record)
  • คาร์ดินาลลิตี้ (Cardinality) หมายถึง จำนวนแถวของข้อมูลในแต่ละรีเลชั่น
  • ดรรชนีหลัก (Primary Key) หมายถึง แอททริบิวต์ที่มีค่าของข้อมูลเฉพาะเจาะจง และจะเป็นค่าที่ไม่ซ้ำกับทูเพิล
  • โดเมน (Domain) หมายถึง ขอบเขตค่าของข้อมูลที่ควรจะเป็นในแต่ละแอททริบิวต์

โครงสร้างของแฟ้มข้อมูล

โครงสร้างของแฟ้มข้อมูล (Data Structure) หมายถึง รูปแบบของการจัดระเบียบของข้อมูล ซึ่งมีอยู่หลายรูปแบบประกอบด้วยโครงสร้างพื้นฐานที่ลำดับหน่วยที่เล็กที่สุด ไปยังหน่วยที่ใหญ่ขึ้นตามลำดับคือ

  • บิต (BIT) หมายถึง หน่วยข้อมูลที่เล็กที่สุดที่เก็บอยู่ในหน่วยความจำภายในเครื่องคอมพิวเตอร์ ซึ่ง bit แทนค่า ด้วย 0 หรือ 1 อย่างใดอย่างหนึ่ง เรียกตัวเลข 0 หรือ 1 ว่า bit 1 bit
  • ไบท์ (Byte) หมายถึง หน่วยข้อมูลที่นำขบวนของบิตที่รวมกันแทนตัวอักษรแต่ละตัว เช่น A, B ,...,Z, 0, 1, ...,9 และสัญญาลักษณ์พิเศษอื่นๆ เช่น $, &, +, -, *, / เป็นต้น ตัวอักษร 1 ตัวแทนด้วย bit 7 หรือ 8 bit ซึ่งตัวอักษรแต่ละตัวจะเรียกว่า byte เช่น A เมื่อเก็บอยู่ในคอมพิวเตอร์จะเก็บเป็น 1000001 เป็นต้น
  • ฟิลด์(Field) หรือ เขตข้อมูล หมายถึง หน่วยของข้อมูลที่ประกอบด้วยหลายตัวอักษร เพื่อแทนความหมายของข้อมูล เช่น รหัสนิสิต ชื่อนักเรียน เป็นต้น
  • เรคคอร์ด (Record) หมายถึง หน่วยของข้อมูลที่นำเอาฟิลด์ หลายๆ ฟิลด์มารวมกัน แสดงรายละเอียดของข้อมูลหนึ่งๆ เช่น ประวัตินักศึกษา ประกอบด้วย รหัสนักศึกษา ชื่อนักศึกษา นามสกุล วันเดือนปีเกิด ที่อยู่ เป็นต้น
  • แฟ้มข้อมูล (File) หมายถึง หน่วยของข้อมูลที่เกิดจากการรวมกันของเรคคอร์ดหลายๆ เรคคอร์ด
  • ฐานข้อมูล (Database) คือ หน่วยของข้อมูลที่นำเอาแฟ้มข้อมูลหลายๆ แฟ้มข้อมูล ที่มีความสัมพันธ์มารวมกัน เช่น ฐานข้อมูลระบบทะเบียนนักเรียน ซึ่งจะประกอบด้วย แฟ้มข้อมูลรายวิชา นักเรียน การลงทะเบียน ผลการเรียน ครูผู้สอน เป็นต้น


ภาพแสดงการจัดเก็บข้อมูลในคอมพิวเตอร์



ภาพตัวอย่างเขตข้อมูล ระเบียนและแฟ้มข้อมูล

19/9/53

ฐานข้อมูล (Database)

ฐานข้อมูล (Database)

ฐานข้อมูล (Database)เข้ามามีส่วนสำคัญในการปฏิบัติงานในด้านต่างๆ โดยเฉพาะอย่างยิ่งระบบงานที่นำเอาคอมพิวเตอร์เข้ามาช่วยในการปฏิบัติงาน เช่น วิศวกรรม การศึกษา การแพทย์ และด้านธุรกิจ เป็นต้น ถ้าพิจารณาความหมายของข้อมูล (Data) หมายถึงความจริงเกี่ยวกับสิ่งของ มนุษย์ และเหตุการณ์ต่างๆ เมื่อนำมาเก็บรวบรวมไว้ เราจึงสามารถกล่าวได้ว่า ฐานข้อมูล (Database) คือ การจัดเก็บข้อมูลอย่างมีระบบ ซึ่งผู้ใช้สามารถเรียกใช้ข้อมูลในลักษณะต่างๆ ได้อย่างมีประสิทธิภาพ ได้แก่ การนำข้อมูลมาแก้เพิ่มเติม การลบข้อมูล การเรียกข้อมูล เป็นต้น



ความหมายของฐานข้อมูล (Database)


ฐานข้อมูลประกอบด้วยรายละเอียดของข้อมูลที่เกี่ยวข้องกัน ซึ่งถูกนำมาใช้ในงานด้านต่างๆ เช่น ด้านทะเบียนนักศึกษา จะมีฐานข้อมูลเกี่ยวกับนักศึกษา ข้อมูลฝากเงิน ข้อมูลการให้สินเชื่อ หรือข้อมูลเกี่ยวกับร้านค้า จะมีข้อมูลเกี่ยวกับเจ้าหนี้การค้า ข้อมูลเกี่ยวกับสินค้าคงคลังเป็นข้อมูลเหล่านี้จะถูกเก็บอย่างมีระบบเพื่อประโยชน์ในการจัดการและ การเรียกใช้ข้อมูลได้อย่างมีประสิทธิภาพ

องค์ประกอบของระบบฐานข้อมูล

ระบบฐานข้อมูลส่วนใหญ่เป็นระบบที่มีการนำระบบคอมพิวเตอร์เข้ามาช่วยใน การจัดเก็บ โดยมีโปรแกรม Software ช่วยในการจัดการข้อมูลเหล่านี้ เพื่อให้ได้ข้อมูลตามที่ผู้ใช้ต้องการ องค์ประกอบของฐานข้อมูลแบ่งออกเป็น 5 ประเภท คือ
1. ฮาร์ดแวร์ (Hardware) ในระบบฐานข้อมูลที่มีประสิทธิภาพควรมีฮาร์ดแวร์ต่าง ๆ ที่พร้อมจะอำนวยความสะดวกในการบริหารข้อมูลได้อย่างมีประสิทธิภาพไม่ว่าจะเป็นความเร็วของหน่วยประมวลผลกลาง ขนาดของหน่วยความจำหลัก อุปกรณ์นำเข้าและออกข้อมูล รายงานหน่วยความจำสำรองที่จะรองรับการประมวลผลข้อมูลในระบบได้อย่างมีประสิทธิภาพ

2. ซอฟต์แวร์ (Software) ในการประมวลผลข้อมูลอาจจะใช้ซอฟต์แวร์หรือโปรแกรมที่แตกต่างกัน ทั้งนี้ขึ้นอยู่กับคอมพิวเตอร์ที่นำมาใช้ว่าเป็นแบบใด โปรแกรมจะทำหน้าที่ดูแลการสร้าง การเรียกใช้ข้อมูลการจัดทำรายงาน การปรับเปลี่ยน แก้ไข โครงสร้างการควบคุม หรืออาจกล่าวได้อีกอย่างว่าระบบจัดการฐานข้อมูล (Database Management System : DBMS) คือ โปรแกรมประยุกต์ต่างๆ ที่มีอยู่ในฐานข้อมูล ตัวอย่างเช่น DBASE IV, EXCEL , ACCESS , INFORMIX , ORACLE เป็นต้น

3. ข้อมูล (Data) ฐานข้อมูลเป็นการจัดเก็บรวบรวมข้อมูลให้เป็นศูนย์กลางข้อมูลอย่างมีระบบ ซึ่งข้อมูลเหล่านี้สามารถเรียกใช้ร่วมกันได้ ผู้ใช้ข้อมูลในระบบฐานข้อมูลจะมองภาพข้อมูลในลักษณะที่แตกต่างกัน เช่น ผู้ใช้บางคนมองภาพของข้อมูลที่ถูกจัดเก็บได้ในสื่อข้อมูล ผู้ใช้
บางคนมองภาพข้อมูลจากการใช้งาน เป็นต้น

4. บุคลากร (People) ในระบบฐานข้อมูลจะมีบุคลากรที่เกี่ยวข้อง ดังนี้

  • ผู้ใช้ทั่วไป (User) หมายถึง บุคลากรที่ใช้ข้อมูลจากระบบฐานข้อมูล เพื่อให้งานสำเร็จลุล่วงได้
  • พนักปฏิบัติการ (Operator) หมายถึง ผู้ปฏิบัติการด้านการประมวลผลการป้อนข้อมูลเข้าเครื่องคอมพิวเตอร์
  • นักเขียนโปรแกรม (Programmer) หมายถึง ผู้ที่มีหน้าที่เขียนโปรแกรมประยุกต์ใช้งานต่างๆ เพื่อให้จัดเก็บข้อมูล การเรียกใช้ข้อมูลเป็นไปตามต้องการของผู้ใช้
  • นักวิเคราะห์และออกแบบระบบ (System Analyst) หมายถึง บุคลากรที่ทำหน้าที่วิเคราะห์ระบบฐานข้อมูล และออกแบบระบบงานที่จะนำมาใช้
  • ผู้บริหารฐานข้อมูล (Database Administrator) หมายถึง บุคลากรที่ทำหน้าที่บริการและควบคุมการบริหารงานของระบบฐานข้อมูล ทั้งหมดเป็นผู้ตัดสินใจว่าจะรวบรวมข้อมูลอะไรเข้าในระบบ จัดเก็บโดยวิธีใด เทคนิคการเรียกใช้ข้อมูล กำหนดระบบวิธีการรักษาความปลอดภัยของข้อมูล การสร้างระบบข้อมูลสำรอง การกู้และประสานงานกับผู้ใช้ว่ามีความต้องการใช้ข้อมูลอย่างไร รวมถึงการวิเคราะห์และการออกแบบระบบ เพื่อให้นักเขียนโปรแกรมนำไปเขียนโปรแกรมที่ใช้ในการบริหารงานระบบฐานข้อมูลได้อย่างมีประสิทธิภาพ

5. ขั้นตอนปฏิบัติงาน (Procedure) ในระบบฐานข้อมูลที่ดีจะต้องมีการจัดทำเอกสารที่ระบุขั้นตอนการทำงานของหน้าที่ต่างๆ ระบบฐานข้อมูลทั้งในสภาวะปกติ และในสภาวะที่ระบบเกิดขัดข้องมีปัญหา ซึ่งเป็นขั้นตอนการปฏิบัติงานสำหรับบุคลากรในทุกระดับขององค์กร