44
LOGO 1 Chapter 2 : Chapter 2 : สสสสสสสสสสส สสสสสสสสสสส สสสสสสสสสสสสส สสสสสสสสสสสสส (Database Systems (Database Systems Architecture Architecture ) ) 4121203A สสสสสสสสสสสสส

Database Systems Architecture

Embed Size (px)

Citation preview

Page 1: Database Systems Architecture

LOGO

1

Chapter 2 : Chapter 2 : สถาปตยกรรมสถาปตยกรรมระบบฐานขอมล ระบบฐานขอมล

(Database Systems (Database Systems ArchitectureArchitecture))4121203A ระบบฐานขอมล

Page 2: Database Systems Architecture

2

วตถประสงคทราบถงแนวคดและความสำาคญของ

สถาปตยกรรมระบบฐานขอมลบอกวตถประสงคของสถาปตยกรรม 3 ระดบของ

ANSI-SPARC ไดอธบายเกยวกบสถาปตยกรรม 3 ระดบของ

ANSI-SPARC ไดอยางถกตองเขาใจถงสคมา (Schema) การแปลงรป

(Mapping) และอนสแตนซ (Instance)

Page 3: Database Systems Architecture

รหสผใช ชอ - นามสกล เพศ ทอย เบอรตดตอ วนเกดB00514 สวาร ใจสบาย ญ 34 คลองสาน 025478556 12/01/1977A00128 กนก ยนด ช 126 บางพลด 026441255 09/07/1986A01245 เพญศร สขสม ญ 49/2 จตจกร 014544255 05/11/1971C13244 บญม ยนด ช 66 ลาดพราว 066458554 26/04/1980. . . . . .. . . . . .. . . . .

ฟลด เรคอรด

ไฟล

ไบต

โครงสรางแฟมขอมล (ทบทวน)

Page 4: Database Systems Architecture

ศพทเทคนคทควรทราบเกยวกบฐานขอมล

ศพทเทคนค ศพททวไปเอนทต (Entity),รเลชน (Relation) ตาราง (Table)ทเพล (Tuple) แถว (Row) หรอ Recordแอททรบวต (Attribute) คอลมน (Column), Fieldคารดนาลต (Cardinality)จำานวนแถว (Number of

Rows)คยหลก (Primary Key) คาเอกลกษณ (Unique

Identifier)

Page 5: Database Systems Architecture

เอนทต (Entity)ชอของวตถหรอสงใดสงหนง ทจำาเปนในการจดเกบ

ขอมล- คน เชน นกศกษา , ลกคา , อาจารย- สงของ เชน หนงสอ , วดโอ , สนคา

วตถทจดเกบขอมลสามารถบอกความแตกตางไดถกสรางขนโดยชดของแอททรบวต (Attribute)ประกอบดวยแอททรบวตและทเพล (Tuple)

Page 6: Database Systems Architecture

แอททรบวต (Attribute)รายละเอยดของขอมลในเอนทต คณสมบต หรอคณลกษณะของเอนทต หรอความ

สมพนธ

Page 7: Database Systems Architecture

เอนทต (ตาราง)

ทเพล (เรคคอรด)

แอททรบวต (ฟลด)

Key หลก ?

Page 8: Database Systems Architecture

DATABASE

เบอรโทร เบอรปลายทาง เวลาเรมตน เวลาสนสด วนท

ตารางท 1

ตารางท 2เบอรโทร ชอ-นามสกล ทอย เบอร

ตดตอ อเมลตารางท 3

เบอรโทร ปญหา แกไข ผรบผดชอบ วนท เวลา

Page 9: Database Systems Architecture

Database system

DATABASE

แผนกบญช แผนกประชาสมพนธ

DBMSฝายบรหาร

Page 10: Database Systems Architecture

ระบบการจดการฐานขอมลDatabase management

systems : DBMS ซอฟทแวรระบบชนดหนง ทถกสรางขนมาเพอจดการ ขอมลในฐานขอมล เปนตวกลางระหวางผ

