database system concepts - wordpress.com · 2017-01-14 · database system concepts...

96
Database System Concepts ความรู ้เบื องต้นเกี่ยวกับระบบฐานข้อมูล (Chapter 1) Database System .เอิญ สุริยะฉาย (ENS) ภาควิชาวิทยาการคอมพิวเตอร์และสารสนเทศ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ แนวคิดเกี่ยวกับการจัดเก็บข้อมูล แนวคิดเกี่ยวกับระบบฐานข้อมูล สถาปัตยกรรมของระบบฐานข้อมูล แนวคิดฐานข้อมูลแบบต่างๆ ความรู ้เบื องต้นเกี่ยวกับระบบฐานข้อมูล Database System Database System Concepts 2 ความรู ้พื้นฐานเรื่องเขตข้อมูล ระเบียน และแฟ้มข้อมูล ชนิดและคุณสมบัติของหน่วยเก็บข้อมูลส ารองและหน่วยความจํา หลัก แนวคิดเกี่ยวกับการจัดเก็บข้อมูล Database System Database System Concepts 3 โครงสร้างของแฟ้ มข้อมูล Database System Database System Concepts 4

Upload: others

Post on 22-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database System Concepts

ความรเบ องตนเกยวกบระบบฐานขอมล(Chapter 1)

Database System อ.เอญ สรยะฉาย (ENS)

ภาควชาวทยาการคอมพวเตอรและสารสนเทศมหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

แนวคดเกยวกบการจดเกบขอมล แนวคดเกยวกบระบบฐานขอมล สถาปตยกรรมของระบบฐานขอมล แนวคดฐานขอมลแบบตางๆ

ความรเบ องตนเกยวกบระบบฐานขอมล

Database System Database System Concepts 2

ความรพนฐานเรองเขตขอมล ระเบยน และแฟมขอมล ชนดและคณสมบตของหนวยเกบขอมลสารองและหนวยความจาหลก

แนวคดเกยวกบการจดเกบขอมล

Database System Database System Concepts 3

โครงสรางของแฟมขอมล

Database System Database System Concepts 4

Page 2: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

โครงสรางของแฟมขอมล

Database System Database System Concepts 5

ความรพนฐานเรองเขตขอมล ระเบยน และแฟมขอมล เขตขอมล คอ การนาเอาอกขระหลายๆตวรวมกน โดยมความหมายอยางใดอยางหนง หรออาจเรยกอกอยางวา ฟลด (Field)

ระเบยน คอ กลมของฟลดทสมพนธกน หรออาจเรยก อกอยางหนงวา เรคอรด (Record)

แนวคดเกยวกบการจดเกบขอมล

Database System Database System Concepts 6

1

2

3

ชนดของขอมล มหลายรปแบบดงน คอ ขอมลแบบรปแบบ เปนขอมลทรวมอกขระเปนรปแบบท แนนอน อาจอยในรปของรหส ซงตองตความหมายอกครง

ขอมลแบบขอความ เปนขอมลทเปนอกขระในแบบขอความ โดยไมมรปแบบทแนนอน ความหมายจะอยในขอความ

ขอมลแบบภาพลกษณ เปนขอมลทเปนภาพหรอเปนกราฟ ขอมลแบบเสยง ขอมลแบบภาพและเสยง เปนการจดเกบภาพและเสยงไว รวมกน

ชนดของขอมล

Database System Database System Concepts 7

ลกษณะของระบบแฟมขอมล ระเบยนขนาดคงท ระเบยนทมความยาวแปรได

การจดการแฟมขอมลการสรางแฟมขอมลการปรบปรงรกษาแฟมขอมล

แนวคดเกยวกบการจดเกบขอมล

Database System Database System Concepts 8

Page 3: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

แฟมขอมลหลกแฟมขอมลทมความถของการเปลยนแปลงขอมลไมบอยมากนก ตวอยางของแฟมหลก เชน แฟมหลกนกศกษาซงจะเกบขอมลของนกศกษา เชน รหส ชอ ทอย เปนตน

แฟมขอมลรายการเปลยนแปลงแฟมขอมลทมการเปลยนหรอแกไขของรายการขอมลภายในคอนขางบอยและทาแบบประจาตอเนองหรอเกดขนทกวน

ตวอยางเชน แฟมรายการลงทะเบยนของนกศกษา ซงจะมรายการ ลงทะเบยนในทกภาคเรยน

แฟมขอมลตาราง แฟมขอมลเรยงลาดบ

ประเภทของแฟมขอมล

Database System Database System Concepts 9

แบบเรยงลาดบ (Sequential File Structure) สามารถใชงานไดงายทสด เนองจากมลกษณะการจดเกบขอมลแบบเรยงลาดบเรคคอรดตอเนองกนไปเรอยๆ

การอานหรอคนคนขอมลจะขามลาดบไปอานตรงตาแหนงใดๆทตองการโดยตรงไมได เมอตองการอานขอมลทเรคคอรดใดๆโปรแกรมจะเรมอานตงแตเรคคอรดแรกไปเรอยๆจนกวาจะพบเรคคอรดทตองการ

การจดโครงสรางแฟมขอมล

Database System Database System Concepts 10

แบบสม (Direct/Random File Structure) เขาถงไดโดยตรง เมอตองการอานคาเรคคอรดใดๆสามารถทาการเลอกหรออานคานนไดทนท ไมจาเปนตองผานเรคคอรดแรกๆเหมอนกบแฟมขอมลแบบเรยงลาดบ ซงทาใหการเขาถงขอมลไดรวดเรวกวา

Database System Database System Concepts 11

การจดโครงสรางแฟมขอมล แบบลาดบเชงดรรชน (Index Sequential File Structure)

ISAM (Index Sequential Access Method) รวมเอาความสามารถในการเขาถงขอมลแบบสมและแบบเรยงตามลาดบเขาไวดวยกน

ใชแฟมดรรชน (index) ทาการคนหาหรอเขาถงขอมลโดยตรง หลกการทางานคลายกบรปแบบดรรชนทายเลมหนงสอ

Database System Database System Concepts 12

การจดโครงสรางแฟมขอมล

Page 4: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

โครงสรางแฟม ขอด ขอเสย สอทใชเกบ

แบบเรยงลาดบ

- เสยคาใชจายนอยและใชงานไดงาย- เหมาะกบงานประมวลผลทมการอานขอมลแบบเรยงลาดบและในปรมาณมาก

- การทางานเพอคนหาขอมลจะตองเรมทาตงแตตนไฟลเรยงลาดบไปเรอย จนกวาจะหาขอมลนนเจอ ทาใหเสยเวลาคอนขางมาก - ไมเหมาะกบงานทตองแกไข เพม ลบขอมลเปนประจา เชนงานธรกรรมออนไลน

เทปแมเหลก เชน เทปคาสเซต

แบบสม

- สามารถทางานไดเรว เพราะมการเขาถงขอมลเรคคอรดทตองการได เลย- เหมาะสมกบการใชงานธรกรรมออนไลน หรองานทตองการแกไข เพม ลบ รากการเปนประจา

- ไมเหมาะกบงานประมวลผลทอานขอมลในปรมาณมาก - การเขยนโปรแกรมเพอคนหาขอมลจะซบซอน

จานแมเหลกเชน ดสเกตต, ฮารดดสกหรอ CD-ROM

แบบลาดบเชงดรรชน

- สามารถรองรบการประมวลผลไดทง 2 แบบคอ แบบลาดบและแบบสม- เหมาะกบงานธรกรรมออนไลน ดวยเชนเดยวกน

- สนเปลองเนอทในการจดเกบดรรชนทใชอางองถงตาแหนงของขอมล - การเขยนโปรแกรมเพอคนหาขอมลจะซบซอน - การทางานชากวาแบบสม และมคาใชจายสง

จานแมเหลก เชน ดสเกตต, ฮารดดสกหรอ CD-ROM

Database System Database System Concepts 13

การจดโครงสรางแฟมขอมล แบงแบบท 1

RAMROM

แบงแบบท 2Volatile Storage (ลบเลอนได)Non-Volatile Storage (ลบเลอนไมได)

ชนดของหนวยความจาหลก

Database System Database System Concepts 14

เขาถงขอมลไดโดยตรง เชนจานบนทกแมเหลกOptical Disk

ชนดของหนวยความจาสารอง

Database System Database System Concepts 15

เขาถงขอมลแบบเรยงลาดบ เชน เทปแมเหลก

ความจาเปนททาใหเกดการใชงานโดยระบบฐานขอมล ขอมล ฐานขอมล และระบบจดการฐานขอมล ประโยชนของระบบจดการฐานขอมล

แนวคดเกยวกบระบบฐานขอมล

Database System Database System Concepts 16

Page 5: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

การประมวลผลกบระบบแฟมขอมลยงยาก แฟมขอมลไมมความเปนอสระของขอมล แฟมขอมลมความซบซอนมาก แฟมขอมลมความถกตองของขอมลนอย แฟมขอมลมความปลอดภยนอย ไมมการควบคมจากศนยกลาง

ความจาเปนททาใหเกดการใชงานโดยระบบฐานขอมล

Database System Database System Concepts 17

เปนการจดเกบขอมลในลกษณะแฟมขอมลทอสระจากกน

การจดการขอมลแบบแฟมขอมล

Database System Database System Concepts 18

แฟมขอมลอาจารย

แฟมขอมลวชาทเปดสอน

แฟมขอมลเกรด

ระบบเงนเดอน

ระบบตารางสอน

ระบบเกรด

รายงาน

รายงาน

รายงาน

File Processing Systems

Database System Database System Concepts 19

1. เกดความขดแยงของขอมลได 2. เกดความซาซอนของขอมล3. สนเปลองเนอทในการจดเกบขอมล4. ไมมการใชขอมลรวมกน ทาใหการแกไขเปลยนแปลงขอมลทาได

ยาก5. ขอมลไมมความนาเชอถอ6. ไมสามารถรกษาความปลอดภยไดทวถง

ขอเสยของการจดการขอมลแบบแฟมขอมล

Database System Database System Concepts 20

ขอมลมความซาซอนกน

Page 6: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ถาใชโปรแกรม spreadsheet

Database System Database System Concepts 21

RedundancyDuplication of data or the storing of the same data in more

than one place Difficulty accessing related data Limited security Size limitations

ขอเสยกการใชโปรแกรม spreadsheet

Database System Database System Concepts 22

แกไขขอเสยโดยใช … ระบบฐานขอมล

Database System Database System Concepts 23

ขอมลอาจารย

ขอมลตารางสอน

ขอมลเกรด

ระบบจดการฐานขอมล(DBMS)

ระบบเงนเดอน

ระบบตารางสอน

ระบบเกรด

รายงาน

รายงาน

รายงาน

Database

Database System Database System Concepts 24

Page 7: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database ในการใชงานทแตกตางกน

Database System Database System Concepts 25 Database System Database System Concepts 26

File Database

ใช DBMS อยางเดยว เชน ใช Access ในการเกบขอมล

ใช DBMS รวมกบโปรแกรมอน ๆ เชน ใชภาษา PHP รวมกบ MySQL

ระบบฐานขอมล

Database System Database System Concepts 27

ฐานขอมล (Database) ประกอบดวยรายละเอยดขอมลทมความเกยวของกน ซงจะถกนามาใชงานในดานตางๆ โดยขอมลเหลานจะถกจดเกบไวใหเปนศนยกลางอยางมระบบ ซงสามารถเรยกใชงานรวมกนได เพอประโยชนในการจดการและการเรยกใชขอมลไดอยางมประสทธภาพ

ความหมายของระบบฐานขอมล

Database System Database System Concepts 28

Page 8: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

1. ฮารดแวร (Hardware)2. ซอฟตแวร (Software) หรอ โปรแกรม (Program)3. ขอมล (Data)4. บคลากร (People)5. ขนตอนการปฏบตงาน (Procedure)

องคประกอบของระบบฐานขอมล

Database System Database System Concepts 29

หมายถง ฮารดแวรหรออปกรณตางทใชเพอชวยใหระบบฐานขอมลสามารถทางานไดอยางมประสทธภาพ โดยมสงสาคญคอหนวยความจา (Memory)CPUอปกรณนาเขา อปกรณแสดงผล

องคประกอบท 1 : ฮารดแวร (Hardware)

Database System Database System Concepts 30

INPUT UNIT OUTPUT UNIT

MEMORY

SECONDARY STORAGE

CENTRAL PROCESSING UNIT

หมายถง ซอฟตแวร ทใชเพอเกบขอมล หรอการจดการขอมลในรปแบบตางๆ โดยแตละระบบจะใช โปรแกรมทแตกตางกนไปตามลกษณะการใชงาน

แตทกระบบจะตองมโปรแกรมททาหนาทควบคมดแลการสราง, การเรยกใชขอมล, การจดทารายงาน, การปรบเปลยนแกไขโครงสราง ฯลฯ ทเรยกวา

“ระบบจดการฐานขอมล”

(Database Management System : DBMS)

องคประกอบท 2 : ซอฟตแวร (Software)

Database System Database System Concepts 31

หมายถง โปรแกรมททาหนาทจดการขอมลในฐานขอมล ทงการสราง, การเรยกใชงาน, การเปลยนแปลงโครงสราง และยงความคมระบบรกษาความปลอกภยของฐานขอมลอกดวย

โดยระบบจดการฐานขอมลจะเปนสอกลางระหวางผใชงานโปรแกรมประยกตตางๆ กบระบบฐานขอมลทตดตออย

ระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 32

ฐานขอมล

ระบบจดการฐานขอมล(DBMS)

โปรแกรมประยกตตางๆ ทผใชงานใช

Page 9: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 33 Database System Database System Concepts 34

Architecture of a DBMS

1. ชวยกาหนดและเกบโครงสรางฐานขอมล (Define and Store Database Structure)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 35

ID NAME ADDRESS Telephone1 Somchai 15/548 01-95741262 Monton 17/54 02-985-65743 Ladawan 58/574 01-900-5742

ฐานขอมล

2. การบรรจขอมลลงฐานขอมล (Load Database)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 36

ID NAME ADDRESS Telephone1 Somchai 15/548 01-95741262 Monton 17/54 02-985-65743 Ladawan 58/574 01-900-5742 ฐานขอมล

Page 10: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

3. เกบและดแลขอมล (Store and Maintain Data)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 37

DBMSStore and Maintain Data

4. ประสานงานกบระบบปฏบตการ (Operating System)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 38

ฐานขอมล

Operating System Application SoftwareDBMS

5. ชวยควบคมความปลอดภย (Security Control)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 39

ฐานขอมล

DBMS

Authorize USER

Non-Authorize USER

6. การจดทาขอมลสารองและการก (Backup and Recovery)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 40

Backup Database

ABCD 12345

ABCD 12345

Backup

Recovery

Database

Page 11: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

7. ควบคมการใชงานพรอมกนของผใชในระบบ (Concurrency Control)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 41

ฐานขอมล

DBMS

USER 1

USER 2

USER 3

U1 : U3 : U2

8. ควบคมความบรณภาพของขอมล (Integrity Control)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 42

ฐานขอมลการจายเงนเดอน

ฐานขอมลประวต

IntegrityControl

9. ทาหนาทจดทาพจนานกรมขอมล (Data Dictionary)

หนาทของระบบจดการฐานขอมล (DBMS)

Database System Database System Concepts 43

Database

ชอตาราง

ชอฟลด

คยตาง

พจนานกรม เพอเกบรายละเอยดทเกยวของกบฐานขอมล

หมายถง ขอมลหรอสงตางๆ ทตองการนามาจดเกบลงในฐานขอมล เพอใหมการจดการอยางเปนระบบ โดยขอมลตางๆ จะถกจดการในแตละระดบ โดยผทใชฐานขอมลจะมองภาพขอมลทแตกตางกนออกไป

องคประกอบท 3 : ขอมล (Data)

Database System Database System Concepts 44

ขอมล

USER 1

USER 2

Page 12: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

1. ผใชทวไป (User)บคลากรทใชฐานขอมล เชน พนกงานจองตว

2. พนกงานปฏบตการ (Operator)ผปฏบตการดานประมวลผลการปอนขอมล

3. นกวเคราะหและออกแบบระบบ (System Analyst)ผวเคราะหระบบฐานขอมล และออกแบบระบบงานทจะนามาใช

องคประกอบท 4 : บคลากร (People)

Database System Database System Concepts 45

4. ผเขยนโปรแกรมประยกต (Programmer)ผทเขยนโปรแกรมเพอใหจดเกบขอมล การเรยกใชขอมลตามความตองการของผใชงาน

5. ผบรหารฐานขอมล (Database Administrator : DBA)ผททาหนาทบรหารและควบคมการบรหารงานระบบฐานขอมล โดยเปนผตดสนใจ, กาหนดนโยบาย ตางๆ ในการใชงานระบบฐานขอมล

องคประกอบท 4 : บคลากร (People)

Database System Database System Concepts 46

หมายถง ขนตอนหรอวธการตางๆ ในระบบฐานขอมล โดยจะเปนขนตอนการปฏบตงานตางๆ ทจะตองเปนไปตามขนตอนทกาหนด เพอใหการทางานของระบบฐานขอมลเปนไปอยางถกตอง และมประสทธภาพ ซงกจะมทงขนตอนในสภาวะปกต และขนตอนปฏบตในขณะระบบเกดปญหา (Failure)

องคประกอบท 5 : ข นตอนการปฏบตงาน (Procedure)

Database System Database System Concepts 47

1. หลกเลยงความขดแยงของขอมลได

ขอดของการมระบบฐานขอมล

Database System Database System Concepts 48

ขอมลพนกงาน

ฐานขอมลพนกงาน

ขอมลพนกงาน

ฐานขอมลเงนเดอน

เมอขอมลพนกงานเปลยนไปจะทาใหเกดความขดแยง

ของขอมล

การทางานแบบแฟมขอมล การทางานแบบฐานขอมล

ฐานขอมลพนกงาน

ทะเบยนประวตพนกงาน

ระบบเงนเดอนพนกงาน

Page 13: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

2. สามารถใชขอมลรวมกนได

ขอดของการมระบบฐานขอมล

Database System Database System Concepts 49

- ฐานขอมลพนกงาน- ฐานขอมลงานของบรษท

-ฐานขอมลดานบญช

ระบบทะเบยนประวตพนกงาน

ระบบเงนเดอนพนกงาน

ระบบวางแผนงาน

3. ลดความซาซอนของขอมลได

ขอดของการมระบบฐานขอมล

Database System Database System Concepts 50

ขอมลพนกงาน

ฐานขอมลพนกงาน

ขอมลพนกงาน

ฐานขอมลเงนเดอน

ขอมลพนกงานมความซาซอนกน

การทางานแบบแฟมขอมล การทางานแบบฐานขอมล

ฐานขอมลพนกงาน

ทะเบยนประวตพนกงาน

ระบบเงนเดอนพนกงาน

4. รกษาความถกตองและความเชอถอไดของขอมล

ขอดของการมระบบฐานขอมล

Database System Database System Concepts 51

- ฐานขอมลพนกงาน- ฐานขอมลงานของบรษท

-ฐานขอมลดานบญช

ระบบทะเบยนประวตพนกงาน

ระบบเงนเดอนพนกงาน

ระบบวางแผนงาน

5. สามารถกาหนดความเปนมาตรฐานเดยวกน

ขอดของการมระบบฐานขอมล

Database System Database System Concepts 52

- ฐานขอมลพนกงาน- ฐานขอมลงานของบรษท

-ฐานขอมลดานบญช

ระบบทะเบยนประวตพนกงาน

ระบบเงนเดอนพนกงาน

