วันพุธที่ 23 มิถุนายน พ.ศ. 2553

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

ลักษณะและรูปแบบของฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) มีลักษณะ (Aspects) หรือส่วนที่สำคัญอยู่ 3 ลักษณะคือ
1. ลักษณะทางโครงสร้าง (Structural) ผู้ใช้ฐานข้อมูลเชิงสัมพันธ์นี้ จะรับรู้ในลักษณะที่ว่าข้อมูลในฐานข้อมูล จะอยู่ในรูปตาราง (Tables) ต่างๆ
2. ลักษณะความถูกต้อง (Integrity Aspect) ตารางต่างๆ ในฐานข้อมูลเชิงสัมพันธ์จะต้องเป็นไปตามข้อกำหนดเรื่องความถูกต้องของ ข้อมูล (Integrity Constraints)
3. ลักษณะด้านจัดดำเนินการ (Manipulative Aspect) ต้องมีตัวดำเนินการต่างๆ เตรียมไว้ให้แก่ผู้ใช้ในการสั่งกระทำการใดๆ กับตารางข้อมูล โดยจะมีตัวดำเนินการสำคัญ อยู่ 3 ตัว ได้แก่
1.1 Restrict Operation เป็นการดึงแถวข้อมูลเฉพาะบางแถวออกมาจากตาราง เช่น การใช้คำสั่ง Where (Condition)
1.2 Project Operation เป็นการดึงคอลัมน์ข้อมูลเฉพาะบางคอลัมน์ออกมาจากตาราง เช่น การใช้คำสั่ง Select (Column_Name)
1.3 Join Operation เป็นการเชื่อมตารางตั้งแต่ 2 ตารางขึ้นไปเข้าด้วยกันโดยมีค่าบางค่าในคอลัมน์ตรงกันเป็นหลัก
รีเลชั่นและเรลวาร์
รีเลชั่น (Relation) คือ คำเรียกตาราง (Table) ในเชิงคณิตศาสตร์ ระบบเชิงสัมพันธ์อาศัยตัวแบบเชิงสัมพันธ์ซึ่งเป็นทฤษฎีข้อมูลแนวนามธรรม (Abstract theory of data) ตามหลักการของคณิตศาสตร์ผู้ที่ว่างรากฐานของตัวแบบสัมพันธ์ (1969-1970) คือ E.F. Codd ปัจจุบันแนวคิดของเขาเป็นที่ยอมรับกันเป็นสากล มีอิทธิพลต่อเทคโนโลยีฐานข้อมูล, ปัญญาประดิษฐ์, การประมวลผลภาษาธรรมชาติ และการออกแบบระบบฮาร์ดแวร์อีกด้วย
เรลวาร์ (Relvar) ย่อมาจาก Relation Variables ซึ่งก็คือโครงสร้างของตารางนั่นเอง โดยคำว่า Variables หมายถึง ชื่อเขตข้อมูลหรือแอตทริบิวต์ (Attribute) ส่วนค่าหรือข้อมูลที่อยู่ในตารางแต่ละช่องนั้นเรียกว่า Relation Values
- โดเมน (Domain) หมายถึง สิ่งที่รวมค่าทั้งหมด (Pool of Values)
- คีย์หลัก (Primary Key) เป็นค่าที่ไม่ซ้ำกัน และใช้เป็นตัวกำหนดอื่นๆ
- ทูเพิล (Tuple) คือ แถวของข้อมูล ซึ่งในระบบแฟ้มข้อมูลเรียกว่า ระเบียน
- แอตทริบิวต์ (Attribute) คือ เขตข้อมูล คอลัมน์ หรือสดมภ์ของข้อมูล
- คาร์ดิแนลิตี้ (Cardinality) คือ จำนวนรวมของทูเพิลในแต่ละรีเลชั่น
- ดีกรี (Degree) คือ จำนวนรวมของสดมภ์ในแต่ละรีเลชั่น
คุณสมบัติของรีเลชั่น
รีเลชั่นหรือตาราง มีคุณสมบัติ 4 ประการ ดังนี้
1. ต้องไม่มี Tuple หรือแถวใดซ้ำกันกับแถวอื่น (There are no duplicate tuples) เนื่องจากรีเลชั่นเกิดจากการเอา Domain มาคูณกัน นอกจากนั้นข้อมูลในคีย์หลัก (Primary Key) จะต้องไม่ซ้ำ เช่น รหัสลูกค้าชื่อสมชาย ถึงแม้จะมี 3 คน แต่จะได้รหัสไม่ซ้ำกันเพราะเป็นคนละคนกัน
2. แต่ละแถวไม่จำเป็นต้องเรียงลำดับจากบนลงล่าง (Tuples are unordered, top to bottom) กล่าวคือ ไม่มีความแตกต่างของการเรียงแถวหรือไม่เรียงแถว
3. แต่ละคอลัมน์ไม่จำเป็นต้องเรียงจากซ้ายไปขวา (Attributes are unordered, Left to right) เพราะ T1,T2,T3 = T2,T1,T3
4. แต่ละแถวต้องมีค่าเดียวในแต่ละคอลัมน์ (Each tuple contains exactly one value for each attribute) กล่าวคือ ต้องเป็น Atomic คือ ต้องมีค่าเดียว ต้องไม่เป็นเซตของค่าหลายค่า เช่น แยกชื่อ นามสกุลออกจากัน
ซึ่งคุณสมบัติข้อสุดท้ายนี้ทำให้ข้อมูลในตารางมีความเป็นปรกติหรืออยู่ใน บรรทัดฐาน (Normalized) ซึ่งเทียบเท่ากับว่าอยู่ใน รูปแบบปกติหรือรูปแบบบรรทัดฐานขั้นที่ 1 (First Normal Form)

