The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

E-Book หน่วยที่ 2 เรื่องสถาปัตยกรรมของระบบฐานข้อมูล

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by supranee kunwean, 2019-06-05 21:36:05

E-Book หน่วยที่ 2 เรื่องสถาปัตยกรรมของระบบฐานข้อมูล

E-Book หน่วยที่ 2 เรื่องสถาปัตยกรรมของระบบฐานข้อมูล

หนว่ ยที่ 2 สถาปตั ยกรรมของระบบฐานขอ้ มลู

ครูสุปราณี คณุ เวียน

1

หน่วยท่ี 2

สถาปัตยกรรมของระบบฐานข้อมูล

สาระสาคญั

การสร้างระบบฐานขอ้ มลู จะทาใหผ้ ใู้ ชส้ ามารถใชข้ อ้ มลู ซ่ึงอยบู่ นฐานขอ้ มลู เดียวกนั โดยไม่ตอ้ ง

ทราบว่า การจดั เกบ็ ขอ้ มลู ภายในเคร่ืองจะเป็นอยา่ งไร มีการเก็บรวบรวมขอ้ มลู ใดบา้ งไวใ้ นระบบ

หรือใชเ้ ทคนิควิธีใดในการจดั เกบ็ หรือเรียกใชข้ อ้ มลู ท้งั ผบู้ ริหารฐานขอ้ มลู จะเป็นผคู้ วบคุมการ

บริหารงานของระบบฐานขอ้ มลู ท้งั หมด รวมท้งั กาหนดความปลอดภยั ความบรู ณภาพของขอ้ มลู สารอง

และการกู้ ตลอดจนเป็นผปู้ ระสานงานกบั ผใู้ ชเ้ พอ่ื ปรับฐานขอ้ มลู ใหเ้ หมาะสมอยตู่ ลอดเวลา

เนือ้ หา

1. ระดบั ของขอ้ มลู 4. ภาษาท่ีใชใ้ นระบบจดั การฐานขอ้ มลู
2. ความเป็นอิสระของขอ้ มลู 5. ระบบจดั การฐานขอ้ มลู
3. เคา้ ร่างของฐานขอ้ มลู 6. ผบู้ ริหารฐานขอ้ มลู

จดุ ประสงค์เชงิ พฤตกิ รรม

1. เมอ่ื ศึกษาบทน้ีจบแลว้ นกั ศกึ ษาสามารถ
2. อธิบายการจดั แบ่งระดบั ของขอ้ มลู ในระบบฐานขอ้ มลู ได้
3. บอกความหมายและเคา้ ร่างของฐานขอ้ มลู ได้
4. อธิบายรายละเอยี ดการจดั ระดบั เคา้ ร่างฐานขอ้ มลู ในแต่ละระดบั ได้
5. บอกประเภทของภาษาท่ีใชใ้ นระบบจดั การฐานขอ้ มลู ได้
6. บอกความหมายของระบบจดั การฐานขอ้ มลู ได้
7. บอกหนา้ ท่ีของระบบจดั การฐานขอ้ มลู ได้
8. ร่วมอภิปรายดว้ ยความต้งั ใจ
9. ไมท่ ุจริตในการทาแบบฝึกหดั และแบบทดสอบ
10. ทางานมอบหมายเสร็จภายในเวลาท่ีกาหนด

2