ระบบวางแผนงาน

ใชมาตรฐานเดยวกน

Page 14: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

6. สามารถกาหนดระบบรกษาความปลอดภยได

ขอดของการมระบบฐานขอมล

Database System Database System Concepts 53

ฐานขอมล

Authorize USER

Non-Authorize USER

6. มความเปนอสระของขอมลและโปรแกรม

ขอดของการมระบบฐานขอมล

Database System Database System Concepts 54

ระบบทะเบยนประวตพนกงาน

ระบบเงนเดอนพนกงาน

ระบบวางแผนงาน- ฐานขอมลพนกงาน

- ฐานขอมลงานของบรษท-ฐานขอมลดานบญช

1. มตนทนสง

ขอเสยของการมระบบฐานขอมล

Database System Database System Concepts 55

HardwareSoftware บคลากร

2. มความซบซอน

ขอเสยของการมระบบฐานขอมล

Database System Database System Concepts 56

ฐานขอมล

System 1

Program 1.1System 2

Program 2.1ID NAME ADDRESS Telephone1 Somchai 15/548 01-95741262 Monton 17/54 02-985-65743 Ladawan 58/574 01-900-5742

Page 15: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

3. เสยงตอการหยดชะงกของระบบ

ขอเสยของการมระบบฐานขอมล

Database System Database System Concepts 57

ฐานขอมล

USER 1

USER 2

USER 3

USER 4

USER 5

USER 6

1. ระดบภายนอกหรอ วว (External Level หรอ View)2. ระดบแนวคด (Conceptual Level)3. ระดบภายใน (Internal หรอ Physical Level)

การแบงระดบของขอมล เพอใหการใชขอมลของผใชงานเปนไปอยางเหมาะสม

สถาปตยกรรมฐานขอมล

Database System Database System Concepts 58

เ ปนระดบของข อมลท เ ปนภาพทผ ใ ช ง านมอง เ หน (View) เคารางของขอมลในระดบนเกดจากภาพและความตองการของผใชงาน

Database System Database System Concepts 59

ระดบภายนอกหรอวว (External Level, View)

EMPNUM EMPNAME HIREDATE SALARY POSITION DEPNO MGRNO

DEPNO DEPNAME LOCATION

PROJNO PROJDESC STARTDATE ENDDATA BUDGET

PROJNO EMPNO HOURS

EMPLOYEE

DEP

PROJECT

PROJWORK

ประกอบดวยเคารางทอธบายถงฐานขอมลม Entity ใดบางโครงสรางของขอมลความสมพนธของขอมลกฎเกณฑและขอจากดตางๆ

โดยจะผานการวเคราะหจาก นกวเคราะหและออกแบบระบบ และผบรหารฐานขอมล (DBA)

Database System Database System Concepts 60

ระดบแนวคด (Conceptual Level)

Page 16: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ประกอบดวยเคารางทเกยวกบการจดเกบขอมลจรงๆ วามโครงสรางในการจดเกบอยางไร รวมถงวธการเขาถงขอมล ความสมพนธระหวางขอมลระดบตางๆ ซงเปนการแปลความหมายจากระดบหนงไปยงอกระดบหนง เรยกวา การแปลงสง (Mapping) โดยแบงเปน 2 ลกษณะ

การแปลงสงระหวางระดบแนวคดและระดบภายใน (Conceptual/Internal Mapping)

การแปลงสงระหวางระดบภายนอกและระดบแนวคด (External/Conceptual Mapping)

Database System Database System Concepts 61

ระดบภายใน (Internal or Physical Level)

Database System Database System Concepts 62

สถาปตยกรรมฐานขอมล

Database System Database System Concepts 63

สถาปตยกรรมฐานขอมล คอความสามารถในการเปลยนแปลงเคาราง (Schema) ในระดบหนงของฐานขอมลโดยไมมผลกระทบตอสกมาในระดบสงขนไป เปนแนวคดในการพฒนาโปรแกรมใหเปนอสระจากการเปลยนแปลงโครงสรางขอมล

Database System Database System Concepts 64

ความเปนอสระของขอมล (Data Independence)

Page 17: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ความเปนอสระของขอมลในเชงตรรกะ (Logical Data Independence) เปนความอสระของขอมลในระดบแนวคดกบระดบภายนอก นนคอถามการเปลยนแปลงขอมลในระดบแนวคดจะไมมผลตอระดบภายนอก

ความเปนอสระของขอมลในเชงกายภาพ (Physical Data Independence) เปนความอสระของขอมลในระดบภายในกบระดบแนวคด นนคอ ถามปรบปรงเคารางในระดบภายในโดยจะกระทบตอระดบภายแนวคดและระดบภายนอก

Database System Database System Concepts 65

ความเปนอสระของขอมล (Data Independence) ภาษานยามขอมล (Data Definition Language : DDL) เปนภาษาทใชในการกาหนด Schema

ภาษาจดการขอมล (Data Manipulation Language : DML) เปนภาษาทใชในการจดการขอมลภายในระบบ ฐานขอมล

ภาษาทใชในการควบคมขอมล (Data Control Language : DCL) เปนภาษาทใชในการควบคมความถกตองและ ความปลอดภยของขอมล

Database System Database System Concepts 66

ภาษาทใชในระบบของฐานขอมล

เปนภาษาทใชในการกาหนดสกมาของฐานขอมล (Database Schema) ซงไดแก คาสงทใชกาหนดโครงสรางการออกแบบฐานขอมล คาสงทเขยนดวย DDL จะเกดเปน พจนานกรมขอมล

ตวอยาง คาสงCREATE TABLE, ALTER TABLE, RENAME TABLE, DROP TABLE

Database System Database System Concepts 67

ภาษานยามขอมล (Data Definition Language)

การจดการขอมล หมายถง การคนคนขอมลจากฐานขอมล ประกอบดวย

การเพมขอมลลงในฐานขอมล การเปลยนแปลงแกไขขอมลในฐานขอมล การลบขอมลทมอยในฐานขอมล ตวอยาง คาสง

SELECT, INSERT, UPDATE, DELETE

Database System Database System Concepts 68

ภาษาจดการขอมล (Data Manipulation Language)

Page 18: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

เปนภาษาทใชในการควบคมความถกตองของขอมล ควบคมภาวะการใชขอมลพรอมกนจากผใชหลายคนในเวลาเดยวกน และคาสงควบคมความปลอดภยของขอมล การใหสทธอานาจแกผใชแตละคนในการเรยกดหรอปรบปรงขอมล

ตวอยาง คาสงGRANT, REVORK

Database System Database System Concepts 69

ภาษาทใชในการควบคมขอมล (Data Control Language)

ฐานขอมลแบบลาดบชน (Hierarchical Data Model) ฐานขอมลแบบเครอขาย (Network Data Model) ฐานขอมลแบบสมพนธ (Relational Data Model)

Database System Database System Concepts 70

แนวคดฐานขอมลแบบตางๆ

Database System Database System Concepts 71

Data Models ฐานขอมลมความสมพนธระหวางขอมลในรปแบบของ โครงสรางตนไม ซงมโครงสรางในแบบลาดบชน

Database System Database System Concepts 72

ฐานขอมลแบบลาดบช น

Page 19: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ลกษณะเดน เปนระบบฐานขอมลทมระบบโครงสรางซบซอนนอยทสด มคาใชจายในการจดสรางฐานขอมลนอย ลกษณะโครงสรางเขาใจงาย เหมาะสาหรบงานทตองการคนหาขอมลแบบมเงอนไขเปนระดบและออกงานแบบเรยงลาดบตอเนอง

ขอจากด มโอกาสเกดความซาซอนมากทสดขาดความสมพนธระหวางแฟมขอมลในรปเครอขาย มความคลองตวนอยกวา เพราะตองอานแฟมทเปนตนกาเนดกอน

Database System Database System Concepts 73

ฐานขอมลแบบลาดบช น มโครงสรางของขอมลแตละแฟมขอมลมความสมพนธคลายรางแห โดยมลกษณะโครงสรางคลายกบโครงสรางแบบลาดบชน แตแฟมขอมลอาจมความสมพนธกนไดมากกวา 1 ความสมพนธ

Database System Database System Concepts 74

ฐานขอมลแบบเครอขาย

ลกษณะเดน เหมาะสาหรบงานทแฟมขอมลมความสมพนธแบบเครอขายมโอกาสเกดความซาซอนของขอมลนอยกวาแบบลาดบชนการคนหาขอมลมเงอนไขไดมากและกวางกวาแบบลาดบชน

ขอจากด ปองกนความลบของขอมลไดยากมคาใชจายและสนเปลองมากกวาถาความสมพนธมมากเกนไป จะทาใหออกแบบฐานขอมลมความยงยากซบซอน

Database System Database System Concepts 75

ฐานขอมลแบบเครอขาย โครงสร างของฐานขอมลอย ในรปของร เลชน หรอ ตาราง ประกอบดวยแถว (Tuple) และสดมภ (Attribute)

การควบคมความถกตองTuple มขอมลไมซากนTuple ไมมลาดบจากบนลงลางAttribute ไมมลาดบจากซายไปขวาคาของ Attribute ทกคาจะตองเปน atomicity

ตวอยางของภาษาปฏบตการ คอ SQL

Database System Database System Concepts 76

ฐานขอมลแบบสมพนธ (Relational Data Model)

Page 20: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database System Database System Concepts 77

ฐานขอมลแบบสมพนธ (Relational Data Model)

Database System Database System Concepts 78

ฐานขอมลแบบสมพนธ (Relational Data Model)

ลกษณะเดน เหมาะสาหรบงานเลอกดขอมลแบบหลายฟลดขอมล ปองกนขอมลถกทาลายหรอแกไขไดดการเลอกดขอมลทาไดงาย

ขอจากดแกไขปรบปรงขอมลทาไดยากมคาใชจายของระบบสงมาก

Database System Database System Concepts 79

ฐานขอมลแบบสมพนธ (Relational Data Model) Database

Structure that can store information about: Different categories of informationRelationships between those categories of information

EntityPerson, place, object, event, or ideaEntities for Premiere Products: sales reps, customers, orders,

and parts

Database

Database System Database System Concepts 80

Page 21: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

AttributeCharacteristic or property of an entityExample: Customer has name, street, city, etc.May also be called a field or column

RelationshipAssociation between entitiesOne-to-many relationship

Each rep is associated with many customersEach customer is associated with a single rep

Database

Database System Database System Concepts 81

Entities and attributes

Database System Database System Concepts 82

Entities and attributes

Database System Database System Concepts 83

Sample data

Database System Database System Concepts 84

Page 22: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

1. ความถกตองของขอมล2. ขอมลตองไมซาซอนกน

Database System Database System Concepts 85

หวใจของ Database

Database System Database System Concepts 86

Note

Page 23: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Relational Data Model

ฐานขอมลเชงสมพนธ(Chapter 2)

Database System อ.เอญ สรยะฉาย (ENS)

ภาควชาวทยาการคอมพวเตอรและสารสนเทศมหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

Data Models

Database System Relational Data Model 2

Database System Relational Data Model 3

Relational Data Model แนวคดเรองโมเดลเชงสมพนธ

ความสมพนธของฐานขอมลจะอยในรปแบบของตารางชอของตารางคอ ชอของความสมพนธแตละคอลมนของตารางความสม พนธ เ รยกว า แอททรบ ว

(Attribute) ของความสมพนธคาและขอบเขตของขอมลของแอททรบวเรยกวา โดเมน(Domain)แตละแถวของตารางความสมพนธ เรยกวา แถว หรอ ทเพล(tuple)ของความสมพนธ

Database System Relational Data Model 4

Key Rule

Page 24: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database System Relational Data Model 5

Record, Field Relational Data Model

Database System Relational Data Model 6

Relational Data Model

Database System Relational Data Model 7

สรปโดยใชหลกการทางคณตศาสตรไดวาโดเมน D คอ ชดของขอมลทมคาเฉพาะเจาะจงแอททรบว A คอ ตวแทนของโดเมน เขยนไดเปน dom(A) รปแบบของความสมพนธ R เขยนไดเปน R(A1,A2,…,An)เมอกลาวถง R จะหมายถง {A1,A2,…,An}

ความสมพนธ r คอ กลมแถวทเปน subset ของกลมแอททรบว dom(A1) x dom(A2) x … x dom(An)

หนงแถวในความสมพนธ r เขยนไดเปน t(A1,A2,…,An) และเปน subset หนงของ dom(A1) x dom(A2) x … x dom(An)

Key Rule

Database System 8Relational Data Model

Page 25: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คณสมบตของความสมพนธ ลาดบของแถวและคอลมนไมทาใหขอมลเปลยนไปจะไมมสองแถวทซากนแอททรบวทกตวจะเปน atomic เทานนดกรของความสมพนธ คอ จานวนแอททรบวทมในความสมพนธนน

Key Rule

Database System 9

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78

Position age name height weightกองหนา 26 สเมธ 183 82กองหลง 30ชาตชาย 169 71กองกลาง 24กองเกยรต 180 78ปกซาย 21ผลด 175 78

Relational Data Model

คย คย คอ สงทใชในการกาหนดความเปนเอกลกษณของแถวในความสมพนธ

ทาใหการเขาถงขอมลบนฐานขอมลเปนไปไดอยางรวดเรว ทาใหสามารถแยกแยะขอมลในฐานขอมลใหเปนไปอยางถกตอง

Key Rule

Database System 10Relational Data Model

คยหลก (Primary Key)คอ คยทใชในการอางถง Entity ในฐานขอมลสามารถเลอกไดจาก Record ใด ๆ กไดทไมมโอกาสซาซอนกนคยหลกเปนขอมลสาคญทจะทาใหการเขาถงขอมลเปนไปไดอยางรวดเรว

Key Rule

Database System 11

เลขประจาตวประชาชน ชอ นามสกล อาย3501552150054 สมชาย แซตง 253210077565107 สมศร แซอง 424110597520235 สมชาย แซตง 252156800512473 สมปอง แซแต 167812350453784 สมชย แซเลง 50

Relational Data Model

หากไมมขอมลใดเลยในฐานขอมลทเหมาะสมทจะเปนคยหลกควรทจะกาหนด Record ใหมสาหรบใหเปนคยหลกโดยเฉพาะ

Key Rule

Database System 12

ชอ นามสกล อาย เพศสมชาย แซตง 25 ชายสมศร แซอง 42 หญงสมชาย แซตง 25 ชายสมปอง แซแต 16 ชายสมชย แซเลง 50 ชาย

ID ชอ นามสกล อาย เพศ1 สมชาย แซตง 25 ชาย2 สมศร แซอง 42 หญง3 สมชาย แซตง 25 ชาย4 สมปอง แซแต 16 ชาย5 สมชย แซเลง 50 ชาย

Relational Data Model

Page 26: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คยรอง (Secondary Key) คอ คยเดยวหรอคยผสม เมอใชในการคนหาขอมลของความสมพนธจะได มากกวา 1 เรคคอรดค ย ร อ ง จ ง ไ ม จ า เ ป น ต อ ง เ ป นเอกลกษณ

คยนอก (Foreign Key) คอ คยเดยวหรอคยผสม ซงเปนคยทวไปของความสมพนธหนง แตเปนคยหลกของอกความสมพนธหนง เปนตวทใช ในการเชอมตอระหวางความสมพนธ

Key Rule

Database System 13Relational Data Model

ซปเปอรคย (Super key) คอ กลมของแอททรบวทสามารถนาไปคนหาขอมลทเปนเอกลกษณได

คยแขงขน (Candidate key) คอ ซปเปอรคยทมขนาดเลกทสด ทสามารถระบความแตกตางในแตละ Tuple ได

Key Rule

Database System 14Relational Data Model

พนฐาน Relational Algebra Relational Algebra ประกอบดวย Operations ตางๆขนพนฐาน Relational Calculus ใชหลกการทางตรรกะคณตศาสตรเพอจดการขอมล

Algebra Rule

Database System 15Relational Data Model

พนฐาน Relational AlgebraRelational Algebra เรยกอกอยางวา Relational query languageใชในการจดการขอมลโดยการระบตวกระทา กบความสมพนธทตองการจดการ ผลลพธทไดคอ ความสมพนธใหม

Algebra Rule

Database System 16Relational Data Model

Page 27: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ประเภทการใชงานของตวกระทากบความสมพนธ ม 2 รปแบบ คอ การใชงานขนพนฐาน

Selection เลอกแถวจากความสมพนธProjection เลอกเฉพาะคอลมนทตองการจากความสมพนธCross Product สามารถรวมความสมพนธได Set Difference หาความแตกตางระหวาง 2 ความสมพนธUnion เชอม 2 ความสมพนธเขาดวยกน

Algebra Rule

Database System 17Relational Data Model

การใชงานขนสง intersection joindivision

Algebra Rule

Database System 18Relational Data Model

ประเภทการกระทากบความสมพนธ ม 2 รปแบบ คอ Unary Operators คอ ตวกระทาทตองการเพยงความสมพนธเดยว เชน select, project และ rename

Binary Operators คอ ตวกระทาทตองการ 2 ความสมพนธ เชน union, intersection, difference และ cartesian product

Algebra Rule

Database System 19Relational Data Model

สญลกษณ σ(sigma) เปนการเลอกแถวจากความสมพนธตามเงอนไขทกาหนด ผลทไดอาจมจานวนทเพลตงแต 0 ถง จานวนทเพลทงหมด

Selection operation σ

Database System 20

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78

Name position age height weightสเมธ กองหนา 26 183 82กองเกยรต กองกลาง 24 180 78

SELECT *FROM Player WHERE height > 178

ความสมพนธ player

σheight>178(Player)

Relational Data Model

Page 28: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

เลอกบางแถว จานวนหลกเทาเดม

Selection

Database System Relational Data Model 21

σPRICE<=2(yields)

yields

σP_CODE=311452(yields)

Selection

Database System Relational Data Model 22

salary > 10000 (Staff)

สญลกษณ π(pi) เลอกเฉพาะบางคอลมนทตองการจากความสมพนธ ผลลพธทไดจะไดจานวนแถวเทากบความสมพนธ r แตจานวนดกรอาจจะเทากนหรอนอยกวา

Projection operator π

Database System 23

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78

weight height82 18378 17571 16978 180

SELECT weight, height FROM Player

ความสมพนธ playerπweight, height(Player)

Relational Data Model

เลอกบางหลก จานวนแถวเทาเดม

Projection

Database System Relational Data Model 24

π PRICE(yields)

π P_DESCRIPT,PRICE(yields)

yields

π P_CODE,PRICE(yields)

Page 29: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Projection

Database System Relational Data Model 25

π staffNo, fName, lName, salary(Staff)

Selection with Projection

Database System 26

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78

Name positionสเมธ กองหนากองเกยรต กองกลาง

ความสมพนธ player

πname, position(σheight>178 and weight>75 (Player))

Relational Data Model

ความสมพนธ R1และ R2 ทมาทา Union ตองมรปแบบความสมพนธเหมอนกน เขยนได R1R2 โดยแถวทซากนจะปรากฏเพยงครงเดยว

Union

Database System 27

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78

Name position age height weightเอกพจน ปกขวา 20 180 78สชาต กองหนา 19 179 80ชาตชาย กองหลง 30 169 71พเชษฐ ปกซาย 22 177 76

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78เอกพจน ปกขวา 20 180 78สชาต กองหนา 19 179 80พเชษฐ ปกซาย 22 177 76

ความสมพนธ player1

ความสมพนธ player2

SELECT name, position, age, height, weight

FROM Player1 UNION SELECT name, position, age,

height, weight FROM Player2

Relational Data Model

Union

Database System Relational Data Model 28

