วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

คำสั่ง SELECT พื้นฐาน

คำสั่ง SELECT พื้นฐาน

คุณสามารถเขียนคำสั่ง SQL ได้หลายบรรทัด. สำหรับคำสั่ง SQL ในโปรแกรมพรีคอมไพล์, กฎสำหรับการต่อบรรทัดที่ใช้จะเป็นกฎเดียวกับของภาษาโฮสต์ (ภาษาที่ใช้เขียนโปรแกรม). นอกจากนี้คุณสามารถเรียกใช้คำสั่ง SELECT จากเคอร์เซอร์ในโปรแกรมได้. และสุดท้าย, คำสั่ง SELECT สามารถสร้างในแอ็พพลิเคชันแบบไดนามิกส์ได้.

หมายเหตุ:
  1. คำสั่ง SQL ที่อธิบายในส่วนนี้สามารถใช้งานได้กับตาราง วิว, และไฟล์ฐานข้อมูลทั้งแบบฟิสิคัลและโลจิคัล.
  2. สตริงอักขระที่ถูกระบุในคำสั่ง SQL (เช่น ค่าที่ถูกใช้ด้วย WHERE หรือ VALUES clause) จะตรงตามตัวอักษรพิมพ์ใหญ่หรือพิมพ์เล็ก; นั่นคือ, ตัวอักษรพิมพ์ใหญ่ต้องถูกป้อนในแบบตัวพิมพ์ใหญ่และตัวอักษรพิมพ์เล็กต้องถูกป้อนด้วยตัวพิมพ์เล็ก.
    WHERE ADMRDEPT='a00'     (จะไม่คืนค่าผลลัพธ์)
     
    WHERE ADMRDEPT='A00'     (จะคืนค่าหมายเลขแผนกที่ถูกต้อง)
    การดำเนินการเปรียบเทียบอาจจะไม่เป็นแบบตรงตามตัวอักษรพิมพ์ใหญ่พิมพ์เล็กถ้าใช้การเรียงแบบ shared-weight ซึ่งจะถือว่าตัวอักษรพิมพ์ใหญ่และตัวอักษรพิมพ์เล็กเป็นตัวอักขระเดียวกัน.
รูปแบบและซินแทกซ์ดังแสดงในที่นี่จะเป็นอย่างง่าย. คำสั่ง SELECT อาจแตกต่างจากตัวอย่างที่แสดงในบทนี้. คำสั่ง SELECT อาจประกอบด้วยสิ่งต่อไปนี้:
  1. ชื่อของแต่ละคอลัมน์ที่คุณต้องการรวม
  2. ชื่อของตารางหรือมุมมองที่มีข้อมูลอยู่
  3. เงื่อนไขการค้นหาที่ระบุแถวที่มีข้อมูลที่คุณต้องการ
  4. ชื่อของแต่ละคอลัมน์ที่ใช้เพื่อจัดกลุ่มข้อมูลของคุณ
  5. เงื่อนไขการค้นหาที่ระบุกลุ่มที่มีข้อมูลที่คุณต้องการ
  6. ลำดับการเรียงของผลลัพธ์ เพื่อให้ส่งคืนแถวที่ต้องการซึ่งอยู่ท่ามกลางข้อมูลที่ซ้ำๆ กัน.
คำสั่ง SELECT จะมีลักษณะดังนี้:
   SELECT ชื่อคอลัมน์
     FROM ชื่อตารางหรือชื่อมุมมอง
     WHERE เงื่อนไขการค้นหา
     GROUP BY ชื่อคอลัมน์
     HAVING เงื่อนไขการค้นหา
     ORDER BY ชื่อคอลัมน์
SELECT และ FROM clause จะต้องถูกระบุ. ส่วน clause อื่นจะเป็นตัวเลือกว่าจะระบุหรือไม่ก็ได้.
การใช้ SELECT clause, จะทำให้คุณระบุชื่อของแต่ละคอลัมน์ที่คุณต้องการดึงค่าได้. ตัวอย่างเช่น:
   SELECT EMPNO, LASTNAME, WORKDEPT
   
  ·
  ·
  ·
คุณสามารถระบุว่าให้ดึงข้อมูลแค่คอลัมน์เดียวเท่านั้น, หรือได้มากสุดถึง 8000 คอลัมน์. ค่าของแต่ละคอลัมน์ที่คุณเลือกจะถูกดึงข้อมูลในลำดับที่ระบุใน SELECT clause.
ถ้าคุณต้องการดึงค่าคอลัมน์ทั้งหมด (ในลำดับเดียวกับที่ปรากฎใน definition ของตาราง), ให้ใช้เครื่องหมายดอกจัน (*) แทนการใช้ชื่อคอลัมน์:
   SELECT *
   
  ·
  ·
  ·