วันศุกร์ที่ 18 มิถุนายน พ.ศ. 2553

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

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

1. ฐานข้อมูลแบบลำดับชั้น (The Hierarchical Database Model)
มีลักษณะเป็นแผนภูมิต้นไม้ (Tree) ความสัมพันธ์เป็นแบบพ่อกับลูก (Parent/Child Relation) ลูกค้าแต่ละคนจะไม่สามารถได้รับบริการจากพนักงานขายมากกว่าหนึ่งคนได้ สินค้าแต่ละชนิดก็จะถูกซื้อ โดยลูกค้าเพียงคนเดียวเท่านั้น ลักษณะของฐานข้อมูลแบบลำดับชั้นมีความสัมพันธ์แบบหนึ่งต่อหนึ่ง (one-to-one) และหนึ่งต่อกลุ่ม (one-to-many) แต่ไม่มีความสัมพันธ์แบบกลุ่มต่อกลุ่ม (many-to-many)

2. ฐานข้อมูลแบบเครือข่าย (The Network Database Model)
โดยโครงสร้างของฐานข้อมูลแบบเครือข่ายก็เป็น Tree เช่นเดียวกับฐานข้อมูลแบบลำดับชั้น แต่จะเป็น Tree ที่ดูซับซ้อนมากขึ้นเพื่อรองรับความสัมพันธ์แบบกลุ่มต่อกลุ่มนั่นเอง

3. ฐานข้อมูลเชิงสัมพันธ์ (The Relational Database Model)
ใช้แสดงความสัมพันธ์ของข้อมูลนั้นเป็นตารางซึ่งเก็บข้อมูลที่มีลักษณะเหมือนกันไว้

4. ฐานข้อมูลเชิงวัตถุ (The Object-Oriented Database Model)
ฐานข้อมูลแบบลำดับชั้น แบบเครือข่าย และฐานข้อมูลเชิงสัมพันธ์ ล้วนจัดเก็บเฉพาะข้อมูล ไว้ในฐานข้อมูล ส่วนชุดคำสั่งที่ใช้ในการดำเนินการกับฐานข้อมูลจะจัดเก็บไว้ในซอฟแวร์ระบบจัดการฐานข้อมูลแยกต่างหาก แต่ฐานข้อมูลเชิงวัตถุ จัดเก็บทั้งข้อมูลและชุดคำสั่งไว้ด้วยกัน จึงสามารถใช้งานร่วมกันได้โดยอัตโนมัติ ทำให้ฐานข้อมูลชนิดนี้มีประสิทธิภาพในการจัดเก็บและจัดการ แต่มีการนำมาใช้งานน้อยกว่าฐานข้อมูลเชิงสัมพันธ์ เนื่องจากมีความยุ่งยากซับซ้อนมากกว่า

5. ฐานข้อมูลเชิงวัตถุ-สัมพันธ์ (The Object-Relational Database Model)
สร้างขึ้นเพื่อให้ฐานข้อมูลเชิงสัมพันธ์สามารถเพิ่มคุณสมบัติของแบบจำลองเชิงวัตถุเข้าไปได้โดยไม่ต้องเสียค่าใช้จ่ายเพิ่ม ในด้านการออกแบบข้อมูลใหม่ หรือเปลี่ยนแปลงระบบฐานข้อมูลเดิม โดยสิ่งที่เพิ่มขึ้นมาจากแบบจำลองฐานข้อมูลเชิงสัมพันธ์ คือ สามารถสร้างชนิดข้อมูลที่กำหนดเองได้

6. คลังข้อมูล (Data Warehouse)
เป็นแหล่งข้อมูลขนาดใหญ่ของทั้งองค์กร ซึ่งแต่ละองค์กรจะต้องมีการแบ่งส่วนการทำงานออกเป็นส่วนย่อยๆ ขึ้นอยู่กับหน้าที่การทำงาน เช่น การแบ่งส่วนออกเป็นการผลิต การเงิน การตลาด การขาย การบัญชี และการบริหารงานบุคคล เป็นต้น ซึ่งในบางกรณีต้องทำสำเนาข้อมูลที่มีความจำเป็นต้องใช้งานของแต่ละส่วนมาจัดเก็บไว้ภายในส่วนการทำงานย่อยๆ เหล่านั้น