Page 30: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ความแตกตางของความสมพนธ R1และ R2 เขยนไดในรป R1-R2

Difference

Database System 29

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78กองเกยรต กองกลาง 24 180 78

SELECT name, position, age, height, weight

FROM Player1MINUS SELECT name, position, age,

height, weight FROM Player2

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78

Name position age height weightเอกพจน ปกขวา 20 180 78สชาต กองหนา 19 179 80ชาตชาย กองหลง 30 169 71พเชษฐ ปกซาย 22 177 76

ความสมพนธ player1

ความสมพนธ player2

Relational Data Model

Difference

Database System Relational Data Model 30

เปนความสมพนธทเกดจากแถวทซากนใน R1และ R2 เขยนไดเปนR1R2

Intersection

Database System 31

Name position age height weightชาตชาย กองหลง 30 169 71

SELECT name, position, age, height, weight

FROM Player1 INTERSECT SELECT name, position, age,

height, weight FROM Player2

Name position age height weightสเมธ กองหนา 26 183 82ผลด ปกซาย 21 175 78ชาตชาย กองหลง 30 169 71กองเกยรต กองกลาง 24 180 78

Name position age height weightเอกพจน ปกขวา 20 180 78สชาต กองหนา 19 179 80ชาตชาย กองหลง 30 169 71พเชษฐ ปกซาย 22 177 76

ความสมพนธ player1

ความสมพนธ player2

Relational Data Model

Intersection

Database System Relational Data Model 32

Page 31: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Cartesian Product คอ การนาแถวจากความสมพนธท 1 มาตอกบแถวจากความสมพนธท 2 จานวนแถวของความสมพนธผลลพธจะเทากบ จานวนแถวของความสมพนธท 1 X จานวนแถวของความสมพนธท 2

Cartesian Rule

Database System 33

SUBJECT STUDENT

SubjectIdcom101com102com211

SubjectId StudentIdcom101 s001com101 s002com102 s001com102 s002com211 s001com211 s002

StudentIds001s002

SUBJECT x STUDENT

Relational Data Model

Cartesian Product

Database System Relational Data Model 34

Join คอ การรวมขอมลจากหลายความสมพนธเขาดวยกนโดยท R และ S เปนความสมพนธ C เปนเงอนไข

Join

Database System 35

Name Office Dept Salaryสทธ 400 CS 45000โจ 220 Econ 35000เขยว 160 Econ 50000ตาล 420 CS 65000สทธ 500 Fin 45000

EMP Dept MainOffice PhoneCS 404 555-1212

Econ 200 555-1234Fin 501 555-4321Hist 100 555-9876

DEPTINFO

Name Office Dept Salary Dept MainOffice Phoneสทธ 400 CS 45000 CS 404 555-1212โจ 220 Econ 35000 Econ 200 555-1234เขยว 160 Econ 50000 Econ 200 555-1234ตาล 420 CS 65000 CS 404 555-1212สทธ 500 Fin 45000 Fin 501 555-4321

(EMP) Dept=Dept(DEPTINFO)

ผลลพธจากการ Join ความสมพนธ EMP และ DEPTINFO โดยใชเงอนไข Dept=Dept

R CS

Relational Data Model

Theta-Join คอ การทา Cartesian product โดยมเงอนไข สามารถใช Operator , ≤, ≥, , , เพอนาไปเปรยบเทยบ

Equi-Join คอ การ join แบบมเงอนไข “เทากบ” (=) เทานน เปนสวนหนงของ Theta-Join

Natural-Join คอ Equi-Join ท join ทกคอลมนทซากนจะถกขจดออกไป

Join

Database System 36Relational Data Model

Page 32: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

How to Natural-Join

Database System Relational Data Model 37

Natural-Join : Step 1 , Product

Database System Relational Data Model 38

Natural-Join : Step 2 , Select

Database System Relational Data Model 39

Natural-Join : Step 3 , Project

Database System Relational Data Model 40

Page 33: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ใชในการหาขอมลบางประเภท เขยนเปน R1/R2 เชน การคนหาลกจางททางานอย 2 แผนก

Division

Database System 41

DEPTNAME

EMPDEPT

DNameCsFin

Name Deptสทธ CSโจ Econเขยว Econตาล CSสทธ Fin

EMPDEPT/DEPTNAMEสทธ

Relational Data Model

Division

Database System Relational Data Model 42

Database System Relational Data Model 43

Example # Sailors

Database System Relational Data Model 44

Example # Sailors

Page 34: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database System Relational Data Model 45

Example # Sailors

Database System Relational Data Model 46

Example # Sailors

Database System Relational Data Model 47

Example # Sailors

Database System Relational Data Model 48

Condition Joins

Page 35: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database System Relational Data Model 49

Equijoin

Database System Relational Data Model 50

Division

เปนการใชคณตศาสตรของตรรกะเขามาชวยในการคนหาขอมล คาตอบทไดคอแถวของขอมลจากความสมพนธททาใหคาของสมการคณตศาสตรมคาเปน จรง

สญลกษณแทนเงอนไข : รปแบบของควร {(A1,…,An) | p[(A1,…,An)]}คาตอบทได จะประกอบดวยแถวของขอมล (A1,…,An) ททาให สมการ p[(A1,…,An)] เปนจรง

Relational Calculus

Database System 51

,,,,,,

Relational Data Model

Employee(empNo, empName, position, birthDate, salary, branchNo)

ตองการขอมลทกแอททรบวของพนกงานทมเงนเดอน > 10,000 บาท

ตองการขอมลเฉพาะแอททรบว empNo, empName, salary ของพนกงานทมเงนเดอน > 10,000 บาท

Relational Calculus

Database System 52

RANGE OF E IS Employee{ E | E.salary > 10000 }

RANGE OF E IS Employee{ E.empNo, E.empName, E.salary, | E.salary > 10000 }

Relational Data Model

Page 36: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คอ ขอบงคบหรอเงอนไขในการอนญาตใหเกบเฉพาะขอมลทเหมาะสมลงในฐานขอมล เพอใหการเลอกขอมลจากฐานขอมลมความถกตอง

ประโยชนของการมเงอนไข ไดแก เพอตรวจสอบความผดพลาดในการกรอกขอมล เพอความถกตองในการปรบปรงขอมล เพอรกษาความถกตองของขอมลโดยรวม เพอบอกใหฐานขอมลทราบวาผใชตองการ เกบ หรอ คนหา ขอมล

Constraints

Database System 53Relational Data Model

ประเภทของเงอนไข Key constraint ม 2 รปแบบ คอ

คยหลก คาจะไมเปน NULL และถกใชเปนดชนในการเรยงลาดบเสมอUnique เปน key เอกลกษณอาจมเพม นอกเหนอจาก คยหลกโดยจะถกใชเปนดชนในการเรยงรายการตอจากคยหลก โดยอตโนมต

Referential Integrity เปนการอางองขอมลจากความสมพนธอนแอททรบวทอางองมาจากความสมพนธอนจะตองเปนคยหลกเสมอแอททรบวทถกอางองเรยกวา Foreign Key t1[Foreign Key] = t2[Primary Key]

Constraints

Database System 54Relational Data Model

Primary key & Foreign key

Database System Relational Data Model 55

Primary key & Foreign key

Database System Relational Data Model 56

Page 37: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

1 Vendor ม ได หลาย Product

Primary key & Foreign key

Database System Relational Data Model 57

Check เปนการตรวจสอบคาของขอมลในความสมพนธใหเปนไปตามเงอนไข เพอกรองเฉพาะขอมลทเหมาะสมลงไปในฐานขอมล

Assertion เปนการตรวจสอบคาของขอมลโดยรวมของทกความสมพนธใหเปนไปตามเงอนไขถาเกดขอผดพลาดระบบจดการฐานขอมลกจะรายงานตอผใชดวยชอของ Assertion ทสรางไวทนท

Constraints

Database System 58Relational Data Model

Relational Algebra operation

Database System 59

Selection (σ) Projection (π)

Union Intersection Difference

R S R S R S

RS RS R-S

ab

123

R Sa 1a 2a 3b 1b 2b 3

R x S

Relational Data Model

Relational Algebra operation

Database System Relational Data Model 60

Page 38: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Relational Algebra operation

Database System Relational Data Model 61

Employee (SId, Name, Sex, Address, Salary, DeptNumber)Department (DeptNumber, DeptName, ManagerId)จงเขยน Relation Algebra เพอหา1. แสดงรายละเอยดของพนกงานหญงทงหมด2. แสดง Id และ ชอ ของพนกงานทงหมด3. แสดงรายการพนกงานทมเงนเดอนตงแต 30,000 บาท ขนไป4. หาชอพนกงาน ทมเงนเดอนตากวา 15,000 บาท5. หาชอและทอยของพนกงานททางานในแผนก Programmer

Test

Database System 62Relational Data Model

Page 39: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Entity-Relationship Model

โมเดลจาลองความสมพนธระหวางขอมล(Chapter 3)

Database System อ.เอญ สรยะฉาย (ENS)

ภาควชาวทยาการคอมพวเตอรและสารสนเทศมหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

เปนแบบจาลองขอมลซงแสดงถงโครงสรางของฐานขอมล และ รายละเอยดและความสมพนธระหวางขอมลในระบบในลกษณะทเปนภาพรวม

สญลกษณตางๆทใชใน E-R Model เรยกวา E-R Diagram Entity

หมายถง สงทสนใจสามารถระบไดในความเปนจรง และตองการเกบรวบรวมขอมลทเกยวของดวยไวในฐานขอมล โดยตวอยางของ Entity ประเภทตาง ๆ เชน บคคล สถานท สงของ หรอเหตการณ มดงนบคคล ไดแก พนกงาน ผปวย และ นกศกษา เปนตนสถานท ไดแก เขต จงหวด และ ภาค เปนตนเหตการณ ไดแก การลงทะเบยนเรยน ความชานาญ เปนตน

E-R Model

Database System Entity-Relationship Model 2

1. Strong Entity (เอนทตปกต) เปน Entity ทเกดขนไดดวยตวเอง การคงอยของ Entity นไมเกยวของกบ Entity อน สามารถมคณสมบต Identity ไดตวเอง

2. Weak Entity (เอนทตออนแอ) Entity ทมการคงอยเกยวของกบ Entity อนในระบบฐานขอมล

Entity

Database System Entity-Relationship Model 3

นกศกษา

วชาทสอน

Attribute - ขอมลทแสดงคณสมบตหรอคณลกษณะของEntityหรอความสมพนธ

1. Simple Attribute คอ Attribute ทไมสามารถแบงแยกยอยลงไปไดอก

2. Composite Attribute คอ Attribute คอสามารถแบงแยกยอยลงไปไดอก

Attribute

Database System Entity-Relationship Model 4

Page 40: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

3. Key Attribute หมายถง Attribute หรอกลมของ Attribute ทมคาของขอมลในแตละสมาชกของ Entity ไมซากน

Attribute

Database System Entity-Relationship Model 5

4. Single-Valued Attribute หมายถง Attribute ทมคาของขอมลในแตละสมาชกของเอนทตไดเพยง คาเดยว

5. Multi-Valued Attribute หมายถง Attribute ทสามารถมคาของขอมลในแตละสมาชกของ Entity ไดหลายคา

6. Derived Attribute หมายถง Attribute ทคาของขอมลไดมาจากการนา คาของขอมลใน Attribute อนทาการคานวณ

Attribute

Database System Entity-Relationship Model 6

หมายถง Entity ทแสดงความสมพนธระหวาง 2 Entity ขนไป

ความสมพนธนนอาจม Attribute ของตนเองกได

ความสมพนธระหวาง Entity ใด ๆ อาจมมากกวาหนงความสมพนธกได

Relationship

Database System Entity-Relationship Model 7

สงกด นกศกษาคณะ

การจดการ ชดวชาอาจารย

การสอน

Entity ทเกยวของกบความสมพนธเรยกวา Participant ของความสมพนธ

1. Total Participation เปนความสมพนธททกสมาชกใน Entity หนงทมความสมพนธกบขอมลในอกหนง Entity

2. Partial Participation เปนความสมพนธทบางสมาชกใน Entity หนงเทานนจะมขอมลใน Attribute หนงทมความสมพนธกบขอมลในอกหนง Entity

Relationship

Database System Entity-Relationship Model 8

สงกด อาจารยคณะ

ผแทน นกศกษาคณะ

Page 41: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

1. ความสมพนธแบบหนงตอหนง (one to one relationship) ความสมพนธทแตละสมาชกใน Entity หนงม ความสมพนธกบสมาชกในอกหนง Entity เพยงสมาชกเดยว

2. ความสมพนธแบบหนงตอกลม (one to many relationship) ความสมพนธทแตละสมาชกใน Entity หนงมความสมพนธกบสมาชกในอกหนง Entity มากกวาหนงสมาชก

3. ความสมพนธแบบกลมตอกลม (many to many relationship) ความสมพนธทสมาชกมากกวาหนงสมาชกใน Entity หนงมความสมพนธกบสมาชกในอกหนงEntity มากกวาหนงสมาชก

ความสมพนธระหวาง Entity

Database System Entity-Relationship Model 9

คณบด คณะอาจารย1 1

สงกด นกศกษาคณะ1 M

ลงทะเบยน ชดวชานกศกษาM M

1:M Relationship

Database System Entity-Relationship Model 10

Existence Dependency เปนความสมพนธระหวาง Entity ปกตและเอนทตออนแอ

ความสมพนธแบบ Recursive เปนความสมพนธทเกดจาก Entity เพยง Entity เดยว

Composite Entities เปน Entity ทถกสรางขนมาเพอใชในการแปลงความสมพนธระหวาง Entity แบบกลมตอกลมใหเปนความสมพนธแบบหนงตอกลม

Relationship

Database System Entity-Relationship Model 11

ตองสราง composite entity

M:M Relationship

Database System Entity-Relationship Model 12

Page 42: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

M:M Relationship

Database System Entity-Relationship Model 13

M:M Relationship

Database System Entity-Relationship Model 14

M:M Relationship

Database System Entity-Relationship Model 15

M:M Relationship

Database System Entity-Relationship Model 16

Page 43: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Recursive

Database System Entity-Relationship Model 17

1. ความสมพนธแบบ Binary เปนความสมพนธทแสดงความสมพนธระหวางสอง Entity ใด ๆ

2. ความสมพนธแบบ N–ary เปนความสมพนธทแสดงความสมพนธระหวางสอง Entity ขนไป

จานวน Entity ทเก ยวของ

Database System Entity-Relationship Model 18

Prescription = ใบสงยา Patient = คนไข

n-ary

Database System Entity-Relationship Model 19

n-ary

Database System Entity-Relationship Model 20

Page 44: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

E-R Diagram

Database System Entity-Relationship Model 21

Crow's Foot

Database System Entity-Relationship Model 22

Crow's Foot

Database System Entity-Relationship Model 23

Crow's Foot

Database System Entity-Relationship Model 24

Page 45: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Crow's Foot

Database System Entity-Relationship Model 25

Relationship

Database System Entity-Relationship Model 26

SCHOOL

STUDENTEach school enrolls

at least zero

and at most many

students

Each student attends

at least one

and at most one

school

A

A

A

A

B

B

B

B

Each instance of A is related to a minimum ofzero and a maximum of one instance of B

Each instance of B is related to a minimum ofone and a maximum of one instance of A

Each instance of A is related to a minimum ofone and a maximum of many instances of B

Each instance of B is related to a minimum ofzero and a maximum of many instances of A

adviser StudentTeacher (5,n) (1,1)

สญลกษณทใชในการเขยน E-R Diagram

Database System Entity-Relationship Model 27

Chen and Crow’s Foot Model

Database System Entity-Relationship Model 28

Page 46: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

The Chen and Crow’s Foot notations

Database System Entity-Relationship Model 29

The Chen and Crow’s Foot notations

Database System Entity-Relationship Model 30

Database System Entity-Relationship Model 31

1. การศกษารายละเอยดและลกษณะหนาทงานของระบบศกษาและรวบรวมรายละเอยด เกยวกบลกษณะหนาทงานของ

ระบบ ขอมลทเกยวของ ขนตอนในการทางาน2. การกาหนด Entity ทควรมในระบบฐานขอมล

นารายละเอยดในขอ 1 มาทาการกาหนด Entity ทจาเปนตองมอยในระบบฐานขอมล

3. การกาหนดความสมพนธระหวาง Entity 3.1 การกาหนดคณลกษณะของ Entity - แตละ Entity ควรประกอบดวย

Attribute ใดบาง3.2 การกาหนดคยหลกของแตละ Entity - เพอใหแตละสมาชกใน Entity สามารถมคณสมบตเปนเอกลกษณเฉพาะได

3.3 การนาสญลกษณทใชใน E-R Model มาอธบายความสมพนธระหวางขอมล

การออกแบบฐานขอมลดวยอ-อารโมเดล

Database System Entity-Relationship Model 32

Page 47: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

การศกษารายละเอยดและลกษณะหนาทงานของระบบ

สถาบนการศกษาแหงหนงเปดทาการสอนโดยแบงเปน 3 คณะ คอ คณะเกษตร คณะวทยาศาสตร และคณะศกษาศาสตร ในแตละคณะประกอบดวยภาควชาตาง ๆ และในแตละภาควชาประกอบดวยอาจารยไดหลายคน โดยอาจารยแตละคนจะสงกดภาควชาใดภาควชาหนงเทานน และมอาจารยเพยงคนเดยวเทานนทอยในตาแหนงหวหนาภาควชาทาหนาทบรหารงานภาควชา โดยในแตละภาควชาจะเปดทาการสอนไดหลายชดวชา ซงอาจารยแตละคนจะตองสอนไมนอยกวา 2 ชดวชา

ตวอยางการออกแบบฐานขอมลดวยอ-อารโมเดล

Database System Entity-Relationship Model 33

Note

Database System Entity-Relationship Model 34

Fan Trap ทาใหเกดความไมชดเจนในการแสดงขอมลทสนใจออกมาไมสามารถตอบคาถามบางคาถามได เชน อาจารยคนใดสงกดภาควชาใด?

ปญหาจากการออกแบบฐานขอมลดวยอ-อารโมเดล

Database System Entity-Relationship Model 35

เชน สถาบนการศกษาแหงหนงเปดทาการสอนหลายคณะ โดยในแต ล ะ คณะป ร ะ กอบด ว ยภาควชาตาง ๆ หลายภาควชาและอาจารยหลายคน ซงอาจารยแตละคนจะสงกดคณะใดคณะหนงเทานน

แนวทางในการแกปญหาอาจทาโดยการปรบความสมพนธระหวางแตละEntity ใหม

Fan Trap

Database System Entity-Relationship Model 36

Page 48: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

เปนโมเดลทนาแนวคดพนฐาน E-R Model มาเพมเตมในเรองของความสมพนธแบบ Supertype / Subtype

แนวคดของ Generalization / Specialization ทใชสรางความสมพนธของ Supertype / Subtype

กระบวนการถายทอดคณสมบต (Attribute inheritance)

EER (Enhanced E-R Model)

Database System Entity-Relationship Model 37

Supertype คอ รปแบบของ Entity ทเปนตนแบบของ Entity อน ๆ โดย Supertype จะประกอบไปดวย Subtype ตาง ๆ

Subtype คอ Entity ทมคณสมบตทแตกตางกนในกลมสมาชกของ Subtype ดวยกน แตจะมคณสมบตพนฐานทข นอยกบ Supertype

Supertype , Subtype

Database System Entity-Relationship Model 38

EMPLOYEE

HOURLYEMPLOYEE

SALARIEDEMPLOYEE CONSULTANT

