chapter02 database system concepts and architecture

11
2110422 การออกแบบระบบการจัดการฐานขอมูล 2-1 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย บทที2* แนวคิดและสถาปตยกรรมของระบบฐานขอมูล Database System Concepts and Architecture วัตถุประสงค 1. เพื่อใหทราบถึงวิวัฒนาการของระบบฐานขอมูล 2. เพื่อใหรูจักแบบจําลองขอมูล 3. เพื่อใหมีความเขาใจในเรื่องของสถาปตยกรรมขอมูล 4. เพื่อใหรูจักภาษาที่ใชในการจัดการฐานขอมูล 5. เพื่อใหรูจัก DBMS ประเภทตางๆ 2.1 วิวัฒนาการของระบบฐานขอมูล วิวัฒนาการของระบบฐานขอมูลนั้นไดรับการพัฒนาจากระบบขนาดใหญ มาใชการออกแบบเปนสวนๆ (Modular design) โดยสถาปตยกรรมลูกขาย/แมขาย (Client/Server) จากการใชคอมพิวเตอรเมนเฟรมขนาดใหญเปนศูนย รวม มาเปนการใชคอมพิวเตอรสวนบุคคลที่เชื่อตอกันผานเครือขายไปยังเครื่องแมขาย (Server machine) ประเภทตางๆ โดยสถาปตยกรรมของ DBMS แบบลูกขาย/แมขายขั้นพื้นฐาน (Basic Client/Server DBMS) นั้น ประกอบดวย 2 สวน คือ สวนลูกขาย (Client Module) มีหนาที่ในการสั่งประมวลผล (Run) โปรแกรมแอปพลิเคชัน รวมทั้งมีสวน ติดตอกับผูใช (User interface) ในการเขาถึงฐานขอมูล สวนแมขาย (Server Module) มีหนาที่ในการจัดการกับหนวยเก็บขอมูล การเขาถึงขอมูล และการคนหา ขอมูล 2.2 แบบจําลองขอมูล (Data Model) แบบจําลองขอมูล (Data Model) คือกลุมของแนวคิดที่ใชอธิบายโครงสรางฐานขอมูล (ชนิดของขอมูลและ ความสัมพันธ ) และขอบังคับ (Constraint) ตางๆที่ฐานขอมูลตองยึดถือ การดําเนินการบนแบบจําลองฐานขอมูล (Data Model Operations) คือ การดําเนินการ (Operation) ในการระบุการคนฐานขอมูล และการปรับปรุง โดยอางอิงถึงแนวคิดของ แบบจําลองขอมูล โดยการดําเนินการ (Operation) บนแบบจําลองขอมูลนั้น อาจประกอบดวย - การดําเนินการขั้นพื้นฐาน (Basic operation) เชน แทรก ลบ แกไข และสืบคน เปนตน - การดําเนินการตามที่ผูใชระบุ (User-defined operation) เชน COMPUTE_GPA for STUDENT เปนตน 2.2.1 ประเภทของแบบจําลองขอมูล แบบจําลองขอมูลในระดับแนวคิด (Conceptual data model) เปนแบบจําลองระดับสูง (High-level) หรือที่เรียกวาเครือขายความหมาย (Semantic) โดย แบบจําลองนี้จะใหแนวคิดที่ใกลเคียงกับการรับรูขอมูลของผูใชทั่วไป ซึ่งมักเรียกวา Entity-based หรือ * อางอิงจากบทที2 ของเอกสารอางอิง [1]

Transcript of chapter02 database system concepts and architecture

Page 1: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-1 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

บทที่ 2* แนวคิดและสถาปตยกรรมของระบบฐานขอมูล

Database System Concepts and Architecture

วัตถุประสงค

1. เพื่อใหทราบถึงวิวัฒนาการของระบบฐานขอมูล

2. เพื่อใหรูจักแบบจําลองขอมูล

3. เพื่อใหมีความเขาใจในเรื่องของสถาปตยกรรมขอมูล 4. เพื่อใหรูจักภาษาที่ใชในการจัดการฐานขอมูล 5. เพื่อใหรูจัก DBMS ประเภทตางๆ

