Databases and Warehousing/What are the components of a database of a database management system (DBMS)?

ระบบจัดการฐานข้อมูล(Database Management System Language-DBMS)
 คือ ซอร์ฟแวร์หรือกลุ่มของโปรแกรมที่ช่วยในการวางแผน รวบรวมข้อมูล จัดการ และเข้าถึงข้อมูลได้อย่างมีประสิทธิภาพ โดยที่ผู้ใช้สามารถใช้ DBMS ในการเพิ่มเติมข้อมูล ลบข้อมูล แสดงผล พิมพ์ ค้นหา เลือก หรือ จัดเรียง ข้อมูลได้ DBMS มีหลายประเภท ตั้งแต่เป็นโปรแกรมที่ใช้กับไมโครคอมพิวเตอร์ จนถึงโปรแกรมที่ใช้กับเมนเฟรม นอกจากนี้ข้อมูลที่จัดการโดย DBMS ยังสามารถเก็บข้อมูลที่เป็นรูปกราฟฟิค เสียง และรูปภาพได้ด้วย
 ระบบจัดการฐานข้อมูล (DBMS) เป็นองค์ประกอบที่สำคัญของ Computer-Based Information System (CBIS) ซึ่งเป็นแนวคิดที่รวบรวมข้อมูลและโปรแกรมประยุกต์ต่างๆ มาทำงานร่วมกันโดยใช้เทคนิค การดึง และจัดเก็บข้อมูลที่ซับซ้อนและสามารถแสดงความสัมพันธ์ของเรคคอรด์ต่าง ๆ ภายในแฟ้มข้อมูลได้ และยังทำหน้าที่จัดระเบียบแฟ้มทางกายภาพ ควบคุมการเข้าถึงข้อมูลในรูปแบบต่าง ๆ การบำรุงรักษาฐานข้อมูลให้อิสระจากโปรแกรมประยุกต์ ความปลอดภัย และการกู้แฟ้มข้อมูลอีกด้วย
ส่วนประกอบของ DBMS
ระบบจัดการฐานข้อมูล ประกอบด้วย 4 องค์ประกอบหลัก ได้แก่
1. โมเดลของข้อมูล (Data model)
 กำหนดได้ด้วยข้อมูลที่มีโครงสร้างแนวความคิด (conceptuallly structured)ตัวอย่างของรูปแบบโมเดล เช่น โมเดลแบบลำดับชั้น (Hierachical), เครือข่าย (Network), ความสัมพันธ์ (relational), แนวคิดเชิงวัตถุ (object oriented), ความสัมพันธ์เชิงวัตถุ (object relational), hypermedia และ โมเดลความสัมพันธ์หลายมิติ (multidimensional model)
2. ภาษากำหนดโครงสร้างข้อมูล (Data Definition Language-DDL)
 โปรแกรมเมอร์ใช้ภาษานี้เพื่อระบุชนิดของสารสนเทศและโครงสร้างของฐานข้อมูล ซึ่งเป็นสิ่งที่สำคัญที่ต้องมีการเชื่อมโยงระหว่างแนวคิดเชิงตรรกะ (Logical view) และ แนวคิดเชิงกายภาพ (Physical view) ของฐานข้อมูล (logical จะอ้างถึงข้อมูลของ user view และ physical จะเป็นข้อมูลถูกเก็บและประมวลผลเชิงกายภาพ (physical)
 ผู้ใช้งาน DBMS จะกำหนด Logical view หรือ โครงสร้าง (schema) โดยใช้ Data Definition Language (DDL) โครงสร้าง (schema) คือ การกำหนดฐานข้อมูลทั้งหมดเชิงตรรกะ (logical) และ ลงรายละเอียดหัวข้อรายการ และความสัมพันธ์ของข้อมูลทั้งหมด โครงสร้างย่อย (Subschema) คือ การระบุ ชุดของข้อมูลจากฐานข้อมูลที่ต้องการในแต่ละแอพพลิเคชั่นDDL ใช้เพื่อกำหนดคุณลักษณะทางกายภาพ (physical) ของแต่ละเรคคอร์ด, ฟิลด์ในเรคคอร์ด และ ชื่อ,ชนิดของข้อมูล และความยาวอักขระในเชิงตรรกะ (logical) ของแต่ละฟิลด์
ตัวอย่างการใช้คำสั่ง DDL
 CREATE TABLE Employee
 (ID INTEGER NOT NULL,
 NAME CHAR(30),
 FLOAT,
 HEALTH_INSUR_ID INTEGER,
 ADDRESS CHAR(50),
 PRIMARY KEY(ID),
 CHECK (SALARY >1000 AND SALARY <=100000));
3. ภาษาในการจัดการข้อมูล (Data Manipulate Language-DML)
 เป็นภาษาที่ใช้ในภาษายุคที่ 3 หรือ 4 เพื่อใช้ในการจัดการข้อมูลในฐานข้อมูล ภาษานี้จะประกอบไปด้วยคำสั่งที่อนุญาตให้ผู้ใช้ปลายทาง (end user) และผู้ชำนาญทางโปรแกรม (programming specialist) ดึงข้อมูลจากฐานข้อมูลไปยังสารสนเทศที่ ร้องขอมา และแอพพลิเคชั่น ที่พัฒนา DML จะช่วยให้ผู้ใช้สามารถที่จะได้รับคืนมา (retrieve), จัดเรียง (sort), แสดงผล (display) และลบ content ของฐานข้อมูล โดยทั่วไป DML ประกอบด้วย การจัดการมากมาย (ตัวอย่างเช่น SELECT , MODIFY, DELETE) และ ตัวกระทำของแต่ละ verb
 การร้องขอข้อมูลสารสนเทศจากฐานข้อมูลเป็นการกระทำที่ใช้บ่อยครั้ง ผู้ใช้ไม่สามารถที่จะดึงข้อมูลสารสนเทศออกมาด้วยภาษาธรรมชาติได้, ดังนั้นจึงเกิดการใช้รูปแบบภาษา Query ซึ่งเป็นองค์ประกอบที่สำคัญของระบบจัดการฐานข้อมูล
 ภาษาสอบถามเชิงโครงสร้าง (Structured Query Language : SQL) เป็นภาษาที่แสดงความสัมพันธ์ของฐานข้อมูลที่นิยมมากซึ่งประกอบด้วยคุณลักษณะของ DML และ DLL SQL สามารถที่จะค้นหาสิ่งที่มีรูปแบบซับซ้อนด้วยคำสั่งง่ายๆที่แสดงความสัมพันธ์ keyword ที่ใช้ เช่น SELECT (ระบุแอททริบิวต์), FROM (ระบุตารางที่จะใช้หา) และ WHERE (ระบุเงื่อนไขในการคิวรี่ข้อมูล) ใช้เป็นคีย์เวิร์ดพื้นฐานสำหรับการจัดการข้อมูล ตัวอย่างเช่น สมาชิกนิติบัญญัติของมลรัฐหนึ่ง ต้องการส่งจดหมายแสดงความยินดีไปยังนักศึกษาทุกคนในเขตการปกครองที่จบการศึกษาจากมหาวิทยาลัยในมลรัฐนั้นซึ่งเหตุการณ์นี้ผู้ใช้จะคิวรี่บ่อย ๆ โดยใช้วิธี Query-By-Example แทนที่การใช้การคีย์แบบ SQL ผู้ใช้จะเลือดตารางและฟิลด์ ซึ่งมีคำตอบรวมอยู่ เมื่อใส่ตัวอย่างของข้อมูลที่ต้องการ QBE ก็จะหาคำตอบบนพื้นฐานตัวอย่างที่ต้องการ QBE จะซ่อนความยุ่งยากของ SQL
ตัวอย่างการใช้คำสั่ง DML
 SELECT NAME,SALARY
 FROM EMPLOYEE
 WHERE SALARY>1000 AND SALARY<20000;
หรือ
 DELETE FROM EMPLOYEE
 WHERE SALARY <= 10000;
4. พจนานุกรมข้อมูล (Data Dictionary)
 เป็นที่เก็บรายละเอียดของส่วนประกอบและลักษณะต่างๆ เช่น การใช้งาน การแสดงทางกายภาพ ความเป็นเจ้าของ ของคนในองค์กรที่มีหน้าที่ในการปรับปรุงข้อมูล
 การให้สิทธิ์และความปลอดภัย ส่วนประกอบของข้อมูลก็คือฟิลด์นั่นเอง นอกจากนั้น ชื่อของข้อมูลและชื่อในพจนานุกรมข้อมูลก็จะอ้างอิงถึงกันในระบบและสามารถระบุความเป็นแต่ละบุคคล, ฟังก์ชั่นทางธุรกิจ, แอพพลิเคชั่นและรายงานผลโดยใช้ส่วนประกอบของข้อมูล
พจนานุกรมข้อมูลนั้นให้ผลประโยชน์มากมายแก่องค์กร เพราะมันจะช่วยสร้างมาตรฐานให้กับส่วนประกอบต่างๆทั้งหมด และความไม่ต่อเนื่องของข้อมูลลง นั่นก็คือ ส่วนประกอบของข้อมูลที่เหมือนกันจะถูกใช้ในแอพพลิเคชั่นที่ต่างๆกัน แต่จะใช้โดยเปลี่ยนชื่อให้ไม่เหมือนกัน นอกเหนือจากนั้นพจนานุกรมข้อมูลนั้นทำให้การพัฒนาระบบรวดเร็วขึ้น เนื่องจากโปรแกรมเมอร์ไม่ต้องสร้างชื่อข้อมูลใหม่ พจนานุกรมข้อมูลจะช่วยให้การเปลี่ยนแปลงข้อมูลและสารสนเทศต่างๆ ง่ายขึ้น เพราะโปรแกรมเมอร์ไม่จำเป็นต้องรู้ว่าส่วนประกอบของข้อมูลต่างๆนั้น เก็บไว้ที่ใดหรือแอพพลิเคชั่นนั้นใช้ส่วนใดของข้อมูลในการทำงานของโปรแกรม
 พจนานุกรมข้อมูลนั้นเป็นรูปแบบของ Metadata ซึ่งก็คือข้อมูลเกี่ยวกับสารสนเทศ จะเกิดขึ้นในระบบของ business-to-business เช่น การมีทรานแซคชั่นต่างๆบนเน็ต ซึ่งแต่ละทรานแซคชั่นต้องการ Metadata ซึ่งบริษัทจะสามารถ track ทรานแซคชั่นและวิเคราะห์ผลสำเร็จได้
สภาพแวดล้อมของฐานข้อมูลทำให้มั่นใจได้ว่าข้อมูลในฐานข้อมูลนั้นจะระบุเพียงครั้งเดียวและมีความต่อเนื่อง และใช้สำหรับแอพพลิเคชั่นทั้งหลายซึ่งเป็นเจ้าของข้อมูลในฐานข้อมูล แอพพลิเคชั่นจะร้องขอข้อมูลจากส่วนประกอบของข้อมูลในฐานข้อมูลและระบบจัดการฐานข้อมูลจะมีหน้าที่ไปค้นหา เมื่อเจอแล้วจะส่งต่อไปยังแอพพลิเคชั่น ซึ่งโปรแกรมเมอร์และผู้ใช้ปลายทางไม่ต้องระบุรายละเอียดว่าค้นหาข้อมูลได้อย่างไรหรือที่ไหน
การนำระบบจัดการฐานข้อมูลไปประยุกต์ใช้
 ระบบจัดการฐานข้อมูล (DBMS) มีประโยชน์อย่างมากสำหรับผู้ใช้ในการที่จะเข้าถึง และจัดการกับข้อมูลที่เก็บอยู่ในฐานข้อมูล โดยการนำระบบจัดการฐานข้อมูลไปใช้นั้นผู้ใช้จำเป็นต้องมีการออกแบบฐานข้อมูลเป็นอย่างดี เพื่อที่จะนำข้อดีของระบบจัดการฐานข้อมูล เช่น การลดความซ้ำซ้อนของข้อมูล, ความเป็นอิสระของข้อมูล, ความง่ายในการเข้าถึงข้อมูล, การมีระบบรักษาความปลอดภัย, การลดค่าใช้จ่ายในการบำรุงรักษาโปรแกรม เป็นต้น การจมาใช้ได้อย่างมีประสิทธิภาพ
 นอกจากที่ผู้ใช้จะต้องออกแบบฐานข้อมูลอย่างดีแล้ว ยังควรคำนึงถึงระบบจัดการฐานข้อมูลที่นำมาใช้ด้วยว่าเหมาะสมกับข้อมูลที่มีอยู่หรือไม่ เช่น หากข้อมูลมีจำนวนมาก และมีความยุ่งยาก ก็ควรใช้ระบบจัดการฐานข้อมูลที่สามารถรองรับการจัดการข้อมูลจำนวนมากได้เช่น Oracle หรือ Informix เป็นต้น แต่หากข้อมูลมีจำนวนไม่มากสามารถที่จะใช้ระบบการจัดการข้อมูลที่มีขนาดเล็กกว่าและง่ายในการใช้มากกว่า เช่น Interbase หรือ Microsoft Access เป็นต้น