สถาปัตยกรรม และแบบฐานข้อมูล

36
อ.ออออออ อออออ อออออ Introduction to Database สสสสสสสสสสสสสสสสสสสส สสส สสสสสสสสสสสสสสส Database Architecture and Data Model Introduction to Database

Upload: -

Post on 28-Jul-2015

237 views

Category:

Automotive


0 download

TRANSCRIPT

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

สถาปั�ตยกรรมฐานข้�อม�ล และ แบบจำ�าลองข้�อม�ล

Database Architecture and Data Model

Introduction to Database

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

“สถาปั�ตยกรรม” จะเป็�นการศึ�กษาถึ�งโครงสุร�างองค�ป็ระกอบหลั�กของระบบ แลัะหน�าที่!"ในแต$ลัะองค�ป็ระกอบ รวมัที่�&งการสุ'"อสุารหร'อการต(ดต$อก�บสุ$วนอ'"น ๆ ที่!"เก!"ยวข�อง ในระบบฐานข�อมั-ลั โป็รแกรมัป็ระย�กต�ไมั$ได�ข�&นอย-$ก�บโครงสุร�างข�อมั-ลัที่!"มั!การเป็ลั!"ยนแป็ลังเน'"องจากการจ�ดโครงสุร�างของระบบฐานข�อมั-ลั สุถึาบ�นANSI-SPARC ( American National Standards Institute : ANSI and Standards Planning and Requirements Committee : SPARC) มั!การแบ$งระด�บของข�อมั-ลัเป็�น 3 ระด�บ เร!ยกว$า สุถึาป็/ตยกรรมัฐานข�อมั-ลั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

User1 User2 User3

InternalSchema

ConceptualSchema

View nView 2View 1

Database

Externallevel

Conceptuallevel

Internallevel

Physical dataorganization