2.1 วิวัฒนาการของระบบฐานขอมูล วิวัฒนาการของระบบฐานขอมูลน้ันไดรับการพัฒนาจากระบบขนาดใหญ มาใชการออกแบบเปนสวนๆ (Modular design) โดยสถาปตยกรรมลูกขาย/แมขาย (Client/Server) จากการใชคอมพิวเตอรเมนเฟรมขนาดใหญเปนศูนยรวม มาเปนการใชคอมพิวเตอรสวนบุคคลที่เชื่อตอกันผานเครือขายไปยังเคร่ืองแมขาย (Server machine) ประเภทตางๆ โดยสถาปตยกรรมของ DBMS แบบลูกขาย/แมขายขั้นพื้นฐาน (Basic Client/Server DBMS) น้ัน ประกอบดวย 2 สวน คือ • สวนลูกขาย (Client Module) มีหนาที่ในการสั่งประมวลผล (Run) โปรแกรมแอปพลิเคชัน รวมทั้งมีสวน

ติดตอกับผูใช (User interface) ในการเขาถึงฐานขอมูล • สวนแมขาย (Server Module) มีหนาที่ในการจัดการกับหนวยเก็บขอมูล การเขาถึงขอมูล และการคนหา

ขอมูล

2.2 แบบจําลองขอมูล (Data Model)

• แบบจําลองขอมูล (Data Model) คือกลุมของแนวคิดที่ใชอธิบายโครงสรางฐานขอมูล (ชนิดของขอมูลและความสัมพันธ) และขอบังคับ (Constraint) ตางๆที่ฐานขอมูลตองยึดถือ

• การดําเนินการบนแบบจําลองฐานขอมูล (Data Model Operations) คือ การดําเนินการ (Operation) ในการระบุการคนฐานขอมูล และการปรับปรุง โดยอางอิงถึงแนวคิดของ

แบบจําลองขอมูล โดยการดําเนินการ (Operation) บนแบบจําลองขอมูลน้ัน อาจประกอบดวย - การดําเนินการขั้นพื้นฐาน (Basic operation) เชน แทรก ลบ แกไข และสืบคน เปนตน - การดําเนินการตามที่ผูใชระบุ (User-defined operation) เชน COMPUTE_GPA for

STUDENT เปนตน

2.2.1 ประเภทของแบบจําลองขอมูล

• แบบจําลองขอมูลในระดับแนวคิด (Conceptual data model) เปนแบบจําลองระดับสูง (High-level) หรือที่เรียกวาเครือขายความหมาย (Semantic) โดย

แบบจําลองนี้จะใหแนวคิดที่ใกลเคียงกับการรับรูขอมูลของผูใชทั่วไป ซ่ึงมักเรียกวา Entity-based หรือ

* อางอิงจากบทที่ 2 ของเอกสารอางอิง [1]

Page 2: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-2 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

Object-based data models โดยใหแนวคิดเก่ียวกับเอนทิตี (Entity) คุณสมบัติของเอนทิตี

(Attribute) และความสัมพันธ (Relationship) ที่เชื่อมระหวางเอนทิตีตางๆ • แบบจําลองขอมูลในระดับกายภาพ (Physical data model)

เปนแบบจําลองระดับต่ํา (Low- level) หรือระดับภายใน (Internal) โดยแบบจําลองนี้ใหแนวคิดที่อธิบายรายละเอียดในการจัดเก็บขอมูลลงในคอมพิวเตอร

• แบบจําลองขอมูลในระดับปฏิบัติการ (Implementation or Representational data model) แบบจําลองนี้ใหแนวคิดที่อยูก่ึงกลางระหวาง 2 แบบแรก โดยปรับสมดุลใหกับมุมมองของผูใชรายละเอียด

เก่ียวกับหนวยเก็บขอมูลของคอมพิวเตอร

2.2.2 Schema และ Instant

• เคารางฐานขอมูล (Database Schema) คือ นิยามหรือคําบรรยาย (Description) ของฐานขอมูล ซ่ึง

ประกอบดวย นิยามโครงสรางฐานขอมูล และขอบังคับตางๆที่ฐานขอมูลควรยึดไว • แผนภาพเคาราง (Schema Diagram) คือแผนภาพแสดงเคารางฐานขอมูล (Database schema) • Schema construct คือสวนประกอบของเคาราง (Schema) หรือวัตถุในเคาราง เชน STUDENT,

COURSE เปนตน • Database Instant คือขอมูลจริงที่เก็บไวในฐานขอมูล ณ เวลาใดเวลาหนึ่ง หรืออาจเรียกวา สถานะ

