งานนำเสนอ PowerPoint

Download Report

Transcript งานนำเสนอ PowerPoint

บทที่ 3 โครงสรางข
้
้อมูลและการจัดการ
ระบบข้อมูล
(Data System Management and Data
Structure)
By Juthawut Chantharamalee
Computer Science Suan Dusit
University
4124404
Human and Computer
Interaction
เนื้อบทเรียน
2






โครงสรางข
อมู
้
้ ล (Data Structure)
การจัดโครงสรางข
อมู
้
้ ล
การจาแนกโครงสรางข
อมู
้
้ ล
ประเภทของแฟ้มขอมู
้ ลในระบบสารสนเทศทางการ
บัญชี
ประเภทของฐานขอมู
้ ล (Type of Database)
รูปแบบของฐานขอมู
้ ล (Database Models)
เนื้อบทเรียน (ตอ)
่
3





กลุมภาษาเพื
อ
่ การนิยามขอมู
่
้ ล (DDL)
กลุมภาษาเพื
อ
่ การจัดการขอมู
่
้ ล (DML)
กลุมภาษาเพื
อ
่ ใช้ในการควบคุมขอมู
่
้ ล (DCL)
ระบบการจัดการจัดการฐานขอมู
้ ลเชิงสั มพันธ ์
ความสั มพันธระหว
าง
Entity ( Cardinality )
์
่
4
โครงสรางของข
อมู
้
้ ล (Data
Structure)
1. ลักษณะของรายการขอมู
้ ล (Data Item) : ขอมู
้ ลที่
มีลก
ั ษณะเป็ น Unitเดียว
2. ลักษณะของกลุมรายการ
(Group Item) : แบง่
่
รายการขอมู
/ กลุมๆ
้ ลออกเป็ นรายการยอยๆ
่
่
3. ลักษณะรายการเบือ
้ งตน
้ (Elementary Item) :
รายการขอมู
งออกเป็
นรายการยอยๆ
้ ลทีไ่ มสามารถแบ
่
่
่
/ กลุมๆได
่
้
4. กลุมของข
อมู
่
้ ล (Enitity Set) :
- รายการทีม
่ รี ายละเอียดของขอมู
กัน
้ ลคลายๆ
้
- หลายๆรายการรวมกันเป็ นกลุม
่
5
โครงสรางของข
อมู
้
้ ล (Data
Structure)
- มีคุณสมบัตข
ิ องแตละรายการย
อย
ทีม
่ ล
ี ก
ั ษณะของ
่
่
ขอมู
่ าหนด
้ ลอยูในช
่
่ วงทีก
- ในการกาหนดความกวาง
/ ความยาวของField จะ
้
มีทง้ั
1. คงที่ (Fixed Length)
2. ผันแปร (Variable Length)
ใน 1 Record ยอมมี
ทง้ั Fixed & Variable
่
Length
การจัดโครงสรางของข
อมู
้
้ ล
6
- ตองท
าความเขาใจต
อระบบการจั
ดการ / จัดรูปแบบ
้
้
่
ขอมู
้ ล
- สามารถ Access และเรียกใช้ขอมู
้ ลไดอย
้ างมี
่
ประสิ ทธิภาพ
- สามารถประยุกตใช
างๆได
ดี
์ ้กับงานดานต
้
่
้
- ตองให
ดการขอมู
โดย
้
้ความสาคัญตอระบบการจั
่
้ ล
ขอมู
วย
้ ลตองประกอบด
้
้
1. จัดให้เป็ นระบบ (Organize) สามารถเขาถึ
้ ง
ขอมู
ใช
้ ลได้ ตามจุดมุงหมายผู
่
้ ้
การจัดโครงสรางของข
อมู
้
้ ล
7
2. ประมวลผล (Process) และแสดงผลลัพธ ์
(Presentation Output) ในรูปแบบทีต
่ องการ
้
3. เป็ นตัวแทน (Represent) ของเหตุการณที
้
์ เ่ กิดขึน
4. สามารถป้องกัน (Protect) และจัดการ (Manage)
ทาให้ขอมู
/ สมบูรณ ์
้ ลมีความถูกตอง
้
การจาแนกโครงสรางของข
อมู
้
้ ล
8
1. โครงสรางข
อมู
้ ฐาน (Primitive Data
้
้ ลพืน
Structure)
- มีคาเฉพาะประเภทใดประเภทหนึ
่ง ดังนี้
่
1. เลขจานวนเต็ม (Integer)
2. ตรรก
(Boolean)
3. อักษร (Character)
4. เลขจานวนจริง
(Real)
ฯลฯ
- แตละภาษา
Com. จะมีวธิ ก
ี ารและการกาหนดคาสั่ ง
่
ทีแ
่ ตกตางกั
น
่
- โครงสรางของไวยากรณ
แต
จะแตกตาง
้
่
่
์ ละภาษา
กัน
การจาแนกโครงสรางของข
อมู
้
้ ล
9
- การประกาศตัวแปรบางภาษา
1. ประกาศแบบเป็ นทางการ (Explicit
Declare) : แยกเป็ นส่วนหนึ่งตางหาก
: Pascal
่
, Cobol
2. ประกาศตัวแปรภายในโปรแกรม (Implicit
Declare) :
- ไมต
นส่วนหนึ่งตางหาก
่ องแยกออกมาเป็
้
่
จากคาสั่ ง
: Fortrane ฯลฯ
การจาแนกโครงสรางของข
อมู
้
้ ล
10

