lecture5 ฐานข้อมูลเชิงสัมพันธ์
TRANSCRIPT
ฐานขอ้มลูเชงิสมัพนัธ ์Relational Database
ฐานขอ้มลูเชงิสมัพันธ ์ (Relational Database)
• คอื การรวบรวมเอนทติี ้หรอืตารางทีอ่ยูใ่นระบบทีม่คีวามสมัพันธร์ะหวา่งกนัเขา้ดว้ยกนั
ศพัทต์า่งๆในระบบฐานขอ้มลู
• เอนทติี ้( Entity ) เป็นค าทีอ่า้งถงึบคุคล สถานที ่และสิง่ของตา่งๆ เชน่ สนิคา้ ใบสัง่ซือ้ และลกูคา้ เป็นตน้ ถา้เราสนใจในการสรา้งระบบฐานขอ้มลูการสัง่ซือ้สนิคา้ เอนทติี ้เอนทติีข้องระบบนีจ้ะประกอบดว้ยเอนทติี้ลกูคา้ ใบสัง่ซือ้สนิคา้กบัสนิคา้ ดงัรปู
ลกูคา้ (Customer)
ใบสัง่ซือ้ (Order)
สนิคา้ (Product)
แอตทรบิวิต ์(Attribute)
• เป็นขอ้มลูทีแ่สดงลกัษณะของเอนทติี ้เชน่ แอตทรบิวิตข์องเอนทติีล้กูคา้ จะมชีือ่ ทีอ่ยู ่และรหสัไปรษณีย ์สว่นแอตทรบิวิตข์องเอนทติีใ้บสัง่ซือ้สนิคา้ จะมรีหสัใบสัซ่ ือ้ วนัที่สัง่ซือ้ ชือ่ สนิคา้ จ านวนสนิคา้ทีส่ง่ และราคาสนิคา้ เป็นตน้ ซึง่เราสามารถแสดงเอนทติี ้รวมทัง้แอตทรบิวิตไ์ด ้ดงัรปู
ลกูคา้
รหสัสนิคา้ ชือ่ลกูคา้ ทีอ่ยูล่กูคา้
รหสัไปรษณีย ์หมายเลขโทรศพัท ์
ใบส ัง่ซือ้
รหสัใบสัง่ซือ้ วันทีส่ัง่สนิคา้ วันทีส่ง่สนิคา้ รหสัลกูคา้ทีส่ัง่ รหสัสนิคา้ทีส่ัง่ จ านวนสนิคา้ทีส่ัง่
สว่นลด
สนิคา้
รหสัสนิคา้ ชือ่สนิคา้
ราคาตอ่หน่วย รามภาษีดว้ยหรอืไม ่จ านวนสนิคา้ในคลงั รหสัชนดิสนิคา้ ชือ่ชนดิสนิคา้
ชือ่เอนทติี ้
แอตทรบิวิตท์ัง้หมด
ความสมัพันธ ์(Relationships)
• จะหมายถงึ ความสมัพันธร์ะหวา่งเอนทติีต้า่งๆในระบบ เชน่ ในระบบการสัง่สนิคา้ จะประกอบดว้ยเอนทติีใ้บสัง่ซือ้สนิคา้และเอนทติีล้กูคา้ ซึง่มคีวามสมัพันธจ์ากลกูคา้ไปยังใบสัง่ซือ้สนิคา้
ลกูคา้
รหสัสนิคา้ ชือ่ลกูคา้ ทีอ่ยูล่กูคา้
รหสัไปรษณีย ์หมายเลขโทรศพัท ์
ใบส ัง่ซือ้
รหสัใบสัง่ซือ้ วันทีส่ัง่สนิคา้ วันทีส่ง่สนิคา้ รหสัลกูคา้ทีส่ัง่ รหสัสนิคา้ทีส่ัง่ จ านวนสนิคา้ทีส่ัง่
สว่นลด
One-to-Many
ชนดิของความสมัพันธ ์
• ความสมัพันธห์นึง่ตอ่หนึง่ (One-to-One Relationships)
• ความสมัพันธแ์บบหนึง่ตอ่กลุม่ (One-to-Many Relationships)
• ความสมัพันธแ์บบกลุม่ตอ่กลุม่ (Many-to-Many Relationships)
ความสมัพันธห์นึง่ตอ่หนึง่ (One-to-One Relationships)
• 1 เรคอรด์ในตารางหนึง่จะมคีวามสมัพันธ์กบัอกีเรคอรด์ 1 เรคอรด์ในอกีตารางหนึง่เทา่นัน้ ไมส่ามารถมเีกนิ 1 ได ้เชน่ ตารางราคาสนิคา้ และตารางจ านวนสนิคา้ จะมคีวามสมัพันธแ์บบ One-to-One
One-to-One
รหสัสนิคา้ ชือ่สนิคา้ ราคาตอ่หน่วย
(บาท) ภาษี
0005 คูม่อืส าหรับผูน้ าในยคุ 90 219.63 yes
0100 พดูอยา่งมวีาทะ 219.63 yes
0051 SECRETS OF STARGATE 1842.99 yes
ตารางราคาสนิคา้
รหสัสนิคา้ ชือ่สนิคา้ ราคาตอ่หน่วย
(บาท) ภาษี
0005 คูม่อืส าหรับผูน้ าในยคุ 90 219.63 yes
0100 พดูอยา่งมวีาทะ 219.63 yes
0051 SECRETS OF STARGATE 1842.99 yes
ตารางจ านวนสนิคา้ในคลงั
เรคอรด์ของตารางทัง้ 2 มีความสมัพันธแ์บบ 1 ตอ่ 1
ความสมัพันธแ์บบหนึง่ตอ่กลุม่ (One-to-Many Relationships)
• เป็นความสมัพันธท์ีเ่รคอรด์ 1 เรคอรด์ในตารางหนึง่ จะสมัพันธก์บัจ านวนเรคอรด์ 2 เรคอรด์หรอืมากกวา่ในอกีตารางหนึง่ ตวัอยา่งเชน่ ลกูคา้สามารถสัง่สนิคา้ไดห้ลายใบสัง่สนิคา้ แตใ่บสัง่สนิคา้ใบหนึง่จะมลีกูคา้สัง่เพยีงรายเดยีวเทา่นัน้
One-to-Many Relationships
รหสัการสัง่ซือ้ รหสัลกูคา้ วันทีส่ัง่สนิคา้ วันทีส่ง่สนิคา้ รหสัสนิคา้ จ านวนสนิคา้ทีส่ัง่ซือ้ สว่นลด (%)
10258 015 21/10/94 28/10/06 0005 8 25.00%
10265 181 21/10/94 27/10/06 0005 31 0.00%
10258 015 24/10/06 3/11/06 007 16 0.00%
รหสัลกูคา้ ชือ่ลกูคา้ ทีอ่ยูล่กูคา้ รหสัไปรษณีย ์หมายเลขโทรศพัท ์
015 Hope Shop สมาคมฝรั่งเศส 29 ถ.สาธรใต ้ทุง่มหาชน ยานนาวา กรงุเทพฯ
10330 267-8850-5
181 The book Shop Asia Hotel 296 ถ.พญาไท กรงุเทพฯ
10330 267-8850-5
ลกูคา้ 1 ราย สามารถสัง่สนิคา้ไดห้ลายครัง้
ตารางใบสัง่ซือ้
ตารางลกูคา้
ความสมัพันธแ์บบกลุม่ตอ่กลุม่ (Many-to-Many Relationships)
• ความสมัพันธท์ีส่มาชกิมากกวา่หนึง่สมาชกิใน เอนทติีห้นึง่มีความสมัพันธก์บัสมาชกิในอกีหนึง่เอนทติีม้ากกวา่หนึง่สมาชกิ หรอืกลา่วไดว้า่ ความสมัพันธ ์ดงักลา่วเป็นแบบกลุม่ตอ่กลุม่ เชน่ เอนทติีนักศกึษาและเอนทติชีดุวชิามีความสมัพันธก์นัแบบกลุม่ตอ่กลุม่ กลา่วคอื นักศกึษาแตล่ะคนสามารถลงทะเบยีนเรยีนไดห้ลายชดุวชิา และแตล่ะชดุวชิาสามารถมีนักศกึษาลงทะเบยีนเรยีนไดห้ลายคน
Many-to-Many Relationships
รหสัการสัง่ซือ้ รหสัลกูคา้ วันทีส่ัง่สนิคา้ วันทีส่ง่สนิคา้
10258 015 21/10/06 28/10/06
10265 181 21/10/06 27/10/06
รหสัการสัง่ซือ้ รหสัสนิคา้ จ านวนสนิคา้ทีส่ัง่ซือ้ สว่นลด (%)
10258 0005 8 25.00%
10258 0008 8 0.00%
รหสัชนดิสนิคา้ รหสัสนิคา้ ชือ่สนิคา้ ราคาตอ่หน่วย(บาท) ภาษี จ านวนในคลงั
01 0005 คูม่อืส าหรับผูน้ าในยคุ 90 219.63 Yes 409
01 0100 พดูอยา่งมวีาทะ 219.63 Yes 155
ชนดิของคยีใ์นฐานขอ้มลูเชงิสมัพันธ ์
Primary Key (คยีห์ลัก)
• คยีห์ลกั คอื Key หลกัทีใ่ชใ้นการอา้งถงึ Entity ในฐานขอ้มลู การเลอืกคยีห์ลกัสามารถเลอืกไดจ้ากRecord ใดๆ ก็ไดท้ีไ่มม่ีโอกาสซ ้าซอ้นกนับนฐานขอ้มลูนัน้
Secondary Key (คยีร์อง)
• คยีร์อง คอื คยีเ์ดีย่วหรอืคยี์ผสม (Single or Composite key) ซึง่เมือ่ใชใ้นการคน้หาขอ้มลูจากความสมัพันธจ์ะได ้มากกวา่หนึง่เรคคอรด์ ตา่งจากคยีห์ลกัทีท่ าใหข้อ้มลูในตารางไมซ่ ้ากนั
Foreign Key (คยีน์อก)
• เป็นฟิลดใ์นตารางหนึง่ (ฝ่ัง Many) ทีม่คีวามสมัพันธก์บัฟิลดท์ี่เป็น Primary Key ในอกีตารางหนึง่ (ฝ่ัง One) โดยทีต่ารางทัง้สองมคีวามสมัพันธแ์บบ One-to-Many ตอ่กนั
รหสัการสัง่ซือ้ รหสัลกูคา้ วันทีส่ัง่สนิคา้ วันทีส่ง่สนิคา้
10258 015 21/10/06 28/10/06
10265 181 21/10/06 27/10/06
รหสัการสัง่ซือ้ รหสัสนิคา้ จ านวนสนิคา้ทีส่ัง่ซือ้ สว่นลด (%)
10258 0005 8 25.00%
10258 0008 8 0.00%
Foreign Key
Primary Key
Candidate Key (คยีค์ูแ่ขง่)
• เป็นฟิลดห์นึง่ หรอืหลายฟิลดท์ีม่คีณุสมบตัทิีเ่ป็น Primary Key ได ้แตไ่มไ่ดเ้ป็นคยีห์ลกั เชน่ ชือ่และนามสกลุ สามารถรวมกนัเป็นคยีค์ูแ่ขง่ได ้เป็นตน้
รหสัลกูคา้ ชือ่ลกูคา้ นามสกลุ รหสัไปรษณีย ์หมายเลขโทรศพัท ์
001 ศราวธุ หมูโ่ยธา 10330 267-8850-5
002 เตชสทิธิ ์ คลองชนันันท ื 10330 267-8850-5
Candidate Key
Primary Key