ฐานขอมูล (Database State) หรือ Occcurrence

รูปที่ 2.1 แผนภาพเคาราง

(Schema diagram) เคารางฐานขอมูล (Database Schema) และ สถานะฐานขอมูล (Database State)

• สถานะฐานขอมูล (Database State) หมายถึง เน้ือหาของฐานขอมูลในชวงเวลาใดเวลาหนึ่ง • สถานะฐานขอมูลเริ่มตน (Initial Database State) คือ สถานะฐานขอมูลเมื่อถูกโหลด • Valid State หมายถึงสถานะที่เปนไปตามโครงสรางและขอบังคับของฐานขอมูล • ลักษณะพิเศษ (Distinction)

- เคารางฐานขอมูล (Database Schema) น้ันมีการเปลี่ยนแปลงนอยครั้งมาก ในขณะที่สถานะ

ขอมูล (Database State) จะเปลี่ยนแปลงไปทุกครั้งที่มีการปรับปรุงแกไขฐานขอมูล - เคาราง (Schema) อาจถูกเรียกวา Intention ในขณะที่ สถานะ (State) ถูกเรียกวา Extension

Page 3: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-3 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

2.3 สถาปตยกรรม Three-Schema และการไมขึ้นตอกันของขอมูล (Data Independence)

2.3.1 สถาปตยกรรมแบบ Three-Schema

• ถูกนําเสนอขึ้นเพื่อสนับสนุนคุณลักษณะตางๆของ DBMS ดังน้ี - การไมขึ้นตอกันระหวางโปรแกรมและขอมูล (Program-data independence) และการไมขึ้นตอ

กันระหวางโปรแกรมและการดําเนินการ (Program-operation independence) - สนับสนุนมุมมองที่หลากหลาย (Multiple views) ของขอมูล - ใช Catalog ในการเก็บนิยามฐานขอมูล (เคาราง)

รูปที่ 2.2 สถาปตยกรรม

Three-Schema

• เคารางระดับภายใน (Internal schema) - บรรยายโครงสรางหนวยเก็บขอมูลทางกายภาพของฐานขอมูล - ใชแบบจําลองขอมูลในระดับกายภาพ (Physical data model) - บรรยายรายละเอียดโดยสมบูรณเก่ียวกับหนวยเก็บขอมูลและเสนทางการเขาถึงฐานขอมูล

• เคารางระดับแนวคิด (Conceptual schema) - บรรยายโครงสรางของฐานขอมูลทั้งหมด - ซอนรายละเอียดของโครงสรางหนวยเก็บขอมูลทางกายภาพ - เนนการบรรยายเอนทิตี ชนิดขอมูล (Data type) ความสัมพันธ (Relationship) การดําเนินการ

(Operation) และขอบังคับ (Constraint) ตางๆ - ใชแบบจําลองขอมูลในระดับแนวคิด (Conceptual data model) หรือระดับปฏิบัติการ

(Implementation data model) • เคารางระดับภายนอก (External schema)

- เปนเคารางที่อยูในระดับภายนอก เพื่อบรรยายมุมมองที่หลากหลายของผูใช - โดยทั่วไปแลวมักใชแบบจําลองขอมูลแบบ representational (Representational data model)

• DBMs จะทําการแปลงความตองการ (Request) ที่ระบุไวที่เคารางระดับภายนอก (External schema) ไปเปนความตองการระดับแนวคิด (Conceptual schema) และแปลงเปนความตองการในระดับภายใน (Internal schema) เพื่อดําเนินการกับฐานขอมูลที่ถูกเก็บไวตอไป

• กระบวนการในการแปลงความตองการและผลที่ไดระหวางระดับ จะถูกเรียกวา การแปลง (Mapping)

Page 4: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-4 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

2.3.2 ความเปนอิสระของขอมูล (Data Independence) • ความเปนอิสระของขอมูลทางตรรก (Logical Data Independence)

คือ ความสามารถในการเปลี่ยนแปลงเคารางระดับแนวคิด (Conceptual schema) โดยไมจําเปนตองทําการเปลี่ยนแปลงเคารางระดับภายนอก (External schema) และโปรแกรมแอปพลิเคชัน โดยสิ่งที่