FROM clause จะระบุตารางที่คุณต้องการเลือกข้อมูลจาก. คุณสามารถเลือกคอลัมน์จากตารางมากกว่าหนึ่งตารางได้. เมื่อเรียกใช้คำสั่ง SELECT, คุณต้องระบุ FROM clause ด้วย. ใช้คำสั่งดังต่อไปนี้:
SELECT *
       FROM EMPLOYEE
ผลลัพธ์คือคอลัมน์ทั้งหมดและแถวทั้งหมดจากตาราง EMPLOYEE.
รายการของ SELECT อาจมี นิพจน์, รวมถึงค่าคงที่, register พิเศษ, และการเลือกครั้งย่อยแบบ scalar ได้. AS clause ยังสามารถใช้ตั้งชื่อคอลัมน์ผลลัพธ์. ตัวอย่างเช่น, ลองเรียกใช้คำสั่งดังต่อไปนี้:
SELECT LASTNAME, SALARY * .05 AS RAISE
       FROM EMPLOYEE
       WHERE EMPNO = '200140'
ผลลัพธ์ของคำสั่งนี้คือ:
ตารางที่ 7. ผลลัพธ์สำหรับการสืบค้น
LASTNAMERAISE
NATZ1421
ถ้า SQL ไม่สามารถหาแถวที่ตรงกับเงื่อนไขการค้นหา, SQLCODE ที่มีค่าเป็น +100 จะถูกคืนค่ากลับมา.

ถ้า SQL เจอข้อผิดพลาดขณะรันคำสั่ง Select, SQLCODE ที่มีค่าเป็นลบจะถูกคืนค่ากลับมา. ถ้า SQL เจอตัวแปรโฮสต์มากกว่าผลลัพธ์, ค่า +326 จะถูกคืนค่ากลับมา.

ข้อสอบ o-net

1.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท  Smartphone.
1.  Ubumtu       2.  Iphone  os
3.  Android      4.  Symbian
เฉลยข้อ  1
2.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
1.  ไฟล์เพลง  MP 3 (mp 3)
2.  ไฟล์รูปประเภท  JPEG (jpeg)
3.  ไฟล์แสดงผลหน้าเว็บ (html)
4.  ไฟล์วีดีโอประเภท  Movie (movie)
เฉลยข้อ  3
3.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาต
ให้ผู้ใช้ทำอะไรได้บ้าง.
ก.  นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
ข.  ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
ค.  แก้ไขปรับปรุงโปรแกรมเองได้
1.  ข้อ  ก กับ  ข้อ  ค      2.  ข้อ  ข  กับ  ข้อ  ค
3.  ข้อ  ข  อย่างเดียว     4.  ข้อ  ก  อย่างเดียว
เฉลยข้อ  4
4.ระบบกระดานสนทนาหรือเว็บบอร์ดแห่งหนึ่งมีความต้องการดังนี้
ก.  ต้องให้ผู้ใช้สามารถตั้งกระทู้โต้ตอบกันได้โดยผู้ใช้
ต้องแสดงตัวตน(ล็อกอิน)เพื่อเข้าระบบก่อน
ข.  ผู้ใช้สามารถตั้งกระทู้หรือเข้าไปตอบกระทู้ที่ตั้งไว้แล้วได้
ค.  ระบบจะบันทึกชื่อผู้ตั้งและผู้ตอบไว้ด้วย
ในการออกแบบฐานข้อมูลดังกล่าวข้อใดกล่าวได้ถูกต้อง.
1.  ต้องสร้างตารางผู้ใช้ ตารางกระทู้และตารางคำตอบ
2.  ไม่ต้องสร้างตารางผู้ใช้เนื่องจากสามารถบันทึกชื่อ
ผู้ใช้ในตารางกระทู้และตารางคำตอบได้เลย
3.  ต้องสร้างตารางผู้ใช้และตารางกระทู้ส่วนคำตอบจะอยู่
ในตารางกระทู้อยู่แล้ว
4.  ไม่ต้องสร้างตารางกระทู้เพราะสามารถบันทึกกระทู้ที่ผู้ใช้
ตั้งในตารางผู้ใช้ได้เลย
เฉลยข้อ  4
5.อุปกรณ์ข้อใดคือหน่วยประเมินผลกลางของคอมพิวเตอร์.
เฉลย  CPU
6.ข้อใดเป้นการปฏิบัติที่ถูกต้องตามหลักวิชาการเมื่อค้นคว้า
หาข้อมูลจากอินเทอร์เนตมาทำรายงาน.
1.  คัดลอกเนื้อหาจากเว็บไซต์
2.  ใช้เนื้อหาจากกระดานสนทนา(Web board)มาใส่ในรายงาน
3.  นำรูปภาพจากเว็บไซต์มาใส่ในรายงาน
4.  อ้างอิงชื่อผู้เขียนบทความ
เฉลยข้อ  4
5.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
1.  Smart  Card          2.  Fingerprint
3.  Barcode                 4.  WiFi
เฉลยข้อ  3
6.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
ก.  ฮาร์แวร์คอมพิวเตอร์       ข.  ระบบปฎิบัติการ
ค.  เว็บเซิร์ฟเวอร์                   ง.  HTML
จ.  ระบบฐานข้อมูล                ฉ.  ภาษาจาวา(Java)
1.  ข้อ  ก และ ค                    2.  ข้อ  ข  และ  จ
3.  ข้อ  ค  และ  ง                   4.  ข้อ  ค  และ  ฉ
เฉลยข้อ  3
7.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
1.  Wi-Fi  ,  IP              2.  Wi-Fi  ,Bluetooth
3.  3G  ADSL                4.  3G    Ethernet
เฉลยข้อ  2
8.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
1.  การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
2.  เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
3.  ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
4.  ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้
เฉลยข้อ  2
9.ข้อใดต่อไปนี้ถูกต้องที่สุด.
1.  การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
2.  หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ  Network Interce Card
3.  หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
4.  รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด  8 บิด
เฉลยข้อ  3 

