หน้าเว็บ

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) ใช้เมื่อต้องการเพิ่มเติมเรคคอร์ดหรือข้อมูลใหม่