การออกแบบระบบปฏิสัมพันธ ์ หรือระบบการติดตอ
่
ระหวางผู
ใช
่
้ ้งานระบบและระบบงานทางคอมพิวเตอร ์
เป็ นส่วนทีเ่ ตองอาศั
ยจินตนาการในเรือ
่ งการ
้
ดาเนินงานอยางมากเพราะต
องคิ
ดเผือ
่ วา่ ระบบนั้น
่
้
ไดด
้ าเนินงานเสร็จสิ้ นไปแลวจะ
้
การจาแนกโครงสรางของข
อมู
้
้ ล
11
2. โครงสรางข
อมู
่ ส
ี ่ วนประกอบอยางง
้
้ ลทีม
่ าย
่
(Simple Data Structure)
- นาเอาขอมู
น
้ ฐานประกอบขึน
้ มาเป็ นชุด
้ ลโครงสรางพื
้
ของขอมู
้ ล
- มีความสั มพันธกั
างหนึ
่ง
์ นในลักษณะอยางใดอย
่
่
- เช่น ขอมู
้ ลรูปแบบArray รูปแบบขอมู
้ ลแบบRecord
ฯลฯ
การจาแนกโครงสรางของข
อมู
้
้ ล
12
3. โครงสรางข
อมู
่ ส
ี ่ วนประกอบซับซ้อน
้
้ ลทีม
(Compound Data Structure)
- นาเอาขอมู
่ ส
ี ่ วนประกอบอยางง
้ ลทีม
่ ายๆมาประกอบ
่
ขึน
้ เป็ นโครงสรางที
ซ
่ บ
ั ซ้อน
้
- เป็ นการเฉพาะกิจภายในโปรแกรมแบงออกเป็
น 2
่
ประเภท คือ 1. ชุดขอมู
้ ลสั มพันธเชิ
์ งเส้นตรง
(Linear Structure)
: Linked List,
Stack, Queue ฯลฯ
2. ชุดขอมู
้ ลสั มพันธไม
์ เป็
่ นเส้นตรง (Non - Linear
Structure) : Binary Tree, Graph, Tree, M –
way, Search Tree ฯลฯ
13
ประเภทของฐานข้อมูล (Type of
Database)
1. ฐานขอมู
(External Database)
้ ลจากภายนอก
- อยูในเครื
อขายInternet
่
่
- ถูกจัดเตรียมขอมู
: ภาครัฐ
้ ลจากหน่วยงานตางๆ
่
และ เอกชน
- สามารถเขาถึ
้ งขอมู
้ ลไดง้ าย
่
2. ฐานขอมู
(Distributed
้ ลแบบกระจาย
Database)
- ปรับเปลีย
่ นตามโครงสรางของการมี
หน่วยงานแตละ
้
่
สถานที่
- เชือ
่ มโยงขอมู
ามาหน
้ ลผานเข
่
้
่ วยงานกลาง
14
ประเภทของฐานข้อมูล (Type of
Database)
3. ฐานขอมู
(Data Warehouse
้ ลเชิงคลังขอมู
้ ล
Database)
- เป็ นแหลงรวบรวมข
อมู
่ ป
ี ระโยชนต
่
้ ลทีม
์ อผู
่ ใช
้ ้องคกร
์
ในระดับตางๆ
่
- เป็ นขอมู
ั
้ ลทัง้ ในอดีต และปัจจุบน
- ทาการกลัน
่ กรองจากฐานขอมู
่ ๆ
้ ล / ระบบงานอืน
- เอาเฉพาะทีใ่ ห้ประโยชนต
กรธุ
รกิจมาเก็บไว้
์ อองค
่
์
รวมกัน
- เตรียมความพรอมเมื
อ
่ ตองการใช
ว
้
้
้ขอมู
้ ลอยางรวดเร็
่
- ไดข
่ รงตอเป
้ อมู
้ ลทีต
่ ้ าหมายในการใช้งาน
15
ประเภทของฐานข้อมูล (Type of
Database)
4. ฐานขอมู
(End User
้ ลสาหรับผูใช
้ ้ปลายทาง
Database)
- ฐานขอมู
้ ลส่วนตัว / ส่วนบุคคลของผูใช
้ ้งาน
- ถูกสรางโดยผู
ใช
้
้ ้งานเอง
- การจัดเก็บขอมู
่
้ ล จะถูกแยกเป็ นแฟ้มขอมู
้ ลอยูในที
่
เดียวกัน
5. ฐานขอมู
ั งิ าน
(Operational Database)
้ ลเชิงปฏิบต
- เกีย
่ วของกั
บรายการทีเ่ กิดขึน
้ จากการดาเนินงานของ
้
องคกรธุ
รกิจ
์
- ขึน
้ อยูกั
่ งคกรธุ
รกิจกระทา
่ บกิจกรรมทัง้ หมดทีอ
์
16
ประเภทของฐานข้อมูล (Type of
Database)
6. ฐานขอมู
(Management Database)
้ ลเชิงจัดการ
- ผานการวิ
เคราะห ์ / จัดเก็บให้อยูในรู
ปแบบการนามาใช้
่
่
งานไดทั
้ นที
- เพือ
่ การวางแผน ควบคุม และการตัดสิ นใจอยาง
่
ทันเวลา
- ขอมู
้ ลจะถูกสรุปให้เหมาะสม กะทัดรัด และชัดเจน
- แหลงของข
อมู
่
้ ลทีใ่ ช้ในการผลิตฐานขอมู
้ ล มาจากการ
ประมวลผลของ
1) การนาฐานขอมู
ั งิ าน
้ ลเชิงการปฏิบต
2) ขอมู
่ ่ งผลกระทบตอการบริ
หาร/
้ ลจากภายนอกทีส
่
จัดการขององคกรธุรกิจ เรียกอีกอยางวา ฐานขอมูลเชิง
17
รูปแบบของฐานขอมู
้ ล (Database
Models)
แบงออกเป็
น 5 รูปแบบ ดังนี้
่
1. ฐานขอมู
้ ( Hierarchical
้ ลในรูปแบบลาดับชัน
Models )
2. ฐานขอมู
้ ลในรูปแบบเครือขาย
่ ( Network Models )
3. ฐานขอมู
้ ลในรูปแบบเชิงสั มพันธ ์ ( Relation Models
)
4. ฐานขอมู
้ ลในรูปแบบเชิงวัตถุ ( Object - Oriented
Models )
5. ฐานขอมู
้ ลในรูปแบบเชิงหลายมิต ิ ( Multi –
Dimensional Models )
18
รูปแบบของฐานขอมู
้ ล (Database
Models)
1. ฐานขอมู
้ ( Hierarchical
้ ลในรูปแบบลาดับชัน
Models )
- เป็ นรูปแบบอยางง
และเกิดขึน
้ เป็ นรูปแบบแรก
่ าย
่
- มีลก
ั ษณะคลายต
นไม
หั
้
้
้ วกลับ
- อาจเรียกกันวา่ รูปแบบโครงสรางต
นไม
้
้
้ ( Tree
Structure )
- ฐานขอมู
้ ลนี้จะมีความสั มพันธไม
์ ซั
่ บซ้อน
1. ลักษณะหนึ่ง Entity ตอหนึ
่ง Entity (1:1)
่
2. หนึ่ง Entity ตอกลุ
มของ
Entity (1:n)
่
่
3. ไมมี
กษณะของกลุม
ม
่ ความสั มพันธในลั
์
่ Entity ตอกลุ
่
่
Hierarchical Database Models
19
20
รูปแบบของฐานขอมู
้ ล (Database
Models)
2. ฐานขอมู
(Network Models)
้ ลในรูปแบบเครือขาย
่
- สามารถเชือ
่ มโยงอยางทั
ว่ ถึงทุก ๆ Entity ทีต
่ องการ
่
้
เชือ
่ มโยงและมีความสั มพันธระหว
างกั
น
่
์
- ความสั มพันธจะอยู
ในลั
กษณะ
่
์
1. หนึ่ง Entity ตอ
่ หนึ่ง Entity (1:1)
2. หนึ่ง Entity ตอ
Entity (1:n)
่ กลุมของ
่
3. กลุมของ
Entity ตอ
่
่ หนึ่ง Entity (1:n)
4. กลุมของ
Entity ตอ
Entity (n:m)
่
่ กลุมของ
่
- จะมีความซับซ้อนและยุงยากในการใช
างมาก
่
้งานคอนข
่
้
- ปัจจุบน
ั ไมถู
นทางการอีกแลว
่ กนามาใช้อยางเป็
่
้
Network Database Models
21
22
รูปแบบของฐานขอมู
้ ล (Database
Models)
3. ฐานขอมู
้ ลในรูปแบบเชิงสั มพันธ ์ (Relational Models)
- นิยมใช้กันมากในปัจจุบน
ั และจะทาการจัดเก็บขอมู
้ ลใน
รูปของตาราง(Table)
- มีลก
ั ษณะเป็ น 2 มิต ิ
1. แนวนอนทีเ่ รียกวา่ แถว (Row) > Tuple
2. แนวตัง้ ทีเ่ รียกวา่ คอลัมน์ (column) > Attribute
- การเชือ
่ มโยงความสั มพันธจะต
องอาศั
ยคาของKey
Field
้
่
์
หรือคาของ
Attributeทีอ
่ ยูในตารางซึ
ง่
่
่
จัดเก็บขอมู
้ ล
- แตละตารางจะต
องมี
ชอ
ื่ ตารางกากับไวที
ดของ
่
้
้ ่ ดานบนสุ
้
ตาราง ซึง่ เรียกวา่ ชือ
่ ของ Entity (Entity name)
23
รูปแบบของฐานขอมู
้ ล (Database
Models)
- ถูกพัฒนาขึน
้ เพือ
่ ใช้ในการแกปั
้ ญหา
1. การเชือ
่ มโยงในรูปแบบฐานขอมู
้ ส่วนของ
้ ลแบบลาดับชัน
การเชือ
่ มโยงทีไ่ มมี
่ ความยืดหยุน
่
2. การเชือ
่ มโยงในรูปแบบฐานขอมู
ในส่วน
้ ลแบบเครือขาย
่
ของการเชือ
่ มโยงทีม
่ ค
ี วามยุงยากและซั
บซ้อนมากจนเกินไป
่
- ทาให้ผู้ใช้งานทีม
่ ค
ี วามรูความช
านาญไมเพี
สามารถ
้
่ ยงพอ
ใช้งานได้
- ทุกส่วนยอยจะถู
กจัดเก็บไวในตารางเท
านั
่
้
่ ้น รวมทัง้ ตารางตางๆ
่
ทีม
่ ค
ี วามสั มพันธและเกี
ย
่ วของกั
น
้
์
- มี Primary Key
1. เป็ นตัวช่วยในการเชือ
่ มโยงตาราง
2. การเขาถึ
ช่วยในการลดความ
้ งและค้นคืนขอมู
้ ล
Relational Database Models
24
25
รูปแบบของฐานขอมู
้ ล (Database
Models)
4. ฐานขอมู
(Object –
้ ลในรูปแบบเชิงวัตถุ
Oriented Models)
- เพือ
่ ตองการสร
างความสามารถเพิ
ม
่ มากขึน
้ แกการ
้
้
่
จัดเก็บขอมู
้ ลในฐานขอมู
้ ล
- ในอดีตจะเก็บขอมู
( Text )
้ ลในรูปแบบขอความ
้
เทานั
่ ้น
- จะสามารถจัดเก็บขอมู
้ ลในรูปแบบกราฟิ ก (
Graphics ) รูปภาพ ( Pictures) เสี ยง ( Voice )และ
ขอความ
(Text ) หรือทีเ่ รียกวา่ มัลติมเี ดีย (
้
Multimedia)
26
รูปแบบของฐานขอมู
้ ล (Database
Models)
- มีส่วนประกอบในแตละวั
ตถุ
คือ
่
1. ขอมู
่ ะจัดเก็บ
้ ลทีจ
2. โครงสรางของ
Attribute ทีต
่ องการให
ตถุ
้
้
้มีอยูในวั
่
นั้น
3. คาสั่ งเพือ
่ บอกวาวั
ั สามารถกระทา ( Action )
่ ตถุน้น
อะไรไดบ
้ าง
้
- จะจัดเก็บทุก ๆ สิ่ งเป็ นวัตถุทง้ั หมด
- วัตถุแตละวั
ตถุทจ
ี่ ด
ั เก็บยังสามารถบรรยายคุณสมบัตแ
ิ ละ
่
บทบาทหน้าทีใ่ นตัวเองของมันเอง
27
รูปแบบของฐานขอมู
้ ล (Database
Models)
คุณสมบัตพ
ิ เิ ศษอืน
่ ๆ ของ ฐานขอมู
้ ลในรูปแบบเชิง
สั มพันธ ์
1. การถายทอดคุ
ณสมบัต ิ (Inheritance)
่
2. การเก็บซ่อนรายละเอียด ( Encapsulation )
3. การนากลับมาใช้ใหม่ ( Reusable )
1. การถายทอดคุ
ณสมบัต ิ (Inheritance)
่
28
- เป็ นการนาโครงสรางของAttributeที
อ
่ ยูในวั
ตถุและ
้
่
คาสั่ งเพือ
่ กระทาการในวัตถุหนึ่งไปใช้ในวัตถุอน
ื่
- มีลก
ั ษณะโครงสรางของAttributeที
อ
่ ยูในวั
ตถุและ
้
่
คาสั่ งเพือ
่ กระทาการในวัตถุเหมือนกัน
- ตางกิ
จกรรมกันเทานั
่
่ ้น
- โครงสรางของAttributeที
อ
่ ยูในวั
ตถุและคาสั่ งเพือ
่
้
่
กระทาในวัตถุขน
ึ้
- สามารถถายทอดคุ
ณสมบัตไิ ดทั
ว่ ถึงโดยไม่
่
้ นทีอยางทั
่
ตองสร
างใหม
้
้
่
2. การเก็บซ่อนรายละเอียด (Encapsulation)
29
- การปกปิ ดขอมู
าสั่ ง
้ ลโครงสรางของAttributeและค
้
เพือ
่ กระทาการตางๆที
อ
่ ยูในวั
ตถุ
่
่
- การทีจ
่ ะเขาไปหรื
อเขาถึ
รั
้
้ งวัตถุไดนั
้ ้นตองได
้
้ บ
อนุ ญาตเสี ยกอนว
าในค
าสั่ งทีก
่ าหนดไวใน
่
่
้ Methodได้
ประกาศไวหรื
้ อไม่
- ถามี
โดยการส
าไปร
องขอ
้ จงึ จะเขาไปได
้
้
่ งขอความเข
้
้
้
การใช้งานในส่วนทีต
่ นเกีย
่ วของเท
านั
้
่ ้น
3. การนากลับมาใช้ใหม่ (Reusable)
30
- การนาวัตถุทเี่ คยสรางขึ
น
้ มานามาปรับเปลีย
่ นแกไข
้
้
บางส่วนเพือ
่ นาไปใช้งานในวัตถุอน
ื่ ตอไป
่
สั ตว ์
รหัสสั ตว ์
ลักษณะสั ตว ์
จุดเดนจุ
่ ดดอย
้
เพิม
่ ขอมู
้ ล
ลบขอมู
้ ล
แสดงหน้าจอ












