24
Database Systems Architecture

Database architecture

Embed Size (px)

Citation preview

Page 1: Database architecture

Database Systems Architecture

Page 2: Database architecture

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

Page 3: Database architecture

Internal Level Conceptual Level External Level

External Schema

Conceptual Schema

Internal Schema

Database

Page 4: Database architecture

ม Internal Schema ทใชอธบายโครงสรางการจดเกบขอมลเชงกายภาพ

ผใชงานฐานขอมลไมสามารถมองเหนรายละเอยดของโครงสรางในระดบนได

ผเขาถงขอมลในระดบนไดมเพยง ผบรหารขอมล (Database Administrators: DBA)

Page 5: Database architecture

เรยกอกอยางหนงวาโครงรางขอมลแบบตรรกะ(Logical) จดเปนโครงสรางหลกของระบบทเรยกวา แบบจำาลองขอมล

(Data Model) แสดงความสมพนธ (relationship) ระหวางขอมลเปนหลก การนำาเสนอขอมลจะแสดงในรปของตารางหรอรเลชน ผเขาถงโครงสรางขอมลในระดบนไดแก ผบรหารขอมล (data

administrators) หรอโปรแกรมเมอร (programmer) เทานน

Page 6: Database architecture

เปนมมมองของผใชงานฐานขอมล (User)

Page 7: Database architecture

แบบจำาลองขอมล คอ เทคนคทนำามาใชในการจดการโครงสรางและความสมพนธระหวางขอมลในระบบ

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

แบงออกเปน 2 ประเภทคอ แบบจำาลองเพอการนำาไปใช (Implementation Data

Models) แบบจำาลองเชงแนวคด (Conceptual Data Models)

Page 8: Database architecture

แบบจำาลองเพอการนำาไปใช (Implementation Data Models)เปนแบบจำาลองทอธบายถงโครงสรางขอมลของฐานขอมลโดยแบงออกเปน 5 ประเภทไดแก

1. แบบจำาลองฐานขอมลลำาดบชน*2. แบบจำาลองฐานขอมลเครอขาย**3. แบบจำาลองฐานขอมลเชงสมพนธ***4. แบบจำาลองฐานขอมลเชงวตถ5. แบบจำาลองฐานขอมลแบบมลตไดเมนชน

แบบจำาลองเชงแนวคด (Conceptual Data Models)แสดงลกษณะของขอมลโดยนำาเสนอในลกษณะแผนภาพหรอไดอะแกรมซงประกอบไปดวยเอนทตตางๆ และความสมพนธระหวางเอนทตในระบบ ตวอยางแบบจำาลองชนดนเชน แผนภาพ E-R (Entity-Relationship Diagram)

Page 9: Database architecture

แบบจำาลองลำาดบชน เปนการจดเกบขอมลโดยมการเชอมโยงขอมลเปนโครงสรางตนไม ไฟลขอมลจดไวเปนโครงสรางแบบบนลงลาง (Top-Down) ขอมลแตละระดบจะมความสมพนธกนแบบ parent กบ child โดย parent หนงๆ สามารถมไดหลาย child แต child หนงจะมไดเพยง parent เดยวเทานน

Database system

Section 1 Section 2

Stu_A Stu_B Stu_C Stu_D

Page 10: Database architecture

ขอด มรปแบบโครงสรางทเขาใจงาย โครงสรางซบซอนนอย เหมาะกบขอมลทมความสมพนธแบบ

one-to-many ขอมลมความคงสภาพ (Data Integrity)ขอเสย ยากตอการนำาไปพฒนาเปนแอปพลเคชน โครงสรางขอมลมความยดหยนตำา ไมรองรบความสมพนธแบบ many-to-many ขอมลมความซำาซอน

Page 11: Database architecture

