Chapter02 Database System Concepts And Architecture

  • Uploaded by: Phichya Laemluang
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Chapter02 Database System Concepts And Architecture as PDF for free.

More details

  • Words: 1,499
  • Pages: 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]

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

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

2.3

2-3

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

ถูกนําเสนอขึ้นเพื่อสนับสนุนคุณลักษณะตางๆของ DBMS ดังนี้ - การไมขึ้นตอกันระหวางโปรแกรมและขอมูล (Program-data independence) และการไมขึ้นตอ กันระหวางโปรแกรมและการดําเนินการ (Program-operation independence) - สนับสนุนมุมมองที่หลากหลาย (Multiple views) ของขอมูล - ใช Catalog ในการเก็บนิยามฐานขอมูล (เคาราง)



เคารางระดับภายใน (Internal schema) - บรรยายโครงสรางหนวยเก็บขอมูลทางกายภาพของฐานขอมูล - ใชแบบจําลองขอมูลในระดับกายภาพ (Physical data model) - บรรยายรายละเอียดโดยสมบูรณเกี่ยวกับหนวยเก็บขอมูลและเสนทางการเขาถึงฐานขอมูล เคารางระดับแนวคิด (Conceptual schema) - บรรยายโครงสรางของฐานขอมูลทั้งหมด - ซอนรายละเอียดของโครงสรางหนวยเก็บขอมูลทางกายภาพ - เนนการบรรยายเอนทิตี ชนิดขอมูล (Data type) ความสัมพันธ (Relationship) การดําเนินการ (Operation) และขอบังคับ (Constraint) ตางๆ - ใชแบบจําลองขอมูลในระดับแนวคิด (Conceptual data model) หรือระดับปฏิบัติการ

รูปที่ 2.2 สถาปตยกรรม Three-Schema



(Implementation data model) •





เคารางระดับภายนอก (External schema) - เปนเคารางที่อยูในระดับภายนอก เพื่อบรรยายมุมมองที่หลากหลายของผูใช - โดยทั่วไปแลวมักใชแบบจําลองขอมูลแบบ representational (Representational data model) DBMs จะทําการแปลงความตองการ (Request) ที่ระบุไวที่เคารางระดับภายนอก (External schema) ไปเปนความตองการระดับแนวคิด (Conceptual schema) และแปลงเปนความตองการใน ระดับภายใน (Internal schema) เพื่อดําเนินการกับฐานขอมูลที่ถูกเก็บไวตอไป กระบวนการในการแปลงความตองการและผลที่ไดระหวางระดับ จะถูกเรียกวา การแปลง (Mapping)

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)

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

2-5

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

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





2.5

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)

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

รูปที่ 2.3 สวนประกอบของ DBMS และสวน ติดตอกับผูใช (Interface)

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) อื่นๆ •



2.6

พจนานุกรมขอมูล (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) เปนตน

สถาปตยกรรมแบบรวม (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 ฮารดแวร โปรแกรมแอปพลิเคชัน และซอฟตแวรสวนติดตอกับผูใช

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 TwoTier Client/Server Architecture)

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

2-8

รูปที่ 2.6 สถาปตยกรรมแบบ ลูกขาย/แมขาย 2 ชั้น ระดับกายภาพ (Logical TwoTier 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) ที่ใช

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

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

-

2-10

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

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

ขอดี -



รูปที่ 2.8 ตัวอยางขอมูลใน รูปแบบ ความสัมพันธ (Relation form)

รูปที่ 2.9 ตัวอยางขอมูลใน รูปแบบแตกสาขา (Hierarchical form)

แบบจําลองแบบเครือขายนั้นสามารถทําการโมเดลความสัมพันธที่ซับซอนและสามารถแสดง ความหมาย (Semantics) ของการเพิ่มและการลบ (add/delete) บนความสัมพันธได - สามารถจัดการกับสถานการสวนใหญได โดยใช record types และ relationship types - ใชภาษา navigational มีการใชคําสั่ง FIND, FIND member, FIND owner, FIND NEXT within set, GET เปนตน ขอเสีย - ลักษณะในการประมวลผลแบบ Navigational และ Procedural - ฐานขอมูลประกอบดวยอะเรยพอยนเตอรที่ซับซอนที่ใชกับกลุมของระเบียน (Record) - มีขอจํากัดเล็กนอยสําหรับ automated “Query optimization”

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

รูปที่ 2.10 ตัวอยางขอมูลใน รูปแบบเครือขาย (Network form)

แบบฝกหัด 1. 2. 3. 4.

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

2-11

Related Documents


More Documents from "api-3744913"