Db architecture

297 views
231 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
297
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Db architecture

  1. 1. Database Systems Architecture
  2. 2.  การอธิบายเกี่ยวกับโครงสร้างและส่วนประกอบหลักที่นำามา ประกอบรวมกันเป็นระบบฐานข้อมูล
  3. 3.  Internal Level  Conceptual Level  External Level External Schema Conceptual Schema Internal Schema Database
  4. 4.  มี Internal Schema ที่ใช้อธิบายโครงสร้างการจัดเก็บข้อมูล เชิงกายภาพ  ผู้ใช้งานฐานข้อมูลไม่สามารถมองเห็นรายละเอียดของ โครงสร้างในระดับนี้ได้  ผู้เข้าถึงข้อมูลในระดับนี้ได้มีเพียง ผู้บริหารข้อมูล (Database Administrators: DBA)
  5. 5.  เรียกอีกอย่างหนึ่งว่าโครงร่างข้อมูลแบบตรรกะ(Logical)  จัดเป็นโครงสร้างหลักของระบบที่เรียกว่า แบบจำาลองข้อมูล (Data Model)  แสดงความสัมพันธ์ (relationship) ระหว่างข้อมูลเป็นหลัก  การนำาเสนอข้อมูลจะแสดงในรูปของตารางหรือรีเลชั่น  ผู้เข้าถึงโครงสร้างข้อมูลในระดับนี้ได้แก่ ผู้บริหารข้อมูล (data administrators) หรือโปรแกรมเมอร์ (programmer) เท่านั้น
  6. 6.  เป็นมุมมองของผู้ใช้งานฐานข้อมูล (User)
  7. 7.  แบบจำำลองข้อมูล คือ เทคนิคที่นำำมำใช้ในกำรจัดกำรโครงสร้ำง และควำมสัมพันธ์ระหว่ำงข้อมูลในระบบ  มีวัตถุประสงค์ในกำรนำำเสนอข้อมูลเพื่อให้เกิดควำมเข้ำใจซึ่ง กันและกัน และส่งผลให้กำรออกแบบฐำนข้อมูลเป็นไปได้ง่ำย ขึ้น  แบ่งออกเป็น 2 ประเภทคือ  แบบจำำลองเพื่อกำรนำำไปใช้ (Implementation Data Models)  แบบจำำลองเชิงแนวคิด (Conceptual Data Models)
  8. 8. แบบจำำลองเพื่อกำรนำำไปใช้ (Implementation Data Models) เป็นแบบจำำลองที่อธิบำยถึงโครงสร้ำงข้อมูลของฐำนข้อมูลโดยแบ่ง ออกเป็น 5 ประเภทได้แก่ 1. แบบจำำลองฐำนข้อมูลลำำดับชั้น* 2. แบบจำำลองฐำนข้อมูลเครือข่ำย** 3. แบบจำำลองฐำนข้อมูลเชิงสัมพันธ์*** 4. แบบจำำลองฐำนข้อมูลเชิงวัตถุ 5. แบบจำำลองฐำนข้อมูลแบบมัลติไดเมนชั่น แบบจำำลองเชิงแนวคิด (Conceptual Data Models) แสดงลักษณะของข้อมูลโดยนำำเสนอในลักษณะแผนภำพหรือ ไดอะแกรมซึ่งประกอบไปด้วยเอ็นทิตี้ต่ำงๆ และควำมสัมพันธ์ ระหว่ำงเอ็นทิตี้ในระบบ ตัวอย่ำงแบบจำำลองชนิดนี้เช่น แผนภำพ E-R (Entity-Relationship Diagram)
  9. 9.  แบบจำำลองลำำดับชั้น เป็นกำรจัดเก็บข้อมูลโดยมีกำรเชื่อมโยง ข้อมูลเป็นโครงสร้ำงต้นไม้ ไฟล์ข้อมูลจัดไว้เป็นโครงสร้ำงแบบ บนลงล่ำง (Top-Down) ข้อมูลแต่ละระดับจะมีควำมสัมพันธ์กัน แบบ parent กับ child โดย parent หนึ่งๆ สำมำรถมีได้หลำย child แต่ child หนึ่งจะมีได้เพียง parent เดียวเท่ำนั้น Database system Section 1 Section 2 Stu_A Stu_B Stu_C Stu_D
  10. 10. ข้อดี  มีรูปแบบโครงสร้ำงที่เข้ำใจง่ำย  โครงสร้ำงซับซ้อนน้อย เหมำะกับข้อมูลที่มีควำมสัมพันธ์แบบ one-to-many  ข้อมูลมีควำมคงสภำพ (Data Integrity) ข้อเสีย  ยำกต่อกำรนำำไปพัฒนำเป็นแอปพลิเคชัน  โครงสร้ำงข้อมูลมีควำมยืดหยุ่นตำ่ำ  ไม่รองรับควำมสัมพันธ์แบบ many-to-many  ข้อมูลมีควำมซำ้ำซ้อน
  11. 11.  แบบจำำลองฐำนข้อมูลเครือข่ำยมีเป้ำหมำยเพื่อลดควำมซำ้ำซ้อน ของข้อมูลที่เกิดขึ้นในแบบจำำลองลำำดับชั้น ด้วยกำรยอมให้เกิด ควำมสัมพันธ์ระหว่ำงข้อมูลในแบบ many-to-many ได้โดย child สำมำรถมี parent ได้มำกกว่ำ 1 parent แบบจำำลองเครือ ข่ำยมีพื้นฐำนมำจำกทฤษฎีเซต (Set theory) Registration Database system Web admin Stu_A Stu_B Stu_A Stu_C
  12. 12. ข้อดี  สนับสนุนควำมสัมพันธ์แบบ many-to-many  กำรเข้ำถึงข้อมูลมีควำมยืดหยุ่นสูงลดควำมซำ้ำซ้อนบำงส่วน ข้อเสีย  ระบบมีควำมซับซ้อน ยำกต่อกำรนำำไปใช้  โครงสร้ำงไม่มีอิสระจำกข้อมูล
  13. 13.  แบบจำำลองฐำนข้อมูลเชิงสัมพันธ์เป็นกำรนำำเสนอข้อมูลในลักษณะ ตำรำง(Table) โดยตำรำงหนึ่งจะประกอบด้วยแถวและคอลัมน์ ข้อมูลที่จัดเก็บอยู่ในตำรำงสำมำรถเชื่อมโยงควำมสัมพันธ์กับตำรำ งอื่นๆ ได้ ไม่ว่ำจะเป็นควำมสัมพันธ์แบบ one-to-many หรือแบบ many-to-many ในปัจจุบันแบบจำำลองฐำนข้อมูลเชิงสัมพันธ์เป็น แบบจำำลองที่มีควำมแพร่หลำยและนิยมใช้กันมำกที่สุดในปัจจุบัน ข้อดี  มีควำมเป็นอิสระในโครงสร้ำง  ลดควำมซ้ำ้ำซ้้อนของข้อมูลได้เป็นส่วนใหญ่  ใช้ชุดคำำสั่ง SQL ในกำรจัดกำรกับฐำนข้อมูล  โครงสร้ำงมีควำมยืดหยุ่น ข้อเสีย  ค่ำใช้จ่ำยในระบบค่อนข้ำงสูง
  14. 14.  พื้นฐำนกำรสร้ำงแบบจำำลองข้อมูล (Data models) ในแบบจำำลอง เชิงสัมพันธ์ ประกอบด้วย  เอ็นทิตี้ (Entity)  กลุ่มของข้อมูลที่เกี่ยวข้องกับบุคคล สิ่งของ สถำนที่ หรือเหตุกำรณ์ เช่น เอ็นทิตี้พนักงำน  แอททริบิวต์ (Attributes)  คุณสมบัติของเอ็นทิตี้ เช่น เอ็นทิตี้พนักงำนประกอบไปด้วย แอททริบิวต์ ชื่อพนักงำน, เพศ, แผนก, ที่อยู่, เบอร์โทร เป็นต้น  ควำมสัมพันธ์ (Relationship)  เป็นควำมสัมพันธ์ระหว่ำงเอ็นทิตี้ เช่นควำมสัมพันธ์ระหว่ำง เอ็นทิตี้พนักงำน กับเอ็นทิตี้สินค้ำ
  15. 15. รหัส พนักงำน ชื่อ นำมสกุล แผนก ตำำแหน่ง Emp_ID Firstname Lastname Dep Position Em1002 ชิดชัย ละไมสม ผลิต ผู้จัดกำรแผนก Em1003 ตุลำ ไพบูลย์รุ่งเรือง จัดซ้ื้อ ผู้จัดกำรแผนก Em1004 ธรรมดำ งำมดีพร้อม จัดซ้ื้อ พนักงำน Em1005 สวยพร้อม กำรุณสรร ขำย ผู้จัดกำรแผนก Em1006 เจตนำ พิทักษ์ทรัพย์ ขำย พนักงำน Relation: Employee ควำมหมำยของฟิลด์ ชื่อฟิลด์ แถว(Tuples)
  16. 16. คีย์ (key) หมำยถึง (คอลัมน์, ฟิลด์, แอตทริบิวต์) ซ้ึ่งจะมีค่ำไม่ซ้ำ้ำ กันในแต่ละแถว (unique) ทำำให้สำมำรถใช้คอลัมน์เหล่ำนี้ระบุ ถึง (แถว, เรคอร์ด, ทัพเพิล) แต่ละแถวได้
  17. 17.  กลุ่มของแอตทริบิวต์ที่ใช้ระบุถึงควำมเป็นเอกลักษณ์ในแต่ละ ทัพเพิลของรีเลชั่นนั้นๆ ซ้ึ่งแอตทริบิวต์เหล่ำนั้นอำจไม่มีโอกำสมี ค่ำซ้ำ้ำกันเลยในแต่ละแถว รหัส พนักงำน ชื่อ นำมสกุล แผนก ตำำแหน่ง Emp_ID Firstname Lastname Dep Position Em1002 ชิดชัย ละไมสม ผลิต ผู้จัดกำรแผนก Em1003 ตุลำ ไพบูลย์รุ่งเรือง จัดซ้ื้อ ผู้จัดกำรแผนก Em1004 ธรรมดำ งำมดีพร้อม จัดซ้ื้อ พนักงำน Em1005 สวยพร้อม กำรุณสรร ขำย ผู้จัดกำรแผนก Em1006 เจตนำ พิทักษ์ทรัพย์ ขำย พนักงำน
  18. 18.  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 ธรรมดำ งำมดีพร้อม จัดซ้ื้อ พนักงำน Super key
  19. 19.  superkey ที่มีคอลัมน์เดียว มีขนาดเล็กที่สุด และไม่มีบางส่วน ของคีย์มีความเป็น unique subset  Employee (Emp_ID, Firstname, Lastname, Dep, Position)  Emp_ID  Emp_ID, Firstname  Emp_ID, Lastname  Emp_ID, Dep  Emp_ID, Position
  20. 20. คือ 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 ตุลา ไพบูลย์รุ่งเรือง จัดซ้ื้อ ผู้จัดการแผนก
  21. 21.  คีย์นอก (FK) เป็นคีย์ที่สามารถใช้อ้างอิงร่วมกับ คีย์หลัก (PK) ของอีกรีเลชันหนึ่งได้ โดยมีเป้าหมายที่จะเชื่อมโยงเพื่อสร้าง ความสัมพันธ์ระหว่าง 2 รีเลชั่น ให้สามารถอ้างถึงค่าในคอลัมน์ อื่นๆ ได้ รหัส พนักงาน ชื่อ นามสกุล แผนก ตำาแหน่ง Emp_ID Firstname Lastname Dep Position Em1002 ชิดชัย ละไมสม ผลิต ผู้จัดการแผนก Em1003 ตุลา ไพบูลย์รุ่งเรือง จัดซ้ื้อ ผู้จัดการแผนก Em1004 ธรรมดา งามดีพร้อม จัดซ้ื้อ พนักงาน Em1005 สวยพร้อม การุณสรร ขาย ผู้จัดการแผนก Em1006 เจตนา พิทักษ์ทรัพย์ ขาย พนักงาน
  22. 22. Relation: Employees Relation: Department
  23. 23. กำาหนด Entity ที่เกี่ยวข้อง  ข้อมูลพนักงาน  ข้อมูลลูกค้า  ข้อมูลหนังสือ พนักงาน: Employees Employees (em_code, em_firstname, em_lastname, em_sex, em_address, em_tel, dep, level) ลูกค้า: Customers Customers (cs_code, cs_firstname, cs_lastname, cs_sex, cs_address, cs_tel) หนังสือ : Books Books (B_code, title, Author, ISBN, Pub, Year, Lang, Price, Cate, Stock)
  24. 24.  ให้นักศึกษาออกแบบระบบงานในรูปแบบของ Relation Schema พร้อมทั้งระบุ Primary key และ Foreign key ด้วย  ส่งตัวแทนออกมาเลือกระบบงานกลุ่มละ 1 คน  นำาเสนอหน้าชั้นเรียน

×