วันอาทิตย์ที่ 23 พฤศจิกายน พ.ศ. 2557

PHP

  • 5 PHP เป็นภาษาที่เรียกว่า server-side หรือ HTML- embedded scripting language เป็นเครื่องมือที่สําคัญ ช่วยให้เราสามารถสร้างเอกสารแบบ Dynamic HTML ได้อย่างมี ประสิทธิภาพและมีลูกเล่น  PHP ได้รับการพัฒนาและออกแบบมา เพื่อใช้งานในการสร้างเอกสาร แบบ HTML โดยสามารถ สอดแทรกหรือแก้ไขเนื้อหาได้โดยอัตโนมัติ
  • 6คุณสมบัติภาษาPHP • การแสดงผลของพีเอชพี จะปรากฏในลักษณะ HTML ซึ่งจะไม่ แสดงคําสั่งที่ผู้ใช้เขียน เป็นลักษณะเด่นของพีเอชพีที่แตกต่างจากภาษา ในลักษณะไคลเอนต์-ไซด์ สคริปต์ เช่น ภาษาจาวาสคริปต์ ที่ผู้ชม เว็บไซต์สามารถอ่าน ดูและคัดลอกคําสั่งไปใช้ได้ • PHP เป็นภาษาที่เรียนรู้และเริ่มต้นได้ โดยมีเครื่องมือช่วยเหลือและ คู่มือที่สามารถหาอ่านได้ฟรีบนอินเทอร์เน็ต
  • 7. ความสามารถการประมวลผลหลักของPHP  การสร้างเนื้อหาอัตโนมัติจัดการคําสั่ง การอ่านข้อมูลจากผู้ใช้และ ประมวลผล  การอ่านข้อมูลจาก data base  ความสามารถจัดการกับ cookie ซึ่งทํางานเช่นเดียวกับ โปรแกรมในลักษณะ CGI  การประมวลผลตามบรรทัดคําสั่ง (command line scripting) ทําให้ผู้เขียนโปรแกรมสร้างสคริปต์ PHP ทํางาน ผ่าน PHP parser โดยไม่ต้องผ่านเซิร์ฟเวอร์หรือเบราว์เซอร์
  • 8. การแสดงผลของพีเอชพี  จุดประสงค์หลักใช้ในการแสดงผล HTML แต่สามารถ สร้าง XHTML หรือ XML ได้  สามารถทํางานร่วมกับคําสั่งเสริมต่างๆ ซึ่งสามารถแสดงผลข้อมูล หลัก PDF แฟลช (โดยใช้ libswf และMing)  PHP มีความสามารถในการทํางานประมวลผลข้อความ จาก POSIX Extended หรือ รูปแบบ Perl ทั่วไป เพื่อแปลงเป็นเอกสาร XMLในการ แปลงและเข้าสู่เอกสาร XML  สามารถทํางานร่วมกับโปรแกรมอื่น เช่น Cybercash payment, CyberMUT, VeriSign Payflow Pro และ CCVS functions เพื่อใช้ใน การสร้างโปรแกรมทําธุรกรรมทางการเงิน
  • 9. การรองรับPHP • คําสั่งของ PHP สามารถสร้างผ่านทางโปรแกรมแก้ไขข้อความ ทั่วไป เช่น โน้ตแพด หรือ vi ทําให้การทํางาน PHP สามารถ ทํางานได้ในระบบปฏิบัติการหลักเกือบทั้งหมด • ส่วนหลักของ PHP มี Module ในการ รองรับ CGI มาตรฐาน ซึ่ง PHP สามารถทํางานเป็นตัว ประมวลผล CGI ด้วย • ด้วย PHP มีอิสระในการเลือก ระบบปฏิบัติการ และ เว็บเซิร์ฟเวอร์ นอกจากนี้ยังสามารถใช้สร้างโปรแกรมโครงสร้าง สร้างโปรแกรมเชิง วัตถุ (OOP) หรือสร้างโปรแกรมที่รวมทั้งสองอย่างเข้าด้วยกัน
  • 10. • PHP สามารถทํางานร่วมกับฐานข้อมูลได้หลายชนิด ฐานข้อมูลที่ รองรับได้แก่ ออราเคิล , dBase Postgre SQL, IBM ,DB2 , My SQL Informix ODBC โครงสร้างของฐานข้อมูล แบบ DBX ทําให้พีเอชพีใช้กับฐานข้อมูลอะไรก็ได้ที่รองรับรูปแบบ นี้