ดงั ไดท้ ราบจากบทที่ 1 แลว้ ว่า ระบบฐานขอ้ มลู จะเป็นการนาเอาขอ้ มลู ท่ีเก่ียวขอ้ งกนั มา
รวมกนั ไวใ้ นระบบเดียวกนั เดียวกนั เพือ่ ใหผ้ ใู้ ชส้ ามารถใชข้ อ้ มลู ท่ีอยบู่ นฐานขอ้ มลู เดียวกนั ได้ แมจ้ ะมี
ความตอ้ งการที่ต่างกนั กต็ าม ผใู้ ชแ้ ต่ละคนจะมองขอ้ มลู ในแง่มมุ หรือววิ (View) ที่ต่างกนั ผใู้ ชข้ อ้ มลู
เพียงบางส่วนของแฟ้ มขอ้ มลู ระดบั การมองของผใู้ ชจ้ ึงมงุ่ ใหก้ ารเรียกใชข้ อ้ มลู ของตนมีประสิทธิภาพ
โดยไมจ่ าเป็นตอ้ งสนใจวา่ การจดั เก็บขอ้ มลู ท่ีแทจ้ ริงภายในเครื่อง หรือขอ้ มลู ท่ีตนไม่ตอ้ งการเรียกใช้
น้นั จะเป็นอยา่ งไร ดงั น้นั การเลือกใชว้ ธิ ีจดั เก็บขอ้ มลู ท่ีเหมาะสม จึงเป็นส่วนท่ีทาใหก้ ารเรียกใชข้ อ้ มลู
เกิดประสิทธิภาพ ในระบบฐานขอ้ มลู จึงไดม้ กี ารแบ่งระดบั ของขอ้ มลู ดงั จะไดก้ ล่าวต่อไปน้ี

ระดับของข้อมูล

ระบบฐานขอ้ มลู มีการจดั แบ่งระดบั ของขอ้ มลู เป็น 3 ระดบั ดงั รูปที่ 2.1

วิว 1 วิว 2 วิว 3 ................ ววิ N

ระดบั แนวคิด

ระดบั ภายใน

รูปที่ 3 ระดบั ของขอ้ มลู 3 ระดบั

ระดบั ภายในนอกหรือววิ ( External Level หรือ View )

เป็นระดบั ของขอ้ มลู ท่ีสูงท่ีสุด ประกอบดว้ ยภาพที่ผใู้ ชแ้ ต่ละคนจะมองขอ้ มลู หรือววิ
(View)ของตน

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

เป็นระดบั ของขอ้ มลู ที่อยถู่ ดั ลงไป เป็นการมองเอนทิต้ีและความสมั พนั ธร์ ะหวา่ งเอนทิต้ี
รวมท้งั กฎเกณฑแ์ ละขอ้ จากดั ต่าง ๆ ขอ้ มลู ในระดบั น้ี เป็นขอ้ มลู ที่ผา่ นการวิเคราะหแ์ ละออกแบบโดย
ผบู้ ริหารฐานขอ้ มลู หรือนกั วิเคราะห์ระบบมาแลว้ เพอื่ ใหผ้ ใู้ ชข้ อ้ มลู ในระดบั ภายนอกสามารถเรียกใช้
ขอ้ มลู ไดใ้ นรูปแบบต่าง ๆ กนั ตามที่ผใู้ ชต้ อ้ งการ

3

ระดบั ภายใน (Internal Level หรือ Physical Level)

เป็นระดบั ขอ้ มลู ท่ีอยลู่ า่ งสุด เป็นเป็นระดบั ของการจดั เก็บขอ้ มลู จริง ๆ ว่ามีโครงสร้างการเกบ็
อยา่ งไร วธิ ีการเขา้ ถงึ ขอ้ มลู ในฐานขอ้ มลู ทาอยา่ งไร

จากการแบ่งระดบั ของฐานขอ้ มลู ออกเป็น 3 ระดบั ขา้ งตน จึงทาใหผ้ ใู้ ชไ้ มต่ อ้ งสนใจกบั
รายละเอยี ดในการเก็บขอ้ มลู รวมท้งั ไมต่ อ้ งทราบขอ้ มลู ส่วนท่ีตนไมไ่ ดใ้ ช้ การแบ่งระดบั ขอ้ มลู ดงั ได้
กลา่ วมา ยงั เป็นประโยชนใ์ นจะขอกลา่ วรายละเอยี ดในเร่ืองของความเป็นอสิ ระของขอ้ มลู เพิม่ เติมจากท่ี
ไดก้ ล่าวถึงไปบา้ วแลว้ ในบทท่ี 1 ดงั น้ีเร่ืองของความเป็นอสิ ระของขอ้ มลู ดงั ที่ไดอ้ ธิบายไปแลว้ วา่ ตวั
จดั การฐานขอ้ มลู (DBMS)จะทาหนา้ ที่เชื่อมขอ้ มลู ดงั กล่าวจะเกี่ยวขอ้ งกบั ความเป็นอิสระของขอ้ มลู ดว้ ย
เช่นกนั จึง

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