Emp_No

Emp_Name Address

Date_Start

Hourly_Rate Annual_Salary Stock_Option Contract_No Billing_Rate

Supertype/subtype relationships

Database System Entity-Relationship Model 39

Mapping Supertype/subtype relationships

Database System Entity-Relationship Model 40

Page 49: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

HOURLY EMPLOYEE (Emp_No, Emp_Name, Address, Date_Start, Hourly_Rate)SALARIED EMPLOYEE (Emp_No, Emp_Name, Address, Date_Start, Annual_Salary, Stock_Option)CONSULTANT (Emp_No, Emp_Name, Address, Date_Start, Contract_No, Billing_Rate)

Subtype จะไดรบการถายทอดคณสมบตทก ๆ อยางจาก Supertypeขอด ทาใหไมตองกาหนดแอตตรบวตซาซอนใน Subtype อกตอไป คณสมบตเฉพาะของแตละ Subtype กจะมความหมายแตกตางกนตามความเปนจรง

การสรางความสมพนธระหวาง Subtype กบ Supertype Generalization เปนการมองหาสงทเหมอนกนใน Subtype (Bottom-up

approach) Specialization เปนการมองหาจดทแตกตางกนระหวางเอนทต (Top-down

approach)

Attribute Inheritance

Database System Entity-Relationship Model 41

Total Specialization Rule – Supertype จะตองมความสมพนธกบ Subtype ใด Subtype หนง สญลกษณ

Partial Specialization Rule – Supertype อาจจะมหรอไมมความสมพนธใด ๆ กบ Subtype กได สญลกษณ

Completeness Constraints

Database System Entity-Relationship Model 42

PERSON

MALE FEMALE

Disjoint Rule – Entity ใด ๆ ทเปน Supertype ถามสมาชกใด ๆ สมาชกหนงใน Subtype แลวจะไมสามารถไปมความสมพนธกบ Subtype ใด ๆ ไดอก

สญลกษณทใช d Overlap Rule - Entity ใด ๆ ทเปน Supertype ถามสมาชกใด ๆ สมาชกหนงใน Subtype แลว อาจจะไปมความสมพนธกบ Subtype อน ๆ อกกเปนได

สญลกษณทใช o

Disjointness Constraints

Database System Entity-Relationship Model 43

PERSON

MALE FEMALE

d

EMPLOYEE

SALE PROGRAMER PR

o

1. แปลง Entity ใหเปนรเลชน และแปลงความสมพนธระหวาง Entity เปนความสมพนธระหวางรเลชน กาหนดชอของ Entity เปนชอของรเลชน กาหนดชอของ Composite Entity เปนชอของรเลชน

2. แปลงรายละเอยดของ Entity ใหเปน Attribute ของรเลชนและกาหนดคยตางๆใหแกรเลชน Key Attribute ของแตละ Entity เปนคยหลกของแตละรเลชน ความสมพนธแบบหนงตอหนง ใหเพมคยหลกของรลเชนหนงลงไปเปน Attribute หนงของอกรเลชน

ความสมพนธแบบหนงตอกลม ใหเพมคยหลกของรเลชนทอยดานความสมพนธเปนหนงไปเปน Attribute หนงของรเลชนดานทมความสมพนธเปนกลม

ความสมพนธแบบ Recursive ใหเพมคยหลกของรเลชนทอยดานความสมพนธเปนหนงไปเปน Attribute หนงของรเลชนดานทมความสมพนธเปนกลม โดยเปลยนชอของAttributeน นใหม

3. การพจารณาเคารางขอมลของแตละรเลชนทไดจาก 2 ขนตอนแรก

การแปลงขอมล E-R Model to Relational Data Model

Database System Entity-Relationship Model 44

Page 50: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ความสมพนธแบบหนงตอหนง (One to One, 1:1)

การเปลยน E-R diagram เปน Table

Database System Entity-Relationship Model 45

รหสลกคา ชอลกคา หรอ

ตวแทน

รหสตวแทน ชอตวแทน ทอย

ดแล ลกคา

รหสลกคา ชอลกคา

1 1

ตวแทน

ลกคา

รหสตวแทน ชอตวแทน ทอย รหสลกคา

รหสตวแทน ชอตวแทน ทอยตวแทน

ลกคา รหสลกคา ชอลกคา รหสตวแทน

ความสมพนธแบบหนงตอกลม (One to Many, 1:M)

การเปลยน E-R diagram เปน Table

Database System Entity-Relationship Model 46

ตวแทน

รหสตวแทน ชอตวแทน ทอย

ดแล ลกคา

รหสลกคา ชอลกคา

1 M

ตวแทน รหสตวแทน ชอตวแทน ทอย

รหสลกคา ชอลกคา รหสตวแทนลกคา

ความสมพนธแบบกลมตอกลม (Many to Many, M:M)

การเปลยน E-R diagram เปน Table

Database System Entity-Relationship Model 47

ใบสงซอ

เลขทใบสง วนทสง วนทสงของ

สงรายการ สนคา

รหสสนคา ชอสนคา

M N

ราคา

ใบสงซอ เลขทใบสง วนทสง วนทสง

สงรายการ เลขทใบสง รหสสนคา สนคารหสสนคา ชอสนคา ราคา

ความสมพนธแบบกลมตอกลม (Many to Many, M:M)

การเปลยน E-R diagram เปน Table

Database System Entity-Relationship Model 48

ใบสงซอ สนคาM สงรายการ M

ใบสงซอ สนคาM M1 1รายการสงซอ

Page 51: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database System Entity-Relationship Model 49

Case Study

Database System Entity-Relationship Model 50

E-R Diagram

Database System Entity-Relationship Model 51

จงแปลงขอมล E-R Model to Relational Data Model

Database System Entity-Relationship Model 52

Page 52: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Normal Form

รปแบบทเปนบรรทดฐาน(Chapter 4)

Database System อ.เอญ สรยะฉาย (ENS)

ภาควชาวทยาการคอมพวเตอรและสารสนเทศมหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

การทาใหเปนรปแบบทเปนบรรทดฐาน (Normalization) วตถประสงคหลกกคอ1. เพอลดความซาซอนของขอมลทจดเกบในแตละรเลชน

ทาใหลดเนอททใชในการจดเกบขอมล2. ลดปญหาขอมลไมถกตอง รวมทงลดปญหาทเกดจากการเพม

ปรบปรง และลบขอมล

Normalization

Normal FormDatabase System 2

One or Two Tables?

Normal FormDatabase System 3

One or Two Tables?

Normal FormDatabase System 4

Page 53: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

เมอทราบคาของ Attribute หนงจะทาใหสามารถทราบคาของAttributeอน ๆ ในทเพล (tuple) เดยวกนของรเลชนได

1. Functional dependency2. Multivalve dependency3. Join dependency

ความสมพนธระหวางAttributeในแตละรเลชน

Normal FormDatabase System 5

ความสมพนธระหวาง Attribute แบบฟงกชน หรอ FD หมายถง การทคาของAttribute หนงหรอมากกวาหนง Attribute ขนไปทประกอบกนสามารถระบคาของAttribute อน ๆ ใน Tuple เดยวกนของรเลชนนนได ตวระบคาเรยกวา Determinant และ ตวทถกระบคาเรยกวา Dependent

A B หากทราบคาของ Attribute A จะสามารถทราบคาของ Attribute B

Functional dependency

Normal Form

A B

FD : รหสนกศกษา ชออาจารยทปรกษารหสนกศกษา ชออาจารยทปรกษา

คาของ Determinant สามารถระบคาของ Dependent ไดแตคาของ Dependent อาจไมสามารถระบคาของ Determinant ทชดเจนได

Database System 6

กรณ Determinant มเพยงหนง Attribute และ Dependent มมากกวาหนง Attribute

รหสนกศกษา ชอรหสนกศกษา นามสกลรหสนกศกษา วน/เดอน/ปเกด

หรอ รหสนกศกษา ชอ, นามสกล, วน/เดอน/ปเกด

Functional dependency

Normal FormDatabase System 7

กรณ Determinant มมากกวาหนง Attribute และ Dependent มเพยงหนง Attribute

รหสชดวชา, หมเรยน ชออาจารยผสอน

คยผสม กลมของAttribute ทนามาประกอบกนเพอใหมคาเปนเอกลกษณกได คยหลกและคยผสมเปน Determinant ทสามารถระบคาของ Attribute อน ๆ ใน Tuple เดยวกนของรเลชนนนได

Functional dependency

Normal FormDatabase System 8

Page 54: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Fully functional dependency (ความสมพนธระหวาง Attribute แบบทงหมด)

Determinant มขนาดเลกทสด และสามารถระบคาของ Attribute อน ๆ ทเปน Dependent ไดอยางชดเจนกรณ Determinant มเพยงหนง Attribute กรณ Determinant มมากกวาหนง Attribute

Fully Functional dependency

Normal FormDatabase System 9

Partial dependency (ความสมพนธระหวาง Attribute แบบบางสวน) จะเกดขนไดเมอรเลชนหนง ๆ มคยหลกเปนคยผสม และ Attribute บางสวนของคยหลกสามารถระบคาของ Attribute อน ๆ ใน Tupleเดยวกนทไมใชคยหลกของรเลชนได

Partial dependency

Normal FormDatabase System 10

Transitive dependency (ความสมพนธระหวาง Attribute แบบ Transitive) อาจม Attribute อนทไมใชคยหลกแตสามารถระบคาของ Attribute อน ๆ ใน Tuple เดยวกนของรเลชนได

Transitive dependency

Normal Form

คยหลก

Database System 11

ความสมพนธระหวาง Attribute แบบหลายคา Attribute ทเปน Determinant สามารถระบคาของ Attribute อนทเปนDependent ไดมากกวาหนงคา หรอ ขอมลของ Attribute ทเปน Dependent จะเปนกลมของขอมล

หากทราบคาของ Attribute A หนงคาจะสามารถทราบคาของAttribute B ไดหลายคา

Multivalve dependency

Normal FormDatabase System 12

Page 55: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ความสมพนธระหวาง Attribute แบบ Join รเลชนนน ๆ สามารถจาแนกออกเปนรเลชนยอยได และเมอนารเลชนยอยทจาแนกออกมาเหลานนมารวมกนจะตองไดรเลชนกลบไปเหมอนเดมเสมอ

Join dependency

Normal FormDatabase System 13

เปนกระบวนการออกแบบฐานขอมลทนาเคารางของรเลชนมาตรวจสอบและแกไขปญหาเกยวกบความซาซอนกนของขอมล (data anomaly) update anomaly, insert anomaly, delete anomaly

Normalization

Normal FormDatabase System 14

การทาใหเปนรปแบบทเปนบรรทดฐานเปนการดาเนนงานตามลาดบอยางเปนขนตอนดงน1. รปแบบทเปนบรรทดฐานขนท 1 (First Normal Form : 1NF)2. รปแบบทเปนบรรทดฐานขนท 2 (Second Normal Form : 2NF)3. รปแบบทเปนบรรทดฐานขนท 3 (Third Normal Form : 3NF)4. รปแบบทเปนบรรทดฐานของบอยสและคอดด (Boyce/CoddNormal Form : BCNF)5. รปแบบทเปนบรรทดฐานขนท 4 (Fourth Normal Form : 4NF)6. รปแบบทเปนบรรทดฐานขนท 5 (Fifth Normal Form : 5NF)

Normalization

Normal FormDatabase System 15

วตถประสงคหลกกคอ การลดความซาซอนของขอมลทจดเกบในแตละรเลชน1. ทาใหประหยดเนอทในการจดเกบขอมลได 2. ทาใหลดปญหาขอมลขาดความถกตองสมบรณ (data integrity)3. ทาใหลดปญหาทเกดจากการปรบปรง เพมเตม และลบขอมล

วตถประสงค

Normal FormDatabase System 16

Page 56: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คณสมบตของรปแบบทเปนบรรทดฐานขนท 1 ทก Attribute ในแตละ Tuple มคาของขอมลเพยงคาเดยว

First Normal Form : 1NF

Normal FormDatabase System 17

First Normal Form : 1NF

Normal FormDatabase System 18

คณสมบตของรปแบบทเปนบรรทดฐานขนท 21. อยในรปแบบ First Normal Form แลว2. ไมม Partial dependency เกดขน

Second Normal Form : 2NF

Normal FormDatabase System 19

Second Normal Form : 2NF

Normal FormDatabase System 20

Page 57: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คณสมบตของรปแบบทเปนบรรทดฐานขนท 31. อยในรปแบบ Second Normal Form แลว2. ไมม Transitive dependency เกดขน

Third Normal Form : 3NF

Normal FormDatabase System 21

Third Normal Form : 3NF

Normal FormDatabase System 22

Third Normal Form : 3NF

Normal FormDatabase System 23

คณสมบตของรปแบบทไมเปนบรรทดฐานของบอยสและคอดด1. รเลชนใด ๆ ทมคยคแขง (CANDIDATE KEY) ตงแต 2 ตวขนไป2. คยคแขงนนเปนคยผสม ซงม Attribute บางสวนรวมกน

Boyce/Codd Normal Form : BCNF

Normal FormDatabase System 24

Page 58: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

แบบท 1 แบบท 2

Boyce/Codd Normal Form : BCNF

Normal FormDatabase System 25

คณสมบตของรปแบบทเปนบรรทดฐานขนท 41. อยในรปแบบ Boyce/Codd Normal Form 2. ไมม Multivalve dependency เกดขน

Fourth Normal Form : 4NF

Normal FormDatabase System 26

Fourth Normal Form : 4NF

Normal FormDatabase System 27

คณสมบตของรปแบบทเปนบรรทดฐานขนท 51. รเลชนนน ๆ มความสมพนธระหวาง Attribute แบบ Join และรเลชน

ยอย ๆ ทจาแนกออกมาตองมคยคแขงของรเลชนเดมอยดวยเสมอ หรอ2. รเลชนนน ๆ ไมมความสมพนธระหวาง Attribute แบบ Join

จาก ขนท 1 ถง ขนท 4 เมอทาการจาแนกรเลชนออกเปนรเลชนยอยแลว หากนารเลชนยอยทถกจาแนกมารวมกนจะตองไดรเลชนกลบไปเหมอนเชนเดมเสมอ นนคอ จะตองไมมขอมล Tuple ใดเกนมาจากรเลชนเดม หรอไมมขอมล Tuple ใดสญหายไปจากรเลชนเดม

Fifth Normal Form : 5NF

Normal FormDatabase System 28

Page 59: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Fifth Normal Form : 5NF

Normal FormDatabase System 29

Fifth Normal Form : 5NF

Normal FormDatabase System 30

Overnormalization (การจาแนกรเลชนยอยมากเกนไป)อาจทาใหใชเสยเวลาเพอการคนหาขอมลมากขน

ขอควรคานงในการทาNormalization

Normal FormDatabase System 31

Denormalization (การรวมรเลชนยอย) การทรเลชนใด ๆ ถกออกแบบใหมคณสมบตอยในรปแบบทเปน

บรรทดฐานขนตากวากฎเกณฑทกาหนดไว

ขอควรคานงในการทาNormalization

Normal FormDatabase System 32

Page 60: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Example

Normal FormDatabase System 33

1NF

Normal FormDatabase System 34

Function Dependency

Normal FormDatabase System 35

2NF

Normal FormDatabase System 36

Page 61: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

3NF

Normal FormDatabase System 37

จงทา Relation ตอไปนใหอยในรปแบบ 3NF

Test

Normal Form

Cust_No Cust_Name City City_No Product_Id Order_QTYC01 มนา เชยงใหม 04 P001 35

P003 32P004 20

C02 นต ชลบร 02 P001 20P002 28

C05 ทศพล อยธยา 03 P007 30

C07 รตนะ ชลบร 02 P005 26P010 35

C08 ธภาพร เชยงใหม 04 P003 24

Database System 38

Note

Normal FormDatabase System 39 Database System Normal Form 40

Note

Page 62: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Relational Database Design

การออกแบบฐานขอมลเชงสมพนธ(Chapter 5)

Database System อ.เอญ สรยะฉาย (ENS)

ภาควชาวทยาการคอมพวเตอรและสารสนเทศมหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

พจนานกรมขอมล หมายถง แฟมทเกบบนทกรายละเอยดตางๆเกยวกบ ขอมลทจดเกบอยในฐานขอมล เชนโครงสรางขอมล – ใครเปนผสราง สรางขนเมอไร และถกเกบทไหน เปนตน

โครงสรางตาราง – ประกอบดวย Attribute อะไรบาง คณลกษณะโครงสรางดชน - ชอ Attribute ทใชเปนดชน และตาแหนงทางกายภาพ

กฎทใชเพอควบคมความบรณภาพของขอมล (integrity rule) กฎทใชเพอรกษาความปลอดภยของขอมล (security rule) รายละเอยดอน ๆ ทเกยวของกบการบรหารฐานขอมล

Data dictionary

Database System Relational Database Design 2

รายละเอยดพนฐานทวไปทพจนานกรมขอมลควรมประกอบดวย 5 สวนชอขอมล หากขอมลเดยวกนมชอแตกตางกนไปในแตละโปรแกรม พจนานกรมขอมลกจะตองระบชอทตางกนของขอมลนน ๆ ไวดวย

คาอธบายชอขอมล แสดงความหมายเพอขยายความชอขอมลนน ๆ เพอใหผใชสามารถทาความเขาใจไดงายและสะดวก

ชนดของขอมล แตละชอขอมลควรมการกาหนดอยางชดเจนวา ขอมลนน ๆ มรปแบบชนดใด ตวอยางเชน เปนตวอกขระ ขอความ ตวเลข

ขนาดของขอมล หมายถง ขนาดหรอความยาวสงสดทช อขอมลนนจะสามารถจดเกบได

รายละเอยดอน ๆ ทเพมเตมแตกตางกนออกไปตามความเหมาะสม

รายละเอยดพนฐานท วไปของData dictionary

Database System Relational Database Design 3

คณลกษณะ คาอธบายAttribute ระบชอของ AttributeDescription ใชอธบายความหมายของ AttributeData Type บอกประเภทขอมลของ Attribute นนKey ระบวา Attribute นนเปน คยหลก(PK) หรอ คยนอก

(FK)Domain คาของ Attribute นนมคาเปนอะไรไดบาง หรอวาม

รปแบบอยางไรRemark อธบายรายละเอยดเพมเตมจากทกลาวมาแลว

การแสดงรายละเอยดของ Attribute

Database System Relational Database Design 4

Page 63: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Example

Database System Relational Database Design 5

Example

Database System Relational Database Design 6

Usern : ขอมลผใชระบบงานชอ ชอเตม ชนด คย คาอธบาย

Idmem ID Member Int(2) PK ลาดบทUname Username Varchar(8) รหสผใชงานPword Password Varchar(8) รหสผานUserLevelCode UserLevelCode Char(1) FK ระดบการใชงานFlname Firstnam Lastname Varchar(100) ชอ – นามสกลPosit Position Varchar(50) ตาแหนงLposit Level Position Varchar(50) ระดบOfficeCode Office Code Int(8) FK รหสหนวยงานตนสงกด

Userlevel : ขอมลระดบการใชงานชอ ชอเตม ชนด คย คาอธบาย

UserLevelCode User Level Code Int(1) PK รหสระดบผใชงานUserLevel-Name

User Level Name Varchar(50) ระดบผใชงาน

Data dictionary

Database System Relational Database Design 7

การควบคมการใชฐานขอมลพรอมกนจากผใชรายคนการปรบปรง เพม ลบ ขอมล จาเปนตองทาการ Lock ขอมลเพอปองกนการแกไขขอมล ซงรายละเอยดดงกลาวจะมการเกบอยในพจนานกรมขอมล

