ผู้บริหารฐานข้อมูล

Download Report

Transcript ผู้บริหารฐานข้อมูล

Chapter 1
ความรู้ เบือ้ งต้ นเกีย่ วกับฐานข้ อมูล
1
ข้ อมูล (Data)
หมายถึ ง ข้อ เท็ จ จริ ง วัต ถุ หรื อเหตุ ก ารณ์ ที่
เกิดขึ้น กล่าวคือเป็ นข้อมูลดิบ (Raw Data) ที่ยงั ไม่
ผ่านการประมวลผล
2
สารสนเทศ (Information)
หมายถึง ข้อมูลที่ผ่านการประมวลผลแล้ว
และสามารถน าไปใช้ใ ห้เ กิ ด ประโยชน์ ต ามแต่ ล ะ
บุคคลที่ตอ้ งการได้
3
ตัวอย่ าง Data และ Information
Class Roster
Course:
Section : 2
No.
1
2
3
4
5
6
7
MGT500
ID
49210001
49150054
49274452
49220113
49220114
49221552
50182290
Semester: 2/2551
Name
สมชาย
มณีวรรณ
อรุณี
สุรีย์
ณรงค์ฤทธิ์
เอกชัย
ทองดี
Major
MKT
MGT
IT
ACC
FIN
IT
IT
(A) ข้ อมูลรายชือนักศึกษา
IT
12%
IT MKT
8% 12%
FIN
12%
ACC
20%
MGT
16%
IT
20%
(B) การนาข้ อมูลมาประมวลผล
เพื่อสรุปเป็ นสารสนเทศ
4
ชนิดของข้ อมูล (Type of Data)
1. ข้อความ (Text)
2. ข้อมูลที่ถูกกาหนดเป็ นรู ปแบบ (Formatted Data)
3. รู ปภาพ (Images)
4. ข้อมูลชนิดเสี ยง (Audio/Sound)
5
โครงสร้ างลาดับชั้นข้ อมูล
Bits
Byte
(Binary
Digit)
or
Chart
Field
Records
File
Database
Database
System
6
Bit (Binary Digit)
เป็ นหน่ ว ยข้ อ มู ล พื้ น ฐานที่ เ ล็ ก ที่ สุ ดภายใน
แฟ้ มข้อมูล บิต (Bit) จะแทนด้วยตัวเลข 1 หรื อ 0 ตัว
ใดตัวหนึ่ง
7
Byte or Char
แทนอักขระ 1 อักขระเรี ยกว่าไบต์ (Byte) เช่น az, A-Z, 0-9, ก-ฮ และสัญลักษณ์พิเศษต่างๆ โดย
อักขระ 1 ตัว จะแทนด้วยบิต 7 หรื อ 8 บิต ตาม
มาตรฐานของรหัสแอสกี(ASCII Standard) เช่ น ตัว
อักขระ A เมื่อเก็บในเครื่ องคอมพิวเตอร์จะถูกแปลง
ให้เป็ น 1000001 เป็ นต้น
8
Field
การนาเอาอักขระตั้งแต่ 1 ไบต์ข้ ึนไปมารวมกัน
เพื่อให้เกิดความหมายขึ้น เช่ น รหัสสิ นค้า, ชื่อสิ นค้า,
ราคาต่อหน่วย เป็ นต้น
รหัสสิ นค้ า
ชื่อสิ นค้ า
ราคาต่ อหน่ วย
9
Record
กลุ่มฟิ ลด์ที่มีความสัมพันธ์เกี่ ยวข้องกันเป็ นชุ ด
เรี ยกว่า ระเบียน หรื อ เรคอร์ด เช่ น
Field1
Record
Field2
รหัสสิ นค้ า
ชื่อสิ นค้ า
ระบบฐานข้อมูล
0001
Field3
ราคาต่ อหน่ วย
250
10
File
เรคอร์ ดของข้อมูลชนิ ดเดี ยวกันมารวมกันเป็ น
แฟ้ มข้อมูล หรื อไฟล์ (File) เช่ น แฟ้มข้อมูลสินค้า
รหัสสินค้ า
Record1
Record2
Record3
0001
0002
0003
ชื่อสินค้ า
ระบบฐานข้ อมูล
เขียนเกมด้ วย C++
Microsoft Office 2007
ราคาต่ อหน่ วย
220
195
295
11
Database
การเก็ บ ข้ อ มู ล ที่ มี ค วามสั ม พัน ธ์ กั น ไว้ใ นที่
เดียวกัน และมีตวั ช่ วยในการจัดการการทางานดูแล
ข้อ มู ล เรี ย กว่า ระบบจัด การฐานข้อ มู ล (Database
Management System : DBMS) เช่ น
12
ตัวอย่ าง Database ร้ านขายหนังสือ (บางส่ วน)
แฟ้มข้ อมูลสิ นค้ า
รหัสสิ นค้ า
ชื่อสิ นค้ า
ราคาต่ อหน่ วย
0001
0002
0003
ระบบฐานข้อมูล
เขียนเกมด้วย C++
Microsoft Office 2007
220
195
295
แฟ้มข้ อมูลลูกค้ า
รหัสลูกค้ า ชื่อ-นามสกุล
ทีอ่ ยู่
C001 อนุชา แสงทอง 11/01 ถนนแจ้งวัฒนะ หลักสี่ กรุ งเทพฯ
C002 วิรัญญา แก้วใส 21 ซอยวัดสังกระจาย เขตบางกอกใหญ่ กรุ งเทพฯ
เบอร์ โทรศัพท์
081-1111000
084-2222111
13
Database System
การรวมตัวกันของฐานข้อมูลตั้งแต่ 2 ฐานข้อมูล
ที่มีความสัมพันธ์กนั โดยมีวตั ถุประสงค์เพื่อเป็ นการ
ลดความซ้ าซ้อนของข้อมูล
14
องค์ ประกอบของระบบฐานข้ อมูล
1. แอพพลิเคชัน่ ฐานข้อมูล (Database Application)
2. ระบบจัดการฐานข้อมูล (Database Management
System : DBMS)
3. ดาต้าเบสเซิร์ฟเวอร์ (Database Server)
4. ข้อมูล (Data)
5. ผูบ้ ริ หารฐานข้อมูล (Database Administrator :DBA)
15
5. Database Administrator : DBA
3. Database Server
Database System
1
Database
Application
ตารางข้ อมูลลูกค้ า
1. แฟ้ มข้อมูลลูกค้า
2. แฟ้ มข้อมูลการขาย
3. แฟ้ มข้อมูลพนักงาน
4. แฟ้ มข้อมูลสิ นค้าคงคลัง
5. แฟ้ มข้อมูลบัญชี
2
DBMS
ตารางข้ อมูลการขาย
ตารางข้ อมูลพนักงาน
CusID
CusName
Address
Telephone
C001
บริษัท AAA
40/1 ………….
02-5591111
C002
บริษัท BBB
49/9…………..
02-4562222
ตารางข้ อมูลสินค้ าคงคลัง
ตารางข้ อมูลบัญชี
4
Data
16
แอพพลิเคชั่นฐานข้ อมูล (Database Application)
เป็ นแอพพลิเคชัน่ ที่สร้างขึ้นไว้ให้ผใู้ ช้งาน
สามารถติ ด ต่ อ กับ ฐานข้อ มู ล ได้อ ย่า งสะดวด ซึ่ ง มี
รู ปแบบการติ ด ต่ อ กับ ฐานข้อ มู ล แบบเมนู หรื อ
กราฟฟิ ก โดยผูใ้ ช้ไ ม่ จ าเป็ นต้อ งมี ค วามรู้ เ กี่ ย วกับ
ฐานข้อมูลก็สามารถเรี ยกใช้งานฐานข้อมูลได้ เช่ น
บริการเงินสดในระบบ ATM
17
DBMS
ระบบจัดการฐานข้อมูล (Database Management System :
DBMS) หมายถึง กลุ่มโปรแกรมหรื อซอฟต์แวร์ ที่ทาให้หน้าที่
บริ หารฐานข้อมูลโดยตรง ให้มีประสิ ทธิ ภาพมากที่สุด หรื อเป็ น
ตัวกลางในการเชื่ อมโยงระหว่างผูใ้ ช้ และโปรแกรมต่ างๆ ที่
เกี่ยวข้องกับระบบฐานข้อมูล
ตัวอย่างของ DBMS ที่นิยมใช้ในปั จจุบนั เช่น Microsoft
Access, FoxPro, SQL Server, Oracle, Informix, DB2 เป็ นต้น
18
หน้ าที่ของ DBMS
(1/9)
1 พจนานุกรมข้ อมูล (Data Dictionary)
จะเก็บรายเอียดเกี่ยวกับโครงสร้างของฐานข้อมูล เช่น ฐานข้อมูล
ประกอบไปด้วยรี เลชัน่ อะไรบ้าง มี แอททริ บิวต์ใดเป็ นคีย ์ แต่ละแอทท
ริ บิ ว ต์ มี คุ ณ สมบัติ อ ย่ า งไร กฎการใช้ ฐ านข้อ มู ล ประกอบไปด้ว ย
อะไรบ้าง เป็ นต้น อาจเรี ยกว่า เมต้าดาต้า (Metadata) จะส่ งไปจัดเก็บที่
ส่ วน พจนานุกรมข้อมูล (Data Dictionary)
โปรแกรมต่างๆ ที่จะติดต่อกับข้อมูลจะต้องผ่าน DBMS และ
DBMS
จะใช้ข อ้ มู ล ในพจนานุ ก รมข้อมู ล เพื่ อ หาโครงสร้ า งและ
ความสัมพันธ์ของข้อมูล
19
รูปที่ 1 ตัวอย่ างพจนานุกรมข้ อมูล
Table
Name
ProducTbl
Attribute
Name
ProductID
ProductName
UnitPrice
CustomerTbl CustomerID
CustomerName
Address
Telephone
Description Data Type Size Key Type
รหัสสิ นค้า
ชื่อสิ นค้า
ราคาต่อหน่วย
รหัสลูกค้า
ชื่อลูกค้า
ที่อยู่
เบอร์โทรศัพท์
Text
Text
Number
Text
Text
Text
4
50
Single
4
25
25
13
PK
PK
20
หน้ าที่ของ DBMS
(2/9)
2. การจัดการอุปกรณ์ จัดเก็บข้ อมูล
(Data Storage Management)
การเขียนโปรแกรมจัดการจัดเก็บข้อมูลลงในอุปกรณ์จดั เก็บ
ข้อ มู ล ต่ า งๆ เช่ น ดิ ส ก์ เป็ นเรื่ อ งยุ่ง ยาก ในระบบประมวลผล
แฟ้ มข้อมูลนั้น จะต้องมี การเขียนโปรแกรมเพื่อใช้ดึงข้อมูลลง
อุปกรณ์จดั เก็บข้อมูล แต่ในระบบฐานข้อมูลจะใช้ความสามารถ
ของ DBMS จัดการทาคาสัง่ ต่างๆ เหล่านี้แทน
21
หน้ าที่ของ DBMS
(3/9)
3. การแปลและแสดงผลข้ อมูล
(Data Transformation and Presentation)
DBMS จะทาหน้าที่แสดงภาพของข้อมูล
ออกมาให้ผใู้ ช้เข้าใจได้ง่ายและแปลงรู ปแบบข้อมูล
ลงสื่ ออุปกรณ์จดั เก็บข้อมูลโดยอัตโนมัติ
22
หน้ าที่ของ DBMS
(4/9)
4. การรักษาความปลอดภัย (Security)
DBMS จะทาหน้าที่ดูและรักษาความปลอดภัยให้กบั
ระบบฐานข้อมูล เช่ น กาหนดระดับความสามารถในการ
เข้าถึ งฐานข้อมูลที่ แตกต่างกันเพื่อป้ องกันการสู ญหายของ
ข้อ มู ล โดยเฉพาะกรณี ที่ มี ก ารใช้ร ะบบฐานข้อ มู ล ร่ ว มกัน
หลายคน
23
หน้ าที่ของ DBMS
(5/9)
5. การควบคุมการใช้ งานจากผู้ใช้ หลายๆ คน
(Multi user Access Control)
DBMS จะทาหน้าที่ควบคุมการใช้งานกลุ่มผูใ้ ช้
หลายๆ คน ให้สามารถทางานร่ วมกันได้โดยไม่เกิ ดปั ญหา เช่น
ในบางกรณี ที่มีผใู้ ช้หลายๆ คนร่ วมกัน อาจจะมีความต้องการใช้
ข้อมูลเดียวกัน ในช่วงเวลาเดียวกัน DBMS จะต้องทาหน้าที่
จัดสรรข้อมูลให้กบั ผูใ้ ช้แต่ละคนได้อย่างถูกต้องและเหมาะสม
ที่สุด
24
หน้ าที่ของ DBMS
(6/9)
6. การกู้สภาพและสารองข้ อมูล
(Back up and Recovery)
การส ารองข้อ มู ล และกู้ส ภาพกลับ คื น เพื่ อ ความ
ปลอดภัยและถูกต้องของฐานข้อมูล ในกรณี ที่ระบบฐานข้อมูล
เกิดความเสี ยหาย DBMS จะทาหน้าที่กสู้ ภาพข้อมูลกลับคืนมา
ในสภาพเดิมก่อนเสี ยหายได้
25
หน้ าที่ของ DBMS
(7/9)
7. ความถูกต้ องของข้ อมูล (Data Integrity)
DBMS จะดูแลควบคุมด้านกฏความถูกต้อง (Integrity Rule)
และลดปั ญ หาข้อ มู ล ไม่ ถู ก ต้ อ ง, การซ้ าซ้ อ นข้อ มู ล (Data
Redundancy)
และความไม่ ต รงกัน ของข้อ มู ล (Data
Inconsistency) DBMS บาตัวมีความสามารถควบคุมและจัดการ
ความถูก ต้องของข้อมูลต้องแต่การออกแบบระบบฐานข้อมูล
และการรับข้อมูลจากผูใ้ ช้
26
หน้ าที่ของ DBMS
(8/9)
8. ภาษาที่ใช้ งานและการเขียนโปรแกรมติดต่ อใช้ งาน
ฐานข้ อมูล (Database Access Language and
Application Programming Interface)
DBMS จะจัดการเข้าถึงข้อมูลโดยที่ผใู้ ช้สามารถกาหนดว่า
ต้องการข้อมู ล อะไร โดยไม่ ตอ้ งก าหนดว่าจะได้ขอ้ มู ล นั้น มา
อย่างไร ซึ่ งจะใช้ภาษาสอบถามข้อมูล (Query Language) ในการ
สอบถามข้อมูลจากฐานข้อมูล เพื่อเพิ่มความสะดวกและง่ายต่อ
การใช้งานให้กบั ผูใ้ ช้
27
หน้ าที่ของ DBMS
(9/9)
9. การติดต่ อฐานข้ อมูลบนระบบเครือข่ าย
(Database Communication Internet)
DBMS
จะต้อ งสามารถรองรั บ การนาระบบ
ฐานข้อมูลไปใช้งานบนระบบเครื อข่ายได้ เพราะในปั จจุ บนั นี้
แอพพลิเคชันหรื อระบบงานต่างๆ จะต้องสามารถประยุกต์ใช้
งานบนระบบเครื อข่ายได้ เพื่อความสะดวกในการเรี ยกใช้งาน
จากผูใ้ ช้ที่อยู่ ณ จุดใดบนระบบเครื อข่ายก็ได้
28
ดาต้ าเบสเซิร์ฟเวอร์ (Database Server)
เป็ นคอมพิวเตอร์ที่คอยให้บริ การจัดการฐานข้อมูล ซึ่ ง
ก็คือเครื่ องคอมพิวเตอร์ ที่ระบบจัดการฐานข้อมูลทางาน
อยู่ เพราะฉะนั้นควรเป็ นคอมพิวเตอร์ ที่มีความรวดเร็ วใน
การทางานสู งกว่าคอมพิวเตอร์ที่ใช้งานโดยทัว่ ไป
29
ข้ อมูล (Data)
ข้อมูล คื อ เนื้ อหาของข้อมูลที่ เราใช้งาน ซึ่ งถูก
เก็บในหน่วยความจาของดาต้าเบสเซิ ร์ฟเวอร์ โดยจะ
ถูกเรี ยกมาใช้งานจากระบบจัดการฐานข้อมูล
30
ผู้บริหารฐานข้ อมูล (Database Administrator : DBA)
คือ กลุ่มบุคคลที่ทาหน้าที่ดูแลข้อมูลในฐานข้อมูล ซึ่ ง
จะควบคุมให้การทางานเป็ นไปอย่างราบรื่ น นอกจากนี้ ยงั
ทาหน้าที่ กาหนดสิ ทธิ การใช้ง านฐานข้อมู ล กาหนดใน
เรื่ องความปลอดภัยของการใช้งาน พร้อมทั้งดูแลดาต้าเบส
เซิ ร์ฟเวอร์ให้ทางานอย่างปกติดว้ ย
31
ประโยชน์ ของระบบฐานข้ อมูล
1. ลดความซ้ าซ้อนของข้อมูล
2. หลีกเลี่ยงความขัดแย้งของข้อมูลได้ในระดับหนึ่ง
3. สามารถใช้ขอ้ มูลร่ วมกันได้
4. ควบคุมความเป็ นมาตรฐานได้
5. จัดหาระบบความปลอดภัยที่รัดกุมได้
6. ควบคุมความคงสภาพของข้อมูลได้
7. สร้างสมดุลในความขัดแย้งของความต้องการได้
8. เกิดความเป็ นอิสระของข้อมูล
32
ข้ อเสี ยของระบบฐานข้ อมูล
1. ความยากในการจัดการ
2. ความยากในการออกแบบฐานข้อมูลที่ดี
3. ความเสี่ ยงต่อความเสี ยหายของข้อมูลทั้งระบบ
4. ความยากในการประสานความต้องการของระบบ
5. ต้นทุนสู ง การสร้ างระบบและการบารุ งรั กษา ควบคุมได้
ค่อนข้างยาก
6. ถ้าการออกแบบหรื อการจัดการไม่ดี การทางานอาจช้ากว่า
ระบบไฟล์ปกติได้
33
บุคคลทีเ่ กีย่ วข้ องกับระบบฐานข้ อมูล
• ผูใ้ ช้ปลายทาง (End Users)
• โปรแกรมเมอร์ (Application Programmer)
• ผูบ้ ริ หารฐานข้อมูล (Database Administrator : DBA)
รูปแบบของฐานข้ อมูล
รูปแบบของฐานข้ อมูลโดยทัว่ ไป แบ่งออกเป็ น 3
ประเภท ได้ แก่
• ฐานข้ อมูลแบบลาดับชัน้ (Hierarchic Database)
• ฐานข้ อมูลแบบเครื อข่าย (Network Database)
• ฐานข้ อมูลแบบเชิงสัมพันธ์ (Relational Database)
35
1. ฐานข้ อมูลแบบลาดับชั้น (Hierarchical Database)
มีลกั ษณะเป็ นแผนภูมิต้นไม้ (Tree) ความสัมพันธ์เป็ นแบบพ่อกับ
ลูก (Parent/Child Relation)
ลักษณะของฐานข้ อมูลแบบลาดับชันมี
้ ความสัมพันธ์ แบบหนึ่งต่อ
หนึ่ ง (one-to-one) และหนึ่ ง ต่ อ กลุ่ม
(one-to-many) แต่ ไ ม่ มี
ความสัมพันธ์แบบกลุม่ ต่อกลุม่ (many-to-many)
36
ตัวอย่ าง
การจัดเก็บข้ อมูลในการสั่ งซื้อสิ นค้ าบันทึกข้ อมูลในรู ปแบบ Tree
การสั่งซื้ อ
(Order)
ใบสั่งซื้ อ 2
ใบสัง่ ซื้ อ 1
TV
Radio
VCD
TV
FAN
VCD
37
ข้อดี Hierarchical database
1. มีโครงสร้างที่เข้าใจง่าย - Tree Structure
2. โครงสร้างของฐานข้อมูลซับซ้อนน้ อยที่สดุ เหมาะ
กับข้อมูลที่มีความสัมพันธ์แบบ one-to-many
3. มีการป้ องกันความปลอดภัยของข้อมูลที่ดี เพราะ
ต้องอ่านข้อมูลที่เป็ นต้นกาเนิดก่อน
4. เหมาะกับข้อมูลที่มีการเรียงลาดับแบบต่อเนื่ อง
38
ข้อจากัด Hierarchical database
1. ไม่สามารถรองรับข้อมูลที่มีความสัมพันธ์แบบ
many-to-many 2. มีความยืดหยุ่นน้ อย และยุ่งยากใน
การปรับเปลี่ยนโครงสร้าง Tree
2. การเรียกใช้ข้อมูลต้องผ่านจาก Root เสมอ การ
ค้นหาข้อมูลในระดับล่าง ต้องค้นหาทัง้ แฟ้ มข้อมูล
3. การพัฒนาโปรแกรมค่อนข้างยาก ต้องทราบถึง
โครงสร้างในการจัดเก็บข้อมูล
39
2. ฐานข้ อมูลแบบเครือข่ าย (Network Database)
โครงสร้ างของฐานข้ อมูลแบบเครื อข่ายก็เป็ น Tree เช่นเดียวกับ
ฐานข้ อมูลแบบลาดับชัน้ แต่จะเป็ น Tree ที่ดซู บั ซ้ อนมากขึ ้นเพื่อรองรับ
ความสัมพันธ์แบบกลุม่ ต่อกลุม่ นัน่ เอง (ครอบคุมความสัมพันธ์แบบ 1:1
และ 1:N ด้ วย)
40
ตัวอย่ าง
การสัง่ ซื้ อ(Order)
ใบสัง่ ซื้ อ 2
ใบสั่งซื้ อ 1
TV
Radio
VCD
FAN
41
ข้ อดี ฐานข้ อมูลเครือข่ าย
(Network Database)
1. สนับสนุนความสัมพันธ์แบบ many-to-many
2. ความซับซ้อนในข้อมูลเกิดขึน้ น้ อยกว่าแบบลาดับชัน้
3. สามารถเชื่อมโยงข้อมูลแบบไปกลับได้
4. มีความยืดหยุ่นในการค้นหาข้อมูลดีกว่า โดยใช้
Pointer ในการเข้าถึงข้อมูล
42
ข้ อจากัด ฐานข้ อมูลเครือข่ าย
(Network Database Model)
1.
เนื่ องจากสามารถเข้าถึงข้อมูลได้โดยตรง ทาให้
การป้ องกันความปลอดภัยของข้อมูลมีน้อยลง
2. สิ้ น เปลื อ งเนื้ อที่ ข องหน่ วยความจ าในการเก็บ
Pointer
3. การเปลี่ยนแปลงในโครงสร้างยังมีความยุ่งยากอยู่
43
3. ฐานข้ อมูลเชิงสั มพันธ์ (Relational Database)
ใช้ แสดงความสัมพันธ์ ของข้ อมูลนัน้ เป็ นตารางซึ่งเก็ บข้ อมูลที่ มี
ลักษณะเหมือนกันไว้
ลักษณะโครงสร้ างข้ อมูลของฐานข้ อมูลชนิดนีจ้ ัดเก็บในรู ปแบบ
ของตาราง (Table) ภายในตารางแบ่งออกเป็ นแถว (Row) และคอลัมน์
(Column)
44
รห ัสสาขา
ทีอ
่ ยู่
จ ังหว ัด
รห ัสไปรษณีย ์
B003
44/3 ถ.อุดรดุษฎี
อุดรธานี
41000
B005
55/5 ถ.นิตโย
อุดรธานี
41000
B007
ั
16 ถ.โพนพิสย
หนองคาย
44000
B002
30 ถ.ชยางกูร
อุบลราชธานี
34000
B004
ี า
88/10 ถ.ราชสม
ี า
นครราชสม
43000
รห ัสพน ักงาน
ื่
ชอ
นามสกุล
ตาแหน่ง
เพศ
SUD21
สมชาย
เข็มกลัด
ผู ้จัดการ
ช
1 ตค. 2516
30000
B005
SNK37
แอน
ทองประสม
พนักงาน
ญ
10 พย. 2519
12000
B007
SNK14
ศรราม
เทพพิทักษ์
หัวหน ้าแผนก
ช
24 มีค. 2517
20000
B007
SUB09
สุวนันท์
คงยิง่
พนักงาน
ญ
19 กพ. 2521
9000
B002
SUD04
ปนัดดา
์ ู ้ดี
วงศผ
ผู ้จัดการ
ญ
3 กค. 2518
25000
B003
SNR41
เจนจิรา
เกิดประสพ
พนักงาน
ญ
13 มิย. 2520
9000
B004
ว ันเกิด
เงินเดือน
รห ัสสาขา
45
Relation
E-ID
NAME
ADDRESS
PHONE
001 Somchai
Bangkok
02-2322212
002 Somsak
Chonburi
053-3425148
003
Somsri
Ranong
081-4115632
004
Somjai
Nonthaburi
02-2322212
Primary Key
Cardinality
Employee
Attribute
Degree
แบบจำลองข้ อมูลเชิงสั มพันธ์
(Relation Database )
Foreign Key
Payroll
TAX-ID
Salary
E-ID
Tax - Type
0012345
10,000
004
1
1234566
8,900
002
2
46
ข้ อดี แบบจาลองข้ อมูลเชิงสั มพันธ์
(Relation Database Model)
1. สามารถสื่อสารและเข้าใจได้ง่าย
2. สามารถเลือกแสดงข้อมูลตามเงื่อนไขได้หลาย Key Field
3. ความซับซ้อนของข้อมูลมีน้อยมาก
4. มีระบบรักษาความปลอดภัยที่ดีผใ้ ู ช้งานไม่ต้องทราบโครงสร้างของการเก็บข้อมูลภายใน
ฐานข้อมูล
5. โครงสร้างของฐานข้อมูลมีความอิสระจากโปรแกรม
ข้ อจากัด แบบจาลองข้ อมูลเชิงสั มพันธ์
(Relation Database Model)
1. ต้องมีการลงทุนสูงเนื่ องจากต้องใช้ Hardware และ Software ที่มีความสามารถสูง
2. ไม่เหมาะสาหรับข้อมูลภาพและเสียง ในระบบฐานข้อมูลมัลติมีเดีย, hypertext
47
สถาปั ตยกรรมระบบฐานข้ อมูล
(Database Systems Architecture)
48
สถาปัตยกรรม
“สถาปั ต ยกรรม” หลายคนมักมโนภาพถึ ง สถาปั ต ยกรรมการ
ก่อสร้ างอาคารต่างๆ ที่ออกแบบโดยสถาปนิก
แต่ ส าหรั บ สถาปั ต ยกรรมในเชิ ง คอมพิ ว เตอร์ ศ าสตร์ จะเป็ น
การศึกษาถึงโครงสร้ างองค์ประกอบหลักของระบบและหน้ าที่ในแต่ ละ
องค์ประกอบ รวมถึงการสื่อสารหรื อการติดต่อกับส่วนอื่นๆที่เกี่ยวข้ อง
สถาปั ตยกรรมระบบฐานข้ อมู ล หมายถึ ง การอธิ บ าย
เกี่ยวกับโครงสร้ างและส่ วนประกอบหลักที่นามาประกอบรวมกัน
เป็ นระบบฐานข้ อมูล
49
สถาปั ตยกรรมระบบฐานข้ อมูลได้ เกิดขึน้ เมื่อปี ค.ศ. 1971 โดยกลุ่ม
คณะทางาน DBTG (Data Base Task Group)
ได้ กาหนดสถาปั ตยกรรมระบบฐานข้ อมูลไว้ 2 ระดับ คือ สคีมา
(Schema) ที่เป็ นมุมมองของระบบ (Systems view) และ ซับสคีมา
(Subschema) ที่เป็ นมุมมองผู้ใช้ งาน (User View)
ในปี ค.ศ. 1975 ทางสถาบัน American National Standards Institute :
ANSI) และ Standard Planning and Requirements Committee : SPARC
ได้ กาหนดสถาปั ตยกรรมระบบฐานข้ อมูลขึน้ มาใหม่ ท่ ีมีลักษณะคล้ ายคลึง
กัน โดยใช้ ช่ ือว่ า ANSI-SPARC
ซึ่งประกอบด้ วยสถาปั ตยกรรม 3 ระดับ คือ ระดับภายใน (Internal
Level) ระดับแนวคิด (Conceptual Level) และระดับภายนอก (External
Level) ต่ อมาข้ อเสนอรายงานดังกล่ าวได้ ถูกเผยแพร่ โดย IBM จนกระทั่งมี
การนามาใช้ งานต่ อมา
50
สถาปัตยกรรม 3 ระดับ
สถาปั ตยกรรมระบบฐานข้ อมูลเป็ นการศึกษาถึ ง
โครงสร้ างและส่วนประกอบหลักที่นามาประกอบรวมกั น
เป็ นระบบฐานข้ อมูล ระดับชันของสถาปั
้
ตยกรรม 3 ระดับ
ประกอบด้ วย
1. ระดับภายใน (Internal Level)
2. ระดับแนวคิด (Conceptual Level)
3. ระดับภายนอก (External Level)
51
ระดับภายใน (Internal Level)
ระดับภายในจะมีโครงร่างภายใน (Internal Schema) ที่อธิบายเกี่ยวกับโครงสร้ าง
การจัดเก็บข้ อมูลเชิงกายภาพ (Physical) ของฐานข้ อมูลว่ามีการกาหนดโครงสร้ างข้ อมูล
เพื่อจัดเก็บข้ อมูลอย่างไร มีวิธีการเข้ าถึงข้ อมูลต่างๆ ในฐานข้ อมูลเพื่อดึงข้ อมูลที่ต้องการ
ได้ อย่างไร เช่ น รู ปแบบโครงสร้ างที่ใช้ จัดเก็บเป็ นโครงสร้ างแบบเรี ยงลาดับดัชนี
(Indexed Sequential) หรื อแบบบีทรี (B-Tree) เป็ นต้ น
โครงสร้ างข้ อมูลระดับนี ้จะส่งผลต่อประสิทธิภาพด้ านความเร็ วในการเข้ าถึงข้ อมูล
ซึง่ ระดับภายในยังเกี่ยวข้ องกับสิ่งต่อไปนี ้
•
•
•
•
การจัดการพื ้นที่เพื่อการจัดเก็บข้ อมูลและการเรี ยงลาดับดัชนีข้อมูล
การจัดเก็บรายละเอียดของเรคอร์ ด
การจัดวางตาแหน่งเรคอร์ ด
การบีบอัดข้ อมูลและเทคนิคการเข้ ารหัสข้ อมูล
52
โครงสร้ างข้ อมูลระดับภายใน ในมุมมองของผู้ใช้ ฐานข้ อมูล
จะไม่ ส ามารถเห็น รายละเอี ย ดทางกายภาพในระดั บ นี ไ้ ด้ เ ลย
รายละเอียดของระดับนีจ้ ะถูกซ่ อนไว้ หมด
ผู้ บ ริ ห า ร ฐ า นข้ อมู ล เ ท่ า นั ้ น ที่ ม อง เ ห็ น แ ล ะ ส า ม า ร ถ
เปลี่ยนแปลงรูปแบบโครงสร้ างข้ อมูลเหล่ านีไ้ ด้
จุดประสงค์ หลั กของการจัดโครงสร้ างในระดับนี ้ ก็เพื่ อให้
การปฏิบัติก ารกั บ ข้ อมู ล เป็ นไปอย่ า งมี ป ระสิ ท ธิ ภ าพ ดังนั น้ ใน
ระดับภายในจึงเป็ นส่ วนที่พิจารณาถึงความเร็ วในการปฏิ บัติกับ
ข้ อมูล
53
สรุ ป
• เป็ นระดับที่จดั เก็บข้ อมูลด้ วยโครงสร้ างที่เหมาะสม ซึง่ มีผลต่อความเร็ ว
และประสิทธิภาพในการเข้ าถึงข้ อมูลที่ต้องการ
• โครงสร้ างข้ อมูลที่ใช้ เก็บ เช่น Tree , B-Tree หรื อ Index ขึ ้นอยู่กบั การ
กาหนดโดย DBA
• รู ปแบบข้ อมูลที่ เห็ น ในระดับภายในเรี ย กว่า เค้ า ร่ า งภายใน(Internal
schema)
• เป็ นระดับที่มีการทางานประสานกับระบบปฏิบตั กิ าร(OS)
• ข้ อมูลในระดับภายในยังไม่ใช่รูปแบบการจัดเก็บข้ อมูลจริ งๆที่เก็บใน
ดิสก์
• การอ่านและเขียนข้ อมูลเป็ นหน้ าที่ของระบบปฏิบตั กิ าร(OS)
ระดับแนวคิด (Conceptual Level)
ระดับแนวคิดจะมีโครงร่างแนวคิด (Conceptual Schema) หรื ออาจเรี ยกว่า
เป็ นโครงสร้ างข้ อมูลระดับตรรกะ (Logical)
ระดับนีจ้ ัดเป็ นโครงสร้ างหลักของระบบโดยรวม โดยมุ่งเน้ นความสั มพันธ์
ระหว่างข้ อมูลเป็ นสาคัญ หรื อที่เรี ยก “แบบจาลองข้ อมูล (Data Model)”
โครงสร้ างระดับแนวคิดนี ้เป็ นระดับที่อธิบายว่ามีข้อมูลอะไรบ้ าง (What) ที่
จะจัดเก็บลงในฐานข้ อมูล ด้ วยการแสดงข้ อมูลและความสัมพันธ์ระหว่างข้ อมูลใน
ระบบ
บุคคลที่สามารถเข้ าไปแก้ ไขโครงสร้ างข้ อมูลระดับแนวคิดได้ คือ ผู้บริ หาร
ฐานข้ อมูลหรื อโปรแกรมเมอร์ ซึง่ ระดับแนวคิดยังเกี่ยวข้ องกับสิ่งต่อไปนี ้
55
• จ านวนเอนทิ ตี ท้ ั ง้ หมด ซึ่ ง ประกอบไปด้ วยแอททริ บิ ว ต์ ที่ ใ ช้ อธิ บ าย
คุณสมบัติของแต่ละเอนทิตี ้ รวมถึงความสัมพันธ์ระหว่างเอนทิตี ้ในระบบ
• กฎเกณฑ์ข้อบังคับในข้ อมูล (Constraints)
• ระบบความปลอดภัยและกฎความคงสภาพในข้ อมูล (Integrity)
โครงสร้ างระดับแนวคิด / ระดับตรรกะที่แสดงถึงความสัมพันธ์ระหว่างข้ อมูล
และมีจดุ ประสงค์เพื่อให้ เกิดความอิสระในโครงสร้ าง (Structured Independent)
กับระดับภายใน โดยแบบจาลองข้ อมูลที่อยู่ในระดับนี จ้ ะมีจุดมุ่ งหมายเพียง
เพื่อแสดงถึงความสัมพันธ์ ระหว่ างข้ อมูลเท่ านัน้
การนาเสนอข้ อมูลในระดับแนวคิด ข้ อมูลที่แสดงจะอยู่ในรูปแบบของตาราง
หรื อรี เลชัน่ (กรณีใช้ ฐานข้ อมูลเชิงสัมพันธ์ )
56
สรุ ป
• เป็ นโครงสร้ างหลักของฐานข้ อมูลโดยรวม
• โครงสร้ างข้ อมูลในระดับนีม้ ่งุ เน้ นความสัมพันธ์ (Relationship) ระหว่างข้ อมูล เป็ นหลัก
สาคัญ หรื อเรี ยกว่าแบบจาลองข้ อมูล(Data Model)
• เป็ นระดับที่อธิบายถึงว่า ข้ อมูลอะไร(What) ที่จะจัดเก็บลงในฐานข้ อมูล และมีความสัมพันธ์
ระหว่างอย่างไร
• ระดับแนวคิดมีความเกี่ยวข้ องกับสิง่ ต่อไปนี ้
– จานวนเอนติตี ้ทั ้งหมด ซึง่ ประกอบด้ วย แอตทริ บิวต์ และความสัมพันธ์ระหว่างเอนติตี ้
– กฏเกณฑ์ของข้ อมูล
– ความปลอดภัย และความคงสภาพของข้ อมูล
• ข้ อมูลในระดับแนวคิดจะถูกแสดงตามแบบจาลองข้ อมูล ที่ฐานข้ อมูลนันใช้
้ เรี ยกว่า เค้ าร่ าง
แนวคิด (Conceptual schema)
• ผู้ที่ทาหน้ าที่บริ หารจัดการโครงสร้ างในระดับนี ้คือ ผู้บริ หารฐานข้ อมูล(DBA)
ระดับภายนอก (External Level)
ระดับภายนอกประกอบด้ วยจานวนของโครงร่ างภายนอก (External
Schema) หรื อมุมมองของผู้ใช้ ซึง่ จัดเป็ นระดับสูงสุดที่เกี่ ยวข้ องกับผู้ใช้ งาน
มากที่สดุ
มุม มองการใช้ ง านข้ อ มูล ของผู้ใ ช้ แ ต่ ล ะคนสามารถแตกต่า งกัน ได้
ถึงแม้ วา่ จะใช้ งานข้ อมูลชุดเดียวกันก็ตาม
สรุ ป
• เป็ นระดับที่ติดต่อกับผู้ใช้
• ผู้ใช้ แต่ละคนอาจจะมีมมุ มองข้ อมูลแตกต่างกันหรื อเหมือนกันก็ได้
• รูปแบบข้ อมูลที่เห็นในระดับภายนอก เรี ยกว่า เค้ าร่างภายนอก(External
schema)หรื อ วิว(View) ซึง่ อาจนาเสนอได้ หลายรูปแบบ
• แต่ละฐานข้ อมูลสามารถมี เค้ าร่างภายนอก ได้ หลายรูปแบบ
58
ระดับภายนอก(External level)
User A
User C
User B
ชื่อ
โทรศัพท์
สินสมุทร
0-4221-1040
สุดสาคร
0-4224-4505
รหัส
ชื่อ
ที่อยู่
โทรศัพท์
001
สินสมุทร
48/7 ถ.อุดรดุษฎี
0-4221-1040
รหัสวิชา
ชื่อวิชา
หน่ วยกิต
DB01
ระบบฐานข้ อมูล
3
PR01
หลักการเขียนโปรแกรม
3
NW01
เครือข่ ายและ
โทรคมนาคม
3
External schema
Conceptual schema
รหัส
ชื่อ
ที่อยู่
001
สินสมุทร
48/7 ถ.อุดรดุษฎี 0-4221-1040
002
สุดสาคร
64 ถ.ทหาร
โทรศัพท์
0-4224-4505
รหัสวิชา
ชื่อวิชา
หน่ วยกิต
DB01
ระบบฐานข้ อมูล
3
PR01
หลักการเขียนโปรแกรม
3
NW01
เครื อข่ ายและโทรคมนาคม 3
วัตถุประสงค์ ของการแบ่ งสถาปัตยกรรมฐานข้ อมูลเป็ นหลายระดับ
1. เพื่อให้ ผ้ ูใช้ แต่ละคนสามารถเข้ าถึงข้ อมูลชุดเดียวกัน แต่อาจมีความแตกต่างใน
ข้ อมูลที่นาเสนอต่อผู้ใช้ แต่ละคนได้
2. ผู้ใช้ ไม่จาเป็ นต้ องปฏิบตั ิโดยตรงกับฐานข้ อมูลในระดับภายในซึ่ง อยู่ในชัน้ ระดับ
กายภาพ ปล่อยให้ เป็ นหน้ าที่ของ DBMS เป็ นตัวจัดการแทน
3. ผู้บริ หารฐานข้ อมูล (DBA) สามารถเปลี่ยนโครงสร้ างการจัดเก็บข้ อมูลในฐานข้ อมูล
ได้ โดยปราศจากผลกระทบใดๆ ต่อมุมมองของผู้ใช้ งาน
4. กรณี มี ก ารเปลี่ ย นแปลงอุปกรณ์ จัด เก็ บ ข้ อ มูล จะไม่ ส่ง ผลกระทบต่อ โครงสร้ าง
ภายในของฐานข้ อมูลใดๆ
5. การเปลี่ ย นแปลงโครงสร้ างข้ อ มูล ในระดับ แนวคิ ด จะไม่ ส่ ง ผลกระทบต่ อ ผู้ ใช้
ฐานข้ อมูล
60
โครงร่ างฐานข้ อมูล (Database Schema)
รายละเอี ย ดในภาพรวมของฐานข้ อ มูล จะเรี ย กว่ า “โครงร่ า ง
ฐานข้ อ มูล (Database
Schema) โดยโครงร่ า ง หรื อ สคี ม านัน้
เปรี ยบเสมือนแบบพิมพ์เขียวทางเทคนิคของฐานข้ อมูล และโครงร่ าง
ฐานข้ อมูลก็บจะมีความแตกต่างกัน 3 ชนิดด้ วยกัน ประกอบด้ วย
• โครงร่ างภายนอก (External Schema) เป็ นระดับสูงสุดที่ น าเสนอข้ อ มูลได้ หลาย
มุมมองตามความต้ องการของผู้ใช้ งานแต่ละคน โครงร่ างภายนอกนี ้อาจเรี ยกว่ า “ซับ
สคีมา (Subschema)”
• โครงร่ างแนวคิด (Conceptual Schema) เป็ นระดับถัดมาเกี่ยวข้ องกับเอนทิตี ้
แอททริ บิวต์ และความสัมพันธ์
• โครงร่ างภายใน (Internal Schema) เป็ นระดับต่าสุดเกี่ยวข้ องกับข้ อมูลจริ งๆ ที่
ถูกจัดเก็บลงในโครงสร้ างเพื่อบันทึกลงในสื่ออุปกรณ์จดั เก็บข้ อมูล
61
การแปลงความหมาย(Mapping)
จากสถาปั ตยกรรม 3 ระดับ ข้ อมูลแต่ละระดับมีความแตกต่าง
กัน จึงมีกลไกในการแปลงรู ปแบบของข้ อมูลจากระดับหนึ่งไปเป็ น
อีกระดับ ได้ แก่
• การแปลงความหมายระดับภายนอก/ระดับแนวคิด
(external/conceptual mapping)
• การแปลงความหมายระดับแนวคิด/ระดับภายใน
(conceptual/internal mapping)
การแปลความหมายระดับภายนอกและระดับแนวคิด
(External / Conceptual Mapping)
• เป็ นการถ่ายทอดมุมมอง(View) ที่มีตอ่ ข้ อมูลจากผู้ใช้ ระดับ
ภายนอกไปยังระดับแนวคิด
• เพื่อทาการออกแบบโครงสร้ าง ให้ ตรงตามความต้ องการของ
ผู้ใช้ ในระดับภายนอก
การแปลความหมายระดับแนวคิดและระดับภายใน
(Conceptual / Internal Mapping)
• เป็ นการถ่ายทอดมุมมอง(View) ที่มีตอ่ ข้ อมูลจากผู้ใช้ ระดับ
แนวคิดไปยังระดับภายใน
• เพื่อเอาโครงสร้ างที่ได้ ออกแบบไว้ ใปกาหนดหรื อออกแบบ
วิธีการจัดเก็บข้ อมูลในหน่วยความจาสารอง
สคีมา (Schema) การแปลงรู ป (Mapping) และอินสแตนซ์ (Instances)
External view 1
empCode
Fname
Conceptual level
Lname
empNo
External view 2
Age
Fname
Salary
Lname
empNo
birthDate
Salary
Fname
BranchNo
BranchNo
Struct EMPLOYEE
{
int empNo;
int BranchNo;
char Fname[15];
Internal level
char Lname[15];
struct date birthDate;
float Salary;
struct EMPLOYEE *next;
};
Index empNo; Index BranchNo;
65
ความเป็ นอิสระของข้ อมูล(Data Independence)
จุ ด ประสงค์ ข อง ความเป็ นอิ ส ระของข้ อมู ล คื อ ผู้ ใช้ ไม่
จาเป็ นต้ องแก้ ไขโปรแกรมทุกครัง้ เมื่อมีการเปลี่ยนแปลงโครงสร้ าง
หรื อข้ อมูลในระดับแนวคิดและระดับภายใน
โดยปล่อยให้ DBMS เป็ นตัวจัดการเชื่อมข้ อมูลระดับภายนอก
กับระดับแนวคิด และระดับแนวคิดกับระดับภายในเอง
กล่าวคือ ข้ อมูลระดับที่สงู กว่าจะไม่เกิดผลกระทบใดๆ จากการ
เปลี่ยนแปลงข้ อมูลในระดับที่ต่ากว่า
ความเป็ นอิสระของข้ อมูล(Data Independence)
• ความเป็ นอิสระของข้ อมูลทางตรรกะ
(Logical data independence)
• ความเป็ นอิสระของข้ อมูลทางกายภาพ
(Physical data independence)
ความเป็ นอิสระของข้ อมูลทางตรรกะ (Logical data independence)
หมายถึ ง การเปลี่ ย นแปลงในเค้ า ร่ า งแนวคิ ด (Conceptual
schemas) เช่ น การเพิ่ ม การเปลี่ ย นแปลงแอตทริ บิ ว ต์ หรื อ
ความสั ม พั น ธ์ ใ ด ๆ ก็ จ ะไม่ ส่ ง ผลกระทบต่ อ เค้ าร่ า งภายนอก
(External schemas)ที่ผ้ ใู ช้ ใช้ งานอยู่
กล่ า วคื อ ผู้ ใช้ ยัง คงวิ ว ข้ อมู ล ได้ เ ช่ น เดิ ม โดยไม่ ต้ องแก้ ไข
โปรแกรมประยุก ต์ ใ ด ๆ ถึ ง แม้ จ ะมี ก ารเปลี่ ย นแปลงในเค้ า ร่ า ง
แนวคิด
ความเป็ นอิสระของข้ อมูลทางกายภาพ(Physical data independence)
หมายถึง การเปลี่ยนแปลงเค้ าร่ างภายใน(Internal schemas)
เช่น การปรับปรุงโครงสร้ างไฟล์ใหม่ หรื อการเปลี่ยนแปลงโครงสร้ าง
การจัดเก็บข้ อมูลด้ วยการใช้ อปุ กรณ์จดั เก็บข้ อมูลที่แตกต่างไปจาก
เดิม การปรับปรุ งการเรี ยงลาดับดัชนี การปรั บปรุ งอัลกอริ ทึมการ
แฮชชิง ก็ไม่กระทบต่อการเรี ยกดูข้อมูลจากผู้ใช้ งานใด ๆ
ความเป็ นอิสระของข้ อมูล(Data Independence)
External
schema
External
schema
External
schema
Logical data independence
External/Conceptual
Mapping
Conceptual
Schema
Physical data independence
Conceptual/Internal
Mapping
Internal
Schema
User A1
User A2
User B1
User B2
User B3
Host language
+ DSL
Host language
+ DSL
Host language
+ DSL
Host language
+ DSL
Host language
+ DSL
External
schema A
External
Schema B
External/Conceptual
Mapping
DBA
Conceptual
Schema
Conceptual/Internal
Mapping
Database
Logical Data Independence
DBMS
Physical Data Independence