ใชกบฐานขอมลสวนประกอบของ DBMS• SQL (Structure Query Language)• โปรแกรมอำานวยความสะดวก (General Utilities)• โปรแกรมชวยสรางโปรแกรมประยกตและรายงาน (Applicaton and Report Generators)• พจนานกรมขอมล (Data Dictionary)

Page 11: Database Systems Architecture

11

ความสามารถเบองตน• สรางตารางขอมล • เพม ปรบปรง เรยกคนขอมล• เกบรายละเอยดเกยวกบขอมลไวใน data dictionary• มระบบเสรมการทำางาน • มระบบสำารองขอมล• สนบสนนเครองมอการทำารายงาน

ระบบการจดการฐานขอมลDatabase management

systems : DBMS

Page 12: Database Systems Architecture

12

ชอซอฟทแวร บรษทผผลต หมายเหตDB2 IBM ซอฟทแวรลขสทธInformix IBM ซอฟทแวรลขสทธIngres Ingres corporation ฟรซอฟทแวรInterBase Borland ซอฟทแวรลขสทธMaxDB MySQL AB ฟรซอฟทแวรMicrosoft Access Microsoft ซอฟทแวรลขสทธ

Microsoft SQL Server Microsoft ซอฟทแวรลขสทธMySQL MySQL AB ฟรซอฟทแวรOracle Oracle ซอฟทแวรลขสทธPostgreSQL PostgreSQL Global

Development Group ฟรซอฟทแวรSybase Sybase Inc. ซอฟทแวรลขสทธ

ซอฟทแวรระบบจดการฐานขอมล

Page 13: Database Systems Architecture

13

ฮารดแวร- หนวยนำาขอมลเขา- หนวยนำาขอมลออก- หนวยประมวลผลกลาง- หนวยเกบขอมลสำารอง- อปกรณการสอสาร

ซอฟทแวร- โปรแกรมจดการฐานขอมล

บคลากร- ผใชงาน- ผควบคมระบบ- ผพฒนาโปรแกรม

ขนตอนการดำาเนนงาน- ขนตอนการปฏบตการของผปฏบตงาน

ขอมลฐาน

ขอมล

องคประกอบของระบบฐานขอมล

Page 14: Database Systems Architecture

เพอใหการดงขอมลจากฐานขอมลไดรวดเรวและมประสทธภาพจำาเปนตองออกแบบเทคนคการจดเกบขอมลดวยโครงสรางทซบซอนขน เนองจากผใชงานทวไปไมใชผทฝกฝนมาทางคอมพวเตอร ดงนนจงควรซอนรายละเอยดความซบซอนดงกลาวเพอทำาใหการตดตอใชงานงายและสะดวกขน

ระบบฐานขอมลตองทำาใหผใชงานแตละคนมองเหนขอมลในระดบทตนตองการ กลาวคอ ระบบจดการฐานขอมลจะซอนรายละเอยดเกยวกบการจดการขอมลในระดบกายภาพ (โครงสรางของฐานขอมล)

แนวคดเกยวกบสถาปตยกรรมของระบบฐานขอมล

Page 15: Database Systems Architecture

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

สถาปตยกรรมของระบบฐานขอมล (architecture for ad database system) เปรยบเสมอนกรอบซงจะใชเปนประโยชนในการบรรยายถงแนวคดและอธบายถงโครงสรางของระบบฐานขอมลแบบตางๆ

สถาปตยกรรมระบบฐานขอมล หมายถง การอธบายเกยวกบโครงสรางและสวนประกอบหลกทนำามาประกอบรวมกนเปนระบบฐานขอมล

Page 16: Database Systems Architecture

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

กำาหนดมาตรฐานโดย ANSI /SPARC(American National Standards Institute/System Planning and Requirements Committee) ในป 1975

สถาปตยกรรมของฐานขอมลม 3 ระดบ ประกอบดวย ระดบภายนอก (External level) ระดบความคด (Concept level) ระดบภายใน (Internal level)

Page 17: Database Systems Architecture

PhysicalStorage of data

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