การรกษาความปลอดภยของขอมล จดการเกบรวบรวมรายละเอยดเกยวกบสทธของ ผใชงานแตละคนไวในฐานขอมลวา ใครบางทมสทธในการคนหาขอมลไดเพยงอยางเดยว ใครทมสทธใน การปรบปรง เพมเตม หรอลบขอมล

การควบคมความบรณภาพของขอมลในการแกไขเปลยนแปลงขอมลใด ๆ พจนานกรมขอมลจะทาการตรวจสอบวา ขอมลททาการแกไขเปลยนแปลงนนแตกตางไปจากขอบเขตทไดมการกาหนดไวแลวหรอไม

หนาทสาคญของพจนานกรมขอมล

Database System Relational Database Design 8

Page 64: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ระดบระบบงาน เปนเอกสารเพอใชตรวจสอบความถกตองของขอมล การฝกอบรมบคลากร การพฒนาระบบงาน

สนบสนนการบรหารจดการฐานขอมลในแตละระบบงาน เชน การลดความซาซอนในการจดเกบขอมล การรกษาความปลอดภยของขอมล

สนบสนนการสรางมาตรฐานในการพฒนาระบบงาน ใชประกอบการแกไขโครงสรางขอมลหรอปรบปรงโปรแกรมใหมศกยภาพเพมขนและมมาตรฐานเดยวกน

ประโยชนของพจนานกรมขอมล

Database System Relational Database Design 9

ระดบองคกรสนบสนนการบรหารจดการฐานขอมลขององคกร – ทาใหทราบถงความเกยวของ เชอมโยงกนของขอมล

สนบสนนการทางานของผบรหาร ทาใหผบรหารสามารถทาการวเคราะหและแกไขปญหาตาง ๆ ไดอยางถกตองและมประสทธภาพมากขน

สนบสนนการวางแผนเกยวกบระบบงานคอมพวเตอร ทาใหทราบถงแนวโนมเกยวกบการใชขอมล

ประโยชนของพจนานกรมขอมล

Database System Relational Database Design 10

Passive data dictionaryถกสรางขนโดยบคคลทเกยวของกบระบบฐานขอมล ตวอยางเชน ผบรหารฐานขอมล นกวเคราะหและออกแบบระบบ หรอผใชงานคอมพวเตอรโดยทวไป

เพอใชเปนคมอของระบบในระหวางทาการออกแบบฐานขอมลตองคอยทาการแกไขเปลยนแปลงเอง

Active data dictionary ระบบจดการฐานขอมลดาเนนการสรางขนโดยอตโนมต เกบบนทกขอมลไดถกตองตามความเปนจรงทเกดขนในแตละระบบ ระบบจดการฐานขอมลจะทาการเกบบนทกไวใน System Catalog โดยอตโนมต จะถกปรบเปลยนเมอมการเปลยนโครงสรางของฐานขอมล

ประเภทของพจนานกรมขอมล

Database System Relational Database Design 11

Alien dictionary เปนพจนานกรมขอมลของระบบงานท งหมดภายในองคกร ทาใหสามารถมองเหนภาพรวมของการใชงานระบบฐานขอมล

ประเภทของพจนานกรมขอมล

Database System Relational Database Design 12

Page 65: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

วตถประสงคหลกในการออกแบบฐานขอมล คอ การสรางฐานขอมลทมประสทธภาพเพอตอบสนองความตองการของผใชงาน ซงการออกแบบฐานขอมลในทนจะมความหมายครอบคลมถงการออกแบบฐานขอมลในระดบแนวคด และการออกแบบฐานขอมลในระดบภายในหรอเชงกายภาพ

วธการออกแบบฐานขอมล

Database System Relational Database Design 13

1. วธอปนย - การออกแบบฐานขอมลจากลางขนบน (bottom-updesign)

เกบรวบรวมขอมลและ/หรอโปรแกรมทมการใชงานอยแลวภายในหนวยงานตาง ๆ ขององคกรมาเชอมโยงเขาดวยกนเพอจดทาเปนระบบฐานขอมลขององคกร

2. วธนรนย - การออกแบบฐานขอมลจากบนลงลาง (top-down design)

เกบรวบรวมขอมลพนฐาน ขนตอนการทางานของหนวยงานตาง ๆ ภายในองคกร และความตองการใชงานฐานขอมลตลอดจนรวบรวมขอมลจากแบบฟอรมตาง ๆ ทมใชอยภายในหนวยงาน เพอนามาออกแบบโครงสรางฐานขอมลขององคกร

วธการออกแบบฐานขอมล

Database System Relational Database Design 14

วธการออกแบบฐานขอมล

Database System Relational Database Design 15

1. การรวบรวมและวเคราะหความตองการในการใชขอมล2. การเลอกระบบจดการฐานขอมล3. การออกแบบฐานขอมลในระดบแนวคด4. การนาฐานขอมลทออกแบบเขาสระบบจดการฐานขอมล5. การออกแบบฐานขอมลในระดบกายภาพ6. การนาฐานขอมลไปใชและประเมนผล

ข นตอนการออกแบบฐานขอมลเชงสมพนธ

Database System Relational Database Design 16

Page 66: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

1. การรวบรวมและวเคราะหความตองการในการใชขอมล1.1 การศกษาและวเคราะหองคกร เปนการศกษานโยบาย วตถประสงค ตลอดจนโครงสรางและสภาพการทางานของหนวยงานตาง ๆ ภายในองคกร เพอใหมความเขาใจในระบบการทางานขององคกรนนๆ

1.2 การศกษาและวเคราะหระบบการจดการขอมลเดม ทาการศกษา/วเคราะห และเกบรวบรวมขอมลไดจากเอกสาร ตลอดจนรายงานทมในปจจบน ประกอบกบการสงเกตการณ/สอบถาม/สมภาษณขอมลจากผใชงานและผทเกยวของ เพอจะไดทราบถงโครงสรางพนฐานของระบบฐานขอมล

1.3 การกาหนดวตถประสงคและขอบเขตของฐานขอมล เพอแสดงถงความสามารถของระบบฐานขอมลในการตอบสนองตอความตองการในการใช ขอมลของผใชงานและผเกยวของ รวมทงลกษณะ การทางาน ประสทธภาพ และความสามารถในการจดการกบขอมล

การรวบรวมและวเคราะห

Database System Relational Database Design 17

2. การเลอกระบบจดการฐานขอมล2.1 คาใชจายและผลประโยชนทจะไดรบ – ความคมคาในการลงทน แตผลประโยชนทคาดวาจะไดรบ เชนการทางานมประสทธภาพมากขน เนองจากสามารถคนหาขอมลไดรวดเรวหรอสะดวกขน

2.2 คณสมบตของซอฟตแวรระบบจดการฐานขอมล - ความสามารถในการใชกบ Platform ตาง ๆ การมเครองมอชวย (features & tools)ในการจดทาและการเรยกใชฐานขอมลทาใหผใชสามารถใชงานไดงายและสะดวกขน

2.3 โครงสรางของฐานขอมล - เชน หากโครงสรางของฐานขอมลททาการออกแบบขนมาเปนโครงสรางขอมลเชงสมพนธ ควรใชจะไดแก Oracle, MySQL, MS SQL Server, MS Access, IBM DB2(Informix) เปนตน

การเลอกระบบจดการฐานขอมล

Database System Relational Database Design 18

3.การออกแบบฐานขอมลในระดบแนวคด เพอกาหนดโครงสรางพนฐานและรายละเอยดทงหมดของฐานขอมล นาแแบบจาลอง อ-อารไดอะแกรม (Entity-Relationship Diagram) มาประยกตใชเพอชวยใหการออกแบบมความเหมาะสมมากยงขน

การออกแบบฐานขอมลในระดบแนวคดอาจจาแนกได 5 ขนตอนตามลาดบ1. การกาหนดรเลชนและความสมพนธระหวางรเลชน2. การกาหนด Attribute คยหลก และคยนอกในแตละรเลชน3. การทาใหรเลชนมคณสมบตอยในรปแบบทเปนบรรทดฐาน4. ลกษณะและขอบเขตของขอมล รวมทงขอจากดและกฎเกณฑตาง ๆ ท

ควรคานง5. การรวบรวมและทบทวนการออกแบบฐานขอมลในระดบแนวคด

การออกแบบฐานขอมลในระดบแนวคด

Database System Relational Database Design 19

3.1การกาหนดรเลชนและความสมพนธระหวางรเลชนการกาหนด Entity ทเกยวของ กาหนดความสมพนธระหวาง Entity การแปลง Entity ใหเปนรเลชนแปลงความสมพนธระหวาง Entity เปนความสมพนธระหวางรเลชน

3.2 การกาหนด Attribute ตาง ๆ คยหลก และคยนอกในแตละรเลชน กาหนด Attribute ในแตละรเลชน กาหนด Attribute ททาหนาทเปนคยหลก กาหนดคยนอก

การออกแบบฐานขอมลในระดบแนวคด

Database System Relational Database Design 20

Page 67: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

3.3 การทาใหรเลชนมคณสมบตอยในรปแบบทเปนบรรทดฐาน มกจะทาจนถงรปแบบทเปนบรรทดฐานขนท 3 เพอขจดปญหาความซาซอนของขอมลทอาจเกดขนในโครงสรางขอมล ทาให ขอมลมความถกตองและเชอถอได

3.4 ลกษณะและขอบเขตของขอมล รวมท งขอจากดและกฎเกณฑตาง ๆ ทควรคานง พจารณาขอบเขตของขอมลทสามารถจดเกบไดในแตละ Attribute ตวอยางเชน ประเภทของขอมล (data type) ขนาดของขอมล (data length) รปแบบของขอมล (format) และขอบเขตของขอมล(data range)

พจารณาถงขอจากดและกฎเกณฑตาง ๆ ในการเพม การลบ หรอการปรบปรงขอมล

3.5 การรวบรวมและทบทวนการออกแบบฐานขอมลในระดบแนวคด

การออกแบบฐานขอมลในระดบแนวคด

Database System Relational Database Design 21

4.การนาฐานขอมลทออกแบบในระดบแนวคดเขาสระบบจดการฐานขอมล4.1การกาหนดโครงสรางของฐานขอมล - เปนการกาหนดโครงสรางของขอมลในลกษณะของ

ตารางสองมต4.2การกาหนดการอางองระหวางตารางขอมล – ทาการกาหนดคยระหวางตารางขอมลทเกยวของกน

5.การออกแบบฐานขอมลในระดบกายภาพ นาโครงสรางตารางขอมลทมการกาหนดคณสมบตหลกไวแลวมากาหนดรายละเอยดคณสมบตของโครงสรางทใชในการจดเกบขอมลใหครบถวน

ปจจยสาคญ 3 ประเดน คอ ความเรว การใชเนอท และคาเฉลยของจานวนรายการทประมวลผลไดในหนงนาท

6. การนาฐานขอมลไปใชและการประเมนผล

ข นตอนการออกแบบฐานขอมลเชงสมพนธ

Database System Relational Database Design 22

Note

Database System Relational Database Design 23 Database System Relational Database Design 24

Note

Page 68: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Structured Query Language : SQL

ภาษามาตรฐานสาหรบการนยามขอมล (Chapter 6)

Database System อ.เอญ สรยะฉาย (ENS)

ภาควชาวทยาการคอมพวเตอรและสารสนเทศมหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

1. ภาษาสาหรบการนยามขอมล (Data Definition Language : DDL) คาสงทใชในการกาหนดโครงสรางขอมลวามคอลมนอะไร แตละคอลมนเกบ

ขอมลประเภทใด รวมถงการเพมคอลมน การกาหนดดชน การกาหนดวว2. ภาษาสาหรบการจดการขอมล (Data Manipulation Language : DML)

คาสงทใชในการเรยกใชขอมล การเปลยนแปลงขอมล การเพมหรอลบขอมล3. ภาษาควบคม (Data Control Language : DCL)

คาสงทใชในการควบคม การเกดภาวะพรอมกน หรอการปองกนการเกดเหตการณทผใชหลายคนเรยกใชขอมลพรอมกน และคาสงทเกยวของกบการควบคมความปลอดภยของขอมลดวยการกาหนดสทธของผใชทแตกตางกน

ประเภทของคาส งของภาษา SQL

Database System SQL 2

1. ตวหนงสอ(character) ตวหนงสอแบบความยาวคงท(fixed-length character) จะใช char

(n) หรอ character(n) มากทสดได 255 ตวอกษร ตวหนงสอแบบความยาวไมคงท(variable-length character) จะใช

varchar (n) มากทสดได 4000 ตวอกษร

ชนดของขอมลทใชในภาษา SQL

Database System SQL 3

2. จานวนเลข( numeric) จานวนเลขทมจดทศนยม(decimal) จะใช dec(m,n) หรอ

decimal(m,n) m คอจานวนตวเลขทงหมด (รวมจดทศนยม) และ n คอจานวนตวเลขหลงจดทศนยม

จานวนเลขทไมมจดทศนยม จะใช int หรอ integer เปนเลขจานวนเตมบวกหรอลบขนาดใหญ เปนตวเลข 10 หลก ทมคาตงแต –2,147,483,648 ถง +2,147,483,647smallint มคาตงแต – 32,768 ถง + 32,767 number(n) เลขจานวนจรง

ชนดของขอมลทใชในภาษา SQL

Database System SQL 4

Page 69: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

3. ขอมลในลกษณะอนๆ วนทและเวลา(Date/Time) เปนชนดวนทหรอเวลา จะใช date เปน

ขอมลวนท ซงจะมหลายรปแบบใหเลอกใช เชน yyyy-mm-dd (1999-10-31) dd.mm.yyyy(31. 10.1999) หรอ dd/mm/yyyy (31/10/1999)

ชนดของขอมลทใชในภาษา SQL

Database System SQL 5 Database System SQL 6

MS Access

MySQL 5.1Data Types

Database System SQL 7

MySQL 5.1Data Types

Database System SQL 8

Page 70: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

SQL Server 2008 Data Types

Database System SQL 9

Oracle Database 11g Data Types

Database System SQL 10

ภาษา SQL ทโตตอบได (interactive SQL)ใชเพอปฏบตงานกบฐานขอมลโดยตรง โดยเรยกดขอมลไดโดยตรงในขณะททางาน เพอใหไดผลลพธทนาไปใชได

ลกษณะการใชงานของภาษา SQL

Database System SQL 11

SELECT SALENAME, SALECOMFROM SALESTAB;

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.151003 Ternjai Nonthaburi 0.10

SALENAME SALECOMChaiwat 0.12Mitree 0.13

Benjawan 0.11Kanjana 0.15Ternjai 0.10

ตาราง SALESTAB

ภาษา SQL ทฝงในโปรแกรม (Embedded SQL) เพอเพมประสทธภาพ ความสามารถของภาษา SQL ใหมากยงขน

ลกษณะการใชงานของภาษา SQL

Database System SQL 12

<?php$result = mysql query(’select * from test’);echo "<table>";while ($line = mysql fetch array($result, MYSQL ASSOC)){echo "<tr>"; echo "<td>",$line[’firstfield’],"</td>";echo "<td>",$line[’secondfield’],"</td>";echo "<td>",$line[’thirdfield’],"</td>";echo "</tr>";

}echo "</table>";?>

Page 71: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คาสง CREATE TABLE ใชในการสรางตารางขนมาใหม

CREATE TABLE

Database System SQL 13

CREATE TABLE <table name>(<column name> <data_type> [NOT NULL] [UNIQUE],<column name> <data_type> [NOT NULL] [UNIQUE],

… … …<column name> <data_type> [NOT NULL] [UNIQUE]);

CREATE TABLE SALESTAB(SALENO integer,SALENAME char (10),ADDRESS char (10),SALECOM decimal);

SALENO SALENAME ADDRESS SALECOM

ตาราง SALESTAB

การสรางตารางโดยมการกาหนดขอจากดสามารถกาหนดขอจากด(constraints), การควบคมความถกตองสมบรณ(integrity)การกาหนดไมใหคาใดคาหนงเปนคาวาง (NOT NULL)

การกาหนดไมใหมคาซากน (UNIQUE)

TABLE

Database System SQL 14

CREATE TABLE SALESTAB(SALENO integer NOT NULL,SALENAME char(10) NOT NULL,ADDRESS char(10),SALECOM decimal);

CREATE TABLE SALESPEOPLE(SALENO integer NOT NULL UNIQUE,SALENAME char(10) NOT NULL UNIQUE,ADDRESS char(10),SALECOM decimal);

การกาหนดคยหลก(primary key)การกาหนดใหคอลมนเดยวเปนคยหลก

การกาหนดใหคอลมนมากกวา 1 คอลมนเปนคยหลก

Primary key

Database System SQL 15

CREATE TABLE SALESPEOPLE(SALENO integer NOT NULL UNIQUE PRIMARY KEY,SALENAME char(10) NOT NULL UNIQUE,ADDRESS char(10),SALECOM decimal);

CREATE TABLE NAMEFIELD(FIRSTNAME char(10) NOT NULL ,LASTNAME char(10) NOT NULL UNIQUE,CITY char(10),PRIMARY KEY (FIRSTNAME, LASTNAME ));

การกาหนดคยนอก(foreign key )

Foreign key

Database System SQL 16

CREATE TABLE CUSTOMERSTAB(CUSNO integer NOT NULL PRIMARY KEY,CUSNAME char(10),SALENO integer,FOREIGN KEY (SALENO) REFERENCES SALESTAB(SALENO));

Page 72: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คาสง ”CASCADES” และ “RESTRICTED”

UPDATE OF SALESTAB CASCADES จะทาใหเมอมการปรบปรงคอลมนSALENOในตารางลกคาจะทาใหคอลมน SALENOในตารางพนกงานขายถกปรบปรงไปดวย

DELETE OF SALESTAB RESTRICTED จะทาใหเมอตองการลบคอลมนSALENOในตารางลกคาจะไมสามารถลบได ถาคอลมนSALENOในตารางพนกงานขายยงมขอมลอย

Foreign key

Database System SQL 17

CREATE TABLE CUSTOMERSTAB(CUSNO integer NOT NULL PRIMARY KEY,CUSNAME char(10),ADDRESS char(10),SALENO integer REFERENCES SALESTAB(SALENO));

CREATE TABLE CUSTOMERSTAB(CUSNO integer NOT NULL PRIMARY KEY,CUSNAME char(10) ,ADDRESS char(10),SALENO integer REFERENCES SALESTAB(SALENO)UPDATE OF SALESTAB CASCADES,DELETE OF SALESTAB RESTRICTED);

การกาหนดการตรวจสอบ (CHECK) - การตรวจสอบความถกตองครบถวนสมบรณของขอมล(entity integrity)โดยการระบเงอนไขหรอกาหนดคาเฉพาะของคอลมนใดคอลมนหนงขน หากมการปอนขอมลทผดจากเงอนไขทระบไว คานนกจะถกปฎเสธหรอไมยอมรบ

CHECK

Database System SQL 18

CREATE TABLE SALESPEOPLE(SALENO integer NOT NULL UNIQUE,SALENAME char(10) NOT NULL UNIQUE,CITY char(10),SALECOM decimal CHECK (salecom < 1));

ในการสรางตารางแตละตารางอยางนอยทสดตองกาหนดคอลมนได 1 คอลมน

รายละเอยดของแตละคอลมนแยกจากกนดวยเครองหมาย comma(,)

สนสดคาสงดวยเครองหมาย semicolon (;)

ขอคานงในการใชคาส งสรางตาราง

Database System SQL 19

DROP TABLE ใชลบโครงสรางตาราง

