3.1 ลักษณะและรูปแบบของฐานข้อมูลเชิงสัมพันธ์ Show BEPTNO DNAME BUDGET D1 Marketing 10000000 D2 development 12000000 D3 Research 5000000 DMP EMPNO ENAME DEPTNO SALARY E1 Lopez D1 4000 E2 Cheng D2 4200 E3 Finzi D3 3000 E4 Satio D4 3500 Restrict: DEPTNO DNAME SALARY D1 Marketing 10000000 D2 Development 12000000 Project: DEPTNO BUDGET D1 10000000 D2 12000000 D3 5000000 Join: DEPTNO DNAME BUDGET EMPNO ENAME SALARY D1 Marketing 10000000 E1 Lopez 40000 D1 Marketing 10000000 E2 Cheng 42000 D2 Development 12000000 E3 Finzi 30000 D2 Development 12000000 E4 Satio 35000 ภาพแสดงตัวอย่างของการทำ Restrict, Project, และ Join - โดเมน (Domain) หมายถึง สิ่งที่รวมค่าทั้งหมด (Pool of Values) - คีย์หลัก (Primary Key) เป็นค่าที่ไม่ซ้ำกัน และใช้เป็นตัวกำหนดอื่นๆ - ทูเพิล (Tuple) คือ แถวของข้อมูล ซึ่งในระบบแฟ้มข้อมูลเรียกว่า ระเบียน - แอตทริบิวต์ (Attribute) คือ เขตข้อมูล คอลัมน์ หรือสดมภ์ของข้อมูล - คาร์ดิแนลิตี้ (Cardinality) คือ จำนวนรวมของทูเพิลในแต่ละรีเลชั่น - ดีกรี (Degree) คือ จำนวนรวมของสดมภ์ในแต่ละรีเลชั่น 3.3 คุณสมบัติของรีเลชั่น รีเลชั่นหรือตาราง มีคุณสมบัติ 4 ประการ ดังนี้ 1. ต้องไม่มี Tuple หรือแถวใดซ้ำกันกับแถวอื่น (There are no duplicate tuples) เนื่องจากรีเลชั่นเกิดจากการเอา Domain มาคูณกัน นอกจากนั้นข้อมูลในคีย์หลัก (Primary Key) จะต้องไม่ซ้ำ เช่น รหัสลูกค้าชื่อสมชาย ถึงแม้จะมี 3 คน แต่จะได้รหัสไม่ซ้ำกันเพราะเป็นคนละคนกัน 2. แต่ละแถวไม่จำเป็นต้องเรียงลำดับจากบนลงล่าง (Tuples are unordered, top to bottom) กล่าวคือ ไม่มีความแตกต่างของการเรียงแถวหรือไม่เรียงแถว เพราะ c b a a b c และ ถือเป็นเซตเดียวกัน 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) SSP SNO SNAME STATUS CITY PQ S1 Smith 20 London P1-300 S2 Jones 10 Paris P1-300 S5 Adams 30 Athens …. ภาพแสดงตารางข้อมูลที่ไม่มีคุณสมบัติข้อ 4 SNO SNAME STATUS CITY PNO QTY S1 Smith 20 London P1 300 S1 Smith 20 London P2 200 S1 Smith 20 London P6 100 S2 Jones 10 Paris P1 300 S2 Jones 10 Paris P2 400 S2 Adams 30 Athens … … ภาพแสดงตารางข้อมูลที่เป็นไปตามคุณสมบัติข้อ 4 SNO SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens SHIPMENT SNO PNO QTY S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100 S1 P6 100 S2 P1 300 S2 P2 400 S3 P2 200 S4 P2 200 S4 P4 300 S4 P5 400 การดำเนินการของพีชคณิตเชิงสัมพันธ์จะมี 8 ตัวดำเนินการใน 2 กลุ่ม คือ 3.4.2 แคลคูลัสเชิงสัมพันธ์ (Relational Calculus) แคลคูลัสเชิงสัมพันธ์ เป็นเชิงพรรณนา หรือเป็นการระบุนิยามของผลลัพธ์ (Descriptive = To state definition of result) นั่นคือ ผู้เขียนต้องกล่าวถึงผลลัพธ์ที่ต้องการนั้นว่ามีลักษณะหรือรูปร่างหน้าตาอย่างไร แคลคูลัสเชิงสัมพันธ์จึงเป็นการสั่งที่ไม่เป็นโครงสร้าง (Nonprocedural) ตัวอย่างการกำหนดรูปแบบโดยวิธีแคลคูลัส (Calculus Formulation) เช่น สั่งว่า Get SNO and CITY for suppliers such that there exists a shipment SP with the same SNO value with PNO value P2. (ให้แสดงข้อมูลของแอตทริบิวต์ SNO และ CITY สำหรับผู้จัดส่งที่มีค่าหมายเลขผู้จัดส่ง (SNO) ในตาราง SP ตรงกันกับ ค่า P2 ในแอตทริบิวต์ PNO) แคลคูลัสเชิงสัมพันธ์มี 2 ประเภท คือ 1. แคลคูลัสแบบแถว (Tuple Calculus) เป็นการระบุนิยามผลลัพธ์โดยยึดแถวข้อมูลในรีเลชั่นเป็นหลัก โดยกำหนดที่ตัวแปรพิสัย (Range Variables) ตัวอย่างเช่น RANGEVAR SX RANGES OVER S; RANGEVAR SY RANGES OVER S; RANGEVAR SPX RANGES OVER S; RANGEVAR SPY RANGES OVER S; RANGEVAR PX RANGES OVER P; RANGEVAR SU RANGES OVER (SX WHERE SX.CITY = ‘London’), (SX WHERE EXISTS SPX (SPX.SNO = SX.SNO AND SPX.PNO = PNO (‘P1’))); (ให้แสดงข้อมูลของผู้จัดส่งที่อยู่ในกรุงลอนดอน และส่งชิ้นส่วน P1 ไปขาย) 2. แคลคูลัสแบบสดมภ์ (Domain calculus) เป็นการระบุนิยามผลลัพธ์โดยยึดสดมภ์หรือคอลัมน์ของข้อมูลในรีเลชั่นเป็นหลัก โดยกำหนดที่ตัวแปรพิสัย (Range Variables) ตัวอย่างเช่น SX SX WHERE S (SNO.SX) SX WHERE S (SNO:SX, CITY:’LONDON’) (SX, CITY) WHERE S (SNO:SX, CITY:CITYX) AND SP (SNO:SX, PNO:PNO(‘P2’) (ให้แสดงหมายเลขผู้จัดส่งและเมืองของผู้จัดส่งที่ส่งชิ้นส่วย P2) (SX, PX) WHERE S (SNO:SX, CITY:CITYX) AND P (PNO:PX, CITY:CITYY) AND CITYX CITYY (ให้แสดงคู่ของหมายเลขผู้จัดส่งและหมายเลขชิ้นส่วนของผู้จัดส่งที่เป็นการส่งไปต่างเมือง) อีกตัวอย่างหนึ่งที่สั้นกว่า เช่น SX WHERE EXISTS STATUSX (STATUSX>20 AND S (SNO:SX, STATUS:STATUSX, CITY: ‘PARIS’)) (ให้แสดงหมายเลขผู้จัดส่งสินค้าเฉพาะรายที่อยู่ในกรุงปารีสที่มีค่าสถานะมากกว่า 20) 3.5 การเลือกใช้ระบบบริหารฐานข้อมูล ปัจจุบันมีการผลิตระบบบริหารฐานข้อมูลออกมาเป็นจำนวนมาก โดยแต่ละโปรแกรมก็จะมีความสามารถ ประสิทธิภาพ และคุณสมบัติต่างกันไป เช่น ใช้กับคอมพิวเตอร์ประเภทใด ใช้ตัวแบบข้อมูลประเภทใด หรือมีภาษาฐานข้อมูลใดสนับสนุน ดังตารางต่อไปนี้ ชื่อระบบบริหาฐานข้อมูล ประเภทคอมพิวเตอร์ ตัวแบบข้อมูล ภาษาฐานข้อมูล DB2 Mainframe computer Relational SQL, OBE DBAS/IV Microcomputer Relational SQL, owner’s FoxBASE+ Microcomputer Relational owner’s FoxPro Microcomputer Relational SQL, owner’s IDMS Mainframe computer Network owner’s IMS/VS Mainframe computer Hierarchical CICS Ingres Minicomputer, Relational SQL, OBE Informix Super Minicomputer, Relational SQL, OBE Oracle Mainframe computer, Relational SQL PARADOX Microcomputer Relational owner’s ACCESS Microcomputer Relational owner’s, SQL, OBE การที่องค์การจะตัดสินใจเลือกใช้ระบบบริหารฐานข้อมูลยี่ห้อใดนั้นควรพิจารณาตามเกณฑ์ต่าง ๆ ที่ขอเสนอแนะ ดังนี้ คุณสมบัติของฐานข้อมูลเชิงสัมพันธ์มีอะไรบ้างฐานข้อมูลเชิงสัมพันธ์เป็นรูปแบบของฐานข้อมูลที่เข้าใจง่ายสําหรับผู้ใช้ ซึ่งมีข้อดี ดังนี้ 1) เป็นรูปแบบของฐานข้อมูลที่เข้าใจง่าย ฐานข้อมูลเชิงสัมพันธ์เป็นกลุ่มของความสัมพันธ์หรือตาราง ที่ข้อมูลถูกจัดเก็บเป็นแถวและคอลัมน์ ซึ่งทําให้ผู้ใช้เห็นภาพของข้อมูลได้ง่าย 2) มีเครื่องมือที่ช่วยให้ผู้ใช้สามารถจัดการกับข้อมูลได้ด้วย ...
รีเลชั่นในฐานข้อมูลเชิงสัมพันธ์จะหมายถึงตารางในลักษณะใดดังนั้น กุญแจ หรือ คีย์ (Key) จึงหมายถึงสิ่งที่ใช้กำหนดความเป็นเอกลักษณ์ในความสัมพันธ์ ความสัมพันธ์ (รีเลชัน) Relation. ความสัมพันธ์ (รีเลชัน) Relation จะอยู่ในลักษณะของตาราง 2 มิติ [มีความสัมพันธ์] ประกอบด้วยทางด้านแถว และคอลัมน์ ซึ่งแต่ละรีเลชันจะมีชื่อรีเลชันเพื่อใช้อ้างอิง ข้อดีของฐานข้อมูลเชิงสัมพันธ์
ข้อใดคือคุณสมบัติของรีเลชั่นคุณสมบัติที่สำคัญของรีเลชัน. 1.ช่องแต่ละช่องจะเก็บข้อมูลได้เพียงค่าเดียวเท่านั้น. 2.ข้อมูลที่อยู่ในคอลัมน์เดียวกันจะต้องเป็นประเภทข้อมูลเดียวกัน. 3.แต่ละคอลัมน์จะต้องมีชื่อคอลัมน์ที่แตกต่างกัน (การเรียงลำดับของคอลัมน์ก่อนและหลังไม่ถือว่าสำคัญ). 4.ข้อมูลแต่ละแถวห้ามซ้ำกัน (การเรียงลำดับของแถวไม่ถือว่าสำคัญ). Tuple ในฐานข้อมูลเชิงสัมพันธ์เรียกว่าอะไร- ทูเพิล (Tuple) คือ แถวของข้อมูล ซึ่งในระบบแฟ้มข้อมูลเรียกว่า ระเบียน - แอตทริบิวต์ (Attribute) คือ เขตข้อมูล คอลัมน์ หรือสดมภ์ของข้อมูล - คาร์ดิแนลิตี้ (Cardinality) คือ จำนวนรวมของทูเพิลในแต่ละรีเลชั่น
|