... ระดบภายนอก

ระดบแนวคด

ระดบภายใน

สคมา (Schema)(Global logical

view)

วว 2วว 1 วว nExternal level

Conceptual level

Internal level

Page 18: Database Systems Architecture

Schema และ Instantเคารางฐานขอมล (Database Schema) คอ นยามหรอคำา

บรรยาย (Description) ของฐานขอมล ซงประกอบดวย นยามโครงสรางฐานขอมล และขอบงคบตางๆทฐานขอมลควรยดไว

แผนภาพเคาราง (Schema Diagram) คอแผนภาพแสดงเคารางฐานขอมล (Database schema)

Schema construct คอสวนประกอบของเคาราง (Schema) หรอวตถในเคาราง เชน STUDENT,COURSE เปนตน

Database Instant คอขอมลจรงทเกบไวในฐานขอมล ณ เวลาใดเวลาหนง หรออาจเรยกวา สถานะฐานขอมล (Database State) หรอ Occurrence

Page 19: Database Systems Architecture

แผนภาพเคาราง (Schema diagram)

แผนภาพเคาราง (Schema diagram)

Page 20: Database Systems Architecture

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

และสถานะฐานขอมล (Database State)สถานะฐานขอมล (Database State) หมายถง เนอหาของฐานขอมลในชวง

เวลาใดเวลาหนงสถานะฐานขอมลเรมตน (Initial Database State) คอ สถานะฐานขอมลเมอ

ถกโหลดValid State หมายถงสถานะทเปนไปตามโครงสรางและขอบงคบของฐานขอมลลกษณะพเศษ (Distinction)

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

ถกเรยกวา Extension

Page 21: Database Systems Architecture

PhysicalStorage of data

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

... ระดบภายนอก

ระดบแนวคด

ระดบภายใน

สคมา (Schema)(Global logical

view)

วว 2วว 1 วว nExternal level

Conceptual level

Internal level

Page 22: Database Systems Architecture

1.ระดบภายนอกหรอวว (External Level)

ระดบภายนอกจะเกยวของกบผใชงานมากทสด ซงจะเปนสวนทแสดงขอมลสำาหรบผใชงานในแตละรายไป จะไมสามารถเขาไปดโครงสรางของฐานขอมลได โดยผใชแตละคนสามารถเลอกขอมลทตนเองตองการและสนใจ เชน นกศกษาเขาไปใชงานเวบไซต ของกองบรการการศกษาเพอดผลการเรยน เปนตน• หนาตางหรอวว (view) ทผใชภายนอกมสทธ

เขาไปใชได โดยแตละคนจะมมมมองตางกน• โปรแกรมจะมองเหนโครงสรางขอมลเพยงบาง

สวนเทานน• สคมาระดบภายนอก (External Schema)

เปนการแสดงขอมลทถกดงมาจากฐานขอมลทอยในระดบแนวคดเฉพาะสวนทตองการ

Page 23: Database Systems Architecture

1. ระดบภายนอกหรอวว(External Level, View)

เปนระดบของขอมลทเปนภาพทผใชงานมองเหน (View) เคารางของขอมลในระดบนเกดจากภาพและความตองการของผใชงานรหสพนกงาน ชอ วนทจาง เงนเดอน ตำาแหนง รหสแผนก MGRNO

รหสแผนก ชอแผนก ทตง

รหสโครงการ ชอโครงการ วนทเรม วนทจบ งบประมาณ

รหสโครงการ รหสพนกงาน จำานวนชวโมง

พนกงาน (User View 1)

แผนก(User View2)

โครงการ (User View3)

ทมงาน(User View4)

Page 24: Database Systems Architecture

ระดบภายนอก (External Level)

รหสลกคา ชอ นามส

กล ทอย รหสไปรษณย

เบอรโทรศพท

00001

สมคด อยเสมอ

222 ต. โคกกรวดอ. เมองจ.นครราชสมา

30000 0-4421-4124

00002

สมหญง

งามทรพย

14/77 ถนน ลาดพราว บางกะป

