Top Banner
ฐานข้อมูลเช งส มพ ันธ์ Relational Database
17

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

Jun 23, 2015

Download

Documents

skiats
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture5 ฐานข้อมูลเชิงสัมพันธ์

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

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

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

• คอื การรวบรวมเอนทติี ้หรอืตารางทีอ่ยูใ่นระบบทีม่คีวามสมัพันธร์ะหวา่งกนัเขา้ดว้ยกนั

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

ศพัทต์า่งๆในระบบฐานขอ้มลู

• เอนทติี ้( Entity ) เป็นค าทีอ่า้งถงึบคุคล สถานที ่และสิง่ของตา่งๆ เชน่ สนิคา้ ใบสัง่ซือ้ และลกูคา้ เป็นตน้ ถา้เราสนใจในการสรา้งระบบฐานขอ้มลูการสัง่ซือ้สนิคา้ เอนทติี ้เอนทติีข้องระบบนีจ้ะประกอบดว้ยเอนทติี้ลกูคา้ ใบสัง่ซือ้สนิคา้กบัสนิคา้ ดงัรปู

ลกูคา้ (Customer)

ใบสัง่ซือ้ (Order)

สนิคา้ (Product)

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

แอตทรบิวิต ์(Attribute)

• เป็นขอ้มลูทีแ่สดงลกัษณะของเอนทติี ้เชน่ แอตทรบิวิตข์องเอนทติีล้กูคา้ จะมชีือ่ ทีอ่ยู ่และรหสัไปรษณีย ์สว่นแอตทรบิวิตข์องเอนทติีใ้บสัง่ซือ้สนิคา้ จะมรีหสัใบสัซ่ ือ้ วนัที่สัง่ซือ้ ชือ่ สนิคา้ จ านวนสนิคา้ทีส่ง่ และราคาสนิคา้ เป็นตน้ ซึง่เราสามารถแสดงเอนทติี ้รวมทัง้แอตทรบิวิตไ์ด ้ดงัรปู

ลกูคา้

รหสัสนิคา้ ชือ่ลกูคา้ ทีอ่ยูล่กูคา้

รหสัไปรษณีย ์หมายเลขโทรศพัท ์

ใบส ัง่ซือ้

รหสัใบสัง่ซือ้ วันทีส่ัง่สนิคา้ วันทีส่ง่สนิคา้ รหสัลกูคา้ทีส่ัง่ รหสัสนิคา้ทีส่ัง่ จ านวนสนิคา้ทีส่ัง่

สว่นลด

สนิคา้

รหสัสนิคา้ ชือ่สนิคา้

ราคาตอ่หน่วย รามภาษีดว้ยหรอืไม ่จ านวนสนิคา้ในคลงั รหสัชนดิสนิคา้ ชือ่ชนดิสนิคา้

ชือ่เอนทติี ้

แอตทรบิวิตท์ัง้หมด

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

ความสมัพันธ ์(Relationships)

• จะหมายถงึ ความสมัพันธร์ะหวา่งเอนทติีต้า่งๆในระบบ เชน่ ในระบบการสัง่สนิคา้ จะประกอบดว้ยเอนทติีใ้บสัง่ซือ้สนิคา้และเอนทติีล้กูคา้ ซึง่มคีวามสมัพันธจ์ากลกูคา้ไปยังใบสัง่ซือ้สนิคา้

ลกูคา้

รหสัสนิคา้ ชือ่ลกูคา้ ทีอ่ยูล่กูคา้

รหสัไปรษณีย ์หมายเลขโทรศพัท ์

ใบส ัง่ซือ้

รหสัใบสัง่ซือ้ วันทีส่ัง่สนิคา้ วันทีส่ง่สนิคา้ รหสัลกูคา้ทีส่ัง่ รหสัสนิคา้ทีส่ัง่ จ านวนสนิคา้ทีส่ัง่

สว่นลด

One-to-Many

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

ชนดิของความสมัพันธ ์

• ความสมัพันธห์นึง่ตอ่หนึง่ (One-to-One Relationships)

• ความสมัพันธแ์บบหนึง่ตอ่กลุม่ (One-to-Many Relationships)