มา้
รหัสสั ตว ์
ลักษณะสั ตว ์
จุดเดนจุ
่ ดดอย
้
เพิม
่ ขอมู
้ ล
ลบขอมู
้ ล
แสดงหน้าจอ






ช้าง
รหัสสั ตว ์
ลักษณะสั ตว ์
จุดเดนจุ
่ ดดอย
้
เพิม
่ ขอมู
้ ล
ลบขอมู
้ ล
แสดงหน้าจอ






ยีราฟ
รหัสสั ตว ์
ลักษณะสั ตว ์
จุดเดนจุ
่ ดดอย
้
เพิม
่ ขอมู
้ ล
ลบขอมู
้ ล
แสดงหน้าจอ
31
รูปแบบของฐานขอมู
้ ล (Database
Models)
5. ฐานขอมู
้ ลในรูปแบบเชิงหลายมิต ิ (MultiDimensional Models)
- นามาใช้ในการเพือ
่ วิเคราะหธุ
่ ค
ี วาม
์ รกิจทีม
สลับซับซ้อนและมีความยุงยากในการด
าเนินงาน
่
32
Multi-Dimensional Database
Models
ภาษาทีใ่ ช้ในการจัดการฐานขอมู
้ ล
33
- แบบจาลองการกระทาดังกลาวสามารถจ
าแนกออกไดเป็
่
้ น 2
รูปแบบ
1. ความสาพันธเชิ
์ งพีชคณิต(Relational Algebra)
2. ความสาคัญเชิงแคลคูลส
ั (Relation Calculus)
1. ความสาพันธเชิ
์ งพีชคณิต (Relational Algebra)
- ทฤษฎีทางภาษาสาหรับการปฏิบต
ั ก
ิ ารระหวางข
อมู
่
้ ลตางๆใน
่
ตารางหนึ่งหรือหลายๆตารางทีม
่ ี
ความสั มพันธกั
์ น
- ไมส
่ ่ งผลถึงตารางขอมู
้ ลหลัก (Original Table or Original
Relation) ทีไ่ ดจั
้ ดเก็บไวอยู
้ แล
่ ว
้
- คาสั่ งการสอบถามขัน
้ พืน
้ ฐานส่วนใหญที
่ ใ่ ช้กันถูกครอบคลุม
ดวยตั
วปฏิบต
ั ก
ิ ารประกอบดวย
้
้
PROJECT SELECT และ JOIN
34
1. ความสาพันธเชิ
์ งพีชคณิต (Relational
Algebra)
PROJECT
- ตัวปฎิบต
ั ก
ิ ารในการดึงหรือค้นคืนขอมู
้ ลในแนวตัง้
หรือ Column หรือ Attribute ของตารางใน
ฐานขอมู
้ ล
- ทาการนาขอมู
างตารางหรื
อ
้ ลดังกลาวมาสร
่
้
Relationใหม่
SELECT
- ตัวปฎิบต
ั ก
ิ ารในการดึงหรือค้นคืนขอมู
้ ลในแนวนอน
หรือ Row หรือ Tupleของตารางใน
ฐานขอมู
้ ล
35
1. ความสาพันธเชิ
์ งพีชคณิต (Relational
Algebra)
JOIN
- เป็ นตัวปฏิบต
ั ก
ิ ารทีม
่ ค
ี วามสั มพันธเชิ
์ งพีชคณิตในการ
รวมตารางหรือRelationทีม
่ ข
ี อมู
้ ลแยกกันอยู่
ในแตละตารางเข
ามารวมกั
น
่
้
- ตารางหรือRelationทีน
่ ามารวมกันจะตองสามารถ
้
เชือ
่ มโยงกันไดระหว
างAttributes
้
่
- การเชือ
่ มโยงเพือ
่ รวมตารางหรือRelationนั้น จะอาศั ย
Foreign Keyของตารางหนึ่งเพือ
่ ไปอางอิ
ง
้
กับ Candidate Key ทีอ
่ ยูในตารางหรื
อRelation
่
อืน
่
36
การพิจารณาวาจะน
าระบบการจัดการฐานขอมู
่
้ ลตัว
ใดมาใช้งานมีการพิจารณาในเรือ
่ ง
1. ราคา
2. ความสามารถของตัวระบบการจัดการฐานขอมู
้ ล
3. ความเขากั
ั ก
ิ ารทีม
่ ี
้ นกับH/W และ S/W ระบบปฏิบต
อยูแล
่ ว
้
สิ่ งจาเป็ นจะตองมี
อยูในระบบก็
คอ
ื ภาษา ทางดาน
้
่
้
ฐานขอมู
้ ลหรือทีเ่ รียกกันวา่ ภาษาการสื บค้นหรือค้นคืน
หรือสอบถามขอมู
้ ล (Query Language)
1. ภาษา SQL (Structured Query Language)
2. ภาษา QBE (Query – by – Example)
3. ภาษา Quel ฯลฯ
37
คาสั่ งตาง
ๆ ของภาษา SQL จะสามารถ
่
แบงกลุ
มตามลั
กษณะการใช้งานเป็ น 3 กลุม
่
่
่
คือ
1. กลุมภาษา
เพือ
่ การนิยามขอมู
่
้ ล (Data Definition
Language : DDL)
2. กลุมภาษาเพื
อ
่ การจัดการขอมู
่
้ ล (Data Manipulation
Language : DML)
3. กลุมภาษาเพื
อ
่ ใช้ในการควบคุมขอมู
่
้ ล (Data Control
Language : DCL)
กลุมภาษาเพื
อ
่ การนิยามขอมู
่
้ ล (DDL)
38
- กลุมค
่ าสั่ งทีใ่ ช้สาหรับการกาหนดโครงสรางของ
้
ฐานขอมู
Entity
้ ลในแตละ
่
- มี Attribute อะไรบาง
้
- ประเภทของ Attribute จะเป็ นชนิดใด มีความ
กวางของข
อมู
้
้ ลเทาใด
่
- โครงสรางของฐานข
อมู
ื่ วา่ “Schema”
้
้ ลมีชอ
- ใช้ในการกาหนดการเพิม
่ ลด เปลีย
่ นแปลง
Attribute
- ใช้ในการกาหนด สิ ทธิการใช้งาน ให้กับผูใช
้ ้
- การกาหนดถึง Integrity Rules
กลุมภาษาเพื
อ
่ การนิยามขอมู
่
้ ล (DDL)
39