table name ชอตารางทตองการลบCASCADE CONSTRAINTS ระบบจดการฐานขอมลจะทาการลบขอจากดตางๆ(constraint) ทมการอางถงตารางทงไปใหดวยทงหมด

DROP TABLE

Database System SQL 20

DROP TABLE <table name>[CASCADE CONSTRAINTS];

DROP TABLE SALESTAB;

Page 73: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

คาสง ALTER TABLE ใชในการเพมคอลมน,เปลยนชอคอลมน

table name ชอตารางทจะเปลยนแปลงDatabase update คาสงการเปลยนแปลงcolumn_name ชอคอลมนdata type [SIZE] ชนดขอมลและขนาดของขอมล

ALTER TABLE

Database System SQL 21

ALTER TABLE <table name>Database update(<column_name> data type [SIZE]);

ALTER TABLE SALESPEOPLE ADD SALESTAB_FAX CHAR(15);

ALTER TABLE SALESPEOPLE MODIFY SALESTAB_FAX CHAR(30);

ALTER TABLE SALESPEOPLE RENAME ADDRESS TO COUNTRY;

คยหลกไดแก คอลมน 1 คอลมนหรอหลายคอลมนททาใหแตละแถวในตารางขอมลมคาของขอมลทไมซากน(unique)

ดชนเปนการสรางโดยการเลอกคอลมนใดคอลมนหนงหรอหลายคอลมนจากตารางขนมาเปนดชน โดยในตารางหนงๆ สามารถมดชนไดหลายดชน คอลมนทจะเลอกเปนดชนควรจะมคาของขอมลไมซากน (unique)ในแตละแถว เพอเปนตวนาทางในการสบคนขอมลให เรวขน

ถาตารางขอมลใดไมมการสรางดชนไวการคนหาขอมลในตารางนนจะตองทาการคนหาแบบเรยงลาดบจากแถวแรกจนถงแถวสดทาย

การสรางดชนจะทาใหการคนหาขอมลเรวขน แตการสรางดชนกเปลองพนทในหนวยความจา

ขอแตกตางระหวางคยหลกและดชน

Database System SQL 22

การสรางดชน

index name ชอดชน table name ชอตารางทจะสรางดชน

การลบดชนของตาราง

การลบดชนออกไปจะไมมผลกระทบกบรายละเอยดในคอลมนตาง ๆ ภายในตาราง

INDEX

Database System SQL 23

CREATE [UNIQUE] INDEX <index name>ON <table name> (<column>name>[,<column name>]..);

CREATE UNIQUE INDEX CLIENTGROUP ON CUSTOMERSTAB(SALENO);

DROP INDEX <index name>;

INSERT คาสงการเพมขอมลในตาราง1. เพมขอมลทละแถวโดยระบขอมลทจะ INSERTเขาไปโดยตรง

INSERT

Database System SQL 24

INSERT INTO <tablename>[(column 1, column 2,…)]VALUES(<value1,value2, …>);

INSERT INTO SALESTABVALUES (1001, “Chaiwat”, “Bangkok”,0.12);

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.12

SALENO SALENAME ADDRESS SALECOM

INSERT INTO CUSTOMERSTAB(ADDRESS,CUSNAME,CUSNO)VALUES ('Bangkok','Arlee', 2001);

CUSNO CUSNAME ADDRESS RATING SALENO2001 Arlee Bangkok

Page 74: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

2. นาคาหรอหาคาจากตารางหนงแลวไปใสไวในอกตาราหนง

INSERT

Database System SQL 25

INSERT INTO <table name>[(column 1, column 2,…)]SELECT statement;

INSERT INTO BANGKOKSTAFFSELECT *FROM SALESTABWHERE ADDRESS = ‘Bangkok’;

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.151003 Ternjai Nonthaburi 0.10

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121004 Benjawan Bangkok 0.11

ตาราง SALESTAB

ตาราง BANGKOKSTAFF

UPDATE คาสงปรบปรงแถวขอมล

UPDATE

Database System SQL 26

UPDATE <table name> SET <columnname> = <new_value>[WHERE <condition>];

UPDATE CUSTOMERSTABSET RATING = 200;

UPDATE

Database System SQL 27

UPDATE CUSTOMERSTABSET RATING = 200;WHERE SALENO = 1001;

DELETE คาสงการลบขอมลทงแถว

DELETE

Database System SQL 28

DELETE FROM <table name>[WHERE <condition>];

DELETE FROM SALESTABWHERE SALENO = 1003;

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.151003 Ternjai Nonthaburi 0.10

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.15

Page 75: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

SELECTเรยกคนดทกคอลมนในตาราง

SELECT

Database System SQL 29

SELECT *FROM <table name>;

SELECT * FROM checks;

CHECK# PAYEE AMOUNT REMARKS1 Malee Benjanee 150 Have sons next time2 Reading R.R 24534 Train to Chiangmai3 Malee Benjanee 20032 Cellular Phone4 Surasit Utities 98 Gas5 Jintana $ Mitree 150 Groesries6 Cash 25 Wild Night Out7 Benjawan Gas 251 Gas

ตาราง checks

การเรยกคนขอมลเฉพาะคอลมนใดๆในตารางและการเปลยนลาดบคอลมน

SELECT

Database System SQL 30

SELECT <column 1, column 2,…>FROM <table name>;

SELECT CHECK#, amount FROM checks;

SELECT PAYEE, REMARKS, AMOUNT, CHECK#FROM checks;

CHECK# AMOUNT1 1502 245343 200324 985 1506 257 251

PAYEE REMARKS AMOUNT CHECK#Malee Benjanee Have sons next time 150 1

Reading R.R Train to Chiangmai 24534 2Malee Benjanee Cellular Phone 20032 3Surasit Utities Gas 98 4

Jintana $ Mitree Groesries 150 5Cash Wild Night Out 25 6

Benjawan Gas Gas 251 7

การเรยกคนขอมลกบคาสง Distinction จะทาใหขอมลทซากนนนแสดงออกมาเพยงครงเดยว

การใชคาสง SELECT กบ WHERE

SELECT

Database System SQL 31

AMOUNT2525198150

2003224534

SELECT DISTINCT amount from checks;

SELECT <column 1, column 2,…>FROM <table name>[WHERE <condition>];

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.151003 Ternjai Nonthaburi 0.10

SELECT * FROM SALESTABWHERE SALENO = 1003;

ตาราง SALESTAB

SALENO SALENAME ADDRESS SALECOM1003 Ternjai Nonthaburi 0.10

ORDER BY กาหนดใหเรยงลาดบผลลพธ โดยทASC เรยงจากนอยไปมากDESC เรยงจากมากไปนอย

SELECT

Database System SQL 32

SELECT <column 1, column 2,…>FROM <table name>[WHERE condition][ORDER BY <column 1, column 2,…>[ASC][DESC]];

SELECT sno, fname, lname, salaryFROM staffORDER BY salary DESC;

Page 76: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

โอเปอเรเตอรคณตศาสตร(Arithmetic Operators) ไดแก operators plus (+) minus (-), divide (/), multiply (*), modulo (%)

SELECT with Operators

Database System SQL 33

SELECT ITEM, WHOLESALE, (WHOLESALE + 15) AS RETAILFROM PRICE;

ITEM WHOLESALETOMATOES 34POTATOES 51BANANAS 67TURNIPS 45CHEESE 89APPLES 23

ITEM WHOLESALE RETAILTOMATOES 34 49POTATOES 51 66BANANAS 67 82TURNIPS 45 60CHEESE 89 104APPLES 23 38

ตาราง PRICE ตาราง PRICE

โอเปอรเรเตอร Minus (-) คาสง Minus ใชไดเปน 2 กรณคอ เปลยนเครองหมายจากบวกเปนลบและจากลบเปนบวก

นาขอมลของคอลมนหนงไปลบออกจากขอมลของอกคอลมนหนง

SELECT with Operators

Database System SQL 34

SELECT STATE, -HIGHTEMP AS LOWS, -LOWTEMP AS HIGHSFROM HILOW;

SELECT STATE, LOWTEMP AS LOWS, HIGHTEMP AS HIGHS, (HIGHTEMP - LOWTEMP ) AS DIFFERENCE

FROM HILOW;

STATE HIGHTEMP LOWTEMPCA 120 -50FL 110 20LA 101 15ND 99 -70NE 100 -60

STATE LOWS HIGHSCA -120 50FL -110 -20LA -101 -15ND -99 70NE -100 60

STATE LOWS HIGHS DIFFERENCECA -50 120 170FL 20 110 90LA 15 101 84ND -70 99 171NE -60 100 160

ตาราง HILOW

Modulo (%)เปนคาสงทไดผลลพธเปนเศษทไดจากการหาร

SELECT with Operators

Database System SQL 35

SELECT NUMERATOR,DENOMINATOR,NUMERATOR%DENOMINATOR AS REMAINDER

FROM REMAINS;

SELECT NUMERATOR,DENOMINATOR,MOD(NUMERATOR, DENOMONATOR) AS REMAINDER

FROM REMAINS;

NUMERATOR DENOMENATOR10 58 323 940 17

1024 1685 34

NUMERATOR DENOMENATOR REMAINDER10 5 08 3 223 9 540 17 6

1024 16 085 34 17

ตาราง REMAINS

โอเปอรเรเตอรเปรยบเทยบ (Comparison Operators) จะใหคาออกมา 3 คา คอ ถก (TRUE) ผด (FALSE) ไมร (Unknow) การไมรหมายถง ถานาขอมลทมคาไปเปรยบเทยบกบขอมลทเปน NULL ตวเปรยบเทยบจะใหคาไมร

SELECT with Operators

Database System SQL 36

SELECT *FROM PRICEWHERE WHOLESALE IS NULL;

SELECT *FROM PRICEWHERE WHOLESALE = NULL;

ITEM WHOLESALETOMATOES 34POTATOES 51BANANAS 67TURNIPS 45CHEESE 89APPLES 23

ORANGES

ตาราง PRICE

ITEM WHOLESALEORANGES

Page 77: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

โอเปอเรเตอรตวอกษร(Character Operators) ตวโอเปอเรเตอร LIKE เปนการคนหาขอมลของคอลมนทเกบขอมลประเภทตวอกษรเทานน สญลกษณ % ใชแทนจานวนอกษรไดหลายตว สญลกษณ _ ใชแทนจานวนทไมทราบคา 1 ตว

SELECT with Operators

Database System SQL 37

SELECT PAYEE, AMOUNT, REMARKSFROM CHECKSWHERE PAYEE LIKE (‘CA%’);

SELECT PAYEE, AMOUNT, REMARKSFROM CHECKSWHERE PAYEE STARING WITH (‘Ca’);

PAYEE AMOUNT REMARKSCash 25 Wild Night OutCash 60 Trip to SaraburiCash 34 Trip to Nonthaburi

SELECT PAYEE, AMOUNT, REMARKSFROM CHECKSWHERE PAYEE STARTING WITH(‘Ca’)OR REMARKS LIKE ‘G%’;

PAYEE AMOUNT REMARKSSurasit Utilities 98 GasJintana $ Mitree 150 Groceries

Cash 25 Wild Night OutBenjawan Gas 251 Gas

Cash 60 Trip to SaraburiCash 34 Trip to Nonthaburi

Benjawan Gas 1575 Gas

โอเปอรเรเตอรตรรกะ (Logical Operator) เปนตวโอเปอเรเตอรทใช ในการเปรยบเทยบ เชอมโยงคา 2 คา

SELECT with Operators

Database System SQL 38

LASTNAME EMPLOYEENUM YEARS LEAVETAKENARLEE 101 2 4

AMPORNI 104 5 23JINTANA 107 8 45BOLIVAR 233 4 80

TANACHOTE 210 15 100TAWATCHI 211 10 78

ตวโอเปอเรเตอร AND

ตวโอเปอเรเตอร OR

SELECT with Operators

Database System SQL 39

SELECT LASTNAME AS WORKAHOLICSFROM VACATIONWHERE YEARS >=5AND((YEARS *12) – LEAVETAKEN)/(YEARS *12) >=0.50;

SELECT LASTNAME AS WORKAHOLICSFROM VACATIONWHERE YEARS >=5OR((YEARS *12) – LEAVETAKEN)/(YEARS *12)>=0.50;

WORKAHOLICSAMPORNIJINTANA

WORKAHOLICSARLEE

AMPORNIJINTANA

TANACHOTETAWATCHI

โอเปอรเรเตอร IN

SELECT with Operators

Database System SQL 40

SELECT *FROM FRIENDSWHERE ADDRESS = ‘Chiangmai’ORADDRESS = ‘Bangkok’ORADDRESS = ‘Puket’;

SELECT *FROM FRIENDSWHERE ADDRESS IN (‘Chiangmai ’, ‘Bangkok ’, ‘Puket ’);

LASTNAME FIRSTNAME PHONE ADDRESSSIRIWAN ARLEEWAN 555-6666 BangkokSURASIT CHAIYO 555-6767 PuketWICHAI AMPORNWAN 555-3116 Chiangmai

Page 78: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ตวโอเปอเรเตอร BETWEEN…AND…

SELECT with Operators

Database System SQL 41

SELECT *FROM PRICEWHERE WHOLESALE >25AND WHOLESALE < 75;

SELECT *FROM PRICEWHERE WHOLESALE BETWEEN 25 AND 75;

ITEM WHOLESALETOMATOES 34POTATOES 51BANANAS 67TURNIPS 45CHEESE 89APPLES 23

ORANGES

ITEM WHOLESALETOMATOES 34POTATOES 51BANANAS 67TURNIPS 45

ตาราง PRICE

เปนกลมฟงกชนทใหผลของคาสงออกมาเพยง 1 คอลมน ใชกบขอมลทเปนตวเลข ไดแกCOUNT ใชกบตารางหรอคอลมนใด ๆ เพอนบจานวนของแถวหรอคอลมนCOUNT (*) เปนคาสงใชนบจานวนแถวทงหมดในตารางซงจะรวมจานวนแถวทไมมคา ( NULL) ดวย

COUNT (DISTINCT คอลมน) เปนคาสงใชนบจานวนแถวในตาราง จะไมรวมคาซาและตาแหนงทไมมคา( NULL)

SUM เปนคาสงการหาผลรวมของคอลมนใดคอลมนหนงAVG เปนคาสงการหาคาเฉลยของขอมลMAX เปนคาสงในการหาคาสงสดของขอมลของคอลมนใดคอลมนหนงMIN เปนคาสงในการหาคาตาสดของขอมลของคอลมนใดคอลมนหนง

Aggregate Functions

Database System SQL 42

ฟงกชน COUNT (X) เปนฟงกชนทใชในการนบจานวนแถวในคอลมน (X)

COUNT

Database System SQL 43

NAME AB HITS WALKS SINGLES DOUBLES TRIPLES HRJONES 145 45 34 31 8 1 5

DONKNOW 175 65 50 50 10 1 4WORLEY 157 49 35 35 8 3 3DAVID 187 70 48 48 4 0 17

HAMHOCKER 50 12 10 10 2 0 0CASEY 1 0 0 0 0 0 0

ตาราง TEAMGAME

SELECT COUNT(*)FROM TEAMGAME;

COUNT(*)6

SELECT COUNT(*) AS HIT_BELOW_60FROM TEAMGAMEWHERE HITS < 60;

HIT_BELOW_604

ฟงกชน SUM (X) เปนฟงกชนทใชในการหาคารวมของคอลมน (X)

SUM

Database System SQL 44

SELECT SUM(SINGLES) AS TOTAL_SINGLESFROM TEAMGAME;

TOTAL_SINGLES174

SELECT SUM(SINGLES) AS TOTAL_SINGLES, SUM(DOUBLES) AS TOTAL_DOUBLES,SUM(TRIPLES) AS TOTAL_TRIPLES, SUM(HR) AS TOTAL_HR

FROM TEAMGAME;

TOTAL_SINGLES TOTAL_DOUBLES TOTAL_TRIPLES TOTAL_HR174 32 5 29

SELECT SUM(NAME)FROM TEAMGAME;

Page 79: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ฟงกชน AVG (X) เปนฟงกชนทใชในการหาคาเฉลยของคอลมน (X)

ฟงกชน MAX (X) เปนฟงกชนใชคานวณหาคาสงสดของคอลมน (X)

ฟงกชน MIN (X) เปนฟงกชนทใชในการหาคาตาสดของคอลมน (X)

AVG, MAX, MIN

Database System SQL 45

SELECT AVG(HITS) AS HITS_AVERAGEFROM TEAMGAME;

SELECT MAX(HITS)FROM TEAMGAME;

SELECT MAX(NAME)FROM TEAMGAME;

SELECT MIN(AB)FROM TEAMGAME;

HITS_AVERAGE40.166666

MAX(HITS)70

MAX(NAME)WORLEY

MIN(AB)1

ฟงกชน VARIANC (X) เปนฟงกชนในการหาคาสวนเบยงเบนมาตราฐานยกกาลง2(S2) ในคอลมน X

ฟงกชน STDDEV (X) หรอฟงกชนสวนเบยงเบนมาตราฐาน

VARIANC, STDDEV

Database System SQL 46

SELECT VARIANCE(HITS)FROM TEAMGAME;

SELECT STDDEV(HITS)FROM TEAMGAME;

VARIANCE(HITS)802.96667

STDDEV(HITS)28.336666

ฟงกชน ADD_MONTHS (X,Y) เปนฟงกชนทตองการบวกจานวนเดอน (Y) เขาไปในขอมลคอลมน X

Date and time functions

Database System SQL 47

SELECT TASK,STARTDATE, ENDDATE,ADD_MONTHS(ENDDATE,2)FROM PROJECT;

TASK STARTDATE ENDDATE ADD_MONTHKICKOFF MTG 1-Apr-01 1-Apr-01 1-Jun-01TECH SURVEY 2-Apr-01 1-May-01 1-Jul-01USER MTGS 15-May-01 30-May-01 30-Jul-01

DESIGN WIDGET 1-Jun-01 30-Jun-01 31-Aug-01CODE WIDGET 1-Jul-01 2-Sep-01 2-Nov-01

TESTING 3-Sep-01 17-Jan-02 17-Mar-02

ฟงกชน LAST_DAY (X) เปนฟงกชนทแสดงวนสดทายของเดอนในคอลมน (X)

ฟงกชน MONTHS_BETWEEN (X,Y) เปนฟงกชนทคานวณคาระหวาง X และ Y โดยมหนวยเปนเดอน

Date and time functions

Database System SQL 48

SELECT ENDDATE, LAST_DAY(ENDDATE)FROM PROJECT;

SELECT TASK, STARTDATE, ENDDATE, MONTHS_BETWEEN(ENDDATE, STARTDATE) AS DURATION

FROM PROJECT;

ENDDATE LAST_DAY(ENDDATE)

1-Apr-01 30-Apr-011-May-01 31-May-0130-May-01 31-May-0130-Jun-01 30-Jun-012-Sep-01 30-Sep-0117-Jan-02 31-Jan-02

TASK STARTDATE ENDDATE DURATIONKICKOFF MTG 1-Apr-01 1-Apr-01 0TECH SURVEY 2-Apr-01 1-May-01 0.96774194USER MTGS 15-May-01 30-May-01 0.48387097

DESIGN WIDGET 1-Jun-01 30-Jun-01 0.93548387CODE WIDGET 1-Jul-01 2-Sep-01 2.0322581

TESTING 3-Sep-01 17-Jan-02 4.4516129

Page 80: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ฟงกชน ABS(X)เปนฟงกชนในการหาคาสมบรณของ X