แบบจำาลองฐานขอมลเครอขายมเปาหมายเพอลดความซำาซอนของขอมลทเกดขนในแบบจำาลองลำาดบชน ดวยการยอมใหเกดความสมพนธระหวางขอมลในแบบ many-to-many ไดโดยchild สามารถม parent ไดมากกวา 1 parent แบบจำาลองเครอขายมพนฐานมาจากทฤษฎเซต (Set theory)

Registration

Database system Web admin

Stu_A Stu_B Stu_A Stu_C

Page 12: Database architecture

ขอด สนบสนนความสมพนธแบบ many-to-many การเขาถงขอมลมความยดหยนสงลดความซำาซอนบางสวนขอเสย ระบบมความซบซอน ยากตอการนำาไปใช โครงสรางไมมอสระจากขอมล

Page 13: Database architecture

แบบจำาลองฐานขอมลเชงสมพนธเปนการนำาเสนอขอมลในลกษณะตาราง(Table) โดยตารางหนงจะประกอบดวยแถวและคอลมน ขอมลทจดเกบอยในตารางสามารถเชอมโยงความสมพนธกบตารางอนๆ ได ไมวาจะเปนความสมพนธแบบ one-to-many หรอแบบ many-to-many ในปจจบนแบบจำาลองฐานขอมลเชงสมพนธเปนแบบจำาลองทมความแพรหลายและนยมใชกนมากทสดในปจจบน

ขอด มความเปนอสระในโครงสราง ลดความซำาซอนของขอมลไดเปนสวนใหญ ใชชดคำาสง SQL ในการจดการกบฐานขอมล โครงสรางมความยดหยนขอเสย คาใชจายในระบบคอนขางสง

Page 14: Database architecture

พนฐานการสรางแบบจำาลองขอมล (Data models) ในแบบจำาลองเชงสมพนธ ประกอบดวย

เอนทต (Entity) กลมของขอมลทเกยวของกบบคคล สงของ สถานท หรอ

เหตการณ เชน เอนทตพนกงาน แอททรบวต (Attributes)

คณสมบตของเอนทต เชน เอนทตพนกงานประกอบไปดวยแอททรบวต ชอพนกงาน, เพศ, แผนก, ทอย, เบอรโทร เปนตน

ความสมพนธ (Relationship) เปนความสมพนธระหวางเอนทต เชนความสมพนธระหวาง

เอนทตพนกงาน กบเอนทตสนคา

Page 15: Database architecture

รหสพนกงาน ชอ นามสกล แผนก ตำาแหนง

Emp_ID Firstname Lastname Dep Position

Em1002 ชดชย ละไมสม ผลต ผจดการแผนก

Em1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนก

Em1004 ธรรมดา งามดพรอม จดซอ พนกงาน

Em1005 สวยพรอม การณสรร ขาย ผจดการแผนก

Em1006 เจตนา พทกษทรพย ขาย พนกงาน

Relation: Employeeความหมายของฟลด

ชอฟลด

แถว(Tuples)

Page 16: Database architecture

คย (key) หมายถง (คอลมน, ฟลด, แอตทรบวต) ซงจะมคาไมซำากนในแตละแถว (unique) ทำาใหสามารถใชคอลมนเหลานระบถง (แถว, เรคอรด, ทพเพล) แตละแถวได

Page 17: Database architecture

กลมของแอตทรบวตทใชระบถงความเปนเอกลกษณในแตละทพเพลของรเลชนนนๆ ซงแอตทรบวตเหลานนอาจไมมโอกาสมคาซำากนเลยในแตละแถว

รหสพนกงาน ชอ นามสกล แผนก ตำาแหนง

Emp_ID Firstname Lastname Dep Position

Em1002 ชดชย ละไมสม ผลต ผจดการแผนก

Em1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนก

Em1004 ธรรมดา งามดพรอม จดซอ พนกงาน

Em1005 สวยพรอม การณสรร ขาย ผจดการแผนก

Em1006 เจตนา พทกษทรพย ขาย พนกงาน

Page 18: Database architecture