ตองทําการเปลี่ยนแปลงมีเพียงแต นิยามมุมมอง (View definition) และการแปลง (Mapping) เทาน้ัน ดังน้ันจึงสามารถทําการเปลี่ยนแปลงขอบังคับ (Constraint) ในเคารางระดับแนวคิด

(Conceptual schema) โดยไมสงผลกระทบเคารางระดับภายนอก (External schema) หรือ

โปรแกรมแอปพลิเคชัน • ความเปนอิสระของขอมูลทางกายภาพ (Physical Data Independence)

คือ ความสามารถในการเปลี่ยนแปลงเคารางระดับภายใน (Internal schema) โดยไมจําเปนตอง

เปลี่ยนแปลงเคารางระดับแนวคิด (Conceptual schema) รวมถึงไมจําเปนตองเปลี่ยนแปลงเคารางระดับภายนอก (External schema) ดวยเชนกัน ซ่ึงการเปลี่ยนแปลงเคารางระดับภายใน (Internal schema) น้ัน อาจมีความจําเปน เน่ืองจากเราจําเปนตองทําการปรับปรุงไฟลทางกายภาพ (Physical file) บางสวนใหม เชน กําหนดโครงสรางในการเขาถึงขอมูลเพิ่มเติม เปนตน

สําหรับ DBMS ที่สนับสนุนความเปนอิสระของขอมูล (Data-independence) แลว เม่ือมีการเปลี่ยนแปลงเคาราง (Schema) ที่ระดับใดๆ ส่ิงที่จําเปนจะตองเปลี่ยนแปลงมีเพียงแตการแปลง (Mapping) ระหวางเคาราง

ดังกลาวกับเคารางในระดับถัดไปที่สูงกวาเทาน้ัน โดยเคารางในระดับที่สูงกวาจะไมมีการเปลี่ยนแปลง ดังน้ัน

โปรแกรมแอปพลิเคชันจึงไมจําเปนตองเปลี่ยนแปลง เพราะโปรแกรมแอปพลิเคชันน้ันอยูที่เคารางระดับภายนอก

(External schema)

2.4 ภาษาฐานขอมูล (Database language) และสวนติดตอ

ผูใช (Interface)

2.4.1 ภาษา DBMS • ภาษาสําหรับนิยามขอมูล (Data Definition Language: DDL)

เปนภาษาที่ผูบริหารฐานขอมูล (DBA) และผูออกแบบฐานขอมูลใชในการกําหนดเคารางระดับแนวคิด

(Conceptual schema) ของฐานขอมูล ซ่ึงใน DBMS สวนใหญก็มักใช DDL ในการกําหนดเคารางระดับภายใน (Internal schema) และภายนอก (External schema) ดวยเชนกัน นอกจากนี้ ในอีก

หลายๆ DBMS ยังมีการใชภาษา Storage definition language (SDL) และ View definition language (VDL) ในการกําหนดเคารางภายในและภายนอกอีกดวย

• ภาษาสําหรับการใชขอมูล (Data Manipulation Language: DML) ใชในการระบุการสืบคนฐานขอมูลตางๆ เชน การลบ การแทรก เปนตน โดยสามารถนําคําส่ัง DML (DML Commands) ไปฝงติดไวกับ general-purpose programming language เชน COBOL, C, หรือภาษาแอสเซมบลี ซ่ึงภาษาเหลาน้ีจะถูกเรียกวา Host language สวน DML จะถูกเรียกวา Data sublanguage นอกจากนี้ยังมี DML ในรูปแบบ stand-alone ที่สามารถนํามาใชโดยตรง ซ่ึงเรียกวา ภาษาสืบคน (Query language)

• DML สามารถแบงออกเน 2 ประเภทหลักๆ คือ - DML ระดับสูง (High-level) หรือ Non-procedural language เชน SQL โดยอาจเรียกวา

Set-at-a-time หรือ Set-oriented DML ซ่ึงจะใชในระบุขอมูลที่ตองการสืบคนมากกวาวิธีการในการสืบคน

- DML ระดับต่ํา (Low-level) หรือ Procedural language หรือที่เรียกวา Record-at-a-time ซ่ึงผูใชจะตองระบุวิธีในการสืบคนขอมูล และตองใช construct เชน การวนลูป (Looping) เปนตน โดย DML ประเภทนี้จําเปนตองฝงติดไวกับ General-purpose programming language