กรงเทพฯ

10300 0-2666-7766

00003

สมชาย

หลอลำา 111/100 แขวงวง ใหม เขตวงเกา

กรงเทพฯ

10290 0-1111-2323

00004

สมปอง

มกจ 1/1 ถนนมขมนตรอ. เมองจ.นครราชสมา

30000 0-4444-4441

00005

สมสวน

มบญ 123 ต. ในเมองอ. เมอง จ.ขอนแกน

40002 0-4324-2333

Page 25: Database Systems Architecture

2.ระดบแนวคด (Conceptual Level)

ระดบแนวคดอาจเรยกอกอยางวา โครงสรางขอมลระดบลอจคอล (logical) จะกลาวถงการออกแบบโครงสรางของขอมล เชน ขอมลทจดเกบจะประกอบดวยเอนทตใดบาง แตละเอนทตประกอบดวยแอทรบวทใด โครงสรางระดบนจะมงเนนความสมพนธ (relationship) หรอเรยกวาแบบจำาลองขอมล (data model) เปนระดบทจะอธบายถงวา ขอมลอะไรทจะจดเกบลงในฐานขอมลและมความสมพนธกนอยางไร ใครทสามารถเขาไปใชงานไดบาง ใชงานไดในระดบไหน โดยพจารณาจากผใชภายนอก (External Level) วาตองการขอมลใดบาง

Page 26: Database Systems Architecture

2. ระดบแนวคด (Conceptual Level)

ประกอบดวยเคารางทอธบายถง ฐานขอมลม Entity (Table)ใดบาง โครงสรางของขอมล ความสมพนธของขอมล กฎเกณฑและขอจำากดตางๆ

โดยจะผานการวเคราะหจาก นกวเคราะหและออกแบบระบบ และผบรหารฐานขอมล (DBA)

Page 27: Database Systems Architecture

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

Employee

Dep2 Dep3Dep1

Student1B4555555SomchaiSaetung7146 Suranivet 7

StudentStudentIDFirstNameLastNameAddress

Order_Detail

OrderID

ProID

ProCount

Discount

Product

ProID

ProName

UnitPrice

ProDes

Page 28: Database Systems Architecture

3. ระดบภายใน (Internal or Physical Level) ระดบภายในเปนระดบทเกยวของกบการ

ออกแบบการจดเกบขอมลของฐานขอมลในหนวยความจำาวาจดเกบโดยวธใด ผใชระดบภายนอก (External Level) จงจะสามารถใชงานฐานขอมลไดอยางรวดเรว เปนระดบทเกยวของกบผพฒนาโปรแกรมหรอผพฒนาระบบในระดบกายภาพ

ผออกแบบตองคำานงถงการใชอปกรณและเทคโนโลยในการเกบขอมล การเขาถง วธการบำารงรกษา

Page 29: Database Systems Architecture

การแบงโครงสรางฐานขอมลออกเปน 3 ระดบเปนการแยกมมมองเฉพาะของผใชงานออกจากวธการจดเกบขอมลจรงบนสอบนทกขอมล มเหตผลสนบสนนการแบงแยกดงกลาวหลายประการดงน

1. ผใชงานแตละคนสามารถดงขอมลเดยวกนจากฐานขอมลนำามาจดโครงสรางทเหมาะสมกบการใชงาน ของตนเอง การปรบเปลยนโครงสรางควรทำาไดอยางอสระโดยไมสงผลกระทบกบผใชงานคนอน ๆ

2. ผใชงานไมจำาเปนตองไปยงเกยวหรอรบรรายละเอยดของการจดการขอมลบนสอบนทกขอมลวาใชเทคนคอะไร

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

Page 30: Database Systems Architecture

3. ผบรหารจดการฐานขอมล (DBA) ตองสามารถปรบเปลยนโครงสรางหรอนยามของฐานขอมลโดยไมสงผลกระทบตอมมมองเฉพาะของผใชงานทวไป และผใชงานทก ๆ ระดบ