อะไรทีอ
่ อกแรงน้อย ใช้เวลาน้อย แลวผลมากๆ
นั่นเรียกวา่
้
ทางานไดฉลาด
้
มีพลังงานขนาดกระป๋องโค้ก
 สามารถแปลงให้เป็ นพลังงานแสงไดขนาดเท
าดวงดาว
แบบนี้
้
่
เรียกวาฉลาด
่
คน 2 คนเดินทางไปโรบินสั นชลบุร ี
 คนแรกใช้เวลาเดินทาง 3 ชัว
่ โมงผานสุ
ขุมวิท
่
 คนทีส
่ อง ใช้เส้นทางเมืองใหม่
ใช้เวลาเดินทาง
30
นาที ไปทางลัดแบบนี้ฉลาด
การทาธุรกิจก็ได้ เช่น มีเงิน 100 บาท เอาไปลงทุนใช้เวลา
10 วันแลวได
ก
วไม
ผิ
้
้ าไรกลับมา 1 ลานบาทแล
้
้
่ ดศี ลธรรมแบบ
นี้เรียกวาฉลาด
่
กลุมภาษาเพื
อ
่ การนิยามขอมู
่
้ ล (DDL)
40
- : สราง
Entity ทีม
่ ช
ี อ
ื่ วา่ INVENTORY
้
CREATE TABLE INVENTORY
Product_ID
CHAR(8)NOT
NULL,
Pro_DESCRIPT
CHAR(35),
Stock_Date
Date,
On_Hand
SMALLINT,
MIN_QUANT
SMALLINT,
PRICE
DECIMAL(7,2),
V_CODE
SMALLINT,
PRIMARY KEY (Product_ID),
FOREIGN KEY (V_CODE) REFERENCE
กลุมภาษาเพื
อ
่ การจัดการขอมู
่
้ ล (DML)
41
- กลุมค
่ าสั่ งทีใ่ ช้ในการจัดการขอมู
้ ลในฐานขอมู
้ ล
- แสดงผลตามรูปแบบทีต
่ องการ
โดยมีไวยากรณ ์
้
โครงสรางของค
าสั่ ง (Syntax Diagram)
้
SELECT attribute name (s)
FROM table name (s)
WHERE condition criteria is mete;
ตัวอยางการเขี
ยนคาสั่ งเพือ
่ การจัดการขอมู
่
้ ลตาม
ภาษา SQL
42
SELECT FirstName, Lastname, Telephone
FROM
Employee;
ตัวอยางการเขี
ยนคาสั่ งเพือ
่ การจัดการขอมู
่
้ ลตาม
ภาษา SQL
43
คาอธิบาย:
- เลือกAttribute
ชือ
่ นามสกุล และเบอรโทรคั
พทจาก
์
์
ตารางหรือRelation ทีช
่ อ
ื่ วา่ Employee
SELECT *
FROM Employee
WHERE PayRate < 560;
คาอธิบาย:
- เลือกAttributeทัง้ หมด
- จากตารางหรือRelationทีช
่ อ
ื่ วา่ Employee
- ให้แสดงเฉพาะพนักงานทีม
่ อ
ี ต
ั ราคาจ
่ างน
่
้ อยกวา่ 560
บาทเทานั
่ ้น
44
กลุมภาษาเพื
อ
่ ใช้ในการควบคุมขอมู
่
้ ล
(DCL)
- ใช้สาหรับการควบคุมและรักษาความปลอดภัยของขอมู
้ ล
บนฐานขอมู
้ ล
- ให้สิ ทธิในการใช้งานฐานขอมู
เช่น
การเพิม
่
้ ล
การแก
ไข
อการลบข
อมู
ฐานขอมู
ได้
ผูใช
INSERT
้ ้งานทั
้ ว่ ไป หรืUPDATE
้ ลใน DELETE
้ ลSELECT
ศุภมิตร ส่องสุกล
ชินเวท ณ สงขลา
ประสิ ทธิชย
ั คงรุง่
โชค
ศาสตราวุธ เหลา่
สุวรรณ
X
X
X
X
X
X
X
X
X
X
45
ระบบการจัดการจัดการฐานขอมู
้ ลเชิงสั มพันธ ์
( Relational Database Management
System: RDBMS
- จะแสดงการเก็บขอมู
้ ลในรูปของตารางหรือRelation
ซึง่ เป็ นรูปแบบทีง่ ายต
อการเข
าใจ
่
่
้
- สามารถตอบสนองตอการค
่
้นคืนหรือสอบถามที่
ซับซ้อนไดดี
่ ๆ
้ กวารู
่ ปแบบฐานขอมู
้ ลประเภทอืน
กฎทีเ่ กีย
่ วของกั
บ Keyในฐานขอมู
้
้ ลเชิงสั มพันธ ์
46
กฎความบูรณภาพของ Entity (The Entity Integrity
Rule)
- คาของข
อมู
่
้ ลของAttribute ทีเ่ ป็ นKeyหลักจะเป็ น คา่
วาง
(Null Value) ไมได
่
่ ้
- “ คาว
าที
่ น่นอนหรือไมมี
่ าง
่ ” หมายถึง ไมทราบค
่
่ แ
่
คาแสดงอยู
ในAttributeนั
้น
่
่
กฎความบูรณภาพของการอางอิ
ง (The Referential
้
Integrity Rule)
- Keyนอก (Foreign Key) จะตองสามารถอ
างอิ
งได้
้
้
ตรงกันกับคาของKeyหลั
ก (Primary Key) ของอีก
่
ตารางหรือ Relation หนึ่งเสมอ
กฎทีเ่ กีย
่ วของกั
บ Key ในฐานขอมู
้
้ ลเชิงสั มพันธ ์
47
กฎของคียนอก
(The Foreign Key Rule)
์
1. คาของคี
ย ์ K เป็ นคาว
(Null) ไดหรื
่
่ าง
่
้ อไม่
- ขึน
้ อยูกั
อมู
่ บกฎเกณฑในการออกแบบฐานข
์
้ ลวา่
มีขอก
้ าหนดอยางไร
่
- ซึง่ เป็ นไปตามนโยบายของหน่วยงานนั้นๆ
2. กรณีทม
ี่ ก
ี ารลบหรือแกไข
จะทาการลบ หรือ
้
แกไขข
อมู
้ อยูกั
้
้ ลไดหรื
้ อไมนั
่ ้นขึน
่ บการ
ออกแบบฐานขอมู
้ ลวาได
่
้ มี
คุณสมบัตอ
ิ ยางไร
่
กฎทีเ่ กีย
่ วของกั
บ Key ในฐานขอมู
้
้ ลเชิงสั มพันธ ์
48
• การลบหรือแกไขข
อมู
้
้ ลแบบมีขอจ
้ ากัด
(Restricted)
- ขอมู
้ ลของ Key หลักในอีกตารางหรือ Relation
หนึ่งในอีกตารางหรือ Relation หนึ่งไมมี
่ ขอมู
้ ล
ทีถ
่ ก
ู อางอิ
ง
้
- Key นอกของอีกตารางหรือ Relation หนึ่ง จะ
แกไขหรื
อลบไดก็
่ ไมมี
้
้ ตอเมื
่ อ
่ พนักงานคนใด
สั งกัดอยูในแผนกนั
้นแลว
่
้
กฎทีเ่ กีย
่ วของกั
บ Key ในฐานขอมู
้
้ ลเชิงสั มพันธ ์
49
การลบหรือแกไขข
อมู
้
้ ลแบบลูกโซ่ (Cascade)
- การลบหรือแกไขข
อมู
้
้ ลของ Key หลักในตาราง
หรือ Relation หนึ่ง
- จะทาการลบหรือแกไขข
อมู
้
้ ลของ Key นอก ให้อีก
ตารางหรือRelation หนึ่งทีอ
่ างอิ
งถึงขอมู
้
้ ลของ Key
หลักที่ ถูกลบหรือแกไขให
้
้ดวย
้
การลบหรือแกไขข
อมู
่ นเป็ นคาว
้
้ ลโดยเปลีย
่ าง
่ (Nullify)
- จะทาไดต
่ มีการเปลีย
่ นแปลงคาของ
Key นอกใน
้ อเมื
่ อ
่
ขอมู
่ ก
ู อางอิ
งถึงให้เป็ นคาว
ยกอน
้ ลทีถ
้
่ างเสี
่
่
50
ความสั มพันธระหว
าง
Entity ( Cardinality
่
์
)
- เป็ นการแสดงถึงเกีย
่ วของระหว
างEntityหนึ
่งไปมี
้
่
ความสั มพันธกั
่
์ บอีก Entity อืน
- ใช้ Key ตางๆ
จะเป็ น Primary Key Secondary
่
Key Foreign Key
- เป็ นตัวเชือ
่ มโยงความสั มพันธที
้ เพือ
่ ให้
์ เ่ กิดขึน
ฐานขอมู
ให
้ ลใช้งานไดง้ ายและไม
่
่ ้เกิดความซา้ ซ้อน
แบงออกเป็
น 3 ประเภทใหญ่ ประกอบดวย
่
้
1.ความสั มพันธแบบหนึ
่งตอหนึ
่ง ( One – to – One
์
่
)
2.ความสั มพันธแบบหนึ
่งตอกลุ
ม
์
่
่ ( One – to –
51
ความสั มพันธระหว
าง
Entity ( Cardinality
่
์
)
ความสั มพันธแบบหนึ
่งตอหนึ
่ง ( One – to – One )
์
่
- Record เพียง 1Record ใน Entity หนึ่ง ทีม
่ ี
ความสั มพันธกั
์ บRecord เพียง 1Record ใน Entity
อืน
่
พนักงาน
เป็ น
ผู้จัดการ
แผนก
52
ความสั มพันธระหว
าง
Entity ( Cardinality
่
์
)
ความสั มพันธแบบหนึ
่งตอกลุ
ม
์
่
่ (One-to-Many
Relationship)
- 1 Recordใน Entity หนึ่ง ทีม
่ ค
ี วามสั มพันธกั
์ บ
Record หลายๆ Record ใน Entity อืน
่ ๆ
: Entity ลูกค้าขององคกรธุ
รกิจหนึ่ง จะมี
์
ความสั มพันธกั
้ สิ นค้าทีล
่ ก
ู ค้าส่งมาให้
์ บ1คาสั่ งชือ
N
ลูกค้า
มี
คาสั่ งซือ
้
สิ นค้า
53
ความสั มพันธระหว
าง
Entity ( Cardinality
่
์
)
ความสั มพันธแบบกลุ
มต
ม
์
่ อกลุ
่
่ (Many – to – Many Relationship)
- เป็ นความสั มพันธของแต
ละ
์
่ Record ใน Entity
หนึ่งทีม
่ ค
ี วามสั มพันธกั
์ บ Record หลายๆ Record
ใน Entity อืน
่
- Entity ลูกค้าขององคกรธุ
รกิจหนึ่งจะมีความสั มพันธ ์
์
กับ Entity เกีย
่ วกับสิ นค้า
- บงชี
้ งึ สิ ทธิทล
ี่ ก
ู ค้าหนึ่งคนสามารถทีจ
่ ะชือ
้ ขายสิ นค้า
่ ถ
กับองคกรธุ
รกิจไดหลายชนิ
ด
์
้
- สิ นค้าหนึ่งชนิดก็สามารถถูกซือ
้ ขายกับลูกค้าหลายๆคน
เชนกัน
54
ความสั มพันธระหว
าง
Entity ( Cardinality
่
์
)
ความสั มพันธแบบหนึ
่งตอกลุ
ม
์
่
่ (One-to-Many
Relationship)
ลูกค้า
M
ซือ
้
ขาย
N
สิ นค้า
55