Employee (Emp_ID, Firstname, Lastname, Dep, Position)

Emp_ID Emp_ID, Firstname Emp_ID, Lastname Emp_ID, Dep Emp_ID, Position

รหสพนกงาน ชอ นามสกล แผนก ตำาแหนง

Emp_ID Firstname Lastname Dep Position

Em1002 ชดชย ละไมสม ผลต ผจดการแผนก

Em1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนก

Em1004 ธรรมดา งามดพรอม จดซอ พนกงาน

Em1005 สวยพรอม การณสรร ขาย ผจดการแผนก

Em1006 เจตนา พทกษทรพย ขาย พนกงาน

Super key

Page 19: Database architecture

superkey ทมคอลมนเดยว มขนาดเลกทสด และไมมบางสวนของคยมความเปน unique subset

Employee (Emp_ID, Firstname, Lastname, Dep, Position)

Emp_ID Emp_ID, Firstname Emp_ID, Lastname Emp_ID, Dep Emp_ID, Position

Page 20: Database architecture

คอ Candidate key ทถกคดเลอกใหเปนคยหลก ทสามารถนำาไปใชเพอการอางองความเปน unique ของแตละ Tuple โดยคณสมบตของ Primary key มดงน

ตองไมบรรจขอมลวางเปลา (Null) ตองมคาทไมซำากนในแตละแถว (Unique) Primary key จะถกเปลยนแปลงคาไมไดโดยใน 1 relation หรอ 1 Entity จะม Primary key ไดเพยง 1

ตวเทานน

รหสพนกงาน ชอ นามสกล แผนก ตำาแหนง

Emp_ID Firstname Lastname Dep Position

Em1002 ชดชย ละไมสม ผลต ผจดการแผนก

Em1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนก

Em1004 ธรรมดา งามดพรอม จดซอ พนกงาน

Em1005 สวยพรอม การณสรร ขาย ผจดการแผนก

Page 21: Database architecture

คยนอก (FK) เปนคยทสามารถใชอางองรวมกบ คยหลก (PK) ของอกรเลชนหนงได โดยมเปาหมายทจะเชอมโยงเพอสรางความสมพนธระหวาง 2 รเลชน ใหสามารถอางถงคาในคอลมนอนๆ ได

รหสพนกงาน ชอ นามสกล แผนก ตำาแหนง

Emp_ID Firstname Lastname Dep Position

Em1002 ชดชย ละไมสม ผลต ผจดการแผนก

Em1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนก

Em1004 ธรรมดา งามดพรอม จดซอ พนกงาน

Em1005 สวยพรอม การณสรร ขาย ผจดการแผนก

Em1006 เจตนา พทกษทรพย ขาย พนกงาน

Page 22: Database architecture

Relation: Employees

Relation: Department

Page 23: Database architecture

กำาหนด Entity ทเกยวของ ขอมลพนกงาน ขอมลลกคา ขอมลหนงสอ

พนกงาน: EmployeesEmployees (em_code, em_firstname, em_lastname, em_sex, em_address, em_tel, dep, level)

ลกคา: CustomersCustomers (cs_code, cs_firstname, cs_lastname, cs_sex, cs_address, cs_tel)

หนงสอ : BooksBooks (B_code, title, Author, ISBN, Pub, Year, Lang, Price, Cate, Stock)

Relation Schema

Page 24: Database architecture

กจกรรมกลม...ใหนกศกษาออกแบบระบบงานในรปแบบของ Relation Schema พรอมทงระบ Primary key

ระบบโรงแรม ระบบลงทะเบยนฝกอบรม ระบบหองสมดโรงเรยน ระบบรานคาปลก ระบบบานเชา ระบบลงทะเบยนเรยนของมหาวทยาลย ระบบรานเชาหนงสอ ระบบจองตวภาพยนตร ระบบขนสง (รถทวร) ระบบรานขายเทป CD’ DVD’