• ผูใชปลายทางแบบ Casual (Casual end user) มักจะใชภาษาสืบคนระดับสูง (High-level query language)

Page 5: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-5 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

• ผูใชปลายทางแบบ Naïve และ parametric (Naïve and Parametric user) จะใชสวนติดตอผูใชที่เขาใจงาย (User-friendly interface) ในการติดตอและจัดการกับฐานขอมูล

2.4.2 สวนติดตอผูใช (Interface) ของ DBMS

• Stand-alone query language interface • สวนติดตอสําหรับผูพัฒนาโปรแกรม (Programmer interface) สําหรับฝงยึด DML ลงในภาษา

โปรแกรม (Programming language) ซ่ึงจะตองทําการคอมไพลลวงหนา (pre-compile) Procedure (Subroutine) Call Approach

• สวนติดตอที่เปนมิตรกับผูใช (User-friendly interface) โดยอาจมีรูปแบบตางๆ เชน - รูปแบบตัวเลือก (Menu) มีความนิยมมากในการคนหา (Browsing) บนเว็บ - รูปแบบฟอรม (Form) ซ่ึงถูกออกแบบมาเพื่อผูใชแบบ Naïve เชน พนักงานรับและจายเงินใน

ธนาคาร พนักงานสํารองที่ เปนตน - รูปแบบกราฟก (Graphic) เชน การชี้และคลิ๊ก ลากและปลอย เปนตน - ภาษาธรรมชาติ (Natural language) ซ่ึงมักใชภาษาอังกฤษ - หรืออาจเปนใชรูปแบบผสม ซ่ึงเปนการผสมรูปแบบตางๆขางตนเขาดวยกัน

• สวนติดตอผูใชของ DBMS อื่นๆ - ใชคําพูด (Speech) ในการสงและรับขอมูล (Input/Output) - ใช Web browser เปนสวนติดตอ (Interface) - สวนติดตอแบบ Parametric โดยใชคียฟงกชัน เชน พนักงานรับและจายเงินในธนาคาร - สวนติดตอสําหรับผูบริหารฐานขอมูล (DBA) โดยจะมีคําส่ังพิเศษสําหรับ DBA เพื่อใชในการ

สรางบัญชีผูใช (Account) และกําหนดสิทธ์ิในการเขาถึงฐานขอมูล กําหนดพารามิเตอรของระบบ

และเปลี่ยนแปลงเคาราง (Schema) หรือเสนทางในการเขาถึงฐานขอมูล (Access path)

2.5 สภาพแวดลอมของระบบฐานขอมูล (Database System

Environment)

2.5.1 สวนประกอบของ DBMS และสวนติดตอกับผูใช (Interface) ดังแสดงในภาพ

รูปที่ 2.3 สวนประกอบของ

DBMS และสวนติดตอกับผูใช

(Interface)

Page 6: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-6 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

2.5.2 การใชงานระบบฐานขอมูล (Database System Utilities) มีฟงกชันตางๆดังตอไปนี้

• โหลดขอมูลที่เก็บอยูในไฟลลงในฐานขอมูล รวมถึงเคร่ืองมือในการแปลงขอมูล (Data conversion tool)

• ทําการสํารองขอมูล (Back up) ลงบนเทปเปนระยะๆ • ปรับ (Reorganizing) โครงสรางไฟลฐานขอมูลใหม • สรางรายงาน (Report generation) • ตรวจสอบการทํางาน (Performance monitoring) และรวบรวมสถิตกิารใชฐานขอมูล • ฟงกชันอื่นๆ เชน การเรียง (Sorting) การดูแลตรวจสอบผูใช (User monitoring) การบีบอัดขอมูล

(Data compression) เปนตน

2.5.3 เครื่องมือ (Tool) อ่ืนๆ

• พจนานุกรมขอมูล (Data Dictionary) หรือคลังขอมูล (Data Repository) ใชในการเก็บนิยามเคาราง (Schema description) และขอมูลอื่นๆ เชน การออกแบบ (Design decision) นิยามโปรแกรมแอปพลิเคชัน (Application program description) ขอมูลผูใช (User information) มาตรฐานการใชงาน (Usage standard) เปนตน โดยแบงเปนพจนานุกรมขอมูลชนิด