ความรู้เบื้องต้นเกี่ยวกับภาษาPHP

ความรู้เบื้องต้นเกี่ยวกับภาษาPHP ความเป็นมาของภาษาPHP

  • ประวัติความเป็นมา  PHP เดิมย่อมาจาก Personal Home Page Tools  Rasmus Lerdorf โปรแกรมเมอร์ชาวอเมริกัน เป็นผู้สร้างใน ปี ค.ศ. 1994 เนื่องจากต้องการพัฒนาโปรแกรมเพื่อเก็บข้อมูลของ ผู้ใช้ที่แวะเวียนเข้ามาเยี่ยมชมโฮมเพจส่วนตัวของเขา  ปัจจุบัน PHP ย่อมาจาก : Hypertext Preprocessor  เป็นคําย่อแบบกล่าวซํ้า(recursive) จากคํา ว่าPHP Hypertext Preprocessor
  • 3. ภาษาPHP คืออะไร  คือภาษาคอมพิวเตอร์ประเภทโอเพนซอร์ท (Open Source Computer Language)  ใช้สําหรับพัฒนา Web page แบบ Dynamic เมื่อเครื่องบริการ ได้รับคําร้องจากผู้ใช้ก็จะส่งให้กับตัวแปลภาษา  ทําหน้าที่ประมวลผลและส่งข้อมูลกลับไปยังเครื่องของผู้ใช้ที่ร้องขอ ใน รูป HTML ภาพ หรือแฟ้ ม digital อื่นๆ  ลักษณะของภาษามีรากฐานคําสั่งมาจากภาษาซี, ภาษาจาวา( java ) และ ภาษาเพิร์ล ( Perl )  ภาษา PHP นั้นง่ายต่อการเรียนรู้ ซึ่งเป้ าหมายหลักของภาษานี้ คือให้ นักพัฒนาเว็บไซต์สามารถเขียน เว็บเพจ ที่มีความตอบโต้ได้อย่างรวดเร็ว
  • 4 PHP เป็นผลงานที่เติบโตมาจากกลุ่มของนักพัฒนาในเชิงเปิดเผยรหัสต้นฉบับ หรือOpen Source  PHP ใช้ร่วมกับApache Web server ระบบปฏิบัติ เช่นLinux หรือ FreeBSD  PHP ปัจจุบันสามารถใช้ร่วมกับWeb Server หลาย ๆ ตัวบน ระบบปฏิบัติการ อย่างเช่นWindows 95/98/NT/2000/XP  PHP เป็นภาษาจําพวกscripting language คําสั่งต่างๆจะเก็บอยู่ ในไฟล์ที่เรียกว่าสคริปต์ (script) และเวลาใช้งานต้องอาศัยตัวแปล ชุดคําสั่ง ตัวอย่างของภาษาสคริปก็เช่น JavaScript, Perl เป็นต้น