ความเป็นอิสระของขอ้ มลู แบ่งออกเป็น 2 ชนิด
1. ความเป็นอสิ ระของขอ้ มลู ในเชิงกายภาพ ( Physical Data Indepdndence )
หมายถึง การเปล่ียนแปลงแกไ้ ขโครงสร้างในระดบั ภายใน จะไม่กระทบต่อโครงสร้าง
ในระดบั แนวความคิดและระดบั ภายนอก เช่น การเปลี่ยนวิธีการเรียกใชข้ อ้ มลู จากเดิมใหม้ ีประสิทธิภาพ
มากข้ึน จะไมก่ ระทบต่อระดบั แนวคิดหรือระดบั ผใู้ ช้

2. ความเป็นอิสระของขอ้ มลู ในเชิงตรรก ( Logical Data Indepdndence )
หมายถึง การเปลี่ยนแปลงขอ้ มลู ในระดบั แนวคิด จะไมก่ ระทบต่อโครงสร้างใน

ระดบั ภายนอก หรือโปรแกรมที่ประยกุ ตใ์ ชง้ าน เช่น การเพม่ิ แอททริบิวตห์ รือเอนทิต้ีใหม่เขา้ ไปใน
ฐานขอ้ มลู เป็นตน้

เค้าร่างของฐานข้อมูล ( Database Schema )

เม่อื ใดที่มกี ารเรียกใชข้ อ้ มลู จะทาใหค้ ่าของขอ้ มลู ในฐานขอ้ มลู เปลี่ยนแปลงไปได้
ตลอดเวลา ขอ้ มลู ในฐานขอ้ มลู ณ ขณะเวลาใดเวลาหน่ึง เราเรียกว่า Instance ของขอ้ มลู ดงั น้นั แลว้
Instance ของขอ้ ม ลงเปล่ียนแปลงไดต้ ลอดเวลา

ส่วนเคา้ ร่างที่ไดจ้ ากการออกแบบฐานขอ้ มลู ( Database Schema ) ซ่ึงเป็นการกาหนดว่า
ฐานขอ้ มลุ จะประกอบดว้ ยเอนทิต้ี แอททริบิวตอ์ ะไรบา้ ง มคี วามสมั พนั ธร์ ะหวา่ งเอนทิต้ีอยา่ งไร

4

จาการแบ่งระดบั ของขอ้ มลู เป็น 3 ระดบั ดงั ไดก้ ล่าวในหวั ขอ้ 2.1 แลว้ น้นั ขอ้ มลู ในระดบั
ดงั กลา่ วจะประกอบดว้ ยเคา้ ร่างซ่ึงมีอยดู่ ว้ ยกนั 3 ระดบั คือ

1. เคา้ ร่างภายนอก (External Schema หรือ Subschema หรือ View)
เป็นเคา้ ร่างในระดบั ภายนอก ท่ีแสดงถงึ รายละเอียดของขอ้ มลู ท่ีผใู้ ชต้ ่าง ๆ ตอ้ งการ

2. เคา้ ร่างแนวคิด ( Conptual Schema )
เป็นเคา้ ร่างท่ีแสดงถงึ รายละเอียดของฐานขอ้ มลู ไดแ้ ก่ ชื่อเอนทิต้ีโครงสร้างของ