active (Active data dictionary) ซ่ึงสามารถเขาถึงโดยซอฟตแวร DBMS และผูบริหารฐานขอมูล

(DBA) และพจนานุกรมชนิด passive (Passive data dictionary) ซ่ึงสามาถเขาถึงโดยผูบริหารฐานขอมูล (DBA) เทาน้ัน

• สภาพแวดลอมการพัฒนาแอปพลิเคชัน (Application Development Environments) และ

Computer-aided software engineering : CASE เชน Power buider (Sybase), JBuider (Borland) เปนตน

2.6 สถาปตยกรรมแบบรวม (Centralized) และแบบลูกขาย/

แมขาย (Client/Server) สําหรับ DBMS • สถาปตยกรรม DBMS แบบรวม (Centralized DBMSs Architectures) • สถาปตยกรรมแบบลูกขาย/แมขาย ขั้นพื้นฐาน (Basic Client/Server Architectures) • สถาปตยกรรมแบบลูกขาย/แมขาย 2 ชั้น (Two-Tier Client/Server Architecture) • สถาปตยกรรมแบบลูกขาย/แมขาย 3 ชั้น (Three-Tier Client/Server Architecture)

2.6.1 สถาปตยกรรม DBMS แบบรวม (Centralized DBMSs

Architectures) สถาปตยกรรมสําหรับ DBMS น้ัน พัฒนาไปตามทิศทางสถาปตยกรรมระบบคอมพิวเตอรทั่วไป ซ่ึงในชวงแรกนั้น

ใชคอมพิวเตอรเมนเฟรมในกระบวนการฟงกชันทั้งหมดของระบบ โดยรวบรวมทุกอยางไวในระบบเดียว เชน

ซอฟตแวร DBMS ฮารดแวร โปรแกรมแอปพลิเคชัน และซอฟตแวรสวนติดตอกับผูใช

Page 7: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-7 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

รูปที่ 2.4 ลักษณะทาง

กายภาพของ

สถาปตยกรรมแบบ

รวม (Physical Centralized

Architecture) 2.6.2 สถาปตยกรรมแบบลูกขาย/แมขาย ข้ันพื้นฐาน (Basic Client/Server

Architectures) ใชแนวคิดในการสรางแมขายพิเศษ ที่มีฟงกชันพิเศษตางๆ เชน การบริการไฟล (File server) บริการพิมพเอกสาร (Printer server) แมขายเว็บ (Web server) และ E-mail server เปนตน สวนเครื่องลูกขาย (Client) จะประกอบดวยสวนติดตอกับผูใชที่เหมาะสมในการเขาถึงและใชทรัพยากรของเครื่องแมขาย ซ่ึงเครื่องลูกขายอาจเปน

เครื่องที่ไมมีดิสก หรือเปนคอมพิวเตอรสวนบุคคล (PC) หรือเปนเวิรกสเตชัน (Workstation) ที่ติดตั้งเฉพาะซอฟตแวรลูกขาย โดยเครื่องลูกขายจะถูกเชื่อมตอสูเครื่องแมขายผานทางระบบเครือขาย (Network) เชน LAN (Local Area Network) เครือขายไรสาย (Wireless Network) เปนตน 2.6.3 สถาปตยกรรมแบบลูกขาย/แมขาย 2 ช้ัน (Two-Tier Client/Server

Architecture) โปรแกรมติดตอผูใช (User interface program) และโปรแกรมแอปพลิเคชัน สามารถปฏิบัติการบนฝงของเครื่อง

ลูกขาย (Client) โดยการเขาถึง DBMS จะมีการใช ODBC (Open Database Connectivity) ซ่ึงมีสวนติดตอเอพีไอ (Application program interface: API) ที่อนุญาติใหโปรแกรมฝงลูกขายสามารถเรียก DBMS ได ซ่ึง DBMS สวนใหญก็จะมีสวน ODBC น้ี โปรแกรมลูกขาย (Client program) หน่ึงๆ อาจเชื่อมตอกับหลายๆ DBMS นอกจากนี้ ในบาง DBMS ลูกขายอาจไดรับฟงกชันตางๆ เชน ฟงกชันพจนานุกรมขอมูล (Data dictionary function) การทํา Optimization และการคืนสภาพ (Recovery) ระหวางแมขาย ซ่ึงอาจเรียกเครื่องแมขายในกรณีเชนน้ีวา แมขายขอมูล (Data server)