ฟงกชน CEIL(X) and FLOOR(X) ฟงกชน CEIL (X) ใหคาตวเลขจานวนเตมทมคามากวาหรอเทากบคาในคอลมน (X)

ฟงกชน FLOORเปนฟงกชนทใหคาตวเลขจานวนเตมทพจารณาจากคาในคอลมน X ถาหลงจดทศนยมมคามากวา 5 กจะใหคาเลขจานวนเตมทมากขน แตถาหลงจดทศนยมมคานอยกวา 5 จะใหคาตวเลขทมคานอยลง

Arithmetic functions

Database System SQL 49

SELECT ABS(A) AS ABSOLUTE_VALUEFROM NUMBERS;

A B3.142 4-45 0.7075 9

-57.7 4215 55

-7.2 5.3

ABSOLUTE_VALUE3.142

455

57.67157.2

ฟงกชน COS(X), COSH(X), SIN(X), SINH(X), TAN(X), และ TANH(X) ฟงกชน EXP (X)เปนฟงกชนหาคา e ยกกาลง X ฟงกชน LN(X) และ LOG(X) ฟงกชน MOD(X,Y) เปนฟงกชนทแสดงเศษทเกดขอมล X หารดวย Y ฟงกชน POWER (X,Y) เปนฟงกชนในการยกกาลง โดย X เปนเลขฐานและ Y จะเปนเลขยกกาลง

ฟงกชน SQRT (X) เปนฟงกชนในการหาคารากท 2 ของ X ฟงกชน SIGN (X) เปนฟงกชนท ใหคาเปน –1 ถา X มคานอยกวา 0 ใหคาเปน

0 ถา X มคาเทากบ 0 ใหคาเปน 1 ถา X มคามากกวา 0

Arithmetic functions

Database System SQL 50

ฟงกชน CHR เปนฟงกชนสาหรบเปลยนนพจนอกขระใหเปนรหส ASCII คาทได จากฟงกชนนจะเปนคารหส ASCII

ฟงกชน CONCAT (X,Y) เปนฟงกชนในการรวมอกขระ (X และ Y) เขาดวยกน ฟงกชน INITCAP (<string>) เปนฟงกชนทเปลยนคาตวอกขระ (string) ใหตวแรกเปนอกขระตวใหญแลวตามดวยอกขระตวเลก

ฟงกชน LOWER (<string>) เปนฟงกชน ทเปลยนตวอกขระ (<string>) เปนอกขระตวเลก

ฟงกชน UPPER (<string>) เปนฟงกชน ทเปลยนตวอกขระ (<string>) เปนอกขระตวใหญ

Character functions

Database System SQL 51

ฟงกชน REPLACE (<string>,X,Y) เปนฟงกชนในการแทนคาอกขระ X โดยการคนหาตวอกขระทตองการแทนท แลวแทนทดวยอกขระ Y ทตองการ

ฟงกชน SUBSTR (<string>,x,y) เปนฟงกชนทนาตวอกษร (<string>) ในตาแหนงท x

Conversion functions ฟงกชน TO_CHAR จะทาการแปลง data type ทเปนตวเลขใหเปนตวอกษร

Character functions

Database System SQL 52

Page 81: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

SELECT… GROUP BY

column 1, column 2,… คอลมนทตองการเรยกคน table name ชอตารางทตองการเรยกคนขอมลWHERE<condition> สวนของคาสงทบอกเงอนไขทจะใชในการคนหาขอมล

GROUP BY < grouping column>… สวนของคาสงทบอกเงอนไขการจดกลม

HAVING<condition> ใชควบคกนกบ GROUP BY เสมอ เพอตองการใหไดขอมลทจดกลมตาม GROUP BY

การเรยกดขอมลโดยใชฟงกชนในการรวม

Database System SQL 53

SELECT <column 1, column 2,…>FROM <table name>[WHERE <condition>][GROUP BY < grouping column>…][HAVING <condition>];

GROUP BY

Database System SQL 54

SELECT TEAM, AVG(SALARY)FROM ORGCHARTGROUP BY TEAM;

NAME TEAM SALARYASAMS RESEARCH 34000WILKES MARKETING 31000STOKES MARKETING 36000MEZA COLLECTIONS 40000

SIRIWAN RESEARCH 45000RICHARDSON MARKETING 42000

FURY COLLECTIONS 35000PRECOURT PR 37500

TEAM AVG(SALARY)COLLECTIONS 37500MARKETING 36333

PR 37500RESEARCH 39500

TEAM AVG(SALARY)COLLECTIONS 37500MARKETING 36333

PR 37500

SELECT TEAM, AVG(SALARY)FROM ORGCHARTGROUP BY TEAMHAVING AVG(SALARY) < 38000;

GROUP BY

Database System SQL 55

TEAM AVG(SALARY)MARKETING 36333

PR 37500

SELECT TEAM, AVG(SALARY)FROM ORGCHARTWHERE TEAM IN (‘MARKETING’,’PR’)GROUP BY TEAMHAVING AVG(SALARY) < 38000;

การเรยกดขอมลแบบซอนกน(subqueies) เปนการสรางคาสง SELECT ซอนกน

SELECT คาสงทตองมทกครงทตองการเรยกคนขอมลcolumn 1, column 2,… คอลมนทตองการเรยกคนFROM การกาหนดวาใหเรยกดขอมล ไดจากตารางใดบาง table name ชอตารางทตองการเรยกคนขอมลWHERE<condition> สวนของคาสงทบอกเงอนไขทจะใชในการคนหาขอมล

Select Statement สวนของคาสงทเรยกคนขอมลตามเงอนไข

Subqueies

Database System SQL 56

SELECT [*] <column 1, column 2,…>FROM <table name>[WHERE <column list = <Select Statement>];

Page 82: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Subqueries

Database System SQL 57

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.151003 Ternjai Nonthaburi 0.1

ORDERNO AMT ORDERDATE CUSNO SALENO3001 1869 6/3/2000 2008 10073003 76719 6/3/2000 2001 10013002 190010 6/3/2000 2007 10043005 516045 6/3/2000 2003 10023006 109816 6/3/2000 2008 10073009 171323 6/4/2000 2002 10033007 7573 6/4/2000 2004 10023008 472300 6/5/2000 2006 10013010 130995 6/6/2000 2004 10023011 989198 6/6/2000 2006 1001

ORDERNO AMT ORDERDATE CUSNO SALENO3003 76719 6/3/2000 2001 10013002 190010 6/3/2000 2007 10043008 472300 6/5/2000 2006 10013011 989198 6/6/2000 2006 1001

ตาราง ORDERSTAB

ตาราง SALETAB

SELECT *FROM ORDERSTABWHERE SALENO =(SELECT SALENOFROM SALETABWHERE ADDRESS = ‘Bangkok’);

Join

Database System SQL 58

ORDERNO AMT ORDERDATE CUSNO SALENO SALENAME ADDRESS3001 1869 6/3/2000 2008 1007 Kanjana Chiangmai3003 76719 6/3/2000 2001 1001 Chaiwat Bangkok3002 190010 6/3/2000 2007 1004 Benjawan Bangkok3005 516045 6/3/2000 2003 1002 Mitree Puket3006 109816 6/3/2000 2008 1007 Kanjana Chiangmai3009 171323 6/4/2000 2002 1003 Ternjai Nonthaburi3007 7573 6/4/2000 2004 1002 Mitree Puket3008 472300 6/5/2000 2006 1001 Chaiwat Bangkok3010 130995 6/6/2000 2004 1002 Mitree Puket3011 989198 6/6/2000 2006 1001 Chaiwat Bangkok

SELECT ORDERNO, AMT, ORDERDATE, CUSNO, ORDERSTAB.SALENO, SALENAME, ADDRESS

FROM ORDERSTAB, SALETABWHERE ORDERSTAB.SALENO = SALETAB.SALENO;

UNION, INTERSECT, MINUS

Database System SQL 59

SELECT <table1_column1, table1_column2,…>FROM <table1>[WHERE <condition_1>]<set operation : UNION, INTERSECT, MINUS>SELECT <table2_column1, table2_column2,…>FROM <table2>[WHERE <condition_2>]

NAMEChaiwat

BenjawanKanjanaMitreeTernjai

EMP_ID NAME1001 Chaiwat1004 Benjawan

EMP_ID NAME1007 Kanjana1002 Mitree1003 Ternjaiตาราง EMP_Bangkokตาราง EMP_Country

SELECT NAMEFROM EMP_BangkokUNIONSELECT NAMEFROM EMP_Country;

View คอ ตารางเสมอนทสรางจากการนาขอมลบางคอลมน บางแถวจากตารางตงแต 1 ตารางขนไปมาจดทาเปนแถวและคอลมนเหมอนอยางตาราง ววจะไมไดเกบขอมลอยางตาราง แตเกบเพยงโครงสรางทจะไปเรยกขอมลจากตามรางเทานน มกใชในกรณ ทาใหเหนบางคอลมนบางแถว ทาใหเกดความปลอดภยของขอมลมากขน

นาไปใชในการสอบถาม ชวยใหงายขนและไมซบซอน กาหนดสทธในการใชขอมลทาไดงายขนสามารถนาววทสอบถามขอมลจากหลายๆ ตารางไปแปลงใหเปนขอมลทใชในโปรแกรมอน ๆ ไดงาย

การลบตารางทนามาสรางววจะมผลทาใหววทสรางขนถกลบไปดวย

View

Database System SQL 60

Page 83: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

View

Database System SQL 61

ORDERNO AMT ORDERDATE CUSNO SALENO3001 1869 6/3/2000 2008 10073003 76719 6/3/2000 2001 10013002 190010 6/3/2000 2007 10043005 516045 6/3/2000 2003 10023006 109816 6/3/2000 2008 10073009 171323 6/4/2000 2002 10033007 7573 6/4/2000 2004 10023008 472300 6/5/2000 2006 10013010 130995 6/6/2000 2004 10023011 989198 6/6/2000 2006 1001

ORDERNO AMT CUSNO3001 1869 20083003 76719 20013002 190010 20073005 516045 20033006 109816 20083009 171323 20023007 7573 20043008 472300 20063010 130995 20043011 989198 2006

CREATE VIEW VIEW_NAME AS<SQL query statements>;

CREATE VIEW ORDERSVIEW ASSELECT ORDERNO, AMT, CUSNOFROM ORDERSTAB;

การสรางววจากหลายตาราง

View

Database System SQL 62

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.151003 Ternjai Nonthaburi 0.1

ORDERNO AMT ORDERDATE CUSNO SALENO3001 1869 6/3/2000 2008 10073003 76719 6/3/2000 2001 10013002 190010 6/3/2000 2007 10043005 516045 6/3/2000 2003 10023006 109816 6/3/2000 2008 10073009 171323 6/4/2000 2002 10033007 7573 6/4/2000 2004 10023008 472300 6/5/2000 2006 10013010 130995 6/6/2000 2004 10023011 989198 6/6/2000 2006 1001

ตาราง ORDERSTAB

ตาราง SALETAB

วว ORDERSVIEW

CREATE VIEW ORDERSVIEW ASSELECT ORDERNO, AMT, ORDERDATEFROM ORDERSTAB, SALETABWHERE ORDERSTAB.SALENO =

SALETAB.SALENOAND SALETAB.ADDRESS = ‘Bangkok’;

ORDERNO AMT ORDERDATE3003 76719 6/3/20003002 190010 6/3/20003008 472300 6/5/20003011 989198 6/6/2000

การสอบถามขอมลจากตารางดวยการใชอนเดกซจะชวยในการคาหาขอมลไดรวดเรว ถาไมมการทาอนเดกซไวจะตองเปรยบเทยบขอมลในตารางตงแตแถวแรกแลวเปรยบเทยบไปเรอย ๆ จนกวาจะพบ

การลบอนเดกซ

Index

Database System SQL 63

