สถาปัตยกรรม 3 ระดับตามมาตรฐานของ Ansi

สถาปัตยกรรมระบบฐานข้อมูล (Database System Architecture)

สถาปัตยกรรม 3 ระดับตามมาตรฐานของ Ansi

เป็นกรอบสำหรับใช้อธิบายแนวคิดเกี่ยวกับฐานข้อมูลทั่วไปและสำหรับอธิบายโครงสร้างของระบบฐานข้อมูล
แต่ไม่ได้หมายความว่าระบบฐานข้อมูลทุกระบบจะต้องเป็นไปตามกรอบ
เพราะบางระบบที่เป็นระบบขนาดเล็กอาจไม่จำเป็นต้องทุกลักษณะตามสถาปัตยกรรมนี้
อย่างไรก็ตาม
เราถือว่าสถาปัตยกรรมนี้เหมาะสมกับระบบฐานข้อมูลส่วนใหญ่เป็นอย่างดีและเป็นไปตามมาตรฐานที่หน่วยงาน 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. ความรวดเร็ว เครื่องคอมพิวเตอร์ในระบบฐานข้อมูลสามารถค้นคืนและปรับปรุงข้อมูลให้เป็นปัจจุบัน ได้เร็วกว่ามือมนุษย์มาก

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) มอบหมาย เพื่อป้องกันไม่ให้ผู้ใช้เปลี่ยนแปลงข้อมูลในฐานข้อมูลทีโดยไม่ถูกต้อง

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)  หมายถึง
การเปลี่ยนแปลงในระดับแนวคิดจะไม่ส่งผลกระทบต่อระดับภายนอก  เช่น
การเพิ่มเอนติตี้ , แอททริบิวท์ และความสัมพันธ์
ซึ่งเป็นการเปลี่ยนแปลงในระดับแนวคิด จะไม่กระทบกับมุมมองภายนอก
หรือไม่ต้องเขียนโปรแกรมใหม่

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

แบบจำลองข้อมูล(Data Models)

แบบจำลองข้อมูล(Data Model) หมายถึง แบบจำลองที่ใช้อธิบายและจัดการข้อมูล , ความสัมพันธ์ระหว่างข้อมูลและข้อบังคับของข้อมูลในระบบแบบจำลองจะแสดงวัตถุและเหตุการณ์และความสัมพันธ์ระหว่างกัน แบบจำลองข้อมูลจะแสดงโครงสร้างของตัวเอง โดยมีหลักการพื้นฐานและสัญลักษณ์ที่ให้ผู้ออกแบบฐานข้อมูลและผู้ใช้สามารถสื่อสารแนวคิดในการออกแบบได้ตรงกันในบทนี้จะแบ่งแบบจำลองข้อมูลออเป็น 3 ประเภทหลักๆ ได้แก่ แบบจำลองเชิงวัตถุ(object-based) , แบบจำลองเชิงรายการ(record-based) และแบบจำลองทางกายภาพ(Physical)  โดย 2ประเภทแรกใช้อธิบายข้อมูลในระดับแนวคิดและระดับภายนอก  ส่วนประเภทที่ 3ใช้อธิบายข้อมูลในระดับภายใน

แบบจำลองข้อมูลเชิงวัตถุ(Object-BasedData Models)

แบบจำลองข้อมูลเชิงวัตถุใช้หลักการเกี่ยวกับเอนติตี้ , แอททริบิวท์ และความสัมพันธ์ โดย เอนติตี้(Entity) หมายถึง สิ่งต่างๆ ที่แตกต่างกัน(เช่น  คน , สถานที่ , สิ่งของ , เหตุการณ์ เป็นต้น)ที่ปรากฏขึ้นในฐานข้อมูล  แอททริบิวท์(Attribute) เป็นคุณสมบัติที่อธิบายลักษณะของเอนติตี้  และความสัมพันธ์(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
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) ที่ใช้ คือ อีอาร์ดี  การออกแบบฐานข้อมูล โดยอีอาร์ดีจะแสดงแบบจำลองข้อมูลซึ่งแสดงให้เห็นในระดับแนวคิด (conceptual design)  คือเอนทิตีและแอททริบิวท์ และข้อมูลเหล่านั้นมีความสัมพันธ์กันอย่างไร โดยในขั้นวิเคราะห์ยังไม่ได้คำนึงถึงความซ้ำซ้อนของข้อมูล

3.2   การทำข้อมูลให้เป็นบรรทัดฐาน (normalization)

ข้อมูลที่ได้จากตัวแบบจำลองข้อมูลอีอาร์ดี จะนำมากำหนดเป็นตารางความสัมพันธ์ (relational table) หรือเรียกว่า รีเลชัน  หลักการบรรทัดฐานหรือการนอร์มัลไลเซชัน คือขจัดความสัมพันธ์ซ้ำซ้อนของข้อมูลจากแบบกลุ่มให้อยู่ในแบบเดี่ยวให้มากที่สุด

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

แอทริบิวท์หรือรายการข้อมูลที่อยู่ในรีเลชันอาจมีลักษณะเหมือนกันหรือซ้ำกัน  ซึ่งจะต้องแก้ไขโดยการสร้างรีเลชันใหม่  เช่น  นักศึกษา 1 คน  สามารถเรียนได้หลายวิชา

การสร้างคีย์ (key)  เพื่อระบุความสัมพันธ์ของรีเลชัน  มีหลักดังนี้

– คีย์หลัก (primary key / unique key)   เป็นแอทริบิวท์ของระเบียนข้อมูลที่มีลักษณะข้อมูลที่มีลักษณะเด่นเฉพาะตัวที่ใช้สำหรับอ้างอิง  เช่น  รหัสนักศึกษา  จะมีค่าเฉพาะตัวค่าเดียวเพื่อใช้อ้างอิงว่าเป็นระบียนของนักศึกษาคนไหน

– คีย์นอก (foreign  key)  เป็นแอทริบิวท์ที่กำหนดความสัมพันธ์กับรีเลชันอื่นและจะกลายเป็นคีย์หลักของรีเลชันนั้น  เช่น  รหัสวิชาเป็นคีย์นอกใช้ระบุความสัมพันธ์กับรีเลชันที่เก็บข้อมูลเกี่ยวกับวิชาที่เปิดสอนได้

– คีย์อื่น ๆ  เช่น  คีย์รอง (secondary key)  เป็นแอทริบิวท์ที่ช่วยให้การเรียกใช้ข้อมูลเป็นไปได้สะดวกรวดเร็วและชัดเจน  เช่น  กำหนดชื่อนักศึกษาเป็นคีย์รองในการเรียกใช้ข้อมูล

เนื้อหาที่เกี่ยวข้อง

ผู้จัดทำ

 นาย พีรดลย์             รูปทอง ชั้นม.5/3  เลขที่ 10

นางสาวอริษา             ทองศรี   ม.5/3 เลขที่25

นางสาวจิณณพัต       โอภากุลวงษ์ ม.5/3   เลขที่27

นางสาวชรินรัตน์           แสงสุรีย์ฉาย ม.5/3  เลขที่28

นางสาวสุทธิบุตร          บุญมาคาร  ม.5/3     เลขที่29

นางสาวมรรษวันฏ์         จงเจริญ   ม.5/3        เลขที่31 อ่านเพิ่มเติม