รูปที่ 2.5 สถาปตยกรรมแบบ

ลูกขาย/แมขาย 2

ชั้น ในระดับตรรก

(Logical Two-Tier

Client/Server Architecture)

Page 8: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-8 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

รูปที่ 2.6 สถาปตยกรรมแบบ

ลูกขาย/แมขาย 2

ชั้น ระดับกายภาพ

(Logical Two-Tier

Client/Server Architecture)

2.6.4 สถาปตยกรรมแบบลูกขาย/แมขาย 3 ช้ัน (Three-Tier Client/Server

Architecture) มักใชในแอปพลิเคชันเว็บ (Web application) โดยมีการเพิ่มชั้นก่ึงกลาง (Intermediate layer) ระหวางลูกขาย

(Client) และแมขายฐานขอมูล (Database server) ซ่ึงเรียกชั้นก่ึงกลางนี้วาแมขายแอปพลิเคชัน (Application server) หรือแมขายเว็บ (Web server) โดยจะเปนสวนที่ทําหนาที่เก็บซอฟตแวรการเชื่อมตอเว็บ (Web connectivity software) รวมถึงกฎและขอบังคับตางๆ (Rules and business logic: Constraint) ของแอปพลิเคชันในการเขาถึงฐานขอมูลในแมขายฐานขอมูล (Database server) โดยมีบทบาทคลายทอในการสงขอมูลที่ถูกประมวลผลบางสวนระหวางแมขายฐานขอมูล (Database server) นอกจากนี้ยังมีลักษณะพิเศษเพิ่มเติมเก่ียวกับความปลอดภัย (Security) โดยจะทําการเขารหัสขอมูล (Encrypt) ที่เครื่องแมขายกอนจะทําการสงตอออกไปถอดรหัส (Decrypt) ที่เครื่องลูกขาย

รูปที่ 2.7 สถาปตยกรรมแบบ

ลูกขาย/แมขาย 3

ชั้น ระดับตรรก

(Logical Three-Tier

Client/Server Architecture)

2.7 การจัดประเภทของ DBMS

สามารถพิจารณาไดจากหลายกฎเกณฑ ดังน้ี • พิจารณาจากแบบจําลองขอมูล (Data model) ที่ใช

Page 9: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-9 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

- Traditional ไดแก แบบจําลองเชิงสัมพันธ (Relational model) แบบจําลองแบบเครือขาย

(Network model) แบบจําลองแบบแตกสาขา (Hierarchical model) - Emerging ไดแก Object-oriented, Object-relational

• พิจารณาจากจํานวนผูใช - ผูใชคนเดียว (single-user) ซ่ึงมักใชกับไมโครคอมพิวเตอร - ผูใชหลายคน (Multi-user) ซ่ึง DBMS สวนใหญจัดอยูในประเภทนี้

• พิจารณาจากจํานวนของไซต (Site) - แบบรวม (Centralized) ซ่ึงใชคอมพิวเตอรหน่ึงเครื่องกับหน่ึงฐานขอมูล - แบบกระจาย (Distributed) ซ่ึงใชคอมพิวเตอรหลายเครื่อง หลายฐานขอมูล

2.7.1 ระบบฐานขอมูลแบบกระจาย (Distributed Database System:

DDBMS) ระบบฐานขอมูลแบบกระจาย (Distributed Database System) ซ่ึงปจจุบันรูจักกันในลักษณะของระบบ

ฐานขอมูลแบบลูกขาย/แมขาย (Client/Server based database system) เน่ืองจากเปนระบบที่ไมสนับสนุนสภาพแวดลอมการกระจายโดยสมบูรณ (Totally distributed environment) แตจะเปนในรูปแบบที่ กลุมแมขายฐานขอมูล (Database server) สนับสนุนกลุมลูกขาย (Client) มากกวา โดยมีสภาพแวดลอมการกระจาย (Distributed environment) แบบตางๆ ดังน้ี

• DDBMS แบบเอกพันธ (homogeneous DDBMS) ใชซอฟตแวร DBMS กับหลายๆไซต (Site) • DDBMS แบบ Heterogeneous (Heterogeneous DDBMS) ซ่ึงเปนแนวคิดใหมในการพัฒนา

