ผลต่างระหว่างรุ่นของ "Databases and Warehousing/How can you get data out of a database?"
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
ล Nullzero ย้ายหน้า Managing Data: Databases and Warehousing/How can you get data out of a database? ไปยัง Databases and Warehousing/How can you get data out of a database? (ไม่สร้างหน้าเปล... |
Nullzerobot (คุย | ส่วนร่วม) ล โรบอต: เก็บกวาด |
||
บรรทัดที่ 1:
== '''DBMS Languages''' ==
* ในการติดต่อกับฐานข้อมูลของผู้ใช้ จะต้องกระทำผ่านโปรแกรมที่มีชื่อว่า '''Database Management System (DBMS)''' ซึ่งหน้าที่หลักของ DBMS ได้แก่ การทำให้การเรียกใช้ข้อมูลจากฐานข้อมูลเป็นอิสระจากส่วนของ Hardware หรือกล่าวอีกนัยหนึ่งคือ โปรแกรม DBMS จะมีหน้าที่ในการจัดการและควบคุมความถูกต้อง ความซ้ำซ้อนและความสัมพันธ์ระหว่างข้อมูลต่าง ๆ ภายในฐานข้อมูลแทนโปรแกรมเมอร์ ส่งผลให้ผู้ใช้สามารถที่จะเรียกใช้ข้อมูลจากฐานข้อมูลได้โดยไม่จำเป็นที่จะต้องทราบถึงโครงสร้างทางกายภาพของข้อมูลในระดับที่ลึก เช่นเดียวกันกับโปรแกรมเมอร์ เรื่องจากโปรแกรม DBMS นี้ จะมีส่วนของ '''''Query Language''''' ซึ่งเป็นภาษาที่ประกอบด้วยคำสั่งต่าง ๆ ที่ใช้ในการจัดการ และเรียกใช้ข้อมูลจากฐานข้อมูล สามารถนำไปใช้ร่วมกับภาษาคอมพิวเตอร์อื่น ๆ เพื่อพัฒนาเป็นโปรแกรมที่ใช้สำหรับเรียกใช้ข้อมูลจากฐานข้อมูลมาประมวลผล ซึ่งในรายละเอียดของ DBMS จะกล่าวถึงในลำดับต่อไป
* '''DBMS''' เป็นโปรแกรมที่ทำหน้าที่เป็นตัวกลางในการติดต่อระหว่างผู้ใช้กับฐานข้อมูล เพื่อจัดการและควบคุมความถูกต้อง ความซ้ำซ้อน และความสัมพันธ์ระหว่างข้อมูลต่าง ๆ ภายในฐานข้อมูล ซึ่งต่างจากระบบแฟ้มข้อมูลที่หน้าที่เหล่านี้จะเป็นหน้าที่ของโปรแกรมเมอร์ ในการติดต่อกับข้อมูลในฐานข้อมูลไม่ว่าจะด้วยการใช้คำสั่งในกลุ่มคำสั่ง MDL หรือ DDL หรือจะด้วยโปรแกรมต่างๆ ทุกคำสั่งที่ใช้กระทำกับข้อมูลจะถูกโปรแกรม DBMS นำมาแปล (Compile) เป็นการกระทำ (Operation) ต่าง ๆ ภายใต้คำสั่งนั้นๆ เพื่อนำไปกระทำกับตัวข้อมูลภายในฐานข้อมูลต่อไปสำหรับส่วนของทำงานต่างๆ ภายในโปรแกรม DBMS ที่ทำหน้าที่ในการแปลคำสั่งไปเป็นการกระทำต่างๆ ที่จะกระทำกับข้อมูลนั้น ประกอบด้วยส่วนการทำงานต่าง ๆ '''Query Processor''' เป็นส่วนที่ทำหน้าที่แปลงประโยคคำสั่งของ Query Language ให้อยู่ในรูปแบบของคำสั่งที่ Database Manager เข้าใจ
----
'''Data Manipulation Language'''
# '''Data Manipulation Language Pre-compiler''' เป็นส่วนที่ทำหน้าที่แปล (Compile) ประโยคคำสั่งของกลุ่มคำสั่ง DML ให้อยู่ในรูปแบบที่ส่วน Application Programs Object Code จะนำไปเข้ารหัสเพื่อส่งต่อไปยังส่วน Database Manager ในการแปลประโยคคำสั่งของกลุ่มคำสั่ง DML ของส่วน Data Manipulation Language Pre-compiler นี้จะต้องทำงานร่วมกับส่วน Query Processor จะเป็นการอธิบายการใช้งานกลุ่มคำสั่ง DML ที่ใช้ในการดึง เพิ่ม ลบ และเปลี่ยนแปลงข้อมูล และมีความสำคัญ ใช้กันอยู่เสมอ ประกอบไปด้วย 4 คำสั่งคือ
## '''INSERT''' ใช้สำหรับเพิ่มข้อมูลหรือเพิ่ม record ใดๆ เข้าไปในฐานข้อมูล
## '''UPDATE''' ใช้สำหรับแก้ไขข้อมูลหรือแก้ไข record ใด ๆ ในฐานข้อมูล
## '''DELETE''' ใช้สำหรับลบข้อมูลหรือลบ record ใดๆ ในฐานข้อมูล
## '''SELECT''' ใช้สำหรับเลือกข้อมูลหรือเลือก record ใด ๆ ที่ต้องการจากฐานข้อมูล
# '''รูปแบบการใช้งาน''' ได้เป็น 2 ระดับ ได้แก่
## '''ภาษาขั้นสูง''' (High-level หรือ nonprocedural language) ทำงานได้โดยไม่ต้องนำไปใช้ร่วมกับภาษาโปรแกรม (Programming Language) ภาษาอื่น โดยประมวลผลข้อมูลครั้งละกลุ่ม และระบุเฉพาะสิ่งที่ต้องการ โดยไม่ต้องระบุขั้น
## '''ภาษาขั้นต่ำ''' (Low-level หรือ procedural language) จำเป็นต้องใช้งานร่วมกับภาษาโปรแกรมทั่วไปภาษาอื่น โดยประมวลผลข้อมูลครั้งละระเบียน เท่านั้น และต้องระบุทุก ขั้นตอนการทำงานด้วย
# '''ตัวอย่างการใช้คำสั่ง'''
## '''''คำสั่ง SELECT''''' เป็นคำสั่งสำหรับเลือกข้อมูล หรือค้นหาข้อมูลที่ต้องการจากฐานข้อมูล โดยสามารถกำหนดได้ว่าผลลัพธ์ที่ต้องการจะให้แสดงฟิลด์ใดบ้าง และกำหนดเงื่อนไขที่ต้องการข้อมูลใดบ้างขี้นมาแสดง โดยมีรูปแบบ หลักๆ ดังนี้
SELECT [predicate] [field1, field2,..] [*] <br/>▼
FROM table-name [, …]<br/>▼
[WHERE search-criteria]<br/>▼
[GROUP BY group-list]<br/>▼
[ORDER BY sort-criteria]<br/>▼
เช่น <br/>▼
*SELECT * FROM Person เป็นการเรียกดูข้อมูลทุก คอลัมน์ในตารางที่มีชื่อว่า Person <br/>▼
*SELECT Name, Changwat FROM Person เป็นการเรียกดูข้อมูลในคอลัมน์ Name และ Changwat จาก Person <br/>▼
*SELECT * FROM Person WHERE Sex = ‘ชาย’ เป็นการเรียกดูข้อมูลทุก คอลัมน์ในตารางที่มีชื่อว่า Person และต้องเป็นเพศชายเท่านั้นด้วย <br/>▼
'''การใช้ฟังก์ชั่นในคำสั่ง SELECT''' ฟังก์ชั่นที่ใช้ร่วมในคำสั่ง SELECT จะเป็นฟังก์ชั่นทางสถิติเบื่องต้น ได้แก่ <br/>▼
#'''COUNT(field)''' เป็นคำสั่งสำหรับนับจำนวนข้อมูลทั้งหมดที่ได้มาจากคำสั่ง SELECT<br/>▼
#'''SUM(field)''' เป็นคำสั่งสำหรับรวมค่าของข้อมูลใน field นั้นๆ ทุกเรคอร์ด ที่ได้จากคำสั่ง SELECT<br/>▼
#'''MAX(field)''' เป็นคำสั่งหาค่าสูงสุดของข้อมูลใน field นั้นทุกเรคอร์ดที่ได้จากคำสั่ง SELECT<br/>▼
#'''MIN(field)''' เป็นคำสั่งหาค่าที่น้อยที่สุดของข้อมูลใน field ทุกเรคอร์ดที่ได้จากคำสั่ง SELECT<br/>▼
▲* SELECT Name, Changwat FROM Person เป็นการเรียกดูข้อมูลในคอลัมน์ Name และ Changwat จาก Person
▲* SELECT * FROM Person WHERE Sex = ‘ชาย’ เป็นการเรียกดูข้อมูลทุก คอลัมน์ในตารางที่มีชื่อว่า Person และต้องเป็นเพศชายเท่านั้นด้วย
▲'''การใช้ฟังก์ชั่นในคำสั่ง SELECT''' ฟังก์ชั่นที่ใช้ร่วมในคำสั่ง SELECT จะเป็นฟังก์ชั่นทางสถิติเบื่องต้น ได้แก่
▲# '''SUM(field)''' เป็นคำสั่งสำหรับรวมค่าของข้อมูลใน field นั้นๆ ทุกเรคอร์ด ที่ได้จากคำสั่ง SELECT
▲# '''MAX(field)''' เป็นคำสั่งหาค่าสูงสุดของข้อมูลใน field นั้นทุกเรคอร์ดที่ได้จากคำสั่ง SELECT
▲# '''MIN(field)''' เป็นคำสั่งหาค่าที่น้อยที่สุดของข้อมูลใน field ทุกเรคอร์ดที่ได้จากคำสั่ง SELECT
----
'''Data Definition Language'''
*'''Data Definition Language Pre-compiler''' เป็นส่วนที่ทำหน้าที่แปล (Compile) ประโยคคำสั่งของกลุ่มคำสั่ง DDL ให้อยู่ในรูปแบบของ MetaData ที่เก็บอยู่ในส่วน Data Dictionary ของฐานข้อมูล (MetaData ได้แก่ รายละเอียดที่บอกถึงโครงสร้างต่าง ๆ ของข้อมูล ) เป็นภาษาที่ใช้กำหนดเค้าร่างภายใน (internal schema) และเค้าร่างเชิงแนวคิด (conceptual schema) ใช้ในกรณีที่เค้าร่างภายในและเค้าร่างเชิงแนวคิดไม่แยก▼
▲* '''Data Definition Language Pre-compiler''' เป็นส่วนที่ทำหน้าที่แปล (Compile) ประโยคคำสั่งของกลุ่มคำสั่ง DDL ให้อยู่ในรูปแบบของ MetaData ที่เก็บอยู่ในส่วน Data Dictionary ของฐานข้อมูล (MetaData ได้แก่ รายละเอียดที่บอกถึงโครงสร้างต่าง ๆ ของข้อมูล ) เป็นภาษาที่ใช้กำหนดเค้าร่างภายใน (internal schema) และเค้าร่างเชิงแนวคิด (conceptual schema) ใช้ในกรณีที่เค้าร่างภายในและเค้าร่างเชิงแนวคิดไม่แยก
----
'''Application Programs'''
*'''Application Programs Object Code''' เป็นส่วนที่ทำหน้าที่แปลงคำสั่งต่างๆ ของโปรแกรม รวมทั้งคำสั่งในกลุ่มคำสั่ง DML ที่ส่งต่อมาจากส่วน Data Manipulation Language Pro-compiler ให้อยู่ในรูปแบบ Object Code ที่จะส่งต่อไปให้ Database Manager เพื่อกระทำกับข้อมูลในฐานข้อมูล ▼
▲* '''Application Programs Object Code''' เป็นส่วนที่ทำหน้าที่แปลงคำสั่งต่างๆ ของโปรแกรม รวมทั้งคำสั่งในกลุ่มคำสั่ง DML ที่ส่งต่อมาจากส่วน Data Manipulation Language Pro-compiler ให้อยู่ในรูปแบบ Object Code ที่จะส่งต่อไปให้ Database Manager เพื่อกระทำกับข้อมูลในฐานข้อมูล
* ทุกฐานข้อมูลจะต้องมีส่วนที่ใช้เก็บข้อมูลในลักษณะ Meta Data ซึ่งเป็นข้อมูลของข้อมูลที่บอก ถึงรายละเอียดของตัวข้อมูลที่เก็บอยู่ในฐานข้อมูล เช่น โครงสร้าของข้อมูล โครงสร้างของ Table โครงสร้างของ Index กฎที่ใช้ควบคุมความถูกต้องของข้อมูล(Integrity Rule กฎที่ใช้ในการรักษาความปลอด ภัยของข้อมูล (Security Rule) ฯลฯ ข้อมูลเหล่านี้จัดเป็นข้อมูลที่มีความจำเป็นต่อโปรแกรม DBMS ในการตัดสินใจที่จะดำเนินการใด ๆ กับฐานข้อมูล เช่น ข้อมูลที่เกี่ยวข้องกับกฎที่ใช้ในการรักษาความปลอดภัยให้ข้อมูล จะถูกนำมาใช้ในการพิจารณาให้สิทธิแก่ผู้ใช้ในการใช้งานฐานข้อมูล เป็นต้น สำหรับส่วนที่ใช้จัดเก็บข้อมูลในลักษณะของ Meta Data นี้ได้แก่ Data Dictionary หรือ Catalog▼
▲'''Data Dictionary'''<br/>
▲*ทุกฐานข้อมูลจะต้องมีส่วนที่ใช้เก็บข้อมูลในลักษณะ Meta Data ซึ่งเป็นข้อมูลของข้อมูลที่บอก ถึงรายละเอียดของตัวข้อมูลที่เก็บอยู่ในฐานข้อมูล เช่น โครงสร้าของข้อมูล โครงสร้างของ Table โครงสร้างของ Index กฎที่ใช้ควบคุมความถูกต้องของข้อมูล(Integrity Rule กฎที่ใช้ในการรักษาความปลอด ภัยของข้อมูล (Security Rule) ฯลฯ ข้อมูลเหล่านี้จัดเป็นข้อมูลที่มีความจำเป็นต่อโปรแกรม DBMS ในการตัดสินใจที่จะดำเนินการใด ๆ กับฐานข้อมูล เช่น ข้อมูลที่เกี่ยวข้องกับกฎที่ใช้ในการรักษาความปลอดภัยให้ข้อมูล จะถูกนำมาใช้ในการพิจารณาให้สิทธิแก่ผู้ใช้ในการใช้งานฐานข้อมูล เป็นต้น สำหรับส่วนที่ใช้จัดเก็บข้อมูลในลักษณะของ Meta Data นี้ได้แก่ Data Dictionary หรือ Catalog
|