db architecture
TRANSCRIPT
Database Systems Architecture
การอธบายเกยวกบโครงสรางและสวนประกอบหลกทนำามาประกอบรวมกนเปนระบบฐานขอมล
Internal Level Conceptual Level External Level
External Schema
Conceptual Schema
Internal Schema
Database
ม Internal Schema ทใชอธบายโครงสรางการจดเกบขอมลเชงกายภาพ
ผใชงานฐานขอมลไมสามารถมองเหนรายละเอยดของโครงสรางในระดบนได
ผเขาถงขอมลในระดบนไดมเพยง ผบรหารขอมล (Database Administrators: DBA)
เรยกอกอยางหนงวาโครงรางขอมลแบบตรรกะ(Logical) จดเปนโครงสรางหลกของระบบทเรยกวา แบบจำาลองขอมล
(Data Model) แสดงความสมพนธ (relationship) ระหวางขอมลเปนหลก การนำาเสนอขอมลจะแสดงในรปของตารางหรอรเลชน ผเขาถงโครงสรางขอมลในระดบนไดแก ผบรหารขอมล (data
administrators) หรอโปรแกรมเมอร (programmer) เทานน
เปนมมมองของผใชงานฐานขอมล (User)
แบบจำำลองขอมล คอ เทคนคทนำำมำใชในกำรจดกำรโครงสรำงและควำมสมพนธระหวำงขอมลในระบบ
มวตถประสงคในกำรนำำเสนอขอมลเพอใหเกดควำมเขำใจซงกนและกน และสงผลใหกำรออกแบบฐำนขอมลเปนไปไดงำยขน
แบงออกเปน 2 ประเภทคอ แบบจำำลองเพอกำรนำำไปใช (Implementation Data
Models) แบบจำำลองเชงแนวคด (Conceptual Data Models)
แบบจำำลองเพอกำรนำำไปใช (Implementation Data Models)เปนแบบจำำลองทอธบำยถงโครงสรำงขอมลของฐำนขอมลโดยแบงออกเปน 5 ประเภทไดแก1. แบบจำำลองฐำนขอมลลำำดบชน*2. แบบจำำลองฐำนขอมลเครอขำย**3. แบบจำำลองฐำนขอมลเชงสมพนธ***4. แบบจำำลองฐำนขอมลเชงวตถ5. แบบจำำลองฐำนขอมลแบบมลตไดเมนชน
แบบจำำลองเชงแนวคด (Conceptual Data Models)แสดงลกษณะของขอมลโดยนำำเสนอในลกษณะแผนภำพหรอไดอะแกรมซงประกอบไปดวยเอนทตตำงๆ และควำมสมพนธระหวำงเอนทตในระบบ ตวอยำงแบบจำำลองชนดนเชน แผนภำพ E-R (Entity-Relationship Diagram)
แบบจำำลองลำำดบชน เปนกำรจดเกบขอมลโดยมกำรเชอมโยงขอมลเปนโครงสรำงตนไม ไฟลขอมลจดไวเปนโครงสรำงแบบบนลงลำง (Top-Down) ขอมลแตละระดบจะมควำมสมพนธกนแบบ parent กบ child โดย parent หนงๆ สำมำรถมไดหลำย child แต child หนงจะมไดเพยง parent เดยวเทำนน
Database system
Section 1 Section 2
Stu_A Stu_B Stu_C Stu_D
ขอด มรปแบบโครงสรำงทเขำใจงำย โครงสรำงซบซอนนอย เหมำะกบขอมลทมควำมสมพนธแบบ
one-to-many ขอมลมควำมคงสภำพ (Data Integrity)ขอเสย ยำกตอกำรนำำไปพฒนำเปนแอปพลเคชน โครงสรำงขอมลมควำมยดหยนตำำ ไมรองรบควำมสมพนธแบบ many-to-many ขอมลมควำมซำำซอน
แบบจำำลองฐำนขอมลเครอขำยมเปำหมำยเพอลดควำมซำำซอนของขอมลทเกดขนในแบบจำำลองลำำดบชน ดวยกำรยอมใหเกดควำมสมพนธระหวำงขอมลในแบบ many-to-many ไดโดยchild สำมำรถม parent ไดมำกกวำ 1 parent แบบจำำลองเครอขำยมพนฐำนมำจำกทฤษฎเซต (Set theory)
Registration
Database system Web admin
Stu_A Stu_B Stu_A Stu_C
ขอด สนบสนนควำมสมพนธแบบ many-to-many กำรเขำถงขอมลมควำมยดหยนสงลดควำมซำำซอนบำงสวนขอเสย ระบบมควำมซบซอน ยำกตอกำรนำำไปใช โครงสรำงไมมอสระจำกขอมล
แบบจำำลองฐำนขอมลเชงสมพนธเปนกำรนำำเสนอขอมลในลกษณะตำรำง(Table) โดยตำรำงหนงจะประกอบดวยแถวและคอลมน ขอมลทจดเกบอยในตำรำงสำมำรถเชอมโยงควำมสมพนธกบตำรำงอนๆ ได ไมวำจะเปนควำมสมพนธแบบ one-to-many หรอแบบ many-to-many ในปจจบนแบบจำำลองฐำนขอมลเชงสมพนธเปนแบบจำำลองทมควำมแพรหลำยและนยมใชกนมำกทสดในปจจบน
ขอด มควำมเปนอสระในโครงสรำง ลดควำมซำำซอนของขอมลไดเปนสวนใหญ ใชชดคำำสง SQL ในกำรจดกำรกบฐำนขอมล โครงสรำงมควำมยดหยนขอเสย คำใชจำยในระบบคอนขำงสง
พนฐำนกำรสรำงแบบจำำลองขอมล (Data models) ในแบบจำำลองเชงสมพนธ ประกอบดวย
เอนทต (Entity) กลมของขอมลทเกยวของกบบคคล สงของ สถำนท หรอเหตกำรณ
เชน เอนทตพนกงำน แอททรบวต (Attributes)
คณสมบตของเอนทต เชน เอนทตพนกงำนประกอบไปดวยแอททรบวต ชอพนกงำน, เพศ, แผนก, ทอย, เบอรโทร เปนตน
ควำมสมพนธ (Relationship) เปนควำมสมพนธระหวำงเอนทต เชนควำมสมพนธระหวำง
เอนทตพนกงำน กบเอนทตสนคำ
รหสพนกงำน
ชอ นำมสกล แผนก ตำำแหนง
Emp_ID Firstname Lastname Dep Posit ion
Em1002 ชดชย ละไมสม ผลต ผจดกำรแผนก
Em1003 ตลำ ไพบลยรงเรอง จดซอ ผจดกำรแผนก
Em1004 ธรรมดำ งำมดพรอม จดซอ พนกงำน
Em1005 สวยพรอม กำรณสรร ขำย ผจดกำรแผนก
Em1006 เจตนำ พทกษทรพย ขำย พนกงำน
Relation: Employeeควำมหมำยของฟลด
ชอฟลด
แถว(Tuples)
คย (key) หมำยถง (คอลมน, ฟลด, แอตทรบวต) ซงจะมคำไมซำำกนในแตละแถว (unique) ทำำใหสำมำรถใชคอลมนเหลำนระบถง (แถว, เรคอรด, ทพเพล) แตละแถวได
กลมของแอตทรบวตทใชระบถงควำมเปนเอกลกษณในแตละทพเพลของรเลชนนนๆ ซงแอตทรบวตเหลำนนอำจไมมโอกำสมคำซำำกนเลยในแตละแถว
รหสพนกงำน
ชอ นำมสกล แผนก ตำำแหนง
Emp_ID Firstname Lastname Dep Posit ion
Em1002 ชดชย ละไมสม ผลต ผจดกำรแผนก
Em1003 ตลำ ไพบลยรงเรอง จดซอ ผจดกำรแผนก
Em1004 ธรรมดำ งำมดพรอม จดซอ พนกงำน
Em1005 สวยพรอม กำรณสรร ขำย ผจดกำรแผนก
Em1006 เจตนำ พทกษทรพย ขำย พนกงำน
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
superkey ทมคอลมนเดยว มขนาดเลกทสด และไมมบางสวนของคยมความเปน unique subset
Employee (Emp_ID, Firstname, Lastname, Dep, Position)
Emp_ID Emp_ID, Firstname Emp_ID, Lastname Emp_ID, Dep Emp_ID, Position
คอ 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 เจตนา พทกษทรพย ขาย พนกงาน
คยนอก (FK) เปนคยทสามารถใชอางองรวมกบ คยหลก (PK) ของอกรเลชนหนงได โดยมเปาหมายทจะเชอมโยงเพอสรางความสมพนธระหวาง 2 รเลชน ใหสามารถอางถงคาในคอลมนอนๆ ได
รหสพนกงาน
ชอ นามสกล แผนก ตำาแหนง
Emp_ID Firstname Lastname Dep Posit ionEm1002 ชดชย ละไมสม ผลต ผจดการแผนกEm1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนกEm1004 ธรรมดา งามดพรอม จดซอ พนกงานEm1005 สวยพรอม การณสรร ขาย ผจดการแผนกEm1006 เจตนา พทกษทรพย ขาย พนกงาน
Relation: Employees
Relation: Department
กำาหนด 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 พรอมทงระบ Primary key และ Foreign key ดวย
สงตวแทนออกมาเลอกระบบงานกลมละ 1 คน นำาเสนอหนาชนเรยน