database systems architecture
TRANSCRIPT
LOGO
1
Chapter 2 : Chapter 2 : สถาปตยกรรมสถาปตยกรรมระบบฐานขอมล ระบบฐานขอมล
(Database Systems (Database Systems ArchitectureArchitecture))4121203A ระบบฐานขอมล
2
วตถประสงคทราบถงแนวคดและความสำาคญของ
สถาปตยกรรมระบบฐานขอมลบอกวตถประสงคของสถาปตยกรรม 3 ระดบของ
ANSI-SPARC ไดอธบายเกยวกบสถาปตยกรรม 3 ระดบของ
ANSI-SPARC ไดอยางถกตองเขาใจถงสคมา (Schema) การแปลงรป
(Mapping) และอนสแตนซ (Instance)
รหสผใช ชอ - นามสกล เพศ ทอย เบอรตดตอ วนเกดB00514 สวาร ใจสบาย ญ 34 คลองสาน 025478556 12/01/1977A00128 กนก ยนด ช 126 บางพลด 026441255 09/07/1986A01245 เพญศร สขสม ญ 49/2 จตจกร 014544255 05/11/1971C13244 บญม ยนด ช 66 ลาดพราว 066458554 26/04/1980. . . . . .. . . . . .. . . . .
ฟลด เรคอรด
ไฟล
ไบต
โครงสรางแฟมขอมล (ทบทวน)
ศพทเทคนคทควรทราบเกยวกบฐานขอมล
ศพทเทคนค ศพททวไปเอนทต (Entity),รเลชน (Relation) ตาราง (Table)ทเพล (Tuple) แถว (Row) หรอ Recordแอททรบวต (Attribute) คอลมน (Column), Fieldคารดนาลต (Cardinality)จำานวนแถว (Number of
Rows)คยหลก (Primary Key) คาเอกลกษณ (Unique
Identifier)
เอนทต (Entity)ชอของวตถหรอสงใดสงหนง ทจำาเปนในการจดเกบ
ขอมล- คน เชน นกศกษา , ลกคา , อาจารย- สงของ เชน หนงสอ , วดโอ , สนคา
วตถทจดเกบขอมลสามารถบอกความแตกตางไดถกสรางขนโดยชดของแอททรบวต (Attribute)ประกอบดวยแอททรบวตและทเพล (Tuple)
แอททรบวต (Attribute)รายละเอยดของขอมลในเอนทต คณสมบต หรอคณลกษณะของเอนทต หรอความ
สมพนธ
เอนทต (ตาราง)
ทเพล (เรคคอรด)
แอททรบวต (ฟลด)
Key หลก ?
DATABASE
เบอรโทร เบอรปลายทาง เวลาเรมตน เวลาสนสด วนท
ตารางท 1
ตารางท 2เบอรโทร ชอ-นามสกล ทอย เบอร
ตดตอ อเมลตารางท 3
เบอรโทร ปญหา แกไข ผรบผดชอบ วนท เวลา
Database system
DATABASE
แผนกบญช แผนกประชาสมพนธ
DBMSฝายบรหาร
ระบบการจดการฐานขอมลDatabase management
systems : DBMS ซอฟทแวรระบบชนดหนง ทถกสรางขนมาเพอจดการ ขอมลในฐานขอมล เปนตวกลางระหวางผ
ใชกบฐานขอมลสวนประกอบของ DBMS• SQL (Structure Query Language)• โปรแกรมอำานวยความสะดวก (General Utilities)• โปรแกรมชวยสรางโปรแกรมประยกตและรายงาน (Applicaton and Report Generators)• พจนานกรมขอมล (Data Dictionary)
11
ความสามารถเบองตน• สรางตารางขอมล • เพม ปรบปรง เรยกคนขอมล• เกบรายละเอยดเกยวกบขอมลไวใน data dictionary• มระบบเสรมการทำางาน • มระบบสำารองขอมล• สนบสนนเครองมอการทำารายงาน
ระบบการจดการฐานขอมลDatabase management
systems : DBMS
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. ซอฟทแวรลขสทธ
ซอฟทแวรระบบจดการฐานขอมล
13
ฮารดแวร- หนวยนำาขอมลเขา- หนวยนำาขอมลออก- หนวยประมวลผลกลาง- หนวยเกบขอมลสำารอง- อปกรณการสอสาร
ซอฟทแวร- โปรแกรมจดการฐานขอมล
บคลากร- ผใชงาน- ผควบคมระบบ- ผพฒนาโปรแกรม
ขนตอนการดำาเนนงาน- ขนตอนการปฏบตการของผปฏบตงาน
ขอมลฐาน
ขอมล
องคประกอบของระบบฐานขอมล
เพอใหการดงขอมลจากฐานขอมลไดรวดเรวและมประสทธภาพจำาเปนตองออกแบบเทคนคการจดเกบขอมลดวยโครงสรางทซบซอนขน เนองจากผใชงานทวไปไมใชผทฝกฝนมาทางคอมพวเตอร ดงนนจงควรซอนรายละเอยดความซบซอนดงกลาวเพอทำาใหการตดตอใชงานงายและสะดวกขน
ระบบฐานขอมลตองทำาใหผใชงานแตละคนมองเหนขอมลในระดบทตนตองการ กลาวคอ ระบบจดการฐานขอมลจะซอนรายละเอยดเกยวกบการจดการขอมลในระดบกายภาพ (โครงสรางของฐานขอมล)
แนวคดเกยวกบสถาปตยกรรมของระบบฐานขอมล
สถาปตยกรรมของระบบฐานขอมล
สถาปตยกรรมของระบบฐานขอมล (architecture for ad database system) เปรยบเสมอนกรอบซงจะใชเปนประโยชนในการบรรยายถงแนวคดและอธบายถงโครงสรางของระบบฐานขอมลแบบตางๆ
สถาปตยกรรมระบบฐานขอมล หมายถง การอธบายเกยวกบโครงสรางและสวนประกอบหลกทนำามาประกอบรวมกนเปนระบบฐานขอมล
สถาปตยกรรมของระบบฐานขอมล
กำาหนดมาตรฐานโดย ANSI /SPARC(American National Standards Institute/System Planning and Requirements Committee) ในป 1975
สถาปตยกรรมของฐานขอมลม 3 ระดบ ประกอบดวย ระดบภายนอก (External level) ระดบความคด (Concept level) ระดบภายใน (Internal level)
PhysicalStorage of data
สถาปตยกรรมของระบบฐานขอมล
... ระดบภายนอก
ระดบแนวคด
ระดบภายใน
สคมา (Schema)(Global logical
view)
วว 2วว 1 วว nExternal level
Conceptual level
Internal level
Schema และ Instantเคารางฐานขอมล (Database Schema) คอ นยามหรอคำา
บรรยาย (Description) ของฐานขอมล ซงประกอบดวย นยามโครงสรางฐานขอมล และขอบงคบตางๆทฐานขอมลควรยดไว
แผนภาพเคาราง (Schema Diagram) คอแผนภาพแสดงเคารางฐานขอมล (Database schema)
Schema construct คอสวนประกอบของเคาราง (Schema) หรอวตถในเคาราง เชน STUDENT,COURSE เปนตน
Database Instant คอขอมลจรงทเกบไวในฐานขอมล ณ เวลาใดเวลาหนง หรออาจเรยกวา สถานะฐานขอมล (Database State) หรอ Occurrence
แผนภาพเคาราง (Schema diagram)
แผนภาพเคาราง (Schema diagram)
เคารางฐานขอมล (Database Schema)
และสถานะฐานขอมล (Database State)สถานะฐานขอมล (Database State) หมายถง เนอหาของฐานขอมลในชวง
เวลาใดเวลาหนงสถานะฐานขอมลเรมตน (Initial Database State) คอ สถานะฐานขอมลเมอ
ถกโหลดValid State หมายถงสถานะทเปนไปตามโครงสรางและขอบงคบของฐานขอมลลกษณะพเศษ (Distinction)
- เคารางฐานขอมล (Database Schema) นนมการเปลยนแปลงนอยครงมาก ในขณะทสถานะขอมล (Database State) จะเปลยนแปลงไปทกครงทมการปรบปรงแกไขฐานขอมล- เคาราง (Schema) อาจถกเรยกวา Intention ในขณะท สถานะ (State)
ถกเรยกวา Extension
PhysicalStorage of data
สถาปตยกรรมของระบบฐานขอมล
... ระดบภายนอก
ระดบแนวคด
ระดบภายใน
สคมา (Schema)(Global logical
view)
วว 2วว 1 วว nExternal level
Conceptual level
Internal level
1.ระดบภายนอกหรอวว (External Level)
ระดบภายนอกจะเกยวของกบผใชงานมากทสด ซงจะเปนสวนทแสดงขอมลสำาหรบผใชงานในแตละรายไป จะไมสามารถเขาไปดโครงสรางของฐานขอมลได โดยผใชแตละคนสามารถเลอกขอมลทตนเองตองการและสนใจ เชน นกศกษาเขาไปใชงานเวบไซต ของกองบรการการศกษาเพอดผลการเรยน เปนตน• หนาตางหรอวว (view) ทผใชภายนอกมสทธ
เขาไปใชได โดยแตละคนจะมมมมองตางกน• โปรแกรมจะมองเหนโครงสรางขอมลเพยงบาง
สวนเทานน• สคมาระดบภายนอก (External Schema)
เปนการแสดงขอมลทถกดงมาจากฐานขอมลทอยในระดบแนวคดเฉพาะสวนทตองการ
1. ระดบภายนอกหรอวว(External Level, View)
เปนระดบของขอมลทเปนภาพทผใชงานมองเหน (View) เคารางของขอมลในระดบนเกดจากภาพและความตองการของผใชงานรหสพนกงาน ชอ วนทจาง เงนเดอน ตำาแหนง รหสแผนก MGRNO
รหสแผนก ชอแผนก ทตง
รหสโครงการ ชอโครงการ วนทเรม วนทจบ งบประมาณ
รหสโครงการ รหสพนกงาน จำานวนชวโมง
พนกงาน (User View 1)
แผนก(User View2)
โครงการ (User View3)
ทมงาน(User View4)
ระดบภายนอก (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
2.ระดบแนวคด (Conceptual Level)
ระดบแนวคดอาจเรยกอกอยางวา โครงสรางขอมลระดบลอจคอล (logical) จะกลาวถงการออกแบบโครงสรางของขอมล เชน ขอมลทจดเกบจะประกอบดวยเอนทตใดบาง แตละเอนทตประกอบดวยแอทรบวทใด โครงสรางระดบนจะมงเนนความสมพนธ (relationship) หรอเรยกวาแบบจำาลองขอมล (data model) เปนระดบทจะอธบายถงวา ขอมลอะไรทจะจดเกบลงในฐานขอมลและมความสมพนธกนอยางไร ใครทสามารถเขาไปใชงานไดบาง ใชงานไดในระดบไหน โดยพจารณาจากผใชภายนอก (External Level) วาตองการขอมลใดบาง
2. ระดบแนวคด (Conceptual Level)
ประกอบดวยเคารางทอธบายถง ฐานขอมลม Entity (Table)ใดบาง โครงสรางของขอมล ความสมพนธของขอมล กฎเกณฑและขอจำากดตางๆ
โดยจะผานการวเคราะหจาก นกวเคราะหและออกแบบระบบ และผบรหารฐานขอมล (DBA)
ระดบแนวคด (Conceptual Level)
Employee
Dep2 Dep3Dep1
Student1B4555555SomchaiSaetung7146 Suranivet 7
StudentStudentIDFirstNameLastNameAddress
Order_Detail
OrderID
ProID
ProCount
Discount
Product
ProID
ProName
UnitPrice
ProDes
3. ระดบภายใน (Internal or Physical Level) ระดบภายในเปนระดบทเกยวของกบการ
ออกแบบการจดเกบขอมลของฐานขอมลในหนวยความจำาวาจดเกบโดยวธใด ผใชระดบภายนอก (External Level) จงจะสามารถใชงานฐานขอมลไดอยางรวดเรว เปนระดบทเกยวของกบผพฒนาโปรแกรมหรอผพฒนาระบบในระดบกายภาพ
ผออกแบบตองคำานงถงการใชอปกรณและเทคโนโลยในการเกบขอมล การเขาถง วธการบำารงรกษา
การแบงโครงสรางฐานขอมลออกเปน 3 ระดบเปนการแยกมมมองเฉพาะของผใชงานออกจากวธการจดเกบขอมลจรงบนสอบนทกขอมล มเหตผลสนบสนนการแบงแยกดงกลาวหลายประการดงน
1. ผใชงานแตละคนสามารถดงขอมลเดยวกนจากฐานขอมลนำามาจดโครงสรางทเหมาะสมกบการใชงาน ของตนเอง การปรบเปลยนโครงสรางควรทำาไดอยางอสระโดยไมสงผลกระทบกบผใชงานคนอน ๆ
2. ผใชงานไมจำาเปนตองไปยงเกยวหรอรบรรายละเอยดของการจดการขอมลบนสอบนทกขอมลวาใชเทคนคอะไร
สถาปตยกรรมของระบบฐานขอมล
3. ผบรหารจดการฐานขอมล (DBA) ตองสามารถปรบเปลยนโครงสรางหรอนยามของฐานขอมลโดยไมสงผลกระทบตอมมมองเฉพาะของผใชงานทวไป และผใชงานทก ๆ ระดบ
4. โครงสรางการจดเกบขอมลภายในของฐานขอมลจะไมถกกระทบจากการเปลยนแหลงเกบขอมล ตวอยางเชน ยายหรอแบงขอมลไปเกบบนอปกรณบนทกขอมลใหม
สถาปตยกรรมของระบบฐานขอมล
สถาปตยกรรมฐานขอมล
เคารางแนวคด
เคารางภายใน
ฐานขอมล
ววของผใช 1 ววของผใช 2External Level
Conceptual Level
Internal Level
ประโยชนของสถาปตยกรรม 3ระดบ
มมมองขอมลของผใชงาน• ทำาใหผใชงานไมตองสนใจวาขอมลจะถกเกบอยางไรในดสค
เมอตองการขอมลกสามารถอางถงตารางและเขตขอมลนน ๆ ไดโดยตรง ซง DBMS จะทำาหนาทดวาขอมลทตองการนนเกบอย ณ ตำาแหนงใด (track ใด cylinder ใด ในดสค และ
ทำาการดงขอมลนนจากดสกมาใหแกผใช)ความเปนอสระกนของขอมล
• การเปลยนแปลงขอมลในระดบแนวคดไมมผลกระทบกบโปรแกรมประยกตทผใชเขยนขนในระดบภายนอก
• การเปลยนแปลงวธการเกบขอมลในสอ ไมมผลกระทบกบการเกบขอมลระดบแนวคด
กลาวโดยสรประดบภายนอก (external level) เปนระดบใกลกบผใชงานมากทสด กลาวคอเปนการมองเหนขอมลในแงมมเฉพาะของผใชงาน (User View)
ระดบภายใน (internal level) เปนระดบใกลกบการจดเกบขอมลทางกายภาพมากทสด กลาวคอเปนการมองโครงสรางของขอมลสำาหรบระบบจดการฐานขอมล (DBMS) และระบบปฏบตการคอมพวเตอร (Operating System) โครงสรางระดบภายในเปนโครงสรางของขอมลทจดเกบบนสอบนทกขอมลรวมไปถงการจดการแฟมขอมล
ระดบแนวคด (Conceptual level) เปนระดบคนกลางระหวางระดบทงสองโดยมฟงกชนปรบเปลยน (mapping) และมความเปนอสระของขอมล (data independence) ระหวางระดบภายนอกและระดบภายใน
สถาปตยกรรมของระบบฐานขอมล
Mapping•ในสถาปตยกรรม ANSI/SPARC มมมองทมตอขอมลในสถาปตยกรรมในระดบทสงกวาสามารถทจะถายทอด
มมมองนนไปยงสถาปตยกรรมในระดบทตำากวาได เรยกวา การทำา “
Mapping” แบงเปน 2 ลกษณะคอ
1. Conceptual/Internal Mapping
2. External/Conceptual Mapping
Mapping
Mapping 1. Conceptual/Internal
Mapping เปนการถายทอดมมมองทมตอขอมลจากระดบ Conceptual ไปยง
ระดบ Internal เพอนำาโครงสรางของขอมลตางๆ ในระดบ
Conceptual มากำาหนดโครงสรางของ Record และ Field ทจะนำาไปใชจดเกบขอมล เชนขอมลในระดบ Conceptual ถกแสดงอยางไรใน
ระดบ Internal
Mapping2. External/Conceptual
Mapping เปนการถายทอดมมมองทมตอขอมล
จากระดบ Externalไปยงระดบ Conceptual เพอกำาหนดโครงสรางของ Record และ Field ใหสามารถครอบคลมความตองการหรอมมมองตางๆ ของผใช เชน การแปลงขอมลระดบภายนอกเปนตารางหรอแอททรบวตตางๆ
ความเปนอสระของขอมล (Data Independence)
เนองจากในระบบแฟมขอมล เมอมการเปลยนแปลงโครงสรางทางกายภาพของแฟม
ขอมลใด จะตองมการเปลยนแปลงโปรแกรมตางๆ ทเรยกใชขอมลในแฟมขอมลนนดวย
เชน เปลยนแฟมขอมลพนกงาน จากเดมเรยงลำาดบตามชอมาเปนตามรหสพนกงานแทน ทำาให
ตองมการแกไขโปรแกรมตามโครงสรางทเปลยนแปลงไป ซงการทขอมลและโปรแกรมไมเปนอสระตอกนน เรยกวา “Data Dependence”
ความเปนอสระของขอมล (Data Independence)
• สถาปตยกรรมของระบบฐานขอมลทจดแบงออกเปน 3 ระดบ สามารถทจะใชอธบายถงความเปนอสระของขอมล ซงเปนจดเดนของระบบฐานขอมล คอเมอมการเปลยนแปลงโครงสรางทระดบใดกตาม จะไมมผลกระทบ
ทำาใหระดบทอยเหนอกวาตองทำาการเปลยนแปลงโครงสรางตามไปดวย แบงออก
เปน 2 ประเภทคอ 1. ความเปนอสระของขอมลในเชง
ตรรกะ(Logical Data Independence)2. ความเปนอสระของขอมลในเชง กายภาพ
(Physical Data Independence)
ความเปนอสระของขอมล (Data Independence)
ความเปนอสระของขอมลในเชงตรรกะ (Logical Data Independence)เปนความอสระของขอมลในระดบแนวคดกบระดบภายนอก นนคอถามการเปลยนแปลงขอมลในระดบแนวคดจะไมมผลตอระดบภายนอก
ความเปนอสระของขอมลในเชงกายภาพ (Physical Data Independence) เปนความอสระของขอมลในระดบภายในกบระดบแนวคด นนคอถามปรบปรงเคารางในระดบภายในโดยจะกระทบตอระดบภายแนวคดและระดบภายนอก
ความเปนอสระของขอมล
ภาษา COBOL
ขอมลระดบภายนอก
ขอมลระดบหลกการ
ขอมลระดบภายนอก
ภาษา SQLภาษา PASCAL
โครงสรางระดบภายนอก
โครงสรางระดบหลกการ
โครงสรางระดบภายใน
ผใช 1 ผใช 2 ผใช 3
DBMS
42
สรปสถาปตยกรรมของระบบฐานขอมล
(architecture for ad database system) เปรยบเสมอนกรอบซงจะใชเปนประโยชนในการบรรยายถงแนวคดและอธบายถงโครงสรางของระบบฐานขอมลแบบตางๆ
โครงสรางฐานขอมล 3 ระดบ คอ ระดบภายนอก ระดบภายใน และระดบแนวคดซงเปนรปแบบและโครงสรางทใชกบระบบฐานขอมลโดยทวไป
43
สรปความเปนอสระของขอมลเชงตรรกะ (logical data
independence) ในความหมายทใชกบระบบฐานขอมลจะหมายถงมมมองของผใชตอขอมลโดยเมอมการเปลยนแปลงแกไขโครงสรางขอมลในระดบแนวคด จะไมมผลกระทบตอโครงสรางขอมลในระดบภายนอกทผใชใชงานอย
ความเปนอสระของขอมลเชงกายภาพ (physical data independence) หมายถง เมอมการเปลยนแปลงแกไขโครงสรางขอมลในระดบภายใน จะไมมผลกระทบตอโครงสรางขอมลในระดบแนวคด หรอระดบภายนอก
44
คำาถามทายบทท 21. สถาปตยกรรมระบบฐานขอมล หมายถงอะไร2. สถาปตยกรรม 3 ระดบ ประกอบดวยระดบใด
บาง จงอธบาย3. จงสรปความหมายของคำาวา สกมา การแปลง
รป และอนสแตนซ4. การแปลงรปมกประเภท อะไรบาง จงอธบาย5. การอสระของขอมลมกชนด อะไรบาง จง
อธบาย