Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Nächste SlideShare
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
Wird geladen in ... 3
1
von
29
Top clipped slide
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
14. Sep 2014
•
0 gefällt mir
0 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
538 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Wirtschaft & Finanzen
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
Rungnapa Rungnapa
Folgen
สำนักคอมพิวเตอร์ um Bake 4 You
Recomendados
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
Rungnapa Rungnapa
4.2K Aufrufe
•
49 Folien
ระบบฐานข้อมูลเบื้องต้น
Tophuto Piyapan
13K Aufrufe
•
18 Folien
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
Khanpetz'Kao Boreds
1.9K Aufrufe
•
87 Folien
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
Watuka Wannarun
3.6K Aufrufe
•
10 Folien
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
skiats
2.4K Aufrufe
•
56 Folien
การจัดเก็บข้อมูล
sa
32.7K Aufrufe
•
24 Folien
Más contenido relacionado
Presentaciones para ti
(20)
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
kruthanyaporn
•
6.5K Aufrufe
ลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูล
ปิยะดนัย วิเคียน
•
16.4K Aufrufe
Power Point
Khanpetz'Kao Boreds
•
1.2K Aufrufe
ระบบฐานข้อมูล
chanoot29
•
896 Aufrufe
งานนำเสนอ การจัดการฐานข้อมุล
chanoot29
•
2.2K Aufrufe
การจัดการข้อมูลสารสนเทศ
กันติชา คำเทียน
•
1.9K Aufrufe
Database
Edz Chatchawan
•
649 Aufrufe
งานนำเสนอ..
สุปรีดา มารักษ์
•
845 Aufrufe
Chapter1
โทโม๊ะจัง นานะ
•
1.7K Aufrufe
การจัดการฐานข้อมูลเชิงสัมพันธ์2
sunisa3112
•
604 Aufrufe
การจัดการฐานข้อมูล
ABELE Snvip
•
852 Aufrufe
Data management pub
Nittaya Intarat
•
418 Aufrufe
Data processing
chukiat008
•
2.3K Aufrufe
การจัดการข้อมูล
Wanphen Wirojcharoenwong
•
4.8K Aufrufe
บทที่ 3 การวิเคราะห์ระบบและการออกแบบระบบ
Sarawut Panchon
•
15K Aufrufe
ฐานข้อมูลเชิงสัมพันธ์ 2
kanjana Pongkan
•
29.2K Aufrufe
05 ภาษาที่ใช้ในระบบการจัดการฐานข้อมูล
Nattipong Siangyen
•
2.3K Aufrufe
แนวการสอบ ม.4
ปิยะดนัย วิเคียน
•
602 Aufrufe
ฐานข้อมูลเชิงสัมพันธ์
กฤศอนันต์ ชาญเชี่ยว
•
1.6K Aufrufe
การจัดการฐานข้อมูล
Yongyut Nintakan
•
1.3K Aufrufe
Similar a บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
(20)
การพัฒนาเอกสารออนไลน์ขั้นสูง Intro
Jenchoke Tachagomain
•
435 Aufrufe
สถาปัตยกรรมฐานข้อมูล
skiats
•
2K Aufrufe
การจัดการฐานข้อมูล
Yongyut Nintakan
•
567 Aufrufe
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
Gatesiree G'ate
•
279 Aufrufe
บทที่ 1
nunzaza
•
249 Aufrufe
การจัดการหน่วยความจำ
CC Nakhon Pathom Rajabhat University
•
942 Aufrufe
Database system
Iris Depp
•
1.5K Aufrufe
บทที่1
โทโม๊ะจัง นานะ
•
380 Aufrufe
บท1
โทโม๊ะจัง นานะ
•
521 Aufrufe
บท1
โทโม๊ะจัง นานะ
•
227 Aufrufe
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
Isareeya Keatwuttikan
•
314 Aufrufe
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
niwat50
•
17.4K Aufrufe
บทที่ 8
nunzaza
•
739 Aufrufe
บทที่ 10
056777777
•
123 Aufrufe
บทที่ 10
nunzaza
•
1.1K Aufrufe
Database basic new
Qoo Kratai
•
562 Aufrufe
Chapter003
TaiMe Sakdisri
•
412 Aufrufe
Database basic new
Qoo Kratai
•
613 Aufrufe
การรวบรวมความต้องการ
skiats
•
20.2K Aufrufe
01 ฐานข้อมูลและคลังข้อมูล
pop Jaturong
•
2K Aufrufe
Más de Rungnapa Rungnapa
(20)
Building construction 5หลังคา
Rungnapa Rungnapa
•
12.3K Aufrufe
Building construction 5หลังคา แบบฝึกหัด
Rungnapa Rungnapa
•
1.6K Aufrufe
Building construction 5หลังคา
Rungnapa Rungnapa
•
15.9K Aufrufe
Ch10
Rungnapa Rungnapa
•
493 Aufrufe
Ch9
Rungnapa Rungnapa
•
1.2K Aufrufe
Ch8
Rungnapa Rungnapa
•
922 Aufrufe
Ch7
Rungnapa Rungnapa
•
493 Aufrufe
Ch5
Rungnapa Rungnapa
•
395 Aufrufe
Ch6 new
Rungnapa Rungnapa
•
654 Aufrufe
Ch1 3
Rungnapa Rungnapa
•
590 Aufrufe
Ch1 3
Rungnapa Rungnapa
•
690 Aufrufe
บทที่ 3 แนวความคิดพื้นฐาน
Rungnapa Rungnapa
•
1.4K Aufrufe
บทที่2ความเสี่ยงภัยและการจัดการความเสี่ยง
Rungnapa Rungnapa
•
19.5K Aufrufe
บทที่ 1 การจัดการประกันภัย
Rungnapa Rungnapa
•
938 Aufrufe
บทที่1ความรู้เบื้องต้น
Rungnapa Rungnapa
•
4K Aufrufe
บทที่ 5 good corporate governance2
Rungnapa Rungnapa
•
1.5K Aufrufe
บทที่ 4 บรรษัทภิบาล
Rungnapa Rungnapa
•
34.6K Aufrufe
บทที่ 3 แนวปฏิบัติที่ดี
Rungnapa Rungnapa
•
593 Aufrufe
บทที่ 2 corporate social responsibility
Rungnapa Rungnapa
•
7.1K Aufrufe
บทที่ 1 ความรู้ทั่วไป
Rungnapa Rungnapa
•
4K Aufrufe
Último
(20)
Surfing the Perfect Storm.pdf
Kobsak
•
15.8K Aufrufe
กฎหมายและระเบียบกระทรวงการคลังที่เกี่ยวข้องกับการจัดซื้อจัดจ้าง ฯ.pptx
EarNNattanit
•
9 Aufrufe
+Life [Plus Life] ชีวิตติดบวก - โดย นายกะทิ -.pdf
Titipong E.
•
5 Aufrufe
เศรษฐกิจโลกมีสัญญาณชะลอตัวชัดเจนขึ้น EIC คาดเงินเฟ้อโลกชะลอช้าและอยู่สูงกว่าเ...
SCBEICSCB
•
90 Aufrufe
(1)นโยบายข้าวไทยจากอดีตสู่ปัจจุบัน เวทีมูลนิธิข้าวไทย 14-12-65.pptx
sompornisvilanonda2
•
12 Aufrufe
2023 - Time to Invest.pdf
Kobsak
•
15.6K Aufrufe
เศรษฐกิจโลกมีสัญญาณชะลอตัวชัดเจนขึ้น EIC คาดเงินเฟ้อโลกชะลอช้าและอยู่สูงกว่าเ...
SCBEICSCB
•
10.3K Aufrufe
InvestmentYear2023.pdf
Kobsak
•
13.2K Aufrufe
SET.pdf
Kobsak
•
10K Aufrufe
SET.pdf
Kobsak
•
4.1K Aufrufe
Industry-Insight_Agri-com_Nov22_20221123.pdf
SCBEICSCB
•
267 Aufrufe
How to make BCG consistent with sustainable development?
Sarinee Achavanuntakul
•
77 Aufrufe
+Life [Plus Life] ชีวิตติดบวก.pdf
Titipong E.
•
7 Aufrufe
เศรษฐกิจไทยปี 2023 ได้อานิสงส์จากจีนเปิดประเทศ คาดนักท่องเที่ยวจีนจะเดินทางเข...
SCBEICSCB
•
3.2K Aufrufe
5 ประเทศสนับสนุนชาวต่างชาติซื้อที่ดิน.pptx
ChompooSudjai
•
21 Aufrufe
EIC Consumer Survey 2023 : ผ่าปัญหาหนี้ครัวเรือน โจทย์ข้อใหญ่ที่ต้องแก้ไขอย่า...
SCBEICSCB
•
1.3K Aufrufe
SPORT FINANCE IN PERSPECTIVE
KASETSART UNIVERSITY
•
4 Aufrufe
Industry-Insight_Agri-com_Nov22-20221123.pdf
SCBEICSCB
•
2.3K Aufrufe
2023 سنة الاستثمار
YouNess361973
•
7 Aufrufe
Outlook_1Q2023_Final.pdf
SCBEICSCB
•
1.7K Aufrufe
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานขอมูล วัตถุประสงค •
สามารถอธิบายแนวคิดทั่วไปเกี่ยวกับระบบจัดการฐานขอมูล(database management system – DBMS)ได อยางถูกตอง • สามารถอธิบายแนวคิดของระบบจัดการฐานขอมูลเชิงสัมพันธไดอยางถูกตอง • สามารถอธิบายถึงความจําเปนในการใชงานระบบจัดการฐานขอมูลได • สามารถอธิบายในเบื้องตนวาขอมูลที่นํามาใชประโยชนถูกจัดเก็บไวในระบบจัดการฐานขอมูลอยางไร • สามารถอธิบายในเบื้องตนวาการคนคืนและแกไขขอมูลในระบบจัดการฐานขอมูลทําไดอยางไร • สามารถอธิบายในเบื้องตนวาระบบจัดการฐานขอมูลรองรับการใชงานของผูใชหลายๆ คนพรอมๆ กันได อยางไร • สามารถอธิบายในเบื้องตนถึงวิธีการที่ระบบจัดการฐานขอมูลใชปองกันขอมูลผิดพลาดในกรณีที่ระบบ ลมเหลว • สามารถอธิบายองคประกอบหลักของระบบจัดการฐานขอมูล • สามารถระบุผูที่มีสวนเกี่ยวของกับการใชงานระบบจัดการฐานขอมูล คําสําคัญ: ขอมูล (data); สารสนเทศ (information); การจัดการฐานขอมูล (database management); ความเปน อิสระของขอมูล (data independence); การออกแบบฐานขอมูล (database design); แบบจําลองขอมูล (data model); ฐานขอมูลเชิงสัมพันธและขอคําถาม (relational database and queries); สคีมา (schema); ระดับของ ฐานขอมูลเชิงนามธรรม (levels of database abstraction); ธุรกรรม/รายการเปลี่ยนแปลง (transaction); ภาวะ พรอมกันและการปดกั้น (concurrency and locking); การกูและการลงบันทึก (recovery and logging); โครงสรางของระบบจัดการฐานขอมูล (DBMS structure); ผูดูแลฐานขอมูล (database administrator—DBA); โปรแกรมเมอร (programmer); ผูใช (end user)
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 1.1
บทนํา ขอมูล (data) และสารสนเทศ (information) ในปจจุบันนี้มีอยูมากมายมหาศาล และเพิ่มจํานวนขึ้น อยางรวดเร็วซึ่งเราไมสามารถปฏิเสธไดเลยวาขอมูลและสารสนเทศนั้นมีประโยชนมากมายสําหรับผูนําไปใช ในแงขององคการตางๆ ก็ตระหนักถึงความสําคัญของขอมูลเปนอยางดี ซึ่งเราไดใหความสําคัญกับขอมูล เปรียบเสมือนสินทรัพยอยางหนึ่งขององคการไปแลว การที่จะใชประโยชนจากขอมูลที่มีจํานวนมหาศาลและ ซับซอนนี้ จําเปนที่จะตองอาศัยเครื่องมือเพื่อชวยอํานวยความสะดวกในการจัดการขอมูลตลอดจนการนํา ขอมูลไปใชงานอยางมีประสิทธิภาพ มิฉะนั้นแลวคาใชจายในการจัดหาและการจัดการขอมูลจะมีมูลคาสูงเกิน กวาประโยชนที่เราจะไดรับจากตัวขอมูล ฐานขอมูล คือกลุมของขอมูล ซึ่งโดยทั่วไปเปนขอมูลที่เกี่ยวของกับคุณสมบัติ และกิจกรรมตางๆ ของ ผูกระทํากิจกรรมนั้นๆ และมีความสัมพันธกัน ตัวอยางของฐานขอมูล เชน ฐานขอมูลของมหาวิทยาลัยอาจจะประกอบไปดวยขอมูลดังนี้ • เอนทิตี (entity) เชน นักศึกษา อาจารย รายวิชา หองเรียน • ความสัมพันธ (relationship) ระหวางเอนทิตี เชน นักศึกษาลงทะเบียนเรียนในรายวิชา อาจารยสอนในรายวิชา และการใชงานหองตางๆ สําหรับแตละรายวิชา ระบบจัดการฐานขอมูล (database management system – DBMS) คือซอฟตแวรที่ชวยในการจัดการและใช งานกลุมของขอมูล โดยเฉพาะการจัดการกับกลุมของขอมูลขนาดใหญหรือฐานขอมูลนั่นเอง ปจจุบันเราไดใชระบบ จัดการฐานขอมูลกันเปนที่แพรหลายซึ่งเกือบเปนสิ่งหนึ่งที่ขาดไมไดในการบริหารจัดการองคการ วัตถุประสงคของการศึกษารายวิชาการออกแบบและพัฒนาฐานขอมูลเนนที่การออกแบบพัฒนาและ สามารถนําระบบฐานขอมูลที่พัฒนาไปใชอยางมีประสิทธิภาพ ทั้งนี้การที่จะบรรลุวัตถุประสงคดังกลาว เรามี ความจําเปนที่จะตองเลือกใชระบบจัดการฐานขอมูลที่ถูกตองเหมาะสมกับการประยุกตใช ซึ่งการเลือกใช ระบบจัดการฐานขอมูล ตลอดจนการออกแบบ และพัฒนาฐานขอมูลสําหรับระบบจัดการฐานขอมูลใดๆ เรามี ความจําเปนอยางยิ่งที่จะตองเขาใจถึงการทํางานของระบบจัดการฐานขอมูล ระบบจัดการฐานขอมูลที่ใชกันในปจจุบันมีหลายประเภท แตสําหรับรายวิชานี้จะเนนที่ระบบจัดการ ฐานขอมูลเชิงสัมพันธ (relational database management systems – RDBMSs) ซึ่งเปนประเภทของระบบ จัดการฐานขอมูลที่แพรหลายที่สุดในปจจุบัน สําหรับเรื่องที่จะศึกษาสามารถแบงออกเปนกลุมใหญๆ ได ดังตอไปนี้ 1) แนวคิดพื้นฐานเกี่ยวกับฐานขอมูล ไดแกเนื้อหาในบทนี้ 2) การออกแบบฐานขอมูล หัวขอดังกลาวศึกษาเกี่ยวกับ แนวคิด ขั้นตอน และเครื่องมือที่ใชในการ ออกแบบเพื่อใหไดมาซึ่งฐานขอมูลที่ถูกตองเหมาะสม ตลอดจนการศึกษาเกี่ยวกับการที่ผูใช
4 บทที่ 1 อธิบายกิจกรรมตางๆ
ตลอดจนสิ่งที่เกี่ยวของกับกิจกรรมนั้นๆ ขององคการ ทั้งในรูปสิ่งของที่ เปนรูปธรรมและนามธรรม รวมถึงบุคคลตางๆอยางไร ในแงของการจัดเก็บเปนขอมูลในระบบ จัดการฐานขอมูล ปจจัยใดบางที่ควรคํานึงถึงในการจัดการและจัดเก็บขอมูล (บทที่ 2-5) 3) การพัฒนาฐานขอมูล การพัฒนาระบบฐานขอมูล การพัฒนาโปรแกรมประยุกตหรือระบบ สารสนเทศที่ใชงานระบบจัดการฐานขอมูลนั้นทําอยางไร (บทที่ 6-8 และ 10) 4) การวิเคราะหและใชงานขอมูล ผูใชจะสามารถตอบคําถามเกี่ยวกับองคการในแงตางๆไดอยางไร โดยการใชขอคําถาม (queries) กับระบบจัดการฐานขอมูล (บทที่ 8) 5) การจัดการธุรกรรมและความมั่นคงปลอดภัย ระบบจัดการฐานขอมูลรองรับการใชงานของผูใช หลายๆ คนพรอมกันไดอยางไร รวมทั้งระบบจัดการฐานขอมูลทําอยางไรในการปองกันความ ผิดพลาดของขอมูลในกรณีที่ระบบลมเหลว ตลอดจนการรักษาความมั่นคงปลอดภัยของ ฐานขอมูล (บทที่ 9) หลังจากไดแนะนําเกี่ยวกับระบบฐานขอมูลในเบื้องตน และภาพรวมของเรื่องที่จะศึกษาในรายวิชา แลว ในบทนี้หัวขอที่ 1.2 ยังจะกลาวถึงขอมูลและสารสนเทศ ซึ่งเนนย้ําใหเห็นถึงความสําคัญของระบบ ฐานขอมูล หัวขอที่ 1.3 กลาวถึงวิวัฒนาการของการจัดการฐานขอมูลและบทบาทของระบบจัดการฐานขอมูล ในระบบสารสนเทศสมัยใหม หัวขอที่ 1.4 ระบุถึงขอเสียของการจัดเก็บขอมูลดวยระบบไฟลขอมูลและระบบ จัดการฐานขอมูลสามารถลบขอเสียของระบบไฟลไดอยางไร และไดอธิบายถึงขอดีของการใชงานระบบ จัดการฐานขอมูลในหัวขอที่ 1.5 สําหรับในหัวขอที่1.6นั้นไดอธิบายวาเราจะมีวิธีการอยางไรในการจัดเก็บขอมูลและสารสนเทศของ องคการลงในระบบจัดการฐานขอมูล ผูใชจะมองฐานขอมูลในระดับสูง กลาวคือมองในเชิงการใชงานจริงใน สภาพแวดลอมจริง ในขณะที่ระบบจัดการฐานขอมูลจะจัดเก็บขอมูลในรูปของขอมูลดิจิตอลเปนบิตลงใน อุปกรณจัดเก็บ ทั้งนี้จะพบวาระหวางระดับของขอมูลในระดับที่ผูใชมองเห็นกับระดับจัดเก็บขอมูลลงใน ฮารดแวรจะถูกขั้นและจัดการดวยระดับตางๆ ซึ่งเราเรียกวาระดับเชิงนามธรรม (levels of abstraction) ซึ่งถูก สรางขึ้นมาเพื่อเอื้ออํานวยตอการจัดการฐานขอมูลอยางมีประสิทธิภาพ หัวขอที่ 1.7 อธิบายถึงวิธีการที่ผูใชจะทําอยางไรในการเรียกใชขอมูลที่ถูกจัดเก็บอยูในระบบจัดการ ฐานขอมูลรวมถึงความจําเปนในการใชเทคนิคตางๆในการดึงขอมูลออกมาจากฐานขอมูลอยางรวดเร็ว หัวขอ ที่ 1.8 อธิบายภาพรวมเกี่ยวกับการทํางานของระบบจัดการฐานขอมูลวามีวิธีการอยางไรในการรองรับการ ทํางานของผูใชหลายๆ คนพรอมๆ กัน ตลอดจนระบบจัดการฐานขอมูลปองกันขอมูลจากความผิดพลาดและ ความเสียหายในกรณีที่ระบบลมเหลวไดอยางไร โครงสรางของบท และหัวขอที่ 1.3-1.9 ตลอดจนสคีมาตัวอยางของมหาวิทยาลัย ดัดแปลงและเรียบ เรียงจาก Ramakrishnan and Gehrke, 2003 เปนหลัก แนวคิดอื่นๆ เรียบเรียงมาจากและอานเพิ่มเติมไดตาม เอกสารอางอิง
แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 5 1.2 ขอมูลและสารสนเทศ ขอมูล
คือ ขอเท็จจริงเกี่ยวกับสิ่งตางๆ สารสนเทศ คือ ขอมูลที่ผานการประมวลผล ขอมูลและสารสนเทศมีความจําเปนในทุกวงการ เชนในแงธุรกิจนั้นมีความสําคัญตอผูบริหารในการ ตัดสินใจดําเนินธุรกิจตางๆ ทั้งนี้เราตองเขาใจความหมายของคําวาขอมูลและสารสนเทศกอน ขอมูล (data) คือขอเท็จจริงที่เกี่ยวของกับสิ่งที่เราสนใจจะจัดเก็บซึ่งไดแกเอนทิตีและความสัมพันธดังไดกลาวถึงในหัวขอ ที่แลว สารสนเทศ (information) หรือในบางครั้งเรียกวาขอมูลสารสนเทศ คือสิ่งที่เราไดจากการนําขอมูลมา ประมวลผล การประมวลผลคือกระบวนการใดๆ ที่จะไดมาซึ่งสารสนเทศที่นํามาใชประโยชนได เรานํา สารสนเทศมาใชประกอบการตัดสินใจดําเนินการเพื่อใหบรรลุวัตถุประสงคขององคการ เราสามารถยกตัวอยางความแตกตางระหวางขอมูลและสารสนเทศ ตลอดจนการนําสารสนเทศไปใช ประโยชนไดดวยตัวอยางขอมูลการจดบันทึกการขายของรานขายของชําดังนี้ (สําหรับเปนตัวอยางเทานั้น ขอมูลมีปริมาณนอยเพื่อความสะดวกในการอธิบาย) ตารางที่ 1-1 ตัวอยางขอมูลการขายและรายละเอียดสินคา รหัสสินคา ชื่อสินคา ประเภทสินคา จํานวนที่ขาย วันที่ 00001 มามารสหมูสับ บะหมี่กึ่งสําเร็จรูป 5 1/09/2007 00002 ยํายํารสหมูสับ บะหมี่กึ่งสําเร็จรูป 5 5/09/2007 00001 มามาตมยํากุง บะหมี่กึ่งสําเร็จรูป 3 10/09/2007 00005 ชาเขียวโออิชิรสขาวญี่ปุน เครื่องดื่ม 1 10/09/2007 00010 แชมพูแพนทีน 500 มล. เครื่องสําอาง 1 17/09/2007 00001 มามารสหมูสับ บะหมี่กึ่งสําเร็จรูป 4 18/09/2007 00098 โคกซีโรกระปอง 325 มล. เครื่องดื่ม 12 20/09/2007 00209 เธอกับฉัน กันยายน 2550 หนังสือ 1 22/09/2007 00005 ชาเขียวโออิชิรสขาวญี่ปุน เครื่องดื่ม 2 28/09/2007 00112 ขายหัวเราะกันยายน2550 หนังสือ 1 29/09/2007 ขอมูล (data) ประมวลผล (process) สารสนเทศ (information)
6 บทที่ 1 จากขอมูลดิบขางตน
ยังไมมีประโยชนตอการชวยในการนํามาพัฒนาการขาย เราสามารถนํารายการ ขายตลอดเดือนมาพิจารณาสินคาที่ขายดีเปนพิเศษ เพื่อซื้อสินคานั้นๆ ในปริมาณมากขึ้น และสินคาชิ้นใดที่ ขายไดไมดี ซึ่งเราจะสามารถวิเคราะหในภายหลังไดวาเกิดจากอะไรและเราอาจจะไมจําเปนตองสั่งซื้อสินคา นั้นๆ มาขาย หรือในทางกลับกันอาจจัดรายการสงเสริมการขายสินคาที่ขายไดนอยแตไดกําไรมาก ใหมียอด จําหนายเพิ่มขึ้น การที่จะไดมาซึ่งสารสนเทศดังกลาว เราสามารถประมวลผลไดดวยวิธีการตางๆ เชน การ รวมจํานวนสินคาที่เปนสินคาเดียวกันและเรียงลําดับขอมูลจากมากไปนอย ตารางที่ 1-2ขอมูลการขายสินคาเรียงตามลําดับจํานวนที่ขายได รหัสสินคา ชื่อสินคา ประเภทสินคา จํานวนที่ขาย 00098 โคกซีโรกระปอง 325 มล. เครื่องดื่ม 12 00001 มามารสหมูสับ บะหมี่กึ่งสําเร็จรูป 9 00002 ยํายํารสหมูสับ บะหมี่กึ่งสําเร็จรูป 5 00001 มามาตมยํากุง บะหมี่กึ่งสําเร็จรูป 3 00005 ชาเขียวโออิชิรสขาวญี่ปุน เครื่องดื่ม 3 00010 แชมพูแพนทีน 500 มล. เครื่องสําอาง 1 00209 เธอกับฉัน กันยายน 2550 หนังสือ 1 00112 ขายหัวเราะกันยายน2550 หนังสือ 1 เราสามารถประมวลผลใหสารสนเทศที่ไดมามีประโยชนหรือสามารถเขาใจไดงายขึ้นอีกดวยการทํา ใหเห็นภาพ เชน การสรางแผนภูมิจากสารสนเทศที่ได ดังตัวอยาง ภาพที่ 1-1ตัวอยางแผนภูมิแทงแสดงยอดจําหนายสินคาแยกตามประเภท
แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 7 เราจะเห็นภาพชัดเจนถึงประเภทสินคาที่มียอดจําหนายสูงจากสารสนเทศที่ไดจากการประมวลผล ทํา ใหการวางแผนการบริหารรานคาสามารถทําไดอยางมีกลวิธีและมีประสิทธิภาพเพิ่มขึ้น
ในกรณีนี้รานคาควรที่ จะซื้อบะหมี่กึ่งสําเร็จรูปในปริมาณที่มากกวาสินคาอื่นๆ เพื่อใหเพียงพอตอการจําหนาย การจัดเก็บขอมูล การนําขอมูลมาใชประโยชน ตลอดจนการประมวลผลขอมูลและนําสารสนเทศที่ไดมาใชประโยชนนั้นเรา สามารถใชระบบสารสนเทศ (information system) มาจัดการได ซึ่งระบบสารสนเทศในปจจุบันอาศัยการ จัดการขอมูลที่มีประสิทธิภาพจากระบบจัดการฐานขอมูล 1.3 วิวัฒนาการของฐานขอมูล (Ramakrishnan and Gehrke, 2004) การจัดเก็บ แกไข และบริหารจัดการขอมูลเปนหัวขอการศึกษาและวิจัยที่สําคัญ ตลอดจนไดรับการ พัฒนามาอยางตอเนื่อง ระบบจัดการฐานขอมูลสําหรับใชงานทั่วๆ ไประบบแรกไดรับการออกแบบโดยนาย ชาลส แบคแมน (Charles Bachman) แหงบริษัทเจเนอรัลอิเล็กทริก ในตนทศวรรษ ค.ศ. 1960 ระบบดังกลาว ถูกเรียกวา Integrated Data Store ซึ่งเปนรากฐานของการจัดเก็บขอมูลโดยใชแบบจําลองขอมูลแบบเครือขาย (network data model) ทั้งนี้ระบบดังกลาวไดรับการยอมรับและกําหนดมาตรฐานขึ้นโดย The Conference on DataSystemsLanguages(CODASYL)รูปแบบของการจัดเก็บขอมูลดังกลาวไดรับการยอมรับและมีอิทธิอยาง มากตอรูปแบบของสถาปตยกรรมระบบจัดการฐานขอมูลในชวงทศวรรษ 1960 แบคแมนเปนบุคคลแรกที่ ไดรับ ACM’s Turing Award ดานการศึกษาฐานขอมูลในป 1973 ซึ่ง Turing Award นี้เปนรางวัลที่เปรียบได กับรางวัลโนเบลในทางวิทยาการคอมพิวเตอร ในชวงปลายทศวรรษที่ 1960 บริษัทไอบีเอ็มไดพัฒนาระบบจัดการฐานขอมูลในชื่อ Information Management System (IMS) ซึ่งยังคงไดรับการใชงานอยูในปจจุบันสําหรับฐานขอมูลขนาดใหญ โดย IMS นี้ นําเสนอรูปแบบของการจัดการขอมูลดวยแบบจําลองขอมูลเชิงลําดับชั้น (hierarchical data model) ในชวง เวลาเดียวกันระบบ SABRE ซึ่งเปนระบบสําหรับการจองตั๋วเครื่องบินที่บริษัทไอบีเอ็มพัฒนารวมกับอเมริกัน แอรไลนสไดถูกพัฒนาขึ้น เพื่อใหสามารถใชงานผานเครือขายคอมพิวเตอรได ระบบดังกลาวมีความนาสนใจ ตรงที่เปนระบบสําคัญสําหรับการจองตั๋วเครื่องบินในปจจุบัน เชนเว็บไซต Travelocity ยังคงใชงานระบบ SABRE ในป1970เอ็ดการ ค็อด(EdgarCodd)แหงหองปฏิบัติการวิจัยซานโฮเซของบริษัทไอบีเอ็ม ไดเสนอ รูปแบบการจัดการขอมูลดวยแบบจําลองขอมูลเชิงสัมพันธ (relational data model) ซึ่งรูปแบบดังกลาวมีความ เหมาะสมในการใชงานเปนอยางยิ่งและไดรับความนิยมแพรหลายอยางรวดเร็ว นอกจากนี้มีผูสนับสนุนและ วิจัยเพื่อใหเกิดทฤษฎีมารองรับและประยุกตใชอยางเปนระบบ นอกจากจะไดรับความสนใจในแวดวงวิชาการ โดยถือเปนศาสตรแขนงหนึ่งแลว ระบบจัดการฐานขอมูลเชิงสัมพันธยังมีผลกระทบตอแวดวงธุรกิจ การนํา ระบบจัดการฐานขอมูลเชิงสัมพันธไปชวยในการบริหารองคการกอใหเกิดประโยชนอยางสูง ไดรับการ ยอมรับ และถือเปนเครื่องมือมาตรฐานอยางหนึ่งที่ควรนํามาใชเพื่ออํานวยความสะดวกในการปฏิบัติงานและ เพิ่มประสิทธิภาพขององคการ Codd ไดรับรางวัล Turing ในป 1981 ในชวงทศวรรษ 1980 แบบจําลองเชิงสัมพันธไดกลายเปนมาตรฐานหลักของระบบจัดการฐานขอมูล และมีการใชระบบจัดการฐานขอมูลกันอยางแพรหลาย ภาษาที่ใชสําหรับจัดการฐานขอมูลเชิงสัมพันธที่ไดรับ
8 บทที่ 1 การยอมรับเปนมาตรฐานไดแกSQLซึ่งถูกพัฒนาขึ้นโดยบริษัทไอบีเอ็มภายใตโครงการIBM’sSystemRโดย SQL
ดังกลาวไดถูกกําหนดมาตรฐานขึ้นในปลายทศวรรษที่ 1980 โดย SQL เริ่มจากการกําหนดและรองรับให เปนมาตรฐานโดย American National Standards Institute (ANSI) จน International Organization for Standardization (ISO) กําหนดใหเปนมาตรฐานในระดับนานาชาติในที่สุด การคิดคนสําคัญอีกอยางหนึ่งของ SQL ก็คือการออกแบบ SQL เพื่อใหรองรับการใชงานฐานขอมูลโดยผูใชฐานขอมูลหลายคน และธุรกรรมที่ เกิดขึ้นพรอมๆ กันได โดยเขียนคําสั่งเสมือนมีผูใชงานฐานขอมูลไมพรอมกัน แตระบบจัดการฐานขอมูล สามารถรองรับการใชงานฐานขอมูลพรอมจากผูใชหลายคนได เจมส เกรย (James Gray) ไดรับรางวัล Turing สําหรับการศึกษาที่เปนประโยชนตอการจัดการธุรกรรมของฐานขอมูล ปรากฏการณที่นาสนใจของการจัดการฐานขอมูลในปจจุบันไดแกการกําเนิดของระบบจัดการ ทรัพยากรองคการ (enterprise resource planning – ERP) ซึ่งเปนรูปแบบสมัยใหมของการใชงานระบบจัดการ ฐานขอมูล โดยสวนใหญองคการธุรกิจจะประกอบไปดวยหนวยงานยอยๆ ที่คลายคลึงกันแบงตามหนาที่ทาง ธุรกิจ (business functions) เชนฝายทรัพยากรมนุษย ฝายการเงินและบัญชี ฝายผลิต ฝายขาย และฝายบริหาร เปนตน ซึ่งโดยปกติหนวยงานทางธุรกิจเหลานี้มีระบบสารสนเทศของตนเองและจัดเก็บขอมูลลงในระบบ จัดการฐานขอมูล นอกจากขอมูลที่จัดเก็บในระบบจัดการฐานขอมูลของหนวยงานยอยๆ จะมีความคลายคลึง กันในแตละบริษัทแลว กระบวนการทางธุรกิจอื่นๆ ก็มีความคลายคลึงเชนเดียวกัน จึงมีผูพัฒนา ERPขึ้นเพื่อ เชื่อมโยงขอมูลของหนวยงานยอยของบริษัทเขาดวยกัน ตลอดจนนําเสนอโปรแกรมประยุกตที่อํานวยความ สะดวกในกระบวนการธุรกิจมาพรอมกับระบบจัดการฐานขอมูลดวย บริษัทผูนําดานซอฟตแวร ERP ไดแก Baan Oracle PeopleSoft SAP และ Siebel เปนตน ชุด ERP แตละชุดสามารถปรับแตงเพื่อใหเขากับองคการ ธุรกิจใดๆ ไดโดยเฉพาะ จึงเปนการประหยัดเวลาและคาใชจายในการพัฒนาระบบสารสนเทศเพื่อชวยในการ ดําเนินการและบริหารองคการ วิวัฒนาการที่สําคัญอยางยิ่งยวดของระบบจัดการฐานขอมูลไดแกความสามารถของการใชงาน ฐานขอมูลผานอินเตอรเน็ต ในยุคแรกของอินเตอรเน็ต หนาเว็บตางๆ เปนไฟลที่มีเนื้อหาคงที่ตามที่ไดสราง ขึ้นโดยHTML แตในปจจุบันเราสามารถสรางเว็บไซตที่สามารถตอบสนองตามการรองขอของผูใชที่แตกตาง กันจากฟอรมของเว็บ คนคืนขอมูลจากฐานขอมูลประมวลผลและนําเสนอในรูปแบบของเอกสารHTMLเพื่อ สามารถแสดงผลบนเว็บบราวเซอรได การประยุกตใชงานดังกลาวเปนที่นิยมแพรหลาย ผูผลิตระบบจัดการ ฐานขอมูลทุกรายไดเพิ่มความสามารถดานการใชงานฐานขอมูลบนเว็บใหกับผลิตภัณฑของตนเอง ภาพที่ 1-2 วิวัฒนาการที่สําคัญของฐานขอมูล
แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 9 ระบบจัดการฐานขอมูลทวีความสําคัญและประโยชนมากขึ้นเรื่อยๆ เนื่องจากมีการเรียกใชขอมูลและ สารสนเทศผานทางเว็บมากขึ้นอยางไมหยุดยั้ง
นอกจากขอมูลที่เปนภาพและตัวหนังสือแลว ปจจุบัน ฐานขอมูลมัลติมีเดียถูกใชงานอยางแพรหลายเพื่อรองรับการดูภาพยนตร ทีวี วีดีทัศน ตลอดจนฟงเพลงและ ขาวสารผานทางเครือขายคอมพิวเตอร การใชงานฐานขอมูลเพื่อรองรับหองสมุดดิจิทัล การใชงานเพื่อรองรับ โครงการวิจัยทางวิทยาศาสตรขนาดใหญเชนแผนที่ยีนของมนุษย โครงการ Earth Observation System ของ องคการนาซา การใชเพื่อรองรับกระบวนการตัดสินใจทางธุรกิจ การนํามาใชประกอบการขุดคนขอมูลที่ นาสนใจเพื่องานวิชาการและธุรกิจ ในแวดงวงธุรกิจตลาดของระบบจัดการฐานขอมูลยังมีขนาดที่ใหญเปน อันดับตนๆ ทั้งหมดที่กลาวมานี้เปนเพียงตัวอยางบางสวนของบทบาทที่สําคัญของระบบจัดการฐานขอมูล การศึกษาเกี่ยวกับฐานขอมูลจึงเปนสิ่งที่นาสนใจและมีประโยชนอยางกวางขวาง 1.4 ระบบไฟลและระบบจัดการฐานขอมูล เพื่อใหเขาใจถึงความจําเปนในการใชงานระบบจัดการฐานขอมูล สามารถอธิบาย (Ramakrishnan and Gehrke, 2003)ใหเห็นไดดังนี้ บริษัทแหงหนึ่งมีขอมูลอยูเปนจํานวนมากประมาณ500GB ซึ่งเปนขอมูล ของพนักงาน แผนก สินคา การขาย ฯลฯ ขอมูลถูกใชงานโดยพนักงานหลายคนพรอมกัน การเรียกใชขอมูล จะตองไดรับการตอบสนองอยางรวดเร็ว การเปลี่ยนแปลงขอมูลใดๆ โดยผูใชงานคนละคนจะตองยังคงความ ถูกตองของขอมูล และจะตองมีการปองกันการเขาถึงขอมูลบางขอมูล เชน ขอมูลเงินเดือนของพนักงาน เปน ตน เราสามารถลองที่จะจัดการขอมูลดังกลาวโดยจัดเก็บขอมูลรูปแบบไฟลปกติที่ปฏิบัติกันมานานแลว ซึ่งวิธีดังกลาวมีขอเสียที่เกิดขึ้นดังนี้ • เราไมสามารถจัดเก็บขอมูลไวในหนวยความจําหลักไดทั้ง500GB ขอมูลจะตองถูกจัดเก็บอยูบน หนวยความจําสํารองไดแกฮารดดิสก หรือเทปแมเหล็ก เมื่อจําเปนจะตองใชงานขอมูลใดๆ ขอมูลสวนที่เกี่ยวของจะถูกอานขึ้นสูหนวยความจําหลัก ซึ่งจะตองมีการเขียนโปรแกรมเพื่อ รองรับกระบวนการนี้เปนพิเศษ • การตอบคําถามจากขอมูล การจัดเก็บ การแกไขใดๆ จําเปนตองเขียนโปรแกรมเฉพาะกับขอมูล ชุดนั้นๆ ซึ่งโปรแกรมจะมีความซับซอนเนื่องจากขนาดที่ใหญโตของขอมูล • จะตองมีการปองกันความผิดพลาดในกรณีที่มีการแกไขขอมูลเดียวกันพรอมๆ กัน การจัดการ เหตุการณดังกลาวในกรณีที่ใชระบบไฟลขอมูล ยิ่งทวีความซับซอนในการเขียนโปรแกรม • ระบบตองรับประกันวาขอมูลจะคืนสูสภาพที่ควรจะถูกตองจากการแกไขครั้งสุดทายกอนเกิด การลมเหลวของระบบ • ปกติแลวระบบไฟลจะมีการปองกันการเขาถึงไฟลโดยการใชรหัสผานสําหรับผูใชกอนเขาใช ระบบหรือใชรหัสผานเพียงรหัสเดียวสําหรับไฟลทั้งหมด ซึ่งวิธีการปองกันไฟลดังกลาวไม เพียงพอตอการใชงานในรูปแบบของการอนุญาตใหผูใชแตละคนสามารถเขาถึงขอมูลชุดใดชุด หนึ่งเทานั้นในชุดขอมูลที่มีอยูทั้งหมด
10 บทที่ 1 ตัวอยางที่
1.1 ปญหาการจัดการไฟล ตัวอยางการจัดเก็บขอมูลของฝายบุคคล และฝายขายซึ่งมีรูปแบบของไฟลไมเหมือนกัน ดังนี้ ฝายบุคคล ฝายขาย จากตัวอยาง ไฟลขอมูลพนักงาน 2 ไฟลอยูในแตละแผนกแยกจากกัน จะพบวาเรามีความจําเปนตอง เขียนโปรแกรมสําหรับเขาถึงระเบียนดวยตนเองตามรูปแบบของไฟล ในกรณีตัวอยางนี้เราใชเครื่องหมาย “|” เปนตัวแบงฟลด เราจะไมสามารถใชโปรแกรมนี้อานไฟลอื่นๆ ที่ไมไดใชเครื่องหมายแบงฟลดเดียวกัน นอกจากนี้ถามีความจําเปนที่ไฟลจะตองจัดเก็บฟลดเพิ่มเติมเชน หมายเลขประกันสังคม เราจะตองเขียน โปรแกรมใหม ไฟลขอมูลซ้ําซอนกัน 2 ไฟลนี้ยังจะกอใหเกิดปญหาความขัดแยงกันของขอมูลในกรณีที่เกิด การแกไขขอมูลของพนักงานคนใดในไฟลหนึ่ง แตไมไดแกในอีกไฟลหนึ่ง คําตอบของขอกําหนดของระบบทั้งหมดที่กลาวมาคือการใชระบบจัดการฐานขอมูล การจัดเก็บ ขอมูลลงในฐานขอมูลแทนที่จะจัดเก็บลงในไฟลธรรมดา เราสามารถที่จะจัดการกอนขอมูลไดอยางมี ประสิทธิภาพมากขึ้น ระบบจัดการฐานขอมูลเปนสิ่งที่จะตองใชงานอยางหลีกเลี่ยงไมไดสําหรับหนวยงาน โดยทั่วไปที่ขอมูลมีขนาดหลายรอย GB (ซึ่งเปนขนาดของขอมูลโดยทั่วๆ ไปในปจจุบัน) และการใชงาน พรอมๆกันของผูใชเปนพันคน ในหัวขอตอๆไปจะไดอธิบายถึงขอดีและสถาปตยกรรมของฐานขอมูลเพื่อให เขาใจไดถึงหลักการทํางานของฐานขอมูลที่จะรองรับความตองการจัดการขอมูลไดดีกวาไฟลอยางไร 1.5 ขอดีของระบบจัดการฐานขอมูล ระบบจัดการฐานขอมูลมีขอดีดังตอไปนี้ • ความเปนอิสระของขอมูล (data independence) ความเปนอิสระของขอมูลหมายถึงการที่ รูปแบบของขอมูลไมผูกติดกับสิ่งใดสิ่งหนึ่งในกระบวนใชงานฐานขอมูล เชน การที่นักพัฒนา ระบบจะพัฒนาระบบสารสนเทศหรือโปรแกรมประยุกตใดๆ เพื่อใชประโยชน ชุดคําสั่งของ โปรแกรมไมควรผูกติดอยูกับรูปแบบของการจัดเก็บขอมูลในระดับฮารดแวร แตควรมีกลไกใน การขั้นกลางระหวางการจัดเก็บขอมูลกับการใชงานขอมูลในระดับสูง ซึ่งสามารถสรางเปน ระดับๆ ของกลไกไดโดยเรียกวาระดับเชิงนามธรรมของฐานขอมูล (level of database abstractions) • การเขาถึงขอมูลอยางมีประสิทธิภาพ (efficient data access) ระบบจัดการฐานขอมูลใชเทคนิคที่ ซับซอนและชาญฉลาดที่จะจัดเก็บขอมูลและเรียกใชขอมูลอยางมีประสิทธิภาพและรวดเร็ว เทคนิคดังกลาวจําเปนอยางยิ่งโดยเฉพาะสําหรับการจัดการขอมูลที่อยูในหนวยความจําสํารองที่ รหัสพนักงาน | ชื่อพนักงาน | แผนก | เงินเดือน | 00001 | นายสมชาย จดปลายเทา | ฝายขาย | 30000 | 00002 | นางสาวสมศรี จดปลายเทา | ฝายบุคคล | 12000 | … รหัสพนักงาน | ชื่อพนักงาน | ยอดขาย | 00001 | นายสมชาย จดปลายเทา | 300000 | 00004 | นางสาวสมหญิง จดปลายเทา | 250000 | …
แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 11 ทํางานไดชากวาหนวยความจําหลักอยางมาก นอกจากนี้ยังรวมถึงวิธีจัดการกับขอมูลเพื่อแสดง ผลลัพธไดอยางรวดเร็วตามขอคําถาม
(queries) ตางๆ • บูรณภาพและความมั่นคงปลอดภัยของขอมูล (data integrity and security) ตราบเทาที่ผูใช จะตองใชงานขอมูลผานระบบจัดการฐานขอมูล เราสามารถที่จะกําหนดขอกําหนดและควบคุม ใหขอมูลมีบูรณภาพ ซึ่งหมายถึงการที่ขอมูลมีความถูกตองตรงตามสภาพที่ควรจะเปนในชีวิต จริง เชน การทําการขึ้นเงินเดือนใหพนักงาน ระบบจะสามารถตรวจสอบไดวาเงินเดือนของ พนักงานไมเกินไปจากงบประมาณของหนวยงานหรือการแกไขสถานะภาพสมรสของพนักงาน คนใดๆ จะแกไขใหเปนหมายไมไดหากยังไมเคยแตงงาน เปนตน นอกจากนี้การเขาถึง ฐานขอมูลโดยผานทางระบบจัดการฐานขอมูลเทานั้นยังอนุญาตใหมีการกําหนดระดับการเขาถึง ขอมูลวาผูใชคนใดหรือกลุมใดสามารถมองเห็นขอมูลชุดใดหรือทํากิจกรรมใดๆกับฐานมูลนั้น ไดบาง • การบริหารขอมูล (data administrator) เมื่อผูใชหลายคน ใชงานขอมูลชุดเดียวกัน การจัดการ ขอมูลโดยรวมศูนยจะทําใหการบริหารขอมูลมีประสิทธิภาพมากขึ้น ผูที่มีความชํานาญในการ จัดการฐานขอมูลจะทราบวาจะปรับแตงฐานขอมูลอยางไรใหตรงตามความตองการขอมูลใช ใน แงของการควบคุมการเขาถึงขอมูลชุดตางๆ ของผูใชอยางเหมาะสม การลดความซ้ําซอนของ ขอมูลที่ใชงานรวมกัน ตลอดจนการปรับแตงฐานขอมูลเพื่อใหสามารถเรียกใชงานขอมูลได รวดเร็วขึ้น • การจัดการภาวะพรอมกันและการกูจากความลมเหลวของระบบ (concurrent access and crash recovery) ระบบจัดการฐานขอมูลมีความสามารถในการจัดลําดับการทํางานของธุรกรรมที่เขา มาพรอมๆ กันใหเสมือนหนึ่งวาฐานขอมูลมีการใชงานจากผูใชเพียงคนเดียวและการปรับปรุง ขอมูลใดๆ มีความถูกตองอยูเสมอ ตลอดจนปองกันขอมูลสูญหายและผิดพลาดในกรณีที่ระบบ ลมเหลว • ลดเวลาในการพัฒนาระบบที่ใชงานฐานขอมูล(reducedapplicationdevelopmenttime) ระบบ จัดการฐานขอมูลที่มีใหเลือกใชมีความสามารถในการรองรับการทํางานที่ใชกันโดยทั่วไป ดังนั้นจึงมีเครื่องมือและรูปแบบการเรียกใชงานซึ่งมองไดวาเปนการเรียกใชงานฐานขอมูลใน ระดับสูง เชนมีมาตรฐาน SQL ในการจัดการขอมูล ทําใหไมตองเขียนโปรแกรมเฉพาะที่ยุงยาก ซับซอนสําหรับขอมูลแตละชุดเอง นอกจากนี้การจัดการขอมูลลงในอุปกรณจัดเก็บยังทํางาน อยางถูกตองและมีประสิทธิภาพอยูแลวโดยระบบจัดการฐานขอมูล นักพัฒนาสามารถลดเวลาใน การพัฒนาและแกไขขอผิดพลาดจากการพัฒนาลงไดอยางมาก อยางไรก็ตาม แมวาระบบจัดการฐานขอมูลจะมีประโยชนมากมาย แตเราไมจําเปนตองใชระบบ จัดการฐานขอมูลเสมอไป ในกรณีที่เราไมจําเปนตองใชความสามารถที่กลาวมาของระบบจัดการฐานขอมูล เลย เชน ไมจําเปนตองใชการจัดการกรณีที่มีผูใชงานฐานขอมูลพรอมๆ กันหลายคน หรือมีผูใชหลายระดับ เขาถึงขอมูล เปนตน นอกจากนี้การวิเคราะหขอมูลบางอยางที่ซับซอน อาจไมสามารถจัดเก็บไดในฐานขอมูล และในบางกรณีเราอาจมีความตองการพิเศษในการใชงานขอมูล เชนจะตองมีความเร็วสูงกวาที่ระบบจัดการ
12 บทที่ 1 ฐานขอมูลจะสามารถทําได
เราก็ไมจําเปนตองใชงานระบบจัดการฐานขอมูล กลาวโดยสรุปไดวาเราอาจจะไม จําเปนตองใชงานระบบจัดการฐานขอมูลในกรณีที่เราไมตองการความสามารถที่สูงเกินความจําเปน ซึ่งอาจทํา ใหการใชงานระบบจัดการฐานขอมูลไมคุมคากับคาใชจาย รวมถึงในกรณีที่เราไมสามารถใชงานระบบจัดการ ฐานขอมูลไดในกรณีที่ขอมูลไมอยูในรูปแบบที่ระบบจัดการฐานขอมูลจัดการได รวมถึงความตองการพิเศษที่ เราจะตองพัฒนาระบบสําหรับจัดการกับขอมูลเอง แตในทางตรงกันขาม การจัดการขอมูลที่ซับซอนและมี ขนาดใหญมักจะหลีกเลี่ยงไมไดที่จะตองใชงานระบบจัดการฐานขอมูล 1.6 การจัดเก็บขอมูลในระบบจัดการฐานขอมูลและสถาปตยกรรมฐานขอมูล ผูใชขอมูลโดยทั่วไปจะมองขอมูลในมุมมองของการใชงานในชีวิตจริง ในขณะที่การจัดเก็บขอมูลลง ในฐานขอมูลเปนวิธีในการที่จะทําอยางไรเพื่อจัดเก็บขอมูลในมุมมองนั้นๆ ลงในฐานขอมูลใหได เชน ใน มหาวิทยาลัยจะประกอบไปดวยขอมูลที่เกี่ยวกับนักศึกษา อาจารย และรายวิชา ตลอดจนกิจกรรมตางๆ ที่ เกิดขึ้นในมหาวิทยาลัยที่จะตองจดบันทึกขอมูลไว ในขณะที่การจัดเก็บขอมูลลงในฐานขอมูลจะอยูในรูปของ การมองผูกระทํากิจกรรมตางๆ เปนเอนทิตี การเก็บขอมูลที่อธิบายเอนทิตีตางๆ และจัดเก็บขอมูลดาน ความสัมพันธตางๆ ของเอนทิตีไว การที่จะจําลองมุมมองขอมูลในโลกแหงความเปนจริงมาเปนรูปแบบของการจัดเก็บขอมูลในเครื่อง คอมพิวเตอรจําเปนตองแทนขอมูลและเชื่อมโยงกันโดยอาศัยแบบจําลองขอมูล (data model) ซึ่งแบบจําลอง ขอมูลนี้ จะใชเปนเครื่องมือที่แทนรูปแบบของการจัดเก็บขอมูลในระดับสูง และจะซอนรายละเอียดอื่นๆ ที่ เกี่ยวของกับการจัดเก็บขอมูลในระดับลางที่เกี่ยวของกับการเก็บขอมูลลงในอุปกรณจัดเก็บจริงๆ ซึ่งใน ปจจุบัน แบบจําลองขอมูลที่ใชกันแพรหลายที่สุดไดแกแบบจําลองขอมูลเชิงสัมพันธ(relational database) ซึ่ง เปนแบบจําลองหลักที่ใชศึกษาในรายวิชา อยางไรก็ตาม แมแบบจําลองขอมูลจะซอนรายละเอียดการจัดการกับอุปกรณจัดเก็บขอมูล แต แบบจําลองขอมูลมีความใกลเคียงกับวิธีการจัดเก็บขอมูลของระบบจัดการฐานขอมูลมากกวาการมองขอมูลใน โลกแหงความเปนจริง เราจึงตองอาศัยเครื่องมืออื่นไดแกแบบจําลองขอมูลเชิงความหมาย (semantic data mode) ซึ่งเปนธรรมชาติใกลเคียงกับขอมูลในมุมมองของการใชงานในโลกแหงความเปนจริงมากขึ้น โดย แบบจําลองขอมูลเชิงความหมายนี้จะใชเปนเครื่องมือเริ่มตนในการแทนกิจกรรมและผูเกี่ยวของตางๆใหอยูใน รูปแบบแผนภาพ หรือรูปแบบอื่นๆ ที่จะสามารถจดบันทึกและแลกเปลี่ยนทําความเขาใจกันได แบบจําลอง ขอมูลเชิงความหมายนี้สามารถแทนขอกําหนดตางๆของกิจกรรมในองคการได แตระบบจัดการฐานขอมูลไม สามารถรองรับขอกําหนดนั้นๆ โดยตรง เพราะระบบจัดการฐานขอมูลเชิงสัมพันธใชแบบจําลองขอมูลเชิง สัมพันธซึ่งตางจากแบบจําลองในระดับสูงอยางแบบจําลองขอมูลเชิงความหมาย อยางไรก็ตาม แบบจําลอง ขอมูลทั้งสองมีความสัมพันธกัน และเราสามารถออกแบบใหสอดคลองกันไดเพื่อใหระบบจัดการฐานขอมูล เชิงสัมพันธสามารถรองรับการใชงานขอมูลในกิจการขององคการไดอยางถูกตอง รูปแบบของแบบจําลองขอมูลเชิงความหมายที่ไดรับการใชงานอยางกวางขวางมีชื่อวาแบบจําลอง เอนทิตีและความสัมพันธ (entity-relationship model—ER model) แบบจําลองดังกลาวทําใหเราสามารถแทน เอนทิตีและความสัมพันธของเอนทิตีตางๆ เปนแผนภาพ แบบจําลองเอนทิตีและความสัมพันธเปนเครื่องมือที่
แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 13 ใชในการออกแบบฐานขอมูลขั้นตนกอนที่จะปรับแผนภาพเอนทิตีและความสัมพันธไปเปนแบบจําลองเชิง สัมพันธ และจัดการในรูปแบบของฐานขอมูลเชิงสัมพันธในที่สุด
การออกแบบฐานขอมูลดวยแบบจําลอง เอนทิตีและความสัมพันธนั้นจะกลาวถึงในบทที่ 3 1.6.1 แบบจําลองเชิงสัมพันธ (relational model) ในหัวขอนี้จะแนะนําแบบจําลองเชิงสัมพันธโดยยอ โครงสรางที่เปนหลักของแบบจําลองเชิงสัมพันธ ไดแก ตารางความสัมพันธ/รีเลชัน (relation) ซึ่งรีเลชันนี้สามารถเปรียบไดกับชุดของระเบียน (records) ในแบบจําลองขอมูลนั้นจะมีการนิยามหรืออธิบายขอมูลตางๆ ไว ซึ่งเราเรียกการนิยามขอมูลใน แบบจําลองขอมูลนี้วาเคาราง/สคีมา (schema) ซึ่งสคีมาในแบบจําลองเชิงสัมพันธประกอบไปดวยชื่อของ ความสัมพันธ ชื่อของเขตขอมูล หรือลักษณะประจํา หรือสดมภ (field or attribute or column ซึ่งจะใชคําวา ฟลดแอททริบิวตและคอลัมนตามลําดับแทนเนื่องจากสามารถเขาใจไดงายกวาและสามารถใชแทนกันไดตาม ความเหมาะสม) ซึ่งทั้งฟลด แอททริบิวต และคอลัมน ตางก็คือการนิยามขอมูลในรีเลชันเชนเดียวกัน นอกจากนี้สคีมาในแบบจําลองเชิงสัมพันธยังประกอบไปดวยชนิดของขอมูลแตละฟลด ตัวอยางตอไปนี้แสดง รีเลชัน ของขอมูลตัวอยางของนักศึกษาในมหาวิทยาลัย (Ramakrishnan and Gehrke, 2003) ซึ่งรีเลชันมีสคีมา ดังตอไปนี้ Student (sid: string, name: string, login: string, age: integer, gpa: real) Student แสดงถึงความสัมพันธของนักศึกษา sid คือฟลดรหัสนักศึกษามีชนิดเปนสตริงหรือสาย อักขระ name คือชื่อจริงของนักศึกษา login คือชื่อที่ใชในการเขาใชงานระบบ age เปนอายุซึ่งเปนขอมูลชนิด จํานวนเต็ม และ gpa คือเกรดเฉลี่ยของนักศึกษามีชนิดของขอมูลเปนจํานวนจริง ทั้งนี้ในทางปฏิบัติแลวเราไม ควรออกแบบฐานขอมูลโดยมีฟลดที่สามารถเปลี่ยนแปลงขอมูลไปตามกาลเวลาเชนอายุ เนื่องจากในปถัดไป อายุของนักศึกษาจะเพิ่มขึ้นได เราจึงควรกําหนดฟลดดังกลาวเปนวันเดือนปเกิด แตเพื่อความสะดวกตอการ อธิบายและยกตัวอยาง จึงใชฟลดที่เปนอายุประกอบตัวอยาง กรณีตัวอยาง (instance) ของขอมูล 5 ตัวอยางจากสคีมา Student สามารถแสดงไดดังนี้ sid name login age gpa B5075666 สมชาย somchai@it 18 3.44 B5075688 สมศรี somsri@com 18 3.21 B5075650 สมศรี somsri@it 19 3.82 B5075831 สมศักดิ์ somsak@med 11 1.80 B5075832 สมน้ําหนา somnamna@math 12 2.00 ขอมูลที่ปรากฏในแตละแถวเปนระเบียนขอมูลของนักศึกษาแตละคน ขอมูลที่กําหนดยังไมครบถวน เชนสวนสูงของนักศึกษาหรือน้ําหนัก แตวาขอมูลเทาที่มีอยูเพียงพอตอการใชงานในระบบฐานขอมูล มหาวิทยาลัย ขอมูลทุกแถวเปนไปตามรูปแบบของสคีมา Student ดังนั้นเราสามารถมองไดวาสคีมาก็คือ แมแบบขอมูลนั่นเอง
14 บทที่ 1 เราสามารถที่จะนิยามหรือระบุขอกําหนดตางๆ
ของขอมูลนักศึกษาใหเฉพาะเจาะจงไดอีกโดยการ กําหนดเงื่อนไขบังคับบูรณภาพ (integrity constraints) ซึ่งใชในการกําหนดเงื่อนไข ขอบังคับ หรือ กฎเกณฑที่ขอมูลในระเบียนนั้นตองเปนไปตามกฎ เชนตองไมมีรหัสนักศึกษาที่ซ้ํากัน การกําหนดเงื่อนไข ดังกลาวควรที่จะสามารถระบุไดในแบบจําลองขอมูล 1.6.2 แบบจําลองขอมูลแบบอื่นๆ นอกจากแบบจําลองขอมูลเชิงสัมพันธซึ่งใชในระบบจัดการฐานขอมูล IBM DB2, Oracle, Microsoft Access, Microsoft SQL Server, MySQL ฯลฯ แลว ยังมีแบบจําลองขอมูลอื่นๆ ที่ใชประโยชนบางในปจจุบัน แตไมแพรหลายเทียบเทาแบบจําลองเชิงสัมพันธ ซึ่งสามารถใชงานไดดีในงานบางประเภทรวมถึงอาจเปน ระบบที่มีขนาดใหญโตและใชมานานแลว แบบจําลองขอมูลที่สําคัญที่ควรกลาวถึง ไดแก แบบจําลองเชิง เครือขาย (network model) ซึ่งใชใน IDS และ IDMS แบบจําลองเชิงลําดับชั้น (hierarchical model) ซึ่ง ประยุกตใชโดย IBM IMS แบบจําลองเชิงวัตถุ (object-oriented model) มีใชใน Objectstore Versant ฯลฯ แบบจําลองเชิงวัตถุ-สัมพันธรองรับโดย IBM DB2, Oracle, Microsoft SQL Server ฯลฯ ตอไปนี้จะเปนการ แนะนําฐานขอมูลเชิงเครือขายและเชิงลําดับชั้นเบื้องตน แบบจําลองฐานขอมูลเชิงเครือขาย ภาพที่ 1-3 ตัวอยางขอมูลแบบจําลองเชิงเครือขาย แบบจําลองขอมูลเชิงเครือขายนั้นมีขอมูลจัดเก็บเปนระเบียนดังตัวอยาง ซึ่งขอมูลจะมีการเชื่อมโยง กับขอมูลที่เกี่ยวของในลักษณะเซตของความสัมพันธ เราอาจกําหนดเซตของความสัมพันธในคอลัมนใหมเชน คอลัมนที่กําหนดสาขาวิชาที่นักศึกษาแตละคนสังกัด ตัวอยางขอมูลนั้นเปนตัวอยางจํานวนนอย ถาขอมูลมี จํานวนมาก รูปแบบของการเชื่อมโยงขอมูลจะอยูในรูปของเครือขาย หรือที่เรียกวาโครงสรางขอมูลกราฟ ขอมูลแตละระเบียนเปนโหนด (nodes) ของกราฟ (graph) และการเชื่อมโยงระหวางระเบียนคือขอบ (edges) D423 สาขาวิชาวิศวกรรมคอมพิวเตอร สํานักวิชาวิศวกรรมศาสตร B5005688 สมศรี somsri@com 18 3.21 D423 D609 สาขาวิชาแพทยศาสตร สํานักวิชาแพทยศาสตร B5001092 สมควร somkuan@com 18 3.98 D423 D204 สาขาวิชาเทคโนโลยีสารสนเทศ สํานักวิชาเทคโนโลยีสังคม B5075831 สมศักดิ์ somsak@med 11 1.80 D609 D102 สาขาวิชาเคมี สํานักวิชาวิทยาศาสตร B5075699 สมหญิง somying@it 18 4.00 D204 D205 สาขาวิชาเทคโนโลยีการจัดการ สํานักวิชาเทคโนโลยีสังคม B5075666 สมชาย somchai@it 18 3.44 D204 B5075650 สมศรี somsri@it 19 3.82 D204
แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 15 แบบจําลองฐานขอมูลเชิงลําดับชั้น ภาพที่ 1-4
ตัวอยางขอมูลแบบจําลองเชิงลําดับชั้น แบบจําลองฐานขอมูลเชิงลําดับชั้นสามารถมองไดวาเปนแบบจําลองเชิงเครือขายที่มีรูปแบบเฉพาะ โดยมีรูปแบบของการเชื่อมตอเครือขายเปนลําดับชั้น หรือเปนโครงสรางขอมูลแบบตนไม (tree) จากตัวอยาง ขอมูลจะพบวาแบบจําลองเชิงลําดับชั้นจะอนุญาตใหมีโหนดที่เปนตนกําเนิดเพียงโหนดเดียว แบบจําลองฐานขอมูลทั้ง 2 แบบไดถูกพัฒนาและใชมากวา 10 ปกอนที่จะมีการเสนอแบบจําลอง ขอมูลเชิงสัมพันธขึ้น ฐานขอมูลที่ใชแบบจําลองขอมูลทั้ง 2 ไดยกตัวอยางไวแลวในหัวขอ 1.3 แบบจําลอง ฐานขอมูลทั้ง2สามารถรองรับการทํางานของขอมูลไดดีระดับหนึ่งเนื่องจากทํางานโดยใชระเบียนและรองรับ ความสัมพันธระหวางระเบียนแตขอดอยสําคัญของแบบจําลองทั้ง 2 คือการขาดความสามารถในการจัดการ ขอมูลใหมีความถูกตองโดยขาดการรองรับเงื่อนไขบังคับบูรณภาพของขอมูล (integrity constraint) สําหรับ แบบจําลองเชิงวัตถุนั้นรองรับขอกําหนดทางธุรกิจตางๆ แตการแทนขอมูลเพื่อจัดเก็บลงในระบบจัดการ ฐานขอมูลนั้นไมมีรูปแบบที่ชัดเจนและจะตองอางอิงการจัดการขอมูลเชิงระเบียนหรือเชิงสัมพันธ D102 … สํานักวิชาวิทยาศาสตร D205 … สํานักวิชาเทคโนโลยีสังคม D423 … สํานักวิชาวิศวกรรมศาสตร D204 … สํานักวิชาเทคโนโลยีสังคม D609 … สํานักวิชาแพทยศาสตร B5005688 สมศรี somsri@com 18 3.21 D423 B5001092 สมควร somkuan@com 18 3.98 D423 B5075699 สมหญิง somying@it 18 4.00 D204 B5075666 สมชาย somchai@it 18 3.44 D204 B5075650 สมศรี somsri@it 19 3.82 D204 B5075831 สมศักดิ์ somsak@med 11 1.80 D609
16 บทที่ 1 1.6.3
ระดับของฐานขอมูล ระดับชั้นของโครงสรางในฐานขอมูลสามารถแบงออกได3ระดับดังภาพที่1-5 ระดับของฐานขอมูล แตละระดับนั้นเปนระดับของการแทนการใชงานขอมูลจริงดวยรูปแบบตางๆ ที่เหมาะสมจนสามารถจัดการ ฐานขอมูลไดอยางมีประสิทธิภาพ แตละระดับบรรจุรายละเอียดของขอมูลและสคีมาประจําแตละระดับ ฐานขอมูลทั้ง 3 ระดับไดแก ระดับแนวคิด (conceptual level) ระดับกายภาพ (physical level) และระดับ ภายนอก (external level) ภาษาที่ใชในการนิยามขอมูล (data definition language—DDL) ใชสําหรับนิยามและสรางสคีมาใน ระดับภายนอกและระดับแนวคิด SQL เปนภาษาที่ใชงานมากที่สุดในการนิยามและจัดการขอมูลซึ่งจะได อธิบายถึงในบทที่ 7 และ 8 ระบบจัดการฐานขอมูลเกือบทั้งหมดรองรับคําสั่ง SQL นอกจากนี้ยังใช SQL ใน การจัดการขอมูลในระดับกายภาพดวย ตอไปนี้เปนการอธิบายถึงระดับของฐานขอมูล 3 ระดับ ภาพที่ 1-5 สถาปตยกรรม3 ระดับของฐานขอมูล 1) สคีมาระดับแนวคิด (Conceptual Schema) สคีมาระดับแนวคิด ซึ่งในบางครั้งเรียกวาสคีมาระดับตรรกะ (logical schema) เปนระดับของการ อธิบายขอมูลที่จะจัดเก็บใหมีรูปแบบสัมพันธกับแบบจําลองขอมูลของระบบจัดการฐานขอมูลโดยตรง ใน ระบบจัดการฐานขอมูลเชิงสัมพันธ สคีมาระดับแนวคิดอธิบายถึงความสัมพันธทั้งหมดที่จัดเก็บในฐานขอมูล ตัวอยางฐานขอมูลของมหาวิทยาลัยตอไปนี้บรรจุขอมูลเกี่ยวกับเอนทิตี เชน นักศึกษา (student) และอาจารย (faculty) และยังจัดเก็บความสัมพันธ (relationships) ของเอนทิตีตางๆ เชนนักศึกษาลงทะเบียนในรายวิชา (Course) เอนทิตีนักศึกษาทุกคนสามารถอธิบายขอมูลไดจากระเบียนทั้งหมดในรีเลชัน เราสามารถแทนชุด ขอมูลของเอนทิตีและชุดขอมูลของความสัมพันธใดๆไดดวยรีเลชันซึ่งเราสามารถกําหนดสคีมาระดับแนวคิด ของมหาวิทยาลัย (Ramakrishnan and Gehrke, 2003) ไดดังนี้ สคีมาภายนอก 1 สคีมาภายนอก 1 สคีมาภายนอก 1 สคีมาระดับแนวคิด สคีมาระดับกายภาพ Disk Level User Level
แนวคิดทั่วไปเกี่ยวกับฐานขอมูล 17 Student (sid:
string, name: string, login: string, age: integer, gpa: real) Faculty (fid: string, fname: string, sal: real) Course(cid: string, cname: string, credits: integer) Room (rno: integer, address: string, capacity: integer) Enrolled (sid: string, cid: string, grade: string) Teaches (fid: string, cid: string) Meets_In (cid: string, rno: integer, time: string) การเลือกที่จะเก็บขอมูลใดๆ และกําหนดขึ้นเปนรีเลชัน ตลอดจนจะตองจัดเก็บขอมูลฟลดใดบางใน แตละรีเลชันนั้นไมชัดแจงและตายตัว เราสามารถสรางสคีมาเชิงแนวคิดที่สมบูรณดังที่ไดอธิบายในการ ออกแบบฐานขอมูลในระดับแนวคิดในบทที่ 2 และ 4 2) สคีมาระดับกายภาพ สคีมาระดับกายภาพจะมีการระบุรายละเอียดเพิ่มเติมเกี่ยวกับการจัดเก็บขอมูลในอุปกรณจัดเก็บ กลาวคือสคีมาระดับกายภาพเปนสคีมาที่มีรองรับสคีมาในระดับแนวคิด และเพิ่มรายละเอียดในการจะจัด ขอมูลนั้นๆ รวมถึงการจัดการพิเศษใดๆ ในการจัดเก็บขอมูลลงจานบันทึกหรือเทปแมเหล็ก ตัวอยางหนึ่งขององคประกอบของสคีมาระดับกายภาพไดแก เราจะตองเลือกการสรางดัชนีหรืออิน เด็กซ (index) ซึ่งเปนไฟลหรือกลไกเสริมในการที่จะเขาถึงขอมูลไดรวดเร็วขึ้นนอกจากที่เราจะตองเลือก ลักษณะการจัดเรียงของไฟลบนจานบันทึกซึ่งเปนสคีมาระดับกายภาพ สําหรับตัวอยางสคีมาของฐานขอมูล ของมหาวิทยาลัยไดแก • จัดเก็บขอมูลเปนไฟลของระเบียนซึ่งไมจําเปนตองเรียงลําดับขอมูล นอกจากนี้อาจเปนไฟลหลายๆ ไฟลจัดเก็บขอมูลเปนชุดๆ • สรางไฟล index เปนไฟลเสริม ซึ่งไฟล index นี้ใชสําหรับเพิ่มความเร็วในการเขาถึงขอมูล ไฟล index จัดเก็บขอมูลที่เรียงลําดับตามคอลัมนใดๆ พรอมทั้งตําแหนงของระเบียนที่สัมพันธกับขอมูล คอลัมนที่ทํา index เชน index ของคอลัมนแรกในรีเลชันนักศึกษา อาจารย และหองเรียน index ของคอลัมนเงินเดือนของอาจารย index ของความจุของหองเรียน index เปนไฟลที่เรียงลําดับขอมูลซึ่งทําใหเราเขาถึงขอมูลไดรวดเร็วขึ้นมาก ทําใหเขาถึงที่อยูของ ขอมูลจริงไดรวดเร็ว จําเปนสําหรับขอมูลจํานวนมหาศาลในอุปกรณหนวยความจําสํารอง ซึ่งหลักการของ index จะไดกลาวถึงในการสราง index ดวย SQL ในบทที่ 7 การไดมาซึ่งสคีมาทางกายภาพที่ดีควรทําตาม ระเบียบวิธีในการออกแบบสคีมาระดับกายภาพ ซึ่งไดอธิบายไวในบทที่ 2
18 บทที่ 1 3)
สคีมาระดับภายนอก สคีมาระดับภายนอกหมายเปนการระบุหรืออธิบายขอมูลที่ใชงานในเชิงแบบจําลองขอมูลเชนเดียวกัน กับสคีมาระดับแนวคิด และมักจะมีโครงสรางชนิดเดียวกันกับสคีมาระดับแนวคิดเชนเปนสคีมาในรูปแบบ ฐานขอมูลเชิงสัมพันธ แตสคีมาระดับภายนอกเปนมุมมองหรือวิว (view) ของขอมูลที่ผูใชแตละคน แตละ กลุมจะมองเห็น ในฐานขอมูลแตละฐานขอมูลจะมีสคีมาระดับแนวคิดและระดับกายภาพเพียงชุดเดียวเพราะ ขอมูลที่จัดเก็บจะอยูในรูปของรีเลชันที่ออกแบบไวตายตัว แตสคีมาระดับภายนอกเราสามารถสรางไดโดยการ สรางวิวของผูใชแตละคน โดยวิวนั้นเสมือนกับเปนรีเลชันเชนเดียวกัน แตเปนรีเลชันที่สรางขึ้นมาจากรีเลชัน ที่มีอยูจริงและจัดเก็บไวในฐานขอมูล รีเลชันดังกลาวอาจจะเกิดจากการคํานวณ หรือการกําหนดขอบเขตการ มองเห็นขอมูลของผูใช ซึ่งเราจะกลาวถึงวิวในบทที่ 7 การสรางวิวดวย SQL ตัวอยางที่ 1.2 วิว (Ramakrishnan and Gehrke, 2003) สําหรับสคีมาระดับภายนอกนี้เราสามารถสรางไดหลายๆ สคีมาตามขอกําหนดที่ไดรับจากการ วิเคราะหความตองการการใชขอมูลของผูใช ดังตัวอยางรีเลชันขอมูลรายวิชา Course_info ที่สรางขึ้นจากวิว ตอไปนี้ Course_info (cid: string, fname: string, enrollment: integer) Course_info เปนวิวที่แสดงขอมูลการของรายวิชาโดยระบุรหัสวิชา cid ชื่อของอาจารยผูสอน fname และจํานวนนักศึกษาที่ลงทะเบียน วิวดังกลาวอนุญาตใหนักศึกษาหรือผูใชอื่นๆ ทราบวาอาจารยทานใดสอน ในรายวิชาใดและมีผูลงทะเบียนเปนจํานวนเทาใด ผูใชสามารถมองวิวดังกลาเปนรีเลชันหนึ่ง แตรีเลชัน ดังกลาวมีฟลด enrollment เปนคาที่ไดจากการคํานวณวามีจํานวนระเบียนของการลงทะเบียนในแตละรายวิชา เทาใด ซึ่งรีเลชันCourse_infoมิไดมีขอมูลอยูจริงในฐานขอมูล ถาเราสรางรีเลชันCourse_info และบันทึกลง ในฐานขอมูลจริงๆ โดยจัดเก็บขอมูลจํานวนผูลงทะเบียนดวย จะเปนการซ้ําซอนของขอมูลซึ่งทําใหเสียพื้นที่ จัดเก็บเพิ่มขึ้นโดยไมจําเปน และอาจจะนําไปสูปญหาขอมูลที่ขัดแยงกัน ซึ่งสามารถยกตัวอยางไดเชน พิจารณาการเพิ่มระเบียนขอมูลผูลงทะเบียนลงในรีเลชันตอไปนี้ Enrolled (sid: string, cid: string, grade: string) เราสามารถบันทึกการลงทะเบียนเรียนของนักศึกษาในรายวิชาโดยใชรหัสนักศึกษา sid รหัสวิชาcid และอาจบันทึกเกรดที่ไดในภายหลังในรีเลชัน Enrolled พิจารณาปญหาวาเมื่อนักศึกษาคนใดคนหนึ่ง ลงทะเบียนในรายวิชาใดๆ ระเบียนจะถูกบันทึกเพิ่มขึ้น 1 ระเบียน แตในถามีการสรางรีเลชัน Course_info จํานวนนักศึกษาที่ลงทะเบียนใหมไมไดมีการแกไขขอมูลใหเพิ่มขึ้นอีก 1 คนจะยังมีคาคงเดิมทําใหขอมูลนั้น ขัดแยงกัน เปนตัวอยางหนึ่งของสคีมาระดับภายนอก ซึ่งคําวาภายนอกนั้นเปนมุมมองจากการมองโดยใช ระบบจัดการฐานขอมูลเปนตัวตั้ง