วันอาทิตย์ที่ 2 พฤศจิกายน พ.ศ. 2557

1.4 หน้าที่ของระบบฐานข้อมูล

  1.4 หน้าที่ของระบบฐานข้อมูล
 ระบบบริหารฐานข้อมูล จะต้องสนับสนุนการกระทำต่อไปนี้ได้อย่างน้อย


  • การนิยามข้อมูล (Data Definition) ต้องสามารถรับการนิยามข้อมูลได้ เช่น การกำหนดเค้าร่างภายนอก เค้าร่างแนวคิด เค้าร่างภายใน และการเชื่อมทุกตัวที่เกี่ยวข้อง จากนั้นแปลงนิยามนั้นให้เป็นวัตถุ ดังนั้น ระบบจัดการฐานข้อมูลต้องมี ตัวประมวลผลภาษานิยามข้อมูล (Data Definition Language Processor/Compiler)
  • การจัดดำเนินการข้อมูล (Data Manipulation) ระบบฯ ต้องสามารถจัดการคำร้องในการสืบค้น ปรับปรุง ลบ เพิ่มข้อมูลได้ ดังนั้น ระบบฯ จึงต้องมีตัวประมวลผลภาษาจัดดำเนินการข้อมูล (Data Manipulation Language Processor/Compiler)  การร้องขอให้จัดดำเนินการข้อมูลอาจเป็น การร้องขอที่แจ้งล่วงหน้า (Planned Request) ซึ่งเตรียมไว้ล่วงหน้าก่อนการ Execute เป็นอย่างดี เช่น การรันโปรแกรมทุกเช้าซึ่งเป็นกิจวัตร หรืออาจเป็นการร้องขอที่ไม่แจ้งล่วงหน้า (Unplanned or ad Hoc request) ซึ่งต้องการข้อมูลอย่างฉับพลันหรือเป็นบางครั้งบางคราว ซึ่งมีลักษณะเป็นแบบโต้ตอบ (Interactive)
  • การแปลงคำสั่งให้เหมาะสมที่สุดและการเอ็กซีคิวคำสั่ง (Optimization and Execution)ระบบบริหารฐานข้อมูล จะมี Optimizer เป็นซอฟต์แวร์ที่รับเอาคำร้องขอ โค้ดคำสั่งวัตถุนั้นมาตรวจดูก่อนรันเพื่อดูว่าจะรันอย่างไรจึงจะดีที่สุด กล่าวคือ ให้ใช้ทรัพยากรน้อยที่สุด เช่น จะใช้วิธีใดในการเข้าถึงข้อมูล X จึงจะเหมาะสมที่สุด
  • ความปลอดภัยและความถูกต้องของข้อมูล (Data Security and Integrity) ระบบฯ จะต้องยอมให้ผู้บริหารฐานข้อมูล (DBA) สามารถเขียนคำสั่ง หรือกำหนดกฎความถูกต้อง (Integrity Constraints)ได้
  • การฟื้นฟูสภาพข้อมูลและสภาวะพร้อมกัน (Data Recovery and Concurrency) ระบบฯ ต้องสนับสนุนให้ผู้บริหารฐานข้อมูลสามารถสั่งให้ ตัวจัดการธรุกรรม (Transaction Manager or Transaction Processing Monitor)ให้ทำการฟื้นฟูสภาพ และควบคุมสภาวะการเข้าถึงฐานข้อมูลแบบพร้อมกันได้
  • พจนานุกรมข้อมูล (Data Dictionary) ระบบฯ ต้องสร้างพจนานุกรมข้อมูลของมันเองขึ้นมาได้เพื่อให้ผู้ใช้สามารถนำไปใช้ได้
 

 


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


 

 


ภาพตัวอย่างของการประมวลผลในระบบจัดการแฟ้มข้อมูล

ข้อมูล

 1. ข้อมูล

        ข้อมูลจะต้องเป็นข้อมูลรวมและแบ่งปันกันได้ (Both Integrated and Shared) ข้อมูลรวม (Integrated) ในฐานข้อมูล หมายถึง อาจมีข้อมูลซ้ำซ้อนกันระหว่างแฟ้มต่าง ๆ น้อยที่สุ หรือเท่าที่จำเป็น เช่น แฟ้มข้อมูลชื่อ EMPLOYEE กับ ENROLLMENT

NAME
ADDRESSDEPARTMENTSALARY
EMPLOYEE