CREATE INDEX INDEX_NAMEON TABLE_NAME(COLUMN_NAME(S) [ASC/DESC];

DROP INDEX INDEX_NAME;

Index

Database System SQL 64

SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.121002 Mitree Puket 0.131004 Benjawan Bangkok 0.111007 Kanjana Chiangmai 0.151003 Ternjai Nonthaburi 0.1

ตาราง SALETAB

SALENAMEBenjawanChaiwatKanjanaMitreeTernjai

อนเดกซ SALEINDEX

CREATE INDEX SALEINDEXON SALETAB (SALENAME ASC);

Page 84: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

MS Access, use SQL

Database System SQL 65 Database System SQL 66

Note

Page 85: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Database Management Application

การประยกตใชฐานขอมล(Chapter 7)

Database System อ.เอญ สรยะฉาย (ENS)

ภาควชาวทยาการคอมพวเตอรและสารสนเทศมหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

เพอลดความซาซอนในการจดเกบ ขอมล เพอใหผใชหลายคนสามารถใชขอมลรวมกนได เพอหลกเลยงความขดแยงกนของขอมล เพอใหขอมลมความถกตองและความเชอถอได เพอลดคาใชจายในการจดเกบและเรยกใชขอมล เพอการควบคมและรกษาความปลอดภยของขอมล

วตถประสงคในการประยกตใชฐานขอมล

Database System Database Management Application 2

ปญหาในการบรหารจดการธรกจอยางมประสทธภาพ มสาเหตไดแกขอมลทใชเพอการดาเนนงานอยในสภาพกระจดกระจาย ขาดการเกบรวบรวมอยางเหมาะสม ทาใหไมสะดวกในการคนหาเมอตองการใช ขอมลนน ๆ

ขอมลทใชเพอประกอบการพจารณาตดสนใจไมเพยงพอ หรอไมอาจคนหาขอมลทตองการไดทนเวลา ทาใหตองเสยโอกาสทางการตลาดหรอทาใหการตดสนใจบางเรองตองผดพลาดเสยหาย

การเกบขอมลทซาซอนกนภายในหนวยงานขอมลขาดความเปนเอกภาพเนองมาจากการเกบขอมลทซาซอนกน ทาใหปรากฏขอมลเรองเดยวกนในหลายทและขอมลดงกลาวไมสอดคลองกน

การขาดการประสานงานและความหยอนประสทธภาพในการทางานของผทปฏบตงานกบขอมล

ฐานขอมลในงานบคลากร

Database System Database Management Application 3

การปรบปรงการปฏบตงานโดยนาระบบคอมพวเตอรเขามาใชกบระบบงานททาอย เพอใหเกดความคลองตวในการบรหารและจดการองคกร ทาใหผบรหารไดรบขอมลและสารสนเทศทจะนามาใช ประโยชนเพอการวางแผนและตดสนใจไดอยางถกตองและรวดเรว

ในการเกบบนทกประวตบคลากรของหนวยงานแตละแหง ประวตของบคคลหนงคนจงประกอบดวยขอมลเกยวกบตนเองและครอบครว เชน ชอ-นามสกล วน/เดอน/ปเกด สถานภาพสมรส ชอ-นามสกลของสามหรอภรรยา จานวนบตร ทอย เบอรโทรศพท เปนตน

ขอมลเกยวกบประวตการศกษาในระดบตาง ๆ เชน ระดบการศกษาสงสด สถานศกษาทจบ เกรดเฉลย การทากจกรรมพเศษตาง ๆ เปนตน

ฐานขอมลในงานบคลากร

Database System Database Management Application 4

Page 86: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ขอมลเกยวกบประวตการเขารบการฝกอบรม/สมมนา/ดงาน เชน วน/เดอน/ป/ทเขารบการฝกอบรม/สมมนา/ดงาน สถานทเขารบการฝกอบรม/สมมนา/ดงาน เปนตน

ขอมลเกยวกบประวตการทางานและการไดรบเลอนตาแหนง เชน วน/เดอน/ปทเร มทางาน สถานททางาน อตราเงนเดอน จานวนวนหยด/วนลา เปนตน

ขอมลเกยวกบความสามารถพเศษตาง ๆ เชน ความสามารถทางดานภาษา ความสามารถทางดานคอมพวเตอร เปนตน

ฐานขอมลในงานบคลากร

Database System Database Management Application 5

ความสาคญและประโยชนของการประยกตใชฐานขอมลในงานบคลากรอาจจาแนกตามระดบการทางานไดดงน

ระดบบรหารผบรหารแตละระดบจาเปนตองใชฐานขอมลทางดานบคลากรเพอการวางแผน การตดสนใจ การจดสายงาน การอานวยการ และการควบคมงานใหเหมาะสมในเรองตาง ๆ

ระดบปฏบตการและบรการจะเปนไปตามหนาทและสายงาน ซงการใชฐานขอมลทางดานบคลากรจะมบทบาทในดานการปฏบตงาน การตดตอสอสารภายใน การควบคมงาน และการตดตามงาน

ฐานขอมลในงานบคลากร

Database System Database Management Application 6

ปจจบนสถานศกษาหลายแหงมการนาคอมพวเตอรมาใชในงานบรหารจดการตาง ๆ ในสถานศกษา เชน การจดทาทะเบยนประวตนกศกษาและอาจารย การคดคะแนนและผลการสอบ การจดทาตารางเรยน งานหองสมด เปนตน

พจารณาเฉพาะการลงทะเบยนเรยนตามปกตจะพบวา การเกบบนทกขอมลในเรองเกยวกบ ใบลงทะเบยนของนกศกษาในสถานศกษาแตละแหงประกอบดวย ขอมลเกยวกบนกศกษา เชน รหสประจาตว ชอ-นามสกล รหสวชาเอก คณะ เปนตน

ขอมลเกยวกบอาจารยทปรกษา เชน รหสอาจารยทปรกษา ชออาจารย เปนตน ขอมลเกยวกบชดวชาทลงทะเบยน เชน ภาคการศกษา ปการศกษา รหสชดวชา ชอชดวชา จานวนหนวยกต คาลงทะเบยน เปนตน

ฐานขอมลในงานทะเบยนนกศกษา

Database System Database Management Application 7

ความสาคญและประโยชนของการประยกตใชฐานขอมลในงานทะเบยนนกศกษาอาจจาแนกตามผเกยวของไดดงน

นกศกษา เพอทาการวางแผนและตดสนใจในเรองการเรยน เชน ผลการศกษาหรอเกรดเฉลยในภาคการศกษาทผานมา ขอมลการเรยนเกยวกบวน/เวลา/ชดวชาทเปดสอน/จานวนหนวยกต/ชดวชาทมการจากดจานวน ผเรยน ใบรายงานผลการศกษา/รายละเอยดโครงสรางหลกสตร ฯลฯ

อาจารย การวางแผนและการปฏบตงานในเรองการเรยนการสอน เชน รายชอนกศกษาใน การปรกษา จานวนนกศกษาทลงทะเบยนเรยนในแตละชดวชา การคดคะแนนและผลการสอบ

ฐานขอมลในงานทะเบยนนกศกษา

Database System Database Management Application 8

Page 87: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ประยกตใชฐานขอมลในงานตาง ๆ ไดแก การขายปลก ระบบบญชเจาหน และระบบบญชสนคาคงคลง เปนตน การประยกตใชฐานขอมลกบการขายปลก ทาใหสามารถออกใบเสรจรบเงนใหแกลกคาไดอยางรวดเรวและถกตอง ทาใหสามารถจดทารายงานการขายประจาวนไดอยางรวดเรว

ระบบบญชเจาหน เมอองคกรมการสงซอสนคาเขามา ทาใหสามารถพมพรายงานเรยงตามลาดบวนทคางชาระได ซงรายงานนจะเปนประโยชนตอการนามาใชเพอการบรหารจดการการเงนขององคกรใหมประสทธภาพได และยงสามารถพมพเชคชาระหนรวมทงบนทกรายการชาระหนได จงทาใหสามารถจดทารายงานสรปการจายเงนในแตละวนไดอยางถกตองและรวดเรว

การประยกตใชฐานขอมลกบการขายปลกและการบรหารสนคาคงคลง จะทาให ไดรายงานการขายสนคา การรบ-สงสนคาซงทาใหสามารถจดทารายงานแสดงยอดคงเหลอของสนคาแตละชนด รายงานแสดงรายการสนคา ณ จดสงซอ รวมทงสามารถนามาใชในการพยากรณยอดขายสนคารายการตาง ๆ ได

ฐานขอมลในงานซอขายสนคาในซปเปอรสโตร

Database System Database Management Application 9

บรษท สปปกรซปเปอรสโตร จากด เปนบรษททดาเนนการสงซอสนคาจากบรษทขายสงหลายแหงเพอนามาทาการจาหนายใหแกลกคาทวไป โดยบรษทจะทาการสงซอสนคาแตละรายการจากบรษทขายสงเมอปรมาณสนคาแตละรายการทจดเกบไวในคลงสนคาตากวาปรมาณสนคา ณ จดสงซอ ดงนน บรษทขายสงหนงรายอาจจดสงสนคาใหแก บรษท สปปกรซปเปอรสโตร จากด ไดหลายรายการ โดยสนคาหนงรายการจะมาจากบรษทขายสงเพยงแหงเดยวเทานน

ในการจดสงสนคา บรษทขายสงจะนาสนคามาสงใหแก บรษท สปปกรซปเปอรสโตร จากด ครบทกรายการตามทระบมาในใบสงซอ พรอมทงทาการออกใบสงสนคามาใหหนงใบตอใบสงซอหนงใบ ดงนน ในแตละครงของการจดสงสนคาจากบรษทขายสงหนงแหง บรษท สปปกรซปเปอรสโตร จากด อาจไดรบใบสง สนคาจากบรษทขายสงแหงนนมากกวาหนงใบ โดยเลขทใบสงสนคาแตละใบจากบรษทขายสงแหงนนจะ ไมซากน

กรณศกษา 1

Database System Database Management Application 10

ในการจาหนายสนคาใหแกลกคาทวไป บรษท สปปกรซปเปอรสโตร จากด จะทาการออกใบเสรจ รบเงนใหแกลกคาททาการซอสนคาแตละครง ๆ ละหนงราย ดงนน หากลกคาหนงรายทาการซอสนคา หลายคร ง ลกคาจะไดรบใบเสรจรบเงนหลายใบ โดยเลขทใบเสรจรบเงนแตละใบนนจะไมซากนเลย ซงใบเสรจรบเงนแตละใบอาจมรายการสนคาไดหลายรายการ ฉะนนสนคาหนงรายการอาจมการระบในใบเสรจรบเงนไดหลายใบ

ทงน ในการดาเนนงาน บรษท สปปกรซปเปอรสโตร จากด ตองการรายงานในเรองตาง ๆ ไดแก รายงานการสงซอสนคาจากบรษทขายสง รายงานการจาหนายสนคา และรายงานสนคาคงเหลอในคลง

กรณศกษา (ตอ)

Database System Database Management Application 11

การกาหนด Entity และความสมพนธระหวาง Entity Entity สนคา เปน Entity ทแสดงรายละเอยดของสนคาในบรษท สปปกรซปเปอรสโตร จากด

Entity ใบสงซอสนคา เปน Entity ทแสดงรายละเอยดของใบสงซอสนคาแตละใบ

Entity บรษทขายสง เปน Entity ทแสดงรายละเอยดของบรษทขายสง

Entity ใบสงสนคา เปน Entity ทแสดงรายละเอยดของใบสงสนคาแตละใบ

Entity ใบเสรจรบเงน เปน Entity ทแสดงรายละเอยดของใบเสรจรบเงนแตละใบ

กาหนด Entity

Database System Database Management Application 12

Page 88: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ความสมพนธการจดซอ เปนความสมพนธแบบกลมตอกลมระหวางEntity สนคาและ Entity ใบสงซอสนคา

จงมการแปลงความสมพนธการจดซอเปนความสมพนธระหวางEntity แบบหนงตอกลมดวยการสราง Composite Entity การจดซอ

ความสมพนธการสงซอ เปนความสมพนธแบบหนงตอกลมระหวางEntity บรษทขายสงและ Entity ใบสงซอสนคา

วเคราะหความสมพนธระหวาง Entity

Database System Database Management Application 13

ความสมพนธการนาสง เปนความสมพนธแบบหนงตอกลมระหวางEntity บรษทขายสงและ Entity สนคา

ความสมพนธการออก เปนความสมพนธแบบหนงตอกลมระหวางEntity บรษทขายสงและ Entity ใบสงสนคา

ความสมพนธการจดทา เปนความสมพนธแบบหนงตอหนงระหวางEntity ใบสงซอสนคาและ Entity ใบสงสนคา

วเคราะหความสมพนธระหวาง Entity

Database System Database Management Application 14

ความสมพนธการสง เปนความสมพนธแบบกลมตอกลมระหวาง Entity สนคาและEntity ใบสงสนคา

จงมการแปลงความสมพนธการสงเปนความสมพนธระหวาง Entity แบบหนงตอกลมดวยการสราง Composite Entity การจดทา

ความสมพนธการขาย เปนความสมพนธแบบกลมตอกลมระหวาง Entity สนคาและEntity ใบเสรจรบเงน

จงมการแปลงความสมพนธการจดทาเปนความสมพนธระหวาง Entity แบบหนงตอกลมดวยการสราง Composite Entity การขาย

วเคราะหความสมพนธระหวาง Entity

Database System Database Management Application 15

ER Model

Database System Database Management Application 16

Page 89: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ความสมพนธแบบหนงตอกลมระหวางรเลชนสนคาและรเลชนการจดซอ ความสมพนธแบบหนงตอกลมระหวางรเลชนใบสงซอสนคาและรเลชนการจดซอ ความสมพนธแบบหนงตอกลมระหวางรเลชนบรษทขายสงและรเลชนใบสงซอสนคา ความสมพนธแบบหนงตอกลมระหวางรเลชนบรษทขายสงและรเลชนสนคา ความสมพนธแบบหนงตอกลมระหวางรเลชนบรษทขายสงและรเลชนใบสงสนคา ความสมพนธแบบหนงตอหนงระหวางรเลชนใบสงซอสนคาและรเลชนใบสงสนคา ความสมพนธแบบหนงตอกลมระหวางรเลชนสนคาและรเลชนการสง ความสมพนธแบบหนงตอกลมระหวางรเลชนใบสงสนคาและรเลชนการสง ความสมพนธแบบหนงตอกลมระหวางรเลชนสนคาและรเลชนการขาย ความสมพนธแบบหนงตอกลมระหวางรเลชนใบเสรจรบเงนและรเลชนการขาย

แปลง Entity ใหเปนรเลชน

Database System Database Management Application 17

รเลชนบรษทขายสง

รเลชนสนคา

รเลชนใบสงซอสนคา

รเลชนการจดซอ

กาหนดAttribute

Database System Database Management Application 18

รหสบรษท ชอบรษท ทอย โทรศพท

รหสสนคา ชอสนคา สนคาในคลง ราคาขายตอหนวย จดสงซอ รหสบรษท

เลขทใบสงซอ วนทสงซอ รหสบรษท

เลขทใบสงซอ รหสสนคา จานวนทสงซอ

รเลชนใบสงสนคา

รเลชนการสง

รเลชนใบเสรจรบเงน

รเลชนการขาย

กาหนดAttribute

Database System Database Management Application 19

เลขทใบสงสนคา วนทสงสนคา ราคาขายสงตอหนวย เลขทใบสงซอ รหสบรษท

เลขทใบสงซอ รหสสนคา

เลขทใบเสรจรบเงน วนทออกใบเสรจ

เลขทใบเสรจรบเงน รหสสนคา จานวนทขาย

การทาใหรเลชนมคณสมบตอยในรปแบบทเปนบรรทดฐานโดยทวไปการทาใหแตละรเลชนมคณสมบตอยในรปแบบทเปนบรรทดฐานนนมกจะทาจนถงรปแบบทเปนบรรทดฐานขนท 3 แตอาจมในบางกรณทผออกแบบฐานขอมลจาเปนตองดาเนนการใหรเลชนนนมคณสมบตอยในรปแบบทเปนบรรทดฐานของบอยสและคอดด หรอรปแบบทเปนบรรทดฐานขนท 4 และ 5

เพอขจดปญหาความซาซอนของขอมลทอาจเกดขนในแตละรเลชนจงตองจดทารเลชนใหเปนรปแบบทเปนบรรทดฐาน โดยลาดบแรก คอ การตรวจสอบวา รเลชนมคณสมบตอยในรปแบบทเปนบรรทดฐานใดกอนทจะทาใหเปนรปแบบทเปนบรรทดฐานในขนตอไป

Normalization

Database System Database Management Application 20

Page 90: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

การสรางฐานขอมลและตาราง รเลชนบรษทขายสง ประกอบดวย Attribute รหสบรษท ชอบรษท ทอย โทรศพท โดยม Attribute รหสบรษทเปนคยหลก

การใชภาษาSQLกบฐานขอมล

Database System Database Management Application 21

CREATE TABLE SALES_ORG(SALE_NO INTEGER NOT NULL UNIQUE,SALE_NAME CHAR(15) NOT NULL UNIQUE,SALE_ADD CHAR(20),SALE_TEL CHAR(9),PRIMARY KEY (SALE_NO));

SALE_NO SALE_NAME SALE_ADD SALE_TEL

รเลชนสนคา ประกอบดวย Attribute รหสสนคา ชอสนคา สนคาในคลง ราคาขายตอหนวย จดสงซอ โดยม Attribute รหสสนคาเปนคยหลก และ Attribute รหสบรษทเปนคยนอกทใชในการเชอมโยงขอมลกบรเลชนบรษทขายสง

การสรางฐานขอมลและตาราง

Database System Database Management Application 22

CREATE TABLE GOODS(GOODS_NO CHAR(5) NOT NULL UNIQUE,GOODS_NAME CHAR(15) NOT NULL,STOCK INTEGER,SALE_PRI DECIMAL,REORD_PT INTEGER,SALE_NO INTEGER,PRIMARY KEY (GOODS_NO),FOREIGN KEY (SALE_NO) REFERENCES SALES_ORG (SALE_NO));

GOODS_NO GOODS _NAME STOCK SALE_PRI REORD_PT SALE_NO

รเลชนใบเสรจรบเงน ประกอบดวย Attribute เลขทใบเสรจรบเงน วนทออกใบเสรจ โดยม Attribute เลขทใบเสรจรบเงนเปนคยหลก

การสรางฐานขอมลและตาราง

Database System Database Management Application 23

CREATE TABLE BILL(BILL_NO INTEGER NOT NULL UNIQUE,BILL_DATE DATE,PRIMARY KEY (BILL_NO));

BILL_NO BILL_DATE

รเลชนการขาย ประกอบดวย Attribute เลขทใบเสรจรบเงน รหสสนคา จานวนทขาย โดยม Attribute เลขทใบเสรจรบเงนและรหสสนคาประกอบกนเปนคยหลก Attribute เลขทใบเสรจรบเงนเปน คยนอกทใชในการเชอมโยงขอมลกบรเลชนใบเสรจรบเงน และ Attribute รหสสนคาเปนคยนอกทใชใน การเชอมโยงขอมลกบรเลชนสนคา

การสรางฐานขอมลและตาราง

Database System Database Management Application 24

CREATE TABLE DETAIL(BILL_NO INTEGER NOT NULL,GOODS_NO CHAR(5),AMT_SALE INTEGER,PRIMARY KEY (BILL_NO, GOODS_NO),FOREIGN KEY (BILL_NO) REFERENCES BILL(BILL_NO),FOREIGN KEY (GOODS_NO) REFERENCES GOODS (GOODS_NO));

BILL_NO GOODS_NO AMT_SALE

Page 91: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

การปอนขอมลลงในตาราง SALES_ORGหากตองการปอนขอมล รหสบรษท คอ 1001 ชอบรษท คอ KIDSIRI ทอย คอ BANGKOK และโทรศพท คอ 028585075

การปอนขอมลลงในตารางขอมล

Database System Database Management Application 25

INSERT INTO SALES_ORG (SALE_NO, SALE_NAME, SALE_ADD, SALE_TEL)VALUES (1001, ‘KIDSIRI’, ‘BANGKOK’, ‘028585075’);

SALE_NO SALE_NAME SALE_ADD SALE_TEL1001 KIDSIRI BANGKOK 28585075

การปอนขอมลลงในตาราง GOODSตองการปอนขอมล รหสสนคา คอ E-003 ชอสนคา คอ VIDEO สนคาในคลง คอ 250 ราคาขายตอหนวย คอ 5500 จดสงซอ คอ 20 และรหสบรษท คอ 1002

การปอนขอมลลงในตารางขอมล

Database System Database Management Application 26

INSERT INTO GOODS (GOODS_NO, GOODS_NAME, STOCK, SALE_PRI,REORD_PT, SALE_NO)

VALUES (‘E-003’, ‘VIDEO’, 250, 5500, 20, 1002);

GOODS_NO GOODS_NAME STOCK SALE_PRI REORD_PT SALE_NOE-003 VIDEO 250 5500 20 1002

การปอนขอมลลงในตาราง BILLตองการปอนขอมล เลขทใบเสรจรบเงน คอ 200889 และวนทออกใบเสรจ คอ 06/03/2001

การปอนขอมลลงในตารางขอมล

Database System Database Management Application 27

BILL_NO BILL_DATE200889 6/3/2001

INSERT INTO BILL (BILL_NO, BILL_DATE)VALUES (200889, 06/03/2001);

การปอนขอมลลงในตาราง DETAILตองการปอนขอมล เลขทใบเสรจรบเงน คอ 200889 รหสสนคา คอ E-

003 และจานวนทขาย คอ 1

การปอนขอมลลงในตารางขอมล

Database System Database Management Application 28

INSERT INTO GOODS (BILL_NO, GOOD_NO, AMT_SALE)VALUES (‘E-003’, ‘E-003’, 1);

BILL_NO GOOD_NO AMT_SALE200889 E-003 1

Page 92: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ตวอยางขอมล

Database System Database Management Application 29

SALE_NO SALE_NAME SALE_ADD SALE_TEL1001 KIDSIRI BANGKOK 285850751002 KIDPHAN SAMUTPRAKARN 272981261003 NAMTHAI NAKORNPRATHOM 342811051004 SAITIP NONTHABURI 244711391005 RAKRAE NONTHABURI 28793991

ตาราง SALES_ORG

GOODS_NO GOODS_NAME STOCK SALE_PRI REORD_PT SALE_NOE-003 VIDEO 50 5500 20 1002E-004 TELEVISION 80 4780 30 1002J-011 ORANGE-JUICE 200 720 200 1004J-014 GRAPE-JUICE 180 720 200 1004K-008 TABLE 25 800 10 1001

ตาราง GOODS

ตวอยางขอมล

Database System Database Management Application 30

BILL_NO BILL_DATE200889 6/3/2001200890 6/3/2001200891 6/3/2001200893 6/4/2001200895 6/4/2001

ตาราง BILL

ตาราง DETAILBILL_NO GOODS_NO AMT_SALE200889 E-003 1200889 E-004 1200889 K-008 1200893 J-011 3200895 J-014 3

ตองการทราบวา สนคาชนดใดมราคาขายตอหนวยเทาใด

การเรยกคนขอมลจากตารางขอมล

Database System Database Management Application 31

SELECT GOODS_NO, GOODS_NAME, SALE_PRIFROM GOODS;

GOODS_NO GOODS_NAME SALE_PRIE-003 VIDEO 5500E-004 TELEVISION 4780J-011 ORANGE-JUICE 720J-014 GRAPE-JUICE 720K-008 TABLE 800

ตองการทราบหมายเลขโทรศพทของบรษทขายสงทอยในจงหวดนนทบร

การเรยกคนขอมลจากตารางขอมล

Database System Database Management Application 32

SELECT SALE_NAME, SALE_ADD, SALE_TELFROM SALEWHERE SALE_ADD = ‘NONTHABURI’;

SALE_NO SALE_NAME SALE_ADD SALE_TEL1004 SAITIP NONTHABURI 244711391005 RAKRAE NONTHABURI 28793991

Page 93: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

ตองการทราบวา สนคาชนดใดมปรมาณตากวาหรอเทากบจดสงซอ และสนคาดงกลาวสงมาจากบรษทขายสงใด

การเรยกคนขอมลจากตารางขอมล

Database System Database Management Application 33

SELECT GOODS.GOODS_NO, GOODS.GOODS_NAME, GOODS.STOCK,GOODS.REORD_PT, SALE_ORG.SALE_NAME, SALE_ORG.SALE_TELFROM GOODS, SALE_ORGWHERE GOODS.STOCK <= GOODS.REORD_PTAND GOODS.SALE_NO = SALE_ORG.SALE_NO;

GOODS_NO GOODS_NAME STOCK REORD_PT SALE_NAME SALE_TELJ-011 ORANGE-JUICE 200 200 SAITIP 24471139J-014 GRAPE-JUICE 180 200 SAITIP 24471139

ตองการทราบยอดขายจากการจาหนายสนคาในวนท 06/04/2001

การเรยกคนขอมลจากตารางขอมล

Database System Database Management Application 34

SELECT SUM(GOODS.SALE_PRI * DETAIL.AMT_SALE)FROM BILL, DETAIL, GOODSWHERE BILL.BILL_DATE = 06/04/2001AND BILL.BILL_NO = DETAIL.BILL_NOAND DETAIL.GOODS_NO = GOODS.GOODS_NO;

SUM(GOOD.SALE_PRI * DETAIL.AMT_SALE)4320

ตองการทราบรายการสนคา,รายละเอยดสนคา และยอดขายแตละสนคา ทจาหนายตามใบเสรจรบเงนเลขท 200889

Test

Database System Database Management Application 35

ตองการทราบรายการสนคา,รายละเอยดสนคา และยอดขายแตละสนคา ทจาหนายตามใบเสรจรบเงนเลขท 200889

Solution

Database System Database Management Application 36

BILL_NO BILL_DATE GOODS_NO GOODS_NAME AMT_SALE EXPRESSION200889 6/3/2001 E-003 VIDEO 1 5500200889 6/3/2001 E-004 TELEVISION 1 4780200889 6/3/2001 K-008 TABLE 1 800

SELECT BILL.BILL_NO, BILL.BILLDATE,DETAIL.GOODS_NO, GOODS.GOODS_NAME,DETAIL.AMT_SALE, (GOOD.SALE_PRI * DETAIL.AMT_SALE) AS EXPRESSIONFROM BILL, DETAIL, GOODSWHERE BILL.BILL_NO = 200889AND BILL.BILL_NO = DETAIL.BILL_NOAND DETAIL.GOODS_NO = GOODS.GOODS_NO;

Page 94: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

กรณศกษา 2

Database System Database Management Application 37

Entity

Database System Database Management Application 38

ER Diagram

Database System Database Management Application 39

Table

Database System Database Management Application 40

Page 95: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

Table

Database System Database Management Application 41

Table

Database System Database Management Application 42

Database System Database Management Application 43

Alternative Orders table structure Create Table

Database System Database Management Application 44

Page 96: Database System Concepts - WordPress.com · 2017-01-14 · Database System Concepts ความรูเบ้องตื้ นเก้ยวกี่ บระบบฐานขั

INSERT

Database System Database Management Application 45

UPDATE

Database System Database Management Application 46

DELETE

Database System Database Management Application 47

Note

Database System Database Management Application 48