ฐานขอ้ มลู ตลอดจนความสมั พนั ธแ์ ละกฎเกณฑข์ อ้ จากดั ต่าง ๆ
3. เคา้ ร่างภายใน ( Internal Schema )
เป็นเคา้ ร่างที่แสดงรายละเอยี ดการจดั เกบ็ ขอ้ มลู จริง ๆ
แสดงเคา้ ร่างของฐานขอ้ มลู ดงั ภาพท่ี 2.2

ระดบั ภายนอก ววิ 1 ววิ 2 ววิ 3 .................. ววิ 4

ระดบั แนวคิด เคา้ ร่างแนวคิด
ระดบั ภายใน เคา้ ร่างภายใน

ฐานขอ้ มลู

รูปที่ 3.3 ภาพแสดงความสมั พนั ธข์ องเคา้ ร่างขอ้ มลู 3 ระดบั

จากรูป 2.2 จะเห็นไดว้ ่าระบบฐานขอ้ มลุ จะประกอบดว้ ยเคา้ ร่างภายใน 1 ตวั , เคา้ ร่าง
แนวคิด 1 ตวั และมเี คา้ ร่างภายนอกไดห้ ลาย ๆ ตวั

5

ภาษาทใี่ ช้ในระบบจดั การฐานข้อมลู

นอกจากภาษาต่าง ๆ ท่ีใชใ้ นการเขียนโปรแกรมเพอื่ จดั การบานขอ้ มลู เช่น COBOL
PASCALฯลฯ ในระบบจดั การฐานขอ้ มลู จะมภี าษาเฉพาะที่ใชใ้ นการจดั การฐานขอ้ มลู เป็นคาสงั่ ท่ีง่ายไม่
ซบั ซอ้ น โดยเรียกใชผ้ า่ นระบบจดั การฐานขอ้ มลู ภาษาที่ใชแ้ บ่งไดเ้ ป็น 3 ชนิด คือ

1. ภาษาสาหรับนยิ ามของข้อมลู ( Data Definition Language : DDL)
ไดแ้ ก่ คาสง่ั ที่ใชก้ าหนดโครงสร้างที่ไดจ้ าการออกแบบฐานขอ้ มลู ว่าประกอบดว้ ย

แอททริบิวตอ์ ะไรบา้ ง เกบ็ ขอ้ มลู ชนิดใด เป็นตน้ ผลที่ไดจ้ ากการแปล ( Compile ) คาสงั่ ที่เขียนดว้ ย DDL
จะเกิดเป็นแฟ้ มชนิดหน่ึงเรียกว่า พจนานุกรมขอ้ มลู ( Data Dictionary ) ในพจนานุกรมขอ้ มลู จะเก็บ
ตารางที่เป็นโครงสร้างขอ้ มลู เม่อื ใดที่มีการปรับปรุงหรือเรียกใชข้ อ้ มลู ในแฟ้ มขอ้ มลู ต่าง ๆ ระบบจดั การ
ฐานขอ้ มลู กจ็ ะตอ้ งอาศยั โครงสร้างขอ้ มลู จากพจนานุกรมน้ี

ตวั อยา่ ง การใชภ้ าษา SQL ( Structure Query Language ) เพือ่ กาหนดโครงสร้าง
ของตารางนกั ศกึ ษา ซ่ึงประกอบดว้ ยแอททริบิวตต์ ่อไปน้ี

