db architecture

24
Database Systems Architecture

Upload: nittaya-intarat

Post on 05-Jul-2015

183 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Db architecture

Database Systems Architecture

Page 2: Db architecture

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

Page 3: Db architecture

Internal Level Conceptual Level External Level

External Schema

Conceptual Schema

Internal Schema

Database

Page 4: Db architecture

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

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

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

Page 5: Db architecture

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

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

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

Page 6: Db architecture

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

Page 7: Db architecture

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

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

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

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

Page 8: Db architecture

แบบจำำลองเพอกำรนำำไปใช (Implementation Data Models)เปนแบบจำำลองทอธบำยถงโครงสรำงขอมลของฐำนขอมลโดยแบงออกเปน 5 ประเภทไดแก1. แบบจำำลองฐำนขอมลลำำดบชน*2. แบบจำำลองฐำนขอมลเครอขำย**3. แบบจำำลองฐำนขอมลเชงสมพนธ***4. แบบจำำลองฐำนขอมลเชงวตถ5. แบบจำำลองฐำนขอมลแบบมลตไดเมนชน

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

Page 9: Db 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: Db architecture

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

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

Page 11: Db 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: Db architecture

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

Page 13: Db architecture

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

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

Page 14: Db architecture

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

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

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

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

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

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

Page 15: Db architecture

รหสพนกงำน

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

Emp_ID Firstname Lastname Dep Posit ion

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

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

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

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

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

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

ชอฟลด

แถว(Tuples)

Page 16: Db architecture

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

Page 17: Db architecture

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

รหสพนกงำน

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

Emp_ID Firstname Lastname Dep Posit ion

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

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

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

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

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

Page 18: Db 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 Posit ionEm1002 ชดชย ละไมสม ผลต ผจดกำรแผนกEm1003 ตลำ ไพบลยรงเรอง จดซอ ผจดกำรแผนกEm1004 ธรรมดำ งำมดพรอม จดซอ พนกงำนEm1005 สวยพรอม กำรณสรร ขำย ผจดกำรแผนกEm1006 เจตนำ พทกษทรพย ขำย พนกงำน

Super key

Page 19: Db 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: Db architecture

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

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

เทานนรหส

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

Emp_ID Firstname Lastname Dep Posit ionEm1002 ชดชย ละไมสม ผลต ผจดการแผนกEm1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนกEm1004 ธรรมดา งามดพรอม จดซอ พนกงานEm1005 สวยพรอม การณสรร ขาย ผจดการแผนกEm1006 เจตนา พทกษทรพย ขาย พนกงาน

Page 21: Db architecture

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

รหสพนกงาน

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

Emp_ID Firstname Lastname Dep Posit ionEm1002 ชดชย ละไมสม ผลต ผจดการแผนกEm1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนกEm1004 ธรรมดา งามดพรอม จดซอ พนกงานEm1005 สวยพรอม การณสรร ขาย ผจดการแผนกEm1006 เจตนา พทกษทรพย ขาย พนกงาน

Page 22: Db architecture

Relation: Employees

Relation: Department

Page 23: Db 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)

Page 24: Db architecture

ใหนกศกษาออกแบบระบบงานในรปแบบของ Relation Schema พรอมทงระบ Primary key และ Foreign key ดวย

สงตวแทนออกมาเลอกระบบงานกลมละ 1 คน นำาเสนอหนาชนเรยน