NAMECOURSE
ENROLLMENT 
        แฟ้ม ENROLLMENT ไม่ควรมีเขตข้อมูล (Field) ชื่อ Department  หรือ Salary ซ้ำอีก เพราะเราสามารถค้นหาได้จากแฟ้ม ENROLLMENT ได้อยู่แล้ว
        ส่วนคำว่า แบ่งปัน (Shared) หมายถึง ข้อมูลในแต่ละชิ้นในฐานข้อมูลอาจถูกแบ่งปันระหว่างผู้ใช้หลายคน ซึ่งแต่ละคนสามารถเข้าถึงข้อมูลชิ้นเดียวกันได้ ด้วยวัตถุประสงค์ต่างกันไป ผู้ใช้หลายคนสามารถเข้าถึงข้อมูลได้พร้อมกัน (Concurrent Access)
2. ฮาร์ดแวร์

        ฮาร์ดแวร์ของระบบฐานข้อมูลประกอบไปด้วย 2 ส่วน คือ

  • ที่เก็บข้อมูลสำรอง (Secondary Storage Volumes) เพื่อเก็บข้อมูลด้วยอุปกรณ์นำเข้า/ส่งออกข้อมูล(ดิสก์ไดร์ฟ), ตัวควบคุมอุปกรณ์, ช่องนำเข้า/ส่งออกข้อมูล
  • ตัวประมวลผลฮาร์ดแวร์หน่วยความจำหลัก ที่สนับสนุนการทำงานของระบบฐานข้อมูล
        3. ซอฟต์แวร์ 

        ซอฟต์แวร์ เป็นส่วนเชื่อมระหว่างผู้ใช้กับฮาร์ดแวร์ 

        ซอฟต์แวร์ในที่นี้คือ ระบบจัดการฐานข้อมูล หรือระบบบริหารฐานข้อมูล (Database Management System : DBMS) ซึ่งมีหน้าที่ช่วยซ่อนกับผู้ใช้ฐานข้อมูลจากรายละเอียดระดับฮาร์ดแวร์ ระบบจัดการฐานข้อมูลจะทำให้ผู้ใช้รู้จักฐานข้อมูลในระดับที่อยู่เหนือระดับฮาร์ดแวร์และช่วยสนับสนุนการปฏิบัติงานของผู้ใช้ เช่น การปฏิบัติงานด้วยภาษานอบถามเชิงโครงสร้าง (Structured Query Language : SQL)
        4. ผู้ใช้

        ผู้ใช้ (Users) มี 3 กลุ่ม ได้แก่

  • โปรแกรมเมอร์ เขียนโปรแกรมประยุกต์ใช้ฐานข้อมูลด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
  • ผู้ใช้ปลายสุด (End Users) ติดต่อกับระบบจากสถานีงานออนไลน์ ผู้ใช้สามารถเข้าถึงฐานข้อมูลผ่านโปรแกรม หรืออาจใช้ส่วนติดต่อ (Interface) ที่ให้มาซึ่งเป็นส่วนหนึ่งของซอฟต์แวร์ฐานข้อมูล โดยเป็นส่วนที่สร้างไว้แล้วซึ่งผู้ใช้ปลายสุดไม่ต้องเขียนโปรแกรมขึ้นมาเอง ผู้ใช้ปลายสุดเพียงแต่ออกคำร้องขอ (Requests)  ต่อฐานข้อมูล ด้วยภาษา SQLเช่น คำสั่ง SELECT,INSERT
  • ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
เป็นบุคลากรทางเทคนิค เป็นมืออาชีพด้านไอที โดยมีงานในหน้าที่ ดังนี้
  • สร้างฐานข้อมูลจริงขึ้นมา และทำการสร้างการควบคุมทางเทคนิคเท่าที่จำเป็นเพื่อบังคับให้การตัดสินใจเชิงนโยบายหลายอย่างจะทำได้โดยบริหารฐานข้อมูล
  • รับผิดชอบต่อการทำงานที่มีประสิทธิภาพของระบบฐานข้อมูล และให้บริการทางเทคนิคแก่ฝ่ายอื่น ๆ
        นอกจากนี้ยังมีบุคคลระดับบริหารซึ่งไม่ใช่ผู้ใช้ แต่มีความสำคัญและเกี่ยวข้องกับฐานข้อมูล คือ ผู้บริหารข้อมูล (Data Administrator : DA)เป็นบุคคลทีรู้ความเป็นไปของการใช้ข้อมูลดี ควรเป็นคนในระดับผู้บริหารอาวุโส (Senior Management)รู้ว่าควรเก็บข้อมูลอะไร ไว้อย่างไร งานของผู้บริหารข้อมูลได้แก่
  • ตัดสินใจว่าควรจัดเก็บข้อมูลอะไรลงในฐานข้อมูลตั้งแต่เริ่ม
  • กำหนดนโยบายในการบำรุงรักษาและจัดการกับข้อมูลที่ถูกนำมาเก็บไว้ กล่าวคือ กำหนดนโยบายความปลอดภัยของข้อมูล (Data Security Policy)
  • ระบบบริหารฐานข้อมูล