รหสั นกั ศึกษา เป็นชนิดอกั ขระ จานวน 8 ไบท์
ชื่อนกั ศึกษา เป็นชนิดอกั ขระ จานวน 20 ไบท์
ท่ีอยนู่ กั ศึกษา เป็นชนิดอกั ขระ จานวน 25 ไบท์
สามารถใชค้ าสง่ั ใน SQL เพ่อื กาหนดโครงสร้างไดด้ งั น้ี
CREATE TABLE STUDENT
( ID CHAR (8),
NAME CHAR ( 20 ),
ADDRESS CHAR ( 25 );

2. ภาษาสาหรับดาเนนิ การกบั ข้อมลู ( Data manipulation Language : DML)
ไดแ้ ก่คาสงั่ ท่ีใชใ้ นการเรียกใชข้ อ้ มลู ปรับปรุงแกไ้ ขขอ้ มลู ซ่ึงในระดบั ผใู้ ชไ้ ม่
จาเป็นตอ้ งทราบการจดั เก็บขอ้ มลู จริง ๆ ว่าเป็นอยา่ งไร ในการดาเนินการกบั ขอ้ มลู ผใู้ ชจ้ ึงเป็นเพียงแต่ใช้
คาสงั่ DML ผา่ นทางระบบจดั การฐานขอ้ มลู
ตวั อยา่ ง คาสง่ั SQL เพ่ือเรียกดูขอ้ มลู รหสั นกั ศึกษา และช่ือนกั ศึกษาท้งั หมด ( โดย
อา้ งอิงจากตงั อยา่ งในหวั ขอ้ 2.4.1 )
SELECT ID, NAME
FROM STUDENT;

6

3. ภาษาสาหรับการควบคมุ ข้อมลู ( Data Contorl Languag : DCL)
ไดแ้ ก่ คาสงั่ ที่ใชใ้ นการควบคุมความถกู ตอ้ งของขอ้ มลู คาสงั่ ควบคุมการใชข้ อ้ มลู

พร้อมกนั จากผใู้ ชห้ ลายคนในเวลาเดียวกนั และคาสงั่ ควบคุมความปลอดภยั ของขอ้ มลู การใหส้ ิทธิ
อานาจแก่ผใู้ ชแ้ ต่ละคนในการเรียกดหู รือปรับปรุงขอ้ มลู

ตวั อยา่ ง คาสง่ั SQL เพื่อกาหนดใหอ้ านาจแก่ผใู้ ช้ SOMCHAI ในการเรียกดขู อ้ มลู จากตาราง
STUDENT

GRANT SELECT
ON STUDENT
TO SOMCHAI;

ระบบจดั การฐานข้อมูล (Database Management System : DBMS )

ระบบจดั การฐานขอ้ มลู คือ ซอฟตแ์ วร์ท่ีทาหนา้ ที่จดั การฐานขอ้ มลู ไดแ้ ก่ ควบคุมดูแล
ในการสร้าง การปรับปรุงขอ้ มลู การจดั ทารายงาน จึงอาจกล่าวไดว้ ่า ระบบจดั การฐานขอ้ มลู จะเป็น
ส่ือกลางระหวา่ งผใู้ ชก้ บั โปรแกรมต่าง ๆ ที่เก่ียวขอ้ งกบั การใชฐ้ านขอ้ มลู ทาใหส้ ามารถสรุปหนา้ ที่ของ
ระบบจดั การฐานขอ้ ม ล ไดด้ งั น้ี

1. กาหนดและเก็บโครงสร้างของฐานขอ้ มลู
ระบบจดั การฐานขอ้ มลู จะสร้างพจนานุกรมขอ้ มลู ข้ึนเมื่อมีการกาหนดโครงสร้างของ
ฐานขอ้ มลู ข้ึนมา เพื่อเก็บรายละเอียดต่าง ๆ ที่เกี่ยวขอ้ งกบั ฐานขอ้ มลู เช่น ชื่อตาราง ชื่อฟิ ลด์ ตลอดจน
คียต์ ่าง ๆ เป็นตน้

2. รับและเกบ็ ขอ้ มลู ในฐานขอ้ มลู
ระบบจดั การฐานขอ้ มลู จะทาการรับและเกบ็ ขอ้ มลู ลงในฐานขอ้ มลู เพ่อื ใชใ้ นการ

ประมวลผลต่อไป

3. ดแู ลรักษาขอ้ มลู
ระบบจดั การฐานขอ้ มลู จะดูแลรักษาขอ้ มลู ที่เกบ็ รวบรวมไวใ้ นฐานขอ้ มลู

4. ติดต่อกบั ตวั จดั การระบบแฟ้ มขอ้ มลู
โดยระบบจดั การฐานขอ้ มลู จะประสานกบั ตวั จดั การระบบแฟ้ มขอ้ มลู ( File

Management) ซ่ึงเป็นฟังกช์ นั การทางานหน่ึงของระบบการดาเนินงาน ( Operating System : OS)

7

ในการคน้ หาว่า ขอ้ มลู ที่เราตอ้ งการน้นั เก็บอยใู่ นตาแหน่งใดในดีสก์ โดยระบบจดั การฐานขอ้ มลู จะคอย
จดั การระบบแฟ้ มฐานขอ้ มลู ในการจดั เก็บ การปรับปรุงขอ้ มลู และการเรียกใชข้ อ้ มลู

5. ควบคุมความบรู ณภาพของขอ้ มลู ( Integrity Control )
ระบบจดั การฐานขอ้ มลู จะตอ้ งควบคุมค่าของขอ้ มลู ในระบบใหถ้ กู ตอ้ งตามท่ีควรจะ

เป็น เช่นรหสั สินคา้ ที่ปรากฏในใบสงั่ ซ้ือสินคา้ จะตอ้ งเป็นรหสั ท่ีมอี ยใู่ นระเบียนของสินคา้ ท้งั หมดใน
ร้าน เป็นตน้

6. ควบคุมความปลอดภยั ( Security Control )
ระบบจดั การฐานขอ้ มลู จะสามารถป้ องกนั ความเสียหายท่ีอาจเกิดข้นึ กบั ฐานขอ้ มลู

โดยจะป้ องกนั ไม่ใหผ้ ทู้ ี่ไม่มีสิทธิไดเ้ ขา้ มาเรียกใช้ หรือแกไ้ ขขอ้ มลู ส่วนที่ตอ้ งการปกป้ องไว้

7. การสร้างระบบสารองและการกู้ ( Backup and Recovery )
ระบบจดั การฐานขอ้ มลู จะจดั ทาขอ้ มลู สารอง เม่อื มปี ัญหาเกิดข้ึน เช่น ระบบ

แฟ้ มขอ้ มลู เสียหายหรือเสียหาย ระบบจดั การฐานขอ้ มลู กจ็ ะใชร้ ะบบขอ้ มลู สารองน้ีในการกสู้ ภาพการ
ทางานของระบบใหเ้ ขา้ สู่สภาวะปกติได้

8. ควบคุมภาวะการใชข้ อ้ มลู พร้อมกนั ของผใู้ ช้ ( Concurrency Control )
ระบบจดั การฐานขอ้ มลู ท่ีมีคุณสมบตั ิในการควบคุมภาวะการใชข้ อ้ มลู พร้อมกนั น้ี

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

ผ้บู ริหารฐานข้อมูล ( Database Administrator : DBA )

ผบู้ ริหารฐานขอ้ มลู เป็นผทู้ ี่ทาหนา้ ที่ควบคุมการบริหารงานของระบบฐานขอ้ มลู ท้งั หมด
เป็นผทู้ ี่จะตอ้ งตดั สินใจวา่ จะรวมขอ้ มลู ใดบา้ งเขา้ ไวใ้ นระบบ จะจดั เก็บขอ้ มลู ดว้ ยวธิ ีใด ใช้
เทคนิคใดในการเรียกใชข้ อ้ มลู กาหนดระบบความปลอดภยั และความสมบูรณภาพขอ้ มลู กาหนด
แผนการสร้างระบบขอ้ มลู สารองและระบบการกู้ ประสานงานใหค้ าปรึกษาและความช่วยเหลอื แก่ผใู้ ช้
ตลอดจนปรับปรุงเมือ่ ผใู้ ชม้ คี วามตอ้ งการที่เปลีย่ นไปจากเดิม ผบู้ ริหารฐานขอ้ มลู จึงตอ้ งคอยปรับฐาน
ขอ้ มลู ใหเ้ หมาะสมอยตู่ ลอดเวลา




Click to View FlipBook Version