More Related Content
Similar to สถาปัตยกรรมฐานข้อมูล
Similar to สถาปัตยกรรมฐานข้อมูล (20)
สถาปัตยกรรมฐานข้อมูล
- 1. สถาปัตยกรรมฐานข้ อมูล และการออกแบบฐานข้ อมูล
สถาปัตยกรรมระบบฐานข้ อมูล (Database System Architecture)
เป็ นกรอบสำหรับใช้อธิบำยแนวคิดเกี่ยวกับฐำนข้อมูลทัวไปและสำหรับอธิ บำยโครงสร้ำงของร
่
ะบบฐำนข้อมูล
แต่ไม่ได้หมำยควำมว่ำระบบฐำนข้อมูลทุกระบบจะต้องเป็ นไปตำมกรอบ
เพรำะบำงระบบที่เป็ นระบบขนำดเล็กอำจไม่จำเป็ นต้องทุกลักษณะตำมสถำปัตยกรรมนี้
อย่ำงไรก็ตำม
เรำถือว่ำสถำปัตยกรรมนี้เหมำะสมกับระบบฐำนข้อมูลส่ วนใหญ่เป็ นอย่ำงดีและเป็ น
ไปตำมมำตรฐำนที่หน่วยงำน ANSI/SPARC ได้กำหนดไว้ ANSI/SPARC Study Group on
Data Base Management
System เป็ นหน่วยงำนที่ทำหน้ำที่กำหนดมำตรฐำนทัวไปของระบบฐำนข้อมูลใน สหรัฐฯ
่
ระดับของสถาปัตยกรรม แบ่งได้ 3 ระดับ ได้แก่
1. ระดับภำยใน (The Internal Level) บำงทีเรี ยกว่ำ the physical level
ซึ่งเป็ นระดับที่ใกล้เคียงกับกำรจัดเก็บทำงกำยภำพมำกที่สุด
2. ระดับภำยนอก (The External Level) ซึ่งเป็ นระดับที่ใกล้เคียงกับผูใช้มำกที่สุด
้
3. ระดับแนวคิด (The Conceptual Level)
่
ซึ่งเป็ นระดับที่อยูกลำงทำงระหว่ำงของระดับที่กล่ำวมำ
ความสาคัญของระบบฐานข้ อมูล
1. ควำมกะทัดรัด
กำรบันทึกข้อมูลลงในระบบคอมพิวเตอร์จะเก็บข้อมูลไว้ได้เป็ นจำนวนมำกในที่ เดียวกัน
่
อยูในสื่ ออิเล็กทรอนิกส์ซ่ ึ งประหยัดพื้นที่
ไม่เกะกะอย่ำงในเอกสำรที่เป็ นกระดำษ
- 2. 2. ควำมรวดเร็ว
เครื่ องคอมพิวเตอร์ในระบบฐำนข้อมูลสำมำรถค้นคืนและปรับปรุ งข้อมูลให้เป็ นปัจจุบน
ั
ได้เร็วกว่ำมือมนุษย์มำก
3. ควำมเบื่อหน่ำยน้อยกว่ำ
ในกำรดูแลรักษำแฟ้ มข้อมูลที่เป็ นกระดำษเป็ นงำนที่หนักกว่ำมำกหำกเปรี ยบเทียบ
่
กับแฟ้ มข้อมูลอิเล็กทรอนิกส์ที่อยูในระบบฐำนข้อมูลคอมพิวเตอร์
4. ควำมถูกต้องเป็ นปัจจุบน
ั
ประโยชน์ ของระบบฐานข้ อมูล
1. ข้อมูลในระบบฐำนข้อมูลสำมำรถใช้ร่วมกันได้ (The data can be
shared) ตัวอย่ำงเช่น
โปรแกรมระบบเงินเดือนสำมำรถเรี ยกใช้ขอมูลรหัสพนักงำนจำกฐำนข้อมูลเดียวกับ
้
่
โปรแกรมระบบกำรขำยตำมภำพในตอนท้ำย
ที่ผำนมำ เป็ นต้น
2. ระบบฐำนข้อมูลสำมำรถช่วยให้มีควำมซ้ ำซ้อนน้อยลง (Redundancy can be reduced)
ที่ลดควำมซ้ ำซ้อนได้ เพรำะเก็บแบบรวม
3. ระบบฐำนข้อมูลช่วยหลีกเลี่ยงหรื อลดควำมไม่คงที่
4. ระบบฐำนข้อมูลสนับสนุนกำรทำธุรกรรม (Transaction support can de provided) ธุรกรรม
คือ ขั้นตอนกำรทำงำนหลำยกิจกรรมย่อยมำรวมกัน
5. ระบบฐำนข้อมูลสำมำรถช่วยรักษำควำมคงสภำพหรื อควำมถูกต้องของข้อมูลได้ (Integrity
can
be maintained) โดยผูบริ หำรฐำนข้อมูลเป็ นผูกำหนดข้อบังคับควำมคงสภำพ
้
้
ตำมที่ผบริ หำรข้อมูล (DA) มอบหมำย
ู้
เพื่อป้ องกันไม่ให้ผใช้เปลี่ยนแปลงข้อมูลในฐำนข้อมูลทีโดยไม่ถูกต้อง
ู้
- 3. 6. สำมำรถบังคับใช้มำตรกำรรักษำควำมปลอดภัย (Security can be enforced) กล่ำวคือ
ผูบริ หำรฐำนข้อมูลสำมำรถกำหนดข้อบังคับเรื่ องปลอดภัย
้
7. ควำมต้องกำรที่เกิดข้อโต้แย้งระหว่ำงฝ่ ำย สำมำรถประนีประนอมได้
8. สำมำรถบังคับให้เกิดมำตรฐำนได้ (Standards can be enforced)
9. ระบบฐำนข้อมูลให้เกิดควำมเป็ นอิสระของข้อมูล (Data Independence)
่ ั
เป็ นประโยชน์ขอสำคัญที่สุดเพรำะทำให้ขอมูลไม่ข้ ึนอยูกบกำรแทนค่ำข้อมูลเชิงกำยภำพ
้
้
ควำมเป็ นอิสระของข้อมูลมี 2 ชนิด คือ
9.1 ควำมเป็ นอิสระทำงกำยภำพ
9.2 ควำมเป็ นอิสระทำงตรรกะ
ในระบบฐำนข้อมูล
เรำไม่ควรให้ปล่อยโปรแกรมประยุกต์ขำดควำมเป็ นอิสระของเป็ นอย่ำงยิงข้อมูลเพรำะ
่
1. โปรแกรมประยุกต์คนละตัวกันจะต้องมีมุมมองขอข้อมูลเดียวกันในรู ปแบบที่แตกต่ำงกัน
2. ผูบริ หำรฐำนข้อมูล ต้องมีอิสระที่จะเปลี่ยนแปลงวิธีกำรแทนค่ำทำงกำยภำพ
้
หรื อเปลี่ยนเทคนิคในกำรเข้ำถึงเพื่อสนองตอบควำมจำเป็ นที่เปลี่ยนแปลงไป
ั
โดยไม่จำเป็ นต้องเปลี่ยนแปลงโปรแกรมประยุกต์ต่ำงๆ ที่มีใช้กนอยู่
ความเป็ นอิสระของข้ อมูล(Dataindependence)
จุดประสงค์หลักของสถำปัตยกรรม
3 ระดับคือ ควำมเป็ นอิสระของข้อมูล
ซึ่งหมำยถึง
่ ้
ระดับที่อยูขำงบนจะไม่กระทบจำกกำรเปลี่ยนแปลงในระดับล่ำง แบ่งควำมเป็ นอิสระของข้อมู
ลออกเป็ น 2 ประเภท คือ
ความเป็ นอิสระของข้ อมูลทางตรรกะ(Logical dataindependence) หมำยถึง
กำรเปลี่ยนแปลงในระดับแนวคิดจะไม่ส่งผลกระทบต่อระดับภำยนอก เช่น
กำรเพิมเอนติต้ ี , แอททริ บิวท์ และควำมสัมพันธ์
่
- 4. ซึ่งเป็ นกำรเปลี่ยนแปลงในระดับแนวคิด จะไม่กระทบกับมุมมองภำยนอก
หรื อไม่ตองเขียนโปรแกรมใหม่
้
ความเป็ นอิสระของข้ อมูลในระดับกายภาพ(Physical datindependence) หมำยถึง
กำรเปลี่ยนแปลงในระดับภำยในไม่ส่งผลกระทบต่อระดับแนวคิด กำรเปลี่ยนแปลงในระดับภำ
ยในได้แก่
กำรใช้โครงสร้ำงแฟ้ มข้อมูลใหม่ หรื อโครงสร้ำงกำรจัดเก็บใหม่ , ใช้หน่วยเก็บข้อมูลแบบอื่น,
กำรแก้ไขดัชนีหรื ออัลกอริ ธึมแบบแฮช ซึ่งกำรเปลี่ยนแปลงเหล่ำนี้จะไม่กระทบต่อระดับแนว
คิดและระดับภำยนอก
รู ปที่ 2.3
แสดงให้เห็นถึงควำมเป็ นอิสระของข้อมูลแต่ละประเภทที่เกิดขึ้นในสถำปัตยกรรมทั้ง3 ระดับ
แบบจาลองข้ อมูล(Data Models)
แบบจำลองข้อมูล(Data Model) หมำยถึง แบบจำลองที่ใช้อธิบำยและจัดกำรข้อมูล ,
ควำมสัมพันธ์ระหว่ำงข้อมูลและข้อบังคับของข้อมูลในระบบแบบจำลองจะแสดงวัตถุ
และเหตุกำรณ์และควำมสัมพันธ์ระหว่ำงกัน แบบจำลองข้อมูลจะแสดงโครงสร้ำงของ ตัวเอง
โดยมีหลักกำรพื้นฐำนและสัญลักษณ์ที่ให้ผออกแบบฐำนข้อมูลและผูใช้สำมำรถ
ู้
้
สื่ อสำรแนวคิดในกำรออกแบบได้ตรงกันในบทนี้จะแบ่งแบบจำลองข้อมูลออเป็ น 3
ประเภทหลักๆ ได้แก่ แบบจำลองเชิงวัตถุ(object-based) , แบบจำลองเชิงรำยกำร(record-based)
และแบบจำลองทำงกำยภำพ(Physical) โดย
2ประเภทแรกใช้อธิบำยข้อมูลในระดับแนวคิดและระดับภำยนอก ส่ วนประเภทที่
3ใช้อธิบำยข้อมูลในระดับภำยใน
แบบจาลองข้ อมูลเชิงวัตถุ(Object-BasedData Models)
แบบจำลองข้อมูลเชิงวัตถุใช้หลักกำรเกี่ยวกับเอนติต้ ี , แอททริ บิวท์
และควำมสัมพันธ์ โดย เอนติต(Entity) หมำยถึง สิ่ งต่ำงๆ ที่แตกต่ำงกัน(เช่น คน , สถำนที่ ,
ี้
สิ่ งของ , เหตุกำรณ์
เป็ นต้น)ที่ปรำกฏขึ้นในฐำนข้อมูล แอททริบิวท์ (Attribute) เป็ นคุณสมบัติที่อธิบำยลักษณะของ
- 5. เอนติต้ ี และความสั มพันธ์ (Relationship) เป็ นควำมสัมพันธ์ที่เกิดขึ้นระหว่ำงเอนติต้ ี แบบจำลอ
งฐำนข้อมูลเชิงวัตถุประกอบด้วยแบบจำลองต่ำงๆ ดังนี้
Entity-Relationship
Semantic
Functional
Object-Oriented
แบบจำลอง Entity-Relationship
เป็ นแบบจำลองที่รวมเอำเทคนิคในกำรออกแบบฐำนข้อมูลที่นิยมใช้(จะกล่ำวอย่ำง
ละเอียดในบทต่อไป) ส่ วนแบบจำลอง Object-Oriented
นั้นนอกจำกจะนิยำมเอนติต้ ีและแอททริ บิวท์แล้วยังมีกำรนิยำมสถำนะ(state)และ
พฤติกรรม(Behavior)ของวัตถุซ่ ึงวัตถุจะมีกำรซ่อนสถำนะและพฤติกรรมไว้
แบบจาลองเชิงรายการ(Record-BasedData Models)
ในแบบจำลองเชิงเรคคอร์ดนั้นฐำนข้อมูลจะประกอบด้วย
รำยกำรข้อมูลที่กำหนดรู ปแบบคงที่ไว้ที่แตกต่ำงกันแต่ละแบบ โดยแต่ละแบบของ
รำยกำรข้อมูลจะกำหนดจำนวนฟิ ลด์ไว้คงที่และกำหนดขนำดข้อมูลของฟิ ลด์ไว้
ด้วย แบบจำลองเชิงรำยกำรประกอบด้วย แบบจำลองข้อมูลเชิงสัพนธ์(Relational DataModel) ,
ั
แบบจำลองข้อมูลแบบเครื อข่ำย(Network Data Model)
แบบจาลองแบบลาดับชั้น(HierarchicalData Model)
คิดค้นโดยบริ ษท North AmericaRockwell
ั
ซึ่งเป็ นบริ ษทที่มีส่วนร่ วมในโครงกำรสำรวจดวงจันทร์ดวยยำนอวกำศApollo ซึ่งมีขอมูลที่เกี่ยว
ั
้
้
ข้องเป็ นจำนวนมหำศำล โดยข้อมูลที่เก็บในคอมพิวเตอร์มี กำรจัดกำรข้อมูลแบบแฟ้ มข้อมูล
ซึ่งทำให้เกิดควำมซ้ ำซ้อนของข้อมูลเป็ นจำนวนมำกเมื่อบริ ษท North America
ั
- 6. Rockwell เริ่ มต้นพัฒนำระบบฐำนข้อมูลของตัวเองขึ้นมำก็พบว่ำข้อมูลในเทปแม่เหล็กที่
ได้เคยเก็บบันทึกมำ ประมำณร้อยละ60 ของข้อมูลมีควำมซ้ ำซ้อนกัน จำกปัญหำดังกล่ำวบริ ษท
ั
North America Rockwell จึงได้พฒนำวิธีอื่นๆ
ั
เพื่อจัดกำรให้กำรจัดเก็บข้อมูลมีประสิ ทธิภำพมำกขึ้น โดยอำศัยหลักกำรของฐำนข้อมูล
ที่มีชื่อว่ำ GUAM(Generalized Update Access
Method) ซึ่งมีหลักกำรที่ว่ำนำข้อมูลส่ วนเล็กในแต่ละส่ วนมำกจัดรวมกันเป็ น componentจนเป็ น
component ขนำดใหญ่ และเป็ นcomponentที่ใหญ่ที่สุดในกลำงยุค 60บริ ษท IBM
ั
ได้ร่วมมือกับบริ ษท North AmericaRockwell ขยำยควำมสำมำรถของ
ั
GUAMให้มำแทนที่กำรเก็บข้อมูลด้วยเทปด้วยสื่ อที่จดเก็บข้อมูลที่ทนสมัยมำก
ั
ั
ขึ้นจำกผลกำรร่ วมมือกันระหว่ำงRockwell-IBMเป็ นผลให้กลำยเป็ นที่รู้จกใน
ั
นำมInformationmanagementsystem(IMS) ทำให้
IMS กลำยเป็ นผูนำในระบบฐำนข้อมูลแบบลำดับชั้นของโลกในปี 70 และ ต้นปี 80
้
การออกแบบแฟ้ มข้ อมูลและฐานข้ อมูล (Designing Databases)
3. การออกแบบฐานข้ อมูล (database design)
เครื่ องมือสำหรับออกแบบฐำนข้อมูล คือ อีอำร์ดี (entity relationships diagram-ERD)
เป็ นแบบจำลอง
ข้อมูล (data model) ซึ่งเป็ นแผนภำพแสดงควำมสัมพันธ์ระหว่ำงเอนทิตี และแอททริ บิวท์
และต้องนำมำทำนอร์มลไลเซชันปรับปรุ งให้เป็ นบรรทัดฐำนเพื่อควำมถูกต้องของ ข้อมูล
ั
เมื่อมีกำรปรับข้อมูลให้เป็ นปัจจุบน
ั
3.1 แบบจาลองข้ อมูลอีอาร์ ดี (Entity-Relationship Diagram -ERD)
ั ่
ระบบฐำนข้อมูลที่ใช้กนอยูในปัจจุบนคือ ฐำนข้อมูลเชิงสัมพันธ์ (relational
ั
database) และฐำนข้อมูลเชิงวัตถุ (object- oriented database)
และแบบผสมของฐำนข้อมูลเชิงวัตถุสัมพันธ์(hybrid object-relational DBMS)
กำรออกแบบฐำนข้อมูลเชิงสัมพันธ์ จะเกี่ยวข้องกับเอนทิตี (entity) แอททริ บิวท์ (attribute)
และควำมสัมพันธ์ของ เอนทิตี (entity relationships) ตัวแบบจำลองข้อมูล
(data model)
- 7. ที่ใช้ คือ อีอำร์ดี กำรออกแบบฐำนข้อมูล
โดยอีอำร์ดีจะแสดงแบบจำลองข้อมูลซึ่งแสดงให้เห็นในระดับแนวคิด (conceptual
ั
design) คือเอนทิตีและแอททริ บิวท์ และข้อมูลเหล่ำนั้นมีควำมสัมพันธ์กนอย่ำงไร
โดยในขั้นวิเครำะห์ยงไม่ได้คำนึงถึงควำมซ้ ำซ้อนของข้อมูล
ั
3.2 การทาข้ อมูลให้ เป็ นบรรทัดฐาน (normalization)
ข้อมูลที่ได้จำกตัวแบบจำลองข้อมูลอีอำร์ดี จะนำมำกำหนดเป็ นตำรำงควำมสัมพันธ์ (relational
table) หรื อเรี ยกว่ำ รี เลชัน หลักกำรบรรทัดฐำนหรื อกำรนอร์มลไลเซชัน
ั
่
คือขจัดควำมสัมพันธ์ซ้ ำซ้อนของข้อมูลจำกแบบกลุ่มให้อยูในแบบเดี่ยวให้มำก ที่สุด
ระบบโครงสร้ำงข้อมูลพิจำรณำได้ ดังนี้ คือ
่ ั
ตำรำงหรื อเอนทิตี เป็ นหน่วยที่ใช้จดเก็บชุดข้อมูลในระบบ อำจมีได้หลำยตำรำงหรื อขึ้นอยูกบ
ั
ควำมสัมพันธ์ของรำยกำรข้อมูลที่ประกอบขึ้น เป็ นระเบียนข้อมูล
(เร็คคอร์ด) และตำรำงควำมสัมพันธ์ระหว่ำงตำรำงซึ่งเรี ยกว่ำรี เลชัน (relation)
่
แอทริ บิวท์หรื อรำยกำรข้อมูลที่อยูในรี เลชันอำจมีลกษณะเหมือนกันหรื อซ้ ำ
ั
กัน ซึ่งจะต้องแก้ไขโดยกำรสร้ำงรี เลชันใหม่ เช่น นักศึกษำ 1 คน สำมำรถเรี ยนได้หลำยวิชำ
กำรสร้ำงคีย ์ (key) เพื่อระบุควำมสัมพันธ์ของรี เลชัน มีหลักดังนี้
- คีย์หลัก (primary key / unique
key) เป็ นแอทริ บิวท์ของระเบียนข้อมูลที่มีลกษณะข้อมูลที่มีลกษณะเด่นเฉพำะตัว
ั
ั
ที่ใช้สำหรับอ้ำงอิง เช่น รหัสนักศึกษำ จะมีค่ำเฉพำะตัวค่ำเดียวเพื่อใช้อำงอิงว่ำเป็ นระบียนของ
้
นักศึกษำคนไหน
ั
คีย์นอก (foreign key) เป็ นแอทริ บิวท์ที่กำหนดควำมสัมพันธ์กบรี เลชันอื่นและจะกลำยเป็ นคีย ์
หลักของ
ั
รี เลชันนั้น เช่น รหัสวิชำเป็ นคียนอกใช้ระบุควำมสัมพันธ์กบรี เลชันที่เก็บข้อมูลเกี่ยวกับ
์
วิชำที่เปิ ดสอนได้
- 8. - คีย์อน ๆ เช่น คียรอง (secondary
ื่
์
key) เป็ นแอทริ บิวท์ที่ช่วยให้กำรเรี ยกใช้ขอมูลเป็ นไปได้สะดวกรวดเร็วและชัดเจน เช่น กำหน
้
ดชื่อนักศึกษำเป็ นคียรองในกำรเรี ยกใช้ขอมูล
์
้
ผูจดทำ
้ั
เด็กหญิง กันธิชำ เชื้อรุ่ ง
เด็กหญิง ชญำธร ปรำงค์ทอง
เด็กหญิง อโนมำ ฝักบัว
เด็กหญิง กันต์ฤทัย คำมี
เด็กหญิง ณัฐกมลกำญจน์ ทวีระวงษ์
เด็กหญิง พิชชำกร ศรี ทองพิมพ์