database 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 Position
Em1002 ชดชย ละไมสม ผลต ผจดการแผนก
Em1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนก
Em1004 ธรรมดา งามดพรอม จดซอ พนกงาน
Em1005 สวยพรอม การณสรร ขาย ผจดการแผนก
Em1006 เจตนา พทกษทรพย ขาย พนกงาน
Relation: Employeeความหมายของฟลด
ชอฟลด
แถว(Tuples)
คย (key) หมายถง (คอลมน, ฟลด, แอตทรบวต) ซงจะมคาไมซำากนในแตละแถว (unique) ทำาใหสามารถใชคอลมนเหลานระบถง (แถว, เรคอรด, ทพเพล) แตละแถวได
กลมของแอตทรบวตทใชระบถงความเปนเอกลกษณในแตละทพเพลของรเลชนนนๆ ซงแอตทรบวตเหลานนอาจไมมโอกาสมคาซำากนเลยในแตละแถว
รหสพนกงาน ชอ นามสกล แผนก ตำาแหนง
Emp_ID Firstname Lastname Dep Position
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 Position
Em1002 ชดชย ละไมสม ผลต ผจดการแผนก
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 Position
Em1002 ชดชย ละไมสม ผลต ผจดการแผนก
Em1003 ตลา ไพบลยรงเรอง จดซอ ผจดการแผนก
Em1004 ธรรมดา งามดพรอม จดซอ พนกงาน
Em1005 สวยพรอม การณสรร ขาย ผจดการแผนก
คยนอก (FK) เปนคยทสามารถใชอางองรวมกบ คยหลก (PK) ของอกรเลชนหนงได โดยมเปาหมายทจะเชอมโยงเพอสรางความสมพนธระหวาง 2 รเลชน ใหสามารถอางถงคาในคอลมนอนๆ ได
รหสพนกงาน ชอ นามสกล แผนก ตำาแหนง
Emp_ID Firstname Lastname Dep Position
Em1002 ชดชย ละไมสม ผลต ผจดการแผนก
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
กจกรรมกลม...ใหนกศกษาออกแบบระบบงานในรปแบบของ Relation Schema พรอมทงระบ Primary key
ระบบโรงแรม ระบบลงทะเบยนฝกอบรม ระบบหองสมดโรงเรยน ระบบรานคาปลก ระบบบานเชา ระบบลงทะเบยนเรยนของมหาวทยาลย ระบบรานเชาหนงสอ ระบบจองตวภาพยนตร ระบบขนสง (รถทวร) ระบบรานขายเทป CD’ DVD’