• ความสมัพันธแ์บบกลุม่ตอ่กลุม่ (Many-to-Many Relationships)

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

ความสมัพันธห์นึง่ตอ่หนึง่ (One-to-One Relationships)

• 1 เรคอรด์ในตารางหนึง่จะมคีวามสมัพันธ์กบัอกีเรคอรด์ 1 เรคอรด์ในอกีตารางหนึง่เทา่นัน้ ไมส่ามารถมเีกนิ 1 ได ้เชน่ ตารางราคาสนิคา้ และตารางจ านวนสนิคา้ จะมคีวามสมัพันธแ์บบ One-to-One

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

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

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

ความสมัพันธแ์บบหนึง่ตอ่กลุม่ (One-to-Many Relationships)

• เป็นความสมัพันธท์ีเ่รคอรด์ 1 เรคอรด์ในตารางหนึง่ จะสมัพันธก์บัจ านวนเรคอรด์ 2 เรคอรด์หรอืมากกวา่ในอกีตารางหนึง่ ตวัอยา่งเชน่ ลกูคา้สามารถสัง่สนิคา้ไดห้ลายใบสัง่สนิคา้ แตใ่บสัง่สนิคา้ใบหนึง่จะมลีกูคา้สัง่เพยีงรายเดยีวเทา่นัน้

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

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 ราย สามารถสัง่สนิคา้ไดห้ลายครัง้

ตารางใบสัง่ซือ้

ตารางลกูคา้

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

ความสมัพันธแ์บบกลุม่ตอ่กลุม่ (Many-to-Many Relationships)

• ความสมัพันธท์ีส่มาชกิมากกวา่หนึง่สมาชกิใน เอนทติีห้นึง่มีความสมัพันธก์บัสมาชกิในอกีหนึง่เอนทติีม้ากกวา่หนึง่สมาชกิ หรอืกลา่วไดว้า่ ความสมัพันธ ์ดงักลา่วเป็นแบบกลุม่ตอ่กลุม่ เชน่ เอนทติีนักศกึษาและเอนทติชีดุวชิามีความสมัพันธก์นัแบบกลุม่ตอ่กลุม่ กลา่วคอื นักศกึษาแตล่ะคนสามารถลงทะเบยีนเรยีนไดห้ลายชดุวชิา และแตล่ะชดุวชิาสามารถมีนักศกึษาลงทะเบยีนเรยีนไดห้ลายคน

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

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

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

ชนดิของคยีใ์นฐานขอ้มลูเชงิสมัพันธ ์

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

Primary Key (คยีห์ลัก)

• คยีห์ลกั คอื Key หลกัทีใ่ชใ้นการอา้งถงึ Entity ในฐานขอ้มลู การเลอืกคยีห์ลกัสามารถเลอืกไดจ้ากRecord ใดๆ ก็ไดท้ีไ่มม่ีโอกาสซ ้าซอ้นกนับนฐานขอ้มลูนัน้

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

Secondary Key (คยีร์อง)

• คยีร์อง คอื คยีเ์ดีย่วหรอืคยี์ผสม (Single or Composite key) ซึง่เมือ่ใชใ้นการคน้หาขอ้มลูจากความสมัพันธจ์ะได ้มากกวา่หนึง่เรคคอรด์ ตา่งจากคยีห์ลกัทีท่ าใหข้อ้มลูในตารางไมซ่ ้ากนั

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

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

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

Candidate Key (คยีค์ูแ่ขง่)

• เป็นฟิลดห์นึง่ หรอืหลายฟิลดท์ีม่คีณุสมบตัทิีเ่ป็น Primary Key ได ้แตไ่มไ่ดเ้ป็นคยีห์ลกั เชน่ ชือ่และนามสกลุ สามารถรวมกนัเป็นคยีค์ูแ่ขง่ได ้เป็นตน้

รหสัลกูคา้ ชือ่ลกูคา้ นามสกลุ รหสัไปรษณีย ์หมายเลขโทรศพัท ์

001 ศราวธุ หมูโ่ยธา 10330 267-8850-5

002 เตชสทิธิ ์ คลองชนันันท ื 10330 267-8850-5

Candidate Key

Primary Key