ซอฟตแวรเพื่อเขาถึงฐานขอมูลอิสระที่มีอยู (Autonomous preexisting database) • ระบบ Federated หรือ Multidatabase (Federated or Multidatabase system)

2.7.2 ประวัติของแบบจําลองขอมูล

• แบบจําลองเชิงสัมพันธ (Relational Model) ไดรับการนําเสนอขึ้นในป 1970 โดย E.F. Codd จาก IBM ซ่ึงกลายเปนระบบเชิงพาณิชย

(Commercial system) ในชวงป 1981-1982 ซ่ึงปจจุบันสามาถพบไดในผลิตภัณฑทางการคาตางๆ

มากมาย เชน DB2, ORACLE, SQL Server, SYBASE, INFORMIX เปนตน • แบบจําลองแบบเครือขาย (Network Model)

ไดรับการพัฒนาขึ้นเปนครั้งแรกโดย Honeywell ในชวงป 1964-1965 และนํามาใชอยางมากโดย

การสนับสนุนของ CODASYL (CODASYL- รายงาน DBTG ป 1971) ซ่ึงตอมาไดรับการพัฒนาในระบบตางๆ เชน IDMS (Cullinet หรือ CA ในปจจุบัน), DMS 1100 (Unisys), IMAGE (H.P.) และ VAX- DBMS (Digital Equipment Corp.) เปนตน

• แบบจําลองขอมูลแบบแตกสาขา (Hierarchical Data Model) ไดรับการพัฒนาขึ้นโดยความรวมมือของ IBM และ North American Rockwell ในชวงป 1965

และเกิดเปนระบบในตระกูล IMS ซ่ึงแบบจําลองนี้นับเปนแบบจําลองที่ไดรับความนิยมมากที่สุด โดย

ระบบอื่นๆที่ใชแบบจําลองนี้ ไดแก System 2k (SAS inc.) • แบบจําลองขอมูลเชิงวัตถุ (Object-oriented Data Model) • Object- Relational Model

2.7.3 ขอดีและขอเสียของแบบจําลองแบบแตกสาขา (Hierarchical model)

• ขอด ี- งายตอการสรางและจัดการ - ใชไดกับหลาย natural hierarchically organized domains เชน แอสเซมบลีในกระบวนการ

ผลิต การจัดการสวนบุคคลในบริษัท • ขอเสีย

- ลักษณะในการประมวลผลแบบ Navigational และ Procedural - แสดงขอมูลในลักษณะ Linear arrangement ของ records

Page 10: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-10 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

- มีขอจํากัดเล็กนอยสําหรับ “Query optimization”

2.7.4 ขอดีและขอเสียของแบบจําลองแบบเครือขาย (Network model)

• ขอด ี- แบบจําลองแบบเครือขายนั้นสามารถทําการโมเดลความสัมพันธที่ซับซอนและสามารถแสดง

ความหมาย (Semantics) ของการเพิ่มและการลบ (add/delete) บนความสัมพันธได - สามารถจัดการกับสถานการสวนใหญได โดยใช record types และ relationship types - ใชภาษา navigational มีการใชคําส่ัง FIND, FIND member, FIND owner, FIND

NEXT within set, GET เปนตน • ขอเสีย

- ลักษณะในการประมวลผลแบบ Navigational และ Procedural - ฐานขอมูลประกอบดวยอะเรยพอยนเตอรที่ซับซอนที่ใชกับกลุมของระเบียน (Record) - มีขอจํากัดเล็กนอยสําหรับ automated “Query optimization”

รูปที่ 2.8 ตัวอยางขอมูลใน

รูปแบบ

ความสัมพันธ

(Relation form)

รูปที่ 2.9 ตัวอยางขอมูลใน

รูปแบบแตกสาขา

(Hierarchical form)

Page 11: chapter02 database system concepts and architecture

2110422 การออกแบบระบบการจัดการฐานขอมูล 2-11 ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

รูปที่ 2.10 ตัวอยางขอมูลใน

รูปแบบเครือขาย

(Network form)

แบบฝกหัด

1. จงอธิบายประเภทหลักๆของแบบจําลองขอมูล 2. จงอธิบายขอแตกตางระหวาง database schema และ database state 3. จงอธิบายลักษณะของสถาปตยกรรมแบบ three-schema 4. จงอธิบายขอแตกตางระหวาง procedural และ non procedural DMLs