วันพุธที่ 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)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น