4. โครงสรางการจดเกบขอมลภายในของฐานขอมลจะไมถกกระทบจากการเปลยนแหลงเกบขอมล ตวอยางเชน ยายหรอแบงขอมลไปเกบบนอปกรณบนทกขอมลใหม

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

Page 31: Database Systems Architecture

สถาปตยกรรมฐานขอมล

เคารางแนวคด

เคารางภายใน

ฐานขอมล

ววของผใช 1 ววของผใช 2External Level

Conceptual Level

Internal Level

Page 32: Database Systems Architecture

ประโยชนของสถาปตยกรรม 3ระดบ

มมมองขอมลของผใชงาน• ทำาใหผใชงานไมตองสนใจวาขอมลจะถกเกบอยางไรในดสค

เมอตองการขอมลกสามารถอางถงตารางและเขตขอมลนน ๆ ไดโดยตรง ซง DBMS จะทำาหนาทดวาขอมลทตองการนนเกบอย ณ ตำาแหนงใด (track ใด cylinder ใด ในดสค และ

ทำาการดงขอมลนนจากดสกมาใหแกผใช)ความเปนอสระกนของขอมล

• การเปลยนแปลงขอมลในระดบแนวคดไมมผลกระทบกบโปรแกรมประยกตทผใชเขยนขนในระดบภายนอก

• การเปลยนแปลงวธการเกบขอมลในสอ ไมมผลกระทบกบการเกบขอมลระดบแนวคด

Page 33: Database Systems Architecture

กลาวโดยสรประดบภายนอก (external level) เปนระดบใกลกบผใชงานมากทสด กลาวคอเปนการมองเหนขอมลในแงมมเฉพาะของผใชงาน (User View)

ระดบภายใน (internal level) เปนระดบใกลกบการจดเกบขอมลทางกายภาพมากทสด กลาวคอเปนการมองโครงสรางของขอมลสำาหรบระบบจดการฐานขอมล (DBMS) และระบบปฏบตการคอมพวเตอร (Operating System) โครงสรางระดบภายในเปนโครงสรางของขอมลทจดเกบบนสอบนทกขอมลรวมไปถงการจดการแฟมขอมล

ระดบแนวคด (Conceptual level) เปนระดบคนกลางระหวางระดบทงสองโดยมฟงกชนปรบเปลยน (mapping) และมความเปนอสระของขอมล (data independence) ระหวางระดบภายนอกและระดบภายใน

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

Page 34: Database Systems Architecture

Mapping•ในสถาปตยกรรม ANSI/SPARC มมมองทมตอขอมลในสถาปตยกรรมในระดบทสงกวาสามารถทจะถายทอด

มมมองนนไปยงสถาปตยกรรมในระดบทตำากวาได เรยกวา การทำา “

Mapping” แบงเปน 2 ลกษณะคอ

1. Conceptual/Internal Mapping

2. External/Conceptual Mapping

Page 35: Database Systems Architecture

Mapping

Page 36: Database Systems Architecture

Mapping 1. Conceptual/Internal

Mapping เปนการถายทอดมมมองทมตอขอมลจากระดบ Conceptual ไปยง

ระดบ Internal เพอนำาโครงสรางของขอมลตางๆ ในระดบ

Conceptual มากำาหนดโครงสรางของ Record และ Field ทจะนำาไปใชจดเกบขอมล เชนขอมลในระดบ Conceptual ถกแสดงอยางไรใน

ระดบ Internal

Page 37: Database Systems Architecture

Mapping2. External/Conceptual

Mapping เปนการถายทอดมมมองทมตอขอมล

จากระดบ Externalไปยงระดบ Conceptual เพอกำาหนดโครงสรางของ Record และ Field ใหสามารถครอบคลมความตองการหรอมมมองตางๆ ของผใช เชน การแปลงขอมลระดบภายนอกเปนตารางหรอแอททรบวตตางๆ

Page 38: Database Systems Architecture

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

เนองจากในระบบแฟมขอมล เมอมการเปลยนแปลงโครงสรางทางกายภาพของแฟม

ขอมลใด จะตองมการเปลยนแปลงโปรแกรมตางๆ ทเรยกใชขอมลในแฟมขอมลนนดวย

เชน เปลยนแฟมขอมลพนกงาน จากเดมเรยงลำาดบตามชอมาเปนตามรหสพนกงานแทน ทำาให

ตองมการแกไขโปรแกรมตามโครงสรางทเปลยนแปลงไป ซงการทขอมลและโปรแกรมไมเปนอสระตอกนน เรยกวา “Data Dependence”

Page 39: Database Systems Architecture

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

• สถาปตยกรรมของระบบฐานขอมลทจดแบงออกเปน 3 ระดบ สามารถทจะใชอธบายถงความเปนอสระของขอมล ซงเปนจดเดนของระบบฐานขอมล คอเมอมการเปลยนแปลงโครงสรางทระดบใดกตาม จะไมมผลกระทบ

ทำาใหระดบทอยเหนอกวาตองทำาการเปลยนแปลงโครงสรางตามไปดวย แบงออก

เปน 2 ประเภทคอ 1. ความเปนอสระของขอมลในเชง

ตรรกะ(Logical Data Independence)2. ความเปนอสระของขอมลในเชง กายภาพ

(Physical Data Independence)

Page 40: Database Systems Architecture

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

ความเปนอสระของขอมลในเชงตรรกะ (Logical Data Independence)เปนความอสระของขอมลในระดบแนวคดกบระดบภายนอก นนคอถามการเปลยนแปลงขอมลในระดบแนวคดจะไมมผลตอระดบภายนอก

ความเปนอสระของขอมลในเชงกายภาพ (Physical Data Independence) เปนความอสระของขอมลในระดบภายในกบระดบแนวคด นนคอถามปรบปรงเคารางในระดบภายในโดยจะกระทบตอระดบภายแนวคดและระดบภายนอก

Page 41: Database Systems Architecture

ความเปนอสระของขอมล

ภาษา COBOL

ขอมลระดบภายนอก

ขอมลระดบหลกการ

ขอมลระดบภายนอก

ภาษา SQLภาษา PASCAL

โครงสรางระดบภายนอก

โครงสรางระดบหลกการ

โครงสรางระดบภายใน

ผใช 1 ผใช 2 ผใช 3

DBMS

Page 42: Database Systems Architecture

42

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

(architecture for ad database system) เปรยบเสมอนกรอบซงจะใชเปนประโยชนในการบรรยายถงแนวคดและอธบายถงโครงสรางของระบบฐานขอมลแบบตางๆ

โครงสรางฐานขอมล 3 ระดบ คอ ระดบภายนอก ระดบภายใน และระดบแนวคดซงเปนรปแบบและโครงสรางทใชกบระบบฐานขอมลโดยทวไป

Page 43: Database Systems Architecture

43

สรปความเปนอสระของขอมลเชงตรรกะ (logical data

independence) ในความหมายทใชกบระบบฐานขอมลจะหมายถงมมมองของผใชตอขอมลโดยเมอมการเปลยนแปลงแกไขโครงสรางขอมลในระดบแนวคด จะไมมผลกระทบตอโครงสรางขอมลในระดบภายนอกทผใชใชงานอย

ความเปนอสระของขอมลเชงกายภาพ (physical data independence) หมายถง เมอมการเปลยนแปลงแกไขโครงสรางขอมลในระดบภายใน จะไมมผลกระทบตอโครงสรางขอมลในระดบแนวคด หรอระดบภายนอก

Page 44: Database Systems Architecture

44

คำาถามทายบทท 21. สถาปตยกรรมระบบฐานขอมล หมายถงอะไร2. สถาปตยกรรม 3 ระดบ ประกอบดวยระดบใด

บาง จงอธบาย3. จงสรปความหมายของคำาวา สกมา การแปลง

รป และอนสแตนซ4. การแปลงรปมกประเภท อะไรบาง จงอธบาย5. การอสระของขอมลมกชนด อะไรบาง จง

อธบาย