ระบบบริหารฐานข้อมูล (Database Management System) บางที่เรียกว่า ระบบจัดการฐานข้อมูล แท้ที่จริงคือ ซอฟต์แวร์ที่จัดการการเข้าถึงทุกอย่างที่กระทำกับฐานข้อมูล (The DBMS is the software that handles all access to the database.) ซึ่งได้แก่ขั้นตอนการกระทำต่อไปนี้
  • ผู้ใช้ออกคำร้องขอเข้าสู่ฐานข้อมูลโดยใช้ภาษาย่อยข้อมูล
  • ระบบฯ ตรวจจับคำร้องขอและวิเคราะห์วากยสัมพันธ์
  • ระบบฯ ตรวจดูวัตถุเค้าร่างภายนอก (External Schema) ของผู้ใช้ การเชื่อมระหว่างระดับภายนอกกับระดับแนวคิด เค้าร่างแนวคิด การเชื่อมระหว่างระดับแนวคิดกับระดับภายใน และนิยามโครงสร้างการจัดเก็บ (Storage Structure Definition)ในเรื่องเค้าร่าง (Schema) ต่าง ๆ นี้ จะมีอธิบายละเอียดในบทต่อไปโดยอยู่ในหัวข้อ “สถาปัตยกรรมฐานข้อมูล”
  • ระบบฯ ทำตามคำร้องขอโดยกระทำกับฐานข้อมูลที่จัดเก็บนั้น (The DBMS executes the operations on the stored database.)

ข้อมูล

  ในรูปจะเห็นว่า กรอบสี่เหลี่ยมแสดงถึงชนิดของระเบียนในฐานข้อมูลซึ่งจะมี 1 อันต่อ 1 Entity เครื่องหมายลูกศรแสดงถึงความสัมพันธ์ ซึ่งในรูปนี้แสดงความสัมพันธ์แบบหนึ่งต่อกลุ่ม โดยที่หัวลูกศรจะออกจากส่วนของ “หนึ่ง” ไปยังส่วนของ “กลุ่ม”
        วิธีการค้นหาข้อมูลที่ต้องการ จะใช้หัวลูกศรเป็นแนวทาง ซึ่งอาจวิ่งทวนทิศทางกับหัวลูกศรก็ได้ เช่น ถ้าต้องการแสดงรายชื่อของอาจารย์ที่ทำงานอยู่แผนกวิชาที่ 4 ก็เริ่มด้วยการออกคำสั่งแก่ระบบจัดการฐานข้อมูลไห้ค้นหาแผนกที่ 4 ก่อน จากระเบียนของแผนกวิชา จากนั้นให้วิ่งตามลูกศรซึ่งจะเชื่อม (Link) ข้อมูลของแผนกที่ 4 นี้เข้ากับข้อมูลในส่วนของอาจารย์ ซึ่งได้แก่บรรดาระเบียนของอาจารย์ที่ทำงานอยู่แผนกที่ 4 สังเกตว่า ในการค้นหานี้เราจะค้นโดยใช้ลูกศร หรือทางเชื่อมในการโยงความสัมพันธ์ ดังนั้นเราจึงไม่จำเป็นต้องเก็บเขตข้อมูลรหัสแผนกไว้ในระเบียนของอาจารย์อย่างในตัวแบบเชิงสัมพันธ์
     1.ตัวแบบแตกสาขา หรือตัวแบบลำดับ ตัวแบบนี้พัฒนาขึ้นโดยไอบีเอ็ม เมื่อปี พ.ศ. 2511 ตัวอย่างเช่น ระบบ IMS ของ IBM มีความสัมพันธ์ระหว่างแฟ้มข้อมูลเป็นระดับชั้นหรือตามอาวุโส แฟ้มข้อมูลจะมีตำแหน่งจากบนลงล่าง โดยแฟ้มที่อยู่ในระดับที่สูงกว่าจะเป็นแม่ของแฟ้มที่อยู่ในระดับต่ำกว่า ข้อสังเกต คือ แฟ้มหนึ่งจะมีแฟ้มข้อมูลลูก (Child File) ได้หลายแฟ้ม ขณะที่แฟ้มลูกจะมีแฟ้มแม่เพียงแฟ้มเดียว เมื่อมองในลักษณะนี้จะเห็นว่าตัวแบบนี้มีโครงสร้างเหมือนต้นไม้ (Tee) ซึ่งอันที่จริงตัวแบบนี้คล้ายแบบเครือข่าย แต่ต่างกันตรงที่ ตัวแบบแตกสาขามีกฎเกณฑ์เพิ่มขึ้นมาอีก 1 ข้อ คือ ในแต่ละกรอบจะมีหัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างในภาพของตัวแบบเครือข่าย จะเห็นว่ากรอบอาจารย์มีลูกศรเข้ามา 2 ทาง ดังนั้น เราจะสร้างฐานข้อมูลเดียวกันนี้ด้วยตัวแบบแตกสาขาไม่ได้ แต่ต้องเปลี่ยนแปลงให้เหมาะสม เช่น


        นอกจากนั้น ยังมีลักษณะอีกประการหนึ่งที่สองตัวแบบหลังนี้แตกต่างจากตัวแบบเชิงสัมพันธ์ ก็คือ ในตัวแบบลำกับชั้น และตัวแบบเครือข่ายนั้น จะมีการใช้ตัวชี้  (Pointers) เพื่อแทนเส้นทางขึ้นลงไปตามแผนภาพต้นไม้สำหรับตัวแบบลำดับชั้น และแทนเส้นทางเชื่อมต่อในแผนภาพเครือข่ายของตัวแบบเครือข่าย แต่ในตัวแบบเชิงสัมพันธ์จะไม่มีการเกี่ยวข้องกับตัวชี้ดังกล่าวเลย (C.J. Date, 2000, p. 26)
        นอกจากตัวแบบทั้ง 3 ดังกล่าวแล้ว เมื่อไม่นานมานี้เริ่มมีผลิตภัณฑ์ระบบบริหารฐานข้อมูลแบบใหม่ปรากฏขึ้นมาบ้าง คือ

  • ระบบบริหารฐานข้อมูลเชิงวัตถุ (Object DBMS) เช่น Gemstone ของบริษัท Gemstone Systems Inc.และ Versant ODBMS ของบริษัท Versant Object Technology
  • ระบบบริหารฐานข้อมูลแบบผสมระหว่างเชิงวัตถุและเชิงสัมพันธ์ (Object/Relational DBMS) ตัวอย่างเช่น DB2 และ Informix
ในตำราเล่มนี้จะไม่กล่าวถึงระบบฐานข้อมูลเชิงวัตถุ (Object-oriented Database Systems) ม
ไปกว่านี้ แม้ว่าจะจัดเป็นตัวแบบหนึ่งของระบบฐานข้อมูล เนื่องจากเป็นเรื่องที่ยังใหม่และอยู่นอกเหนือขอบเขต
ระบบฐานข้อมูล
        ระบบฐานข้อมูล (Database System) เป็นคำประสมระหว่างคำว่า “ระบบ” (System) กับคำว่า “ฐานข้อมูล” (Database) มีความหมายและองค์ประกอบดังต่อไปนี้


ความหมาย         ระบบฐานข้อมูล โดยพื้นฐานเป็นระบบจัดเก็บระเบียนด้วยคอมพิวเตอร์ (A database system is basically a computerized record-keeping system.)สามารถทำงานกับข้อมูลในฐานข้อมูลในลักษณะต่าง ๆ ได้ เช่น
  • เพิ่มแฟ้มใหม่เข้าในฐานข้อมูล
  • แทรกข้อมูลลงในแฟ้ม
  • ดึงข้อมูลมาจากแฟ้ม
  • เปลี่ยนแปลงข้อมูลที่มีอยู่
  • ลบข้อมูล
  • ลบแฟ้ม
        ระบบฐานข้อมูล มีวัตถุประสงค์หลักในการจัดเก็บข้อสนเทศและให้ผู้ใช้สืบค้น ตลอดจนปรับปรุงข้อสนเทศนั้นให้เป็นปัจจุบัน
        องค์ประกอบ
        ระบบฐานข้อมูลมีองค์ประกอบหลัก 4 องค์ประกอบ ได้แก่

  • ข้อมูล (Data)
  • ฮาร์ดแวร์ (Hardware)
  • ซอฟต์แวร์ (Software)
  • ผู้ใช้ (Users)