ร�ปั สถาปั�ตยกรรมฐานข้�อม�ล 3 ระดั�บ (The ANSI-SPARC three-level architecture

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

ระดั�บภายใน ( Internal Level)เป็�นระด�บของการจ�ดเก0บฐานข�อมั-ลัในหน$วยเก0บข�อมั-ลัสุ1ารองจร(ง ๆ ว$ามั!โครงสุร�างข�อมั-ลัจ�ดเก0บอย$างไร (how) ในฐานข�อมั-ลั โดยโครงสุร�างข�อมั-ลัในแต$ลัะแบบจะมั!ผลัต$อป็ระสุ(ที่ธิ(ภาพของความัเร0วในการเข�าถึ�ง (access) ด�วย

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

ระดั�บแนวคิ�ดั (Conceptual Level)เป็�นโครงสุร�างหลั�กของระบบโดยรวมั เป็�นระด�บของการออกแบบฐานข�อมั-ลั ว$าจะเก0บข�อมั-ลัอะไร (what) แลัะมั�$งเน�นความัสุ�มัพ�นธิ� (relationship) ระหว$างข�อมั-ลั ผลัลั�พธิ�ที่!"ได�จะที่1าให�เก(ดสุ("งที่!"เร!ยกว$า Schema (มั�มัมัองระบบ ) ในระด�บน!&จะเร!ยกว$า Conceptual Schema อธิ(บายว$า ฐานข�อมั-ลัที่!"สุร�างป็ระกอบด�วยEntityอะไรบ�าง แต$ลัะEntity ป็ระกอบด�วยเขตข�อมั-ลั(Attribute)ใดบ�าง แลัะความัสุ�มัพ�นธิ�(Relationship)แต$ลัะEntityเป็�นอย$างไรการกระที่1าหร'อการป็ฏิ(บ�ต(การใด ๆ ในโป็รแกรมัจากผ-�ใช้�งานจะป็ฏิ(บ�ต(บนโครงสุร�างข�อมั-ลัในระด�บน!&เที่$าน�&น

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

Relationship : การก1าหนดความัสุ�มัพ�นธิ�ระหว$างตาราง แบ$งออกเป็�น1. คิวามส�มพั�นธ์"แบบหน$%งต&อหน$%ง (one-to-one relationship) : เป็�นความัสุ�มัพ�นธิ�ระหว$างentityหน�"งไป็มั!ความัสุ�มัพ�นธิ�ก�บอ!กentityหน�"งเพ!ยงหน�"งรายการเที่$าน�&น เช้$น พน�กงาน(Staff) หน�"งคนจะด-แลัหน�"งสุาขา ในขณะที่!"สุาขาจะมั!ห�วหน�าพน�กงานด-แลัได�เพ!ยงหน�"งคนStaff Manages Branch

1 1

ร-ป็ความัสุ�มัพ�นธิ�แบบหน�"งต$อหน�"ง

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

2. คิวามส�มพั�นธ์"แบบหน$%งต&อกล'&ม (one-to-many relationship) : เป็�นความัสุ�มัพ�นธิ�ระหว$าง entity หน�"งไป็มั!ความัสุ�มัพ�นธิ�ก�บอ!ก entity หน�"งมัากกว$าหน�"งรายการ เช้$น สุาขาหน�"งจะมั!พน�กงานอย-$หลัายคน โดยที่!"พน�กงานหลัาย ๆ คนจะสุ�งก�ดอย-$หน�"งสุาขา

Branch Is Allocated Staff1 M

ร-ป็ความัสุ�มัพ�นธิ�แบบหน�"งต$อกลั�$มั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

3. คิวามส�มพั�นธ์"แบบกล'&มต&อกล'&ม(many-to-many relationship) : เป็�นความัสุ�มัพ�นธิ�แบบหลัายรายการระหว$างentityที่�&งสุอง เช้$น บ�านเช้$าหลัาย ๆ หลั�งสุามัารถึป็ระกาศึโฆษณาลังในหน�งสุ'อพ(มัพ�หลัาย ๆ ฉบ�บได� ในขณะที่!"หน�งสุ'อพ(มัพ�หลัายฉบ�บก0สุามัารถึลังโฆษณาบ�านเช้$าได�หลัายหลั�งเช้$นก�นNewspaper Is Allocated

Property_for_Rent

M N

ร-ป็ความัสุ�มัพ�นธิ�แบบกลั�$มัต$อกลั�$มั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

ระดั�บภายนอก (External Level)เป็�นระด�บการมัองหร'อว(ว(View)ของข�อมั-ลัภายในฐานข�อมั-ลัสุ1าหร�บผ-�ใช้�งานแต$ลัะคน เป็�นระด�บที่!"มั!การน1าข�อมั-ลัจากฐานข�อมั-ลัไป็ใช้�งาน โดยผ-�ใช้�แต$ลัะคนสุามัารถึเลั'อกอ$านข�อมั-ลัเฉพาะที่!"ตนสุนใจหร'อต�องการใช้�เที่$าน�&น ว(วของข�อมั-ลัจะถึ-กด�งมัาจาก Conceptual Schema แลัะสุ("งที่!"ใช้�อธิ(บายว(วข�อมั-ลัที่!"ถึ-กด�งมัาจากฐานข�อมั-ลัที่!"อย-$ในระด�บ Conceptual น!&จะเร!ยกว$า External Schema หร'อ Subschema(มั�มัมัองผ-�ใช้�งาน ) ซึ่�"งสุามัารถึมั!ได�หลัาย Subschema ตามัจ1านวนผ-�ใช้�

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

ปัระโยชน"ข้องสถาปั�ตยกรรม 3 ระดั�บ1. ม'มมองข้�อม�ลข้องผู้��ใช�งาน (View of each

user)สุถึาป็/ตยกรรมัฐานข�อมั-ลัในแต$ลัะระด�บจะมั! DBMS ที่1าหน�าที่!"แป็ลั(Map) ระด�บข�อมั-ลัจากระด�บหน�"งไป็อ!กระด�บหน�"ง ซึ่�"ง DBMS จะต�องมั!การตรวจสุอบ Schema เพ'"อให�เก(ดความัถึ-กต�องตรงก�น การMapหร'อการแป็ลัระด�บข�อมั-ลัจะที่1าให�เก(ดป็ระโยช้น�ด�านต$าง ๆ ด�งต$อไป็น!&1. ระดั�บคิวามคิ�ดัและระดั�บภายนอก : ที่1าให�ผ-�ใช้�งานฐานข�อมั-ลัสุามัารถึมั!มั�มัมัองข�อมั-ลัที่!"แตกต$างก�น

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

2. ระดั�บแนวคิ�ดัและระดั�บภายใน : ที่1าให�ผ-�ใช้�งานฐานข�อมั-ลัไมั$จ1าเป็�นต�องที่ราบว$าข�อมั-ลัที่!"ต�องการใช้�น�&นถึ-กจ�ดเก0บอย-$อย$างไรในด(สุก� จะเป็�นหน�าที่!"ของ DBMS ที่!"จะด-ว$าข�อมั-ลัที่!"ผ-�ใช้�ต�องการน�&นถึ-กจ�ดเก0บอย-$ ณ ต1าแหน$งใดในด(สุก� แลั�วที่1าการด�งข�อมั-ลัน�&นจากด(สุก�มัาให�แก�ผ-�ใช้�

2. คิวามเปั,นอ�สระข้องข้�อม�ล (Data Independence)ค'อ ผ-�ใช้�ไมั$จ1าเป็�นต�องแก�ไขโป็รแกรมัที่�กคร�&งเมั'"อมั!การเป็ลั!"ยนแป็ลังโครงสุร�างหร'อข�อมั-ลัในระด�บแนวค(ดแลัะระด�บภายใน โดยจะป็ลั$อยให� DBMS เป็�นต�วจ�ดการเช้'"อมัข�อมั-ลัระด�บภายนอกก�บระด�บแนวค(ด แลัะระด�บแนวค(ดก�บระด�บภายในเอง ความัอ(สุระของข�อมั-ลัจะมั!อย-$ 2 ช้น(ด ด�งน!&

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

1.คิวามอ�สระข้องข้�อม�ลทางลอจำ�คิ�ล (Logical Data Independence) ค'อ การเป็ลั!"ยนแป็ลัง ค'อ การเป็ลั!"ยนแป็ลังในโครงร$างแนวค(ด เช้$น การเพ("มั การเป็ลั!"ยนแป็ลัง Attribute หร'อ ความัสุ�มัพ�นธิ�ใด ๆ จะไมั$สุ$งผลักระที่บต$อโครงร$างภายนอกที่!"ผ-�ใช้�ใช้�งานอย-$2.คิวามอ�สระข้องข้�อม�ลทางฟิ/ส�คิอล(Physical Data Independence) ค'อ ผลัของการเป็ลั!"ยนแป็ลังโครงสุร�างไฟลั�น�&นจะไมั$สุ$งผลักระที่บใด ๆ ต$อ โครงร$างแนวค(ดแลัะระด�บภายใน เช้$น เป็ลั!"ยนโครงสุร�างไฟลั�แบบเร!ยงลั1าด�บ เป็�นแบบด�ช้น! , การเป็ลั!"ยนแป็ลังโครงสุร�างการจ�ดเก0บข�อมั-ลัด�วยการใช้�อ�ป็กรณ�จ�ดเก0บข�อมั-ลัที่!"แตกต$างไป็จากเด(มั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

InternalSchema

ConceptualSchema

ExternalSchema

ExternalSchema

ExternalSchema

External/Conceptualmapping

Logical data Independence

Conceptual/Internalmapping

Physical data Independence

ร�ปั แสดังคิวามอ�สระในข้�อม�ลและสถาปั�ตยกรรม 3 ระดั�บข้อง ANSI-SPARC

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

ว�ตถ'ปัระสงคิ"ข้องการแบ&งโคิรงสร�างฐานข้�อม�ล 3 ระดั�บ1. ผ-�ใช้�งานไมั$จ1าเป็�นต�องสุนใจในรายลัะเอ!ยดเก!"ยวก�บโครงสุร�างการจ�ดเก0บข�อมั-ลั ไมั$ว$าจะจ�ดเก0บแบบเร!ยงลั1าด�บ, แบบด�ช้น! จะป็ลั$อยให�เป็�นหน�าที่!"ของ DBMS เป็�นต�วจ�ดการ2. ผ-�ใช้�งานแต$ลัะคนสุามัารถึเข�าถึ�งข�อมั-ลัช้�ดเด!ยวก�น แลัะแสุดงข�อมั-ลัเพ!ยงบางสุ$วนเที่$าที่!"จ1าเป็�น โดยไมั$ต�องแสุดงข�อมั-ลัให�ด-ที่� &งหมัด3. ความัอ(สุระของข�อมั-ลั ค'อ ไมั$ต�องที่1าการแก�ไขโป็รแกรมัที่�กคร�&งเมั'"อมั!การเป็ลั!"ยนแป็ลังโครงสุร�างของข�อมั-ลั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

ค'อ การน1าแนวความัค(ดต$าง ๆ มัาน1าเสุนอให�เก(ดเป็�นร-ป็แบบจ1าลัองเพ'"อใช้�สุ1าหร�บการสุ'"อสุารระหว$างผ-�ออกแบบฐานข�อมัลัก�บผ-�ใช้�ให�เก(ดความัเข�าใจตรงก�น

ส&วนปัระกอบข้องแบบจำ�าลองข้�อม�ล แบ$งออกเป็�น 3 สุ$วน ค'อ1. ส&วนโคิรงสร�าง (Structural) เป็�นสุ$วนที่!"ป็ระกอบด�วยกลั�$มัสุ�ญลั�กษณ�รวมัที่�&งกฎระเบ!ยบที่!"เห0นพ�องต�องก�นเพ'"อใช้�ในการสุร�างฐานข�อมั-ลั เช้$น การจ�ดเก0บข�อมั-ลัในร-ป็แบบของตาราง ซึ่�"งป็ระกอบด�วยแถึวแลัะคอลั�มัน�

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

2. ส&วนปัร�บปัร'ง (Manipulative) เป็�นสุ$วนที่!"ก1าหนดช้น(ดของการป็ฏิ(บ�ต(การต$าง ๆ ก�บข�อมั-ลั ป็ระกอบด�วย การUpdate หร'อการเร!ยกด-ข�อมั-ลัจากฐานข�อมั-ลั การเป็ลั!"ยนโครงสุร�างฐานข�อมั-ลั ซึ่�"งน(ยมัใช้�ช้�ดค1าสุ�"ง SQL ในการจ�ดการก�บข�อมั-ลั3. ส&วนกฎคิวามคิงสภาพั ( a set of integrity rules) เป็�นกฎเกณฑ์�ที่!"ใช้�ในการควบค�มัความัถึ-กต�องของข�อมั-ลั เพ'"อให�เก(ดความัมั�"นใจในความัถึ-กต�องแลัะความัแน$นอนของข�อมั-ลัที่!"บ�นที่�กลังในฐานข�อมั-ลั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

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

จากแบบจ1าลัองสุถึาป็/ตยกรรมัของ ANSI-SPARC สุามัารถึก1าหนดความัสุ�มัพ�นธิ�ของแบบจ1าลัองข�อมั-ลัที่�&ง 3 ได�ด�งน!&- แบบจำ�าลองข้�อม�ลภายนอก (External Data Model) จะน1าเสุนอการว(วข�อมั-ลัของผ-�ใช้�งานต$าง ๆ- แบบจำ�าลองข้�อม�ลแนวคิ�ดั (Conceptual Data Model) จะน1าเสุนอข�อมั-ลัที่างลัอจ(ค�ลั ที่!"แสุดงถึ�งความัเป็�นอ(สุระของข�อมั-ลั ก�บ DBMS- แบบจำ�าลองข้�อม�ลภายใน (Intermal Data Model) จะน1าโครงร$างแนวค(ดเพ'"อให� DBMS สุามัารถึจ�ดเก0บแลัะการเข�าถึ�งข�อมั-ลัที่!"แที่�จร(งได�

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

การต�ดสุ(นใจเลั'อกใช้�แบบจ1าลัองฐานข�อมั-ลัช้น(ดใดเป็�นสุ("งสุ1าค�ญต$อการออกแบบฐานข�อมั-ลั แบบจ1าลัองฐานข�อมั-ลัแบ$งออก ด�งน!&

แบบจำ�าลองข้�อม�ลล�าดั�บช�1น (Hierarchical database model) เป็�นสุถึาป็/ตยกรรมัฐานข�อมั-ลัที่!"เก$าแก$ที่!"สุ�ด ไฟลั�จะถึ-กจ�ดไว�เป็�นโครงสุร�างแบบบนลังลั$าง (top-down) มั!ลั�กษณะคลั�ายต�นไมั� (tree structure) ระด�บสุ-งสุ�ดจะเร!ยกว$า root ระด�บลั$างสุ�ดจะเร!ยกว$า leaves ไฟลั�ต$าง ๆ จะมั!เพ!ยงพ$อเด!ยว (One Parent) เที่$าน�&น แลัะแตกสุาขาออกเป็�นหลัาย ๆ ไฟลั� เร!ยกว$า ไฟลั�ลั-ก (Children files) ความัถึ-กต�องในข�อมั-ลัมั!ความัคงสุภาพ ป็/จจ�บ�นไมั$น(ยมัใช้�ก�นแลั�ว

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

Hierarchical database Model

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

ข้�อดั2ข้องแบบจำ�าลองฐานข้�อม�ลล�าดั�บช�1น1. มั!โครงสุร�างที่!"เข�าใจง$าย ซึ่�"งเป็�นลั�กษณะต�นไมั� (tree)2. เหมัาะก�บข�อมั-ลัที่!"มั!ความัสุ�มัพ�นธิ�แบบ one-to-many3. ความัสุามัารถึในการควบค�มัความัถึ-กต�องในข�อมั-ลั4. เหมัาะก�บข�อมั-ลัที่!"มั!การเร!ยงลั1าด�บแบบต$อเน'"อง

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

ข้�อเส2ยข้องแบบจำ�าลองฐานข้�อม�ลล�าดั�บช�1น1. ไมั$สุามัารถึรองร�บข�อมั-ลัที่!"มั!ความัสุ�มัพ�นธิ�ในลั�กษณะของ many-to-many 2. มั!ความัย'ดหย�$นน�อย ป็ร�บเป็ลั!"ยนโครงสุร�างมั!ความัย�$งยาก3. การค�นข�อมั-ลัซึ่�"งอย-$ระด�บลั$าง ๆ จะต�องค�นหาที่�&งแฟ@มั4. ยากต$อการพ�ฒนาโป็รแกรมั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

แบบจำ�าลองข้�อม�ลเคิร3อข้&าย (Network database model) จะใช้�พอยน�เตอร� (pointer) เป็�นต�วโยงความัสุ�มัพ�นธิ�ระหว$างเรคคอร�ดในไฟลั�ต$าง ๆ สุน�บสุน�นความัสุ�มัพ�นธิ�ที่�&งแบบ one-to-many แลัะ many-to-many

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

Network database Model

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

ข้�อดั2ข้องแบบจำ�าลองฐานข้�อม�ลเคิร3อข้&าย1. สุน�บสุน�นความัสุ�มัพ�นธิ�แบบ many-to-many2. ความัซึ่1&าซึ่�อนในข�อมั-ลัเก(ดข�&นน�อยกว$าแบบลั1าด�บช้�&น3. สุามัารถึเช้'"อมัโยงข�อมั-ลัแบบไป็-กลั�บได�4. มั!ความัย'ดหย�$นในด�านของการค�นหาข�อมั-ลัด!กว$า โดยใช้�พอยน�เตอร�ในการเข�าถึ�งข�อมั-ลัได�ที่�นที่!

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

ข้�อเส2ยข้องแบบจำ�าลองฐานข้�อม�ลเคิร3อข้&าย1. ป็@องก�นความัป็ลัอดภ�ยของข�อมั-ลัมั!น�อย 2. สุ(&นเป็ลั'องเน'&อที่!"หน$วยความัจ1าในการเก0บพอยน�เตอร�3. การเป็ลั!"ยนแป็ลังในโครงสุร�างย�งมั!ความัย�$งยากอย-$

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

แบบจำ�าลองฐานข้�อม�ลเช�งส�มพั�นธ์" (Relational database model) เป็�นแบบจ1าลัองที่!"มั!ความัแพร$มัากที่!"สุ�ดในป็/จจ�บ�น เพราะน1าเสุนอมั�มัมัองของข�อมั-ลัในลั�กษณะตารางที่1าให�เข�าใจง$าย ภายในตารางป็ระกอบด�วยแถึว (row) แลัะคอลั�มัน� (column) , สุามัารถึมั!ความัสุ�มัพ�นธิ�ก�บตารางอ'"น ๆ ได� ไมั$ว$าเป็�นแบบ ont-to-many หร'อ แบบ many-to-many แลัะจะใช้�ค!ย�ในการอ�างอ(งถึ�งตารางอ'"น ๆ ที่!"เก!"ยวข�อง ซึ่�"งค!ย�สุามัารถึเป็�นได�ที่� &งค!ย�หลั�ก(primary key) แลัะค!ย�รอง (secondary key) เพ'"อก1าหนดการเร!ยงลั1าด�บด�ช้น!เพ'"อเข�าถึ�งข�อมั-ลัได�โดยเร0ว

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

RELATION1(Primary Key, Attributes…)

RELATION2(Primary Key, Foreign Key, Attributes…)

Relation database model

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

ข้�อดั2ข้องแบบจำ�าลองฐานข้�อม�ลเช�งส�มพั�นธ์"1. มั!ความัเข�าใจแลัะสุ'"อสุารได�เข�าใจง$าย เน'"องจากน1าเสุนอในลั�กษณะตาราง 2มั(ต(2. สุามัารถึเลั'อกว(วข�อมั-ลัตามัเง'"อนไขได�หลัายค!ย�ฟBลัด�3. ความัซึ่�บซึ่�อนในข�อมั-ลัมั!น�อย4. มั!ระบบความัป็ลัอดภ�ยที่!"ด! เพราะผ-�ใช้�งานจะไมั$ที่ราบถึ�งกระบวนการจ�ดเก0บข�อมั-ลัภายในฐานข�อมั-ลั5. โครงสุร�างข�อมั-ลัมั!ความัอ(สุระจากโป็รแกรมั

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

ข้�อเส2ยข้องแบบจำ�าลองฐานข้�อม�ลเช�งส�มพั�นธ์"1. มั!ค$าใช้�จ$ายในระบบค$อนข�างสุ-ง เน'"องจากใช้�ที่ร�พยากรที่!"มั!ความัสุามัารถึสุ-ง2. แก�ไขป็ร�บป็ร�งแฟ@มัข�อมั-ลัมั!ความัย�$งยาก เน'"องจากไมั$ที่ราบถึ�งกระบวนการจ�ดเก0บข�อมั-ลัในฐานข�อมั-ลัที่!"แที่�จร(ง

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

แบบจำ�าลองฐานข้�อม�ลเช�งว�ตถ' (Object-Oriented database model) เป็�นเที่คโนโลัย!ใหมั$ของการจ�ดการฐานข�อมั-ลัเช้(งว�ตถึ� ให�ความัสุนใจด�วยการมัองที่�กสุ("งเป็�นว�ตถึ� โดยแต$ลัะว�ตถึ�จะเป็�นแหลั$งรวมัของข�อมั-ลัแลัะการป็ฏิ(บ�ต(งาน (data and operation) มั!คลัาสุเป็�นต�วก1าหนดค�ณสุมับ�ต(หร'อรายลัะเอ!ยดของว�ตถึ� รวมัที่�&งค�ณสุมับ�ต(การป็กป็Bดความัลั�บของว�ตถึ� (encapsulation)

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

Object Class 1

Attributes

Methods

Object Class 2

Attributes

Methods

Object Class 3

Attributes

Methods

Object-oriented database model

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

ข้�อดั2ข้องแบบจำ�าลองฐานข้�อม�ลเช�งว�ตถ'1. สุามัารถึจ�ดการก�บข�อมั-ลัช้น(ดต$าง ๆ ที่!"มั!ความัสุลั�บซึ่�บซึ่�อนได�เป็�นอย$างด! ไมั$ว$าจะเป็�นภาพกราฟBก ว(ด!โอ แลัะเสุ!ยง 2. สุน�บสุน�นค�ณสุมับ�ต(ของการน1ากลั�บมัาใช้�ใหมั$ (Reusable)

ข้�อเส2ยข้องแบบจำ�าลองฐานข้�อม�ลเช�งว�ตถ'- ต�องใช้�บ�คลัากรที่!"มั!ความัร- �ความัเช้!"ยวช้าญ แลัะป็ระสุบการณ�ในการ

จ�ดการก�บข�อมั-ลัที่!"มั!ความัสุลั�บซึ่�บซึ่�อน

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

แบบจำ�าลองฐานข้�อม�ลม�ลต�ไดัเมนช�น (Multidimensional database model) แบบจ1าลัองช้น(ดน!&ใช้�งานก�บคลั�งข�อมั-ลั (Data Warehouse) โดยน1าเสุนอข�อมั-ลัในลั�กษณะไดเมันช้�น แลัะจ�ดการข�อมั-ลัในอย-$ในร-ป็ของมั(ต( เช้$น การน1าข�อมั-ลัผลั(ตภ�ณฑ์�สุ(นค�า (Product) ก�บข�อมั-ลัพ'&นที่!"การขาย (Market) มัาป็ระมัวลัเป็�นตารางในร-ป็แบบของ multidimensional ที่1าให�ผ-�ใช้�สุามัารถึต�ดขวางหร'อแบ$งข�อมั-ลัออกเป็�นสุ$วน ๆ (Slicing a data cube) มัาว(เคราะห�ใช้�งานได�ตามัต�องการ

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

Sales

SoutheastNew England

Jan Feb

Desk

Table

Chair

Multidimensional database model (multidimensional table view)

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบจำ�าลองฐานข้�อม�ล (Database Models)

Fact TableDimension1 Dimension4

Dimension2

Dimension3

Dimension5

Dimension6

Facts

Dimensions

Multidimensional database model (Star-schema view)

อ. อ�จฉรา สุ�มั�งเกษตร Introduction to Database

แบบฝึ6กห�ดัเร3%องท2% 2 สถาปั�ตยกรรมฐานข้�อม�ลและแบบจำ�าลองข้�อม�ล

1 . สุถึาป็/ตยกรรมั ในเช้(งคอมัพ(วเตอร�ศึาสุตร�หมัายถึ�งอะไร2. ระด�บใดที่!"มั�$งเน�นถึ�งป็ระสุ(ที่ธิ(ภาพของการเข�าถึ�งข�อมั-ลัเป็�นสุ1าค�ญ3. ระด�บใดที่!"มั�$นเน�นถึ�งความัสุะดวกต$อผ-�ใช้�งานโดยการกระที่1าใดๆ ต$อ

ข�อมั-ลัจะไมั$สุ$งผลักระที่บต$อโครงสุร�างข�อมั-ลั4. ระด�บใดมั�$งเน�นถึ�งความัสุ�มัพ�นธิ�ของข�อมั-ลัเป็�นหลั�ก5. ความัอ(สุระในข�อมั-ลัมั!บที่บาที่สุ1าค�ญอย$างไรต$อการจ�ดการฐานข�อมั-ลั ลั6. การแบ$งโครงสุร�างฐานข�อมั-ลัออกเป็�น 3 ระด�บ มั!ไว�เพ'"อว�ตถึ�ป็ระสุงค�

ใดเป็�นสุ1าค�ญ7. จงอธิ(บายความัหมัายของแบบจ1าลัองข�อมั-ลั (Data Model)8. สุ$วนป็ระกอบของแบบจ1าลัองข�อมั-ลัมั!อะไรบ�าง จงอธิ(บาย9. แบบจ1าลัองฐานข�อมั-ลัมั!ก!"ร-ป็แบบ อะไรบ�าง1 0 .สุาเหต�สุ1าค�ญป็ระการใดที่!"แบบจ1าลัองเช้(งสุ�มัพ�นธิ�ในป็/จจ�บ�นมั!การใช้�

งานมัากที่!"สุ�ด