1 / 36

ส่วนที่ 4

ส่วนที่ 4. System Design. การออกแบบระบบ. Chapter 13. Physical Database Design. การออกแบบฐานข้อมูลในระดับกายภาพ. กิจกรรมในขั้นตอนนี้ได้แก่ 1. การออกแบบฐานข้อมูลใน ระดับกายภาพ 2. การออกแบบ Application. System Development Life Cycle : SDLC. 13.2. Learning Objectives.

dora-nunez
Télécharger la présentation

ส่วนที่ 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ส่วนที่ 4 System Design การออกแบบระบบ

  2. Chapter 13 Physical Database Design การออกแบบฐานข้อมูลในระดับกายภาพ

  3. กิจกรรมในขั้นตอนนี้ได้แก่กิจกรรมในขั้นตอนนี้ได้แก่ 1. การออกแบบฐานข้อมูลใน ระดับกายภาพ 2. การออกแบบ Application System Development Life Cycle : SDLC 13.2

  4. Learning Objectives • เพื่อให้ผู้เรียนสามารถเข้าใจและอธิบายการออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database Design) • เพื่อให้ผู้เรียนเข้าใจโครงสร้างทางกายภาพของฐานข้อมูล • เพื่อให้ผู้เรียนสามารถออกแบบฐานข้อมูลในระดับกายภาพ โดยแปลง Logical Schema ให้เป็น Table • เพื่อให้ผู้เรียนออกแบบและสร้างฐานข้อมูลในระดับกายภาพ โดยใช้ Microsoft Access 13.3

  5. Topics • ขั้นตอนการออกแบบฐานข้อมูลในระดับกายภาพ • โครงสร้างทางกายภาพของฐานข้อมูล • การออกแบบฐานข้อมูลในระดับกายภาพ โดยแปลง Logical Schema ให้เป็น Table • การออกแบบและสร้างฐานข้อมูลในระดับกายภาพ โดยใช้ Microsoft Access 13.4

  6. การออกแบบฐานข้อมูลในระดับกายภาพการออกแบบฐานข้อมูลในระดับกายภาพ • การออกแบบฐานข้อมูลในระดับ Conceptual และ Logical เป็นการวางโครงสร้างของฐานข้อมูลที่ยังไม่มีการกำหนดหรือระบุรายละเอียดลงไปว่า ข้อมูลต่าง ๆ จะจัดเก็บลงในหน่วยความจำสำรองด้วยวิธีใด ใช้ซอฟต์แวร์อะไร • การออกแบบฐานข้อมูลในระดับกายภาพ จึงเป็นการออกแบบเพื่อกำหนดโครงสร้างทางกายภาพของฐานข้อมูล จากโครงสร้างที่ได้รับการออกแบบมาแล้วในระดับตรรกะ • ด้วยการนำ Relation ที่ได้มาสร้างเป็น Table • และกำหนดโครงสร้างทางกายภาพให้กับ Table นั้น • กำหนดกฎของความถูกต้อง (Integrity Rules) • การกำหนดโครงสร้างแฟ้มข้อมูล (File Organization) 13.5

  7. โครงสร้างทางกายภาพของฐานข้อมูลโครงสร้างทางกายภาพของฐานข้อมูล โครงสร้างแฟ้มข้อมูล โครงสร้างแฟ้มข้อมูลจะประกอบด้วยโครงสร้างพื้นฐานที่ลำดับจากหน่วยที่ เล็กที่สุดไปยังหน่วยที่ใหญ่ที่สุด ตามลำดับต่อไปนี้ • บิต (Bit) • ไบต์ (Byte) • ฟิลด์ (Field) • เรคอร์ด (Record) • ไฟล์ (File) • ฐานข้อมูล (Database) 13.6

  8. โครงสร้างทางกายภาพของฐานข้อมูลโครงสร้างทางกายภาพของฐานข้อมูล บิต (Bit) จะประกอบด้วยเลขฐานสอง (Binary Digit) ที่ใช้แทนค่าหน่วยที่เล็กที่สุดของข้อมูลในระบบคอมพิวเตอร์ โดยบิตจะมีอยู่เพียงหนึ่งในสองสถานะเท่านั้นคือ 0 หรือ 1 ไบต์ (Byte) จะประกอบด้วยจำนวนบิต (Bit) หลาย ๆ บิตมาเรียงต่อกัน เนื่องจากว่าเพียงบิตเดียวจะสามารถใช้แทนรหัสได้เพียงหนึ่งในสองสถานะเท่านั้น คือ 0 กับ 1 ดังนั้นจึงจำเป็นต้องนำบิตหลาย ๆ บิตมารวมกันเป็นไบต์ เช่น 1 ไบต์ มี 8 บิต ก็คือการนำเลข 0 กับ 1 มาเรียงต่อกันจนครบ 1 ไบต์จึงทำให้สามารถสร้างรหัสแทนข้อมูลขึ้นมาเพื่อใช้สำหรับแทนตัวอักษรหรืออักขระที่แตกต่างกันได้ถึง 256 ตัวด้วยกัน ฟิลด์ (Field) คือการนำอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันเพื่อให้เกิดความหมาย เช่น ฟิลด์ Cust_Id เป็นฟิลด์ที่ใช้เก็บข้อมูลรหัสลูกค้า ,ฟิลด์ Cust_name เป็นฟิลด์ที่ใช้เก็บข้อมูลชื่อลูกค้า เป็นต้น 13.7

  9. โครงสร้างทางกายภาพของฐานข้อมูลโครงสร้างทางกายภาพของฐานข้อมูล เรคอร์ด (Record) คือของฟิลด์ที่สัมพันธ์กัน เช่นในหนึ่งเรคอร์ดประกอบฟิลด์ต่างๆ ที่ข้องเกี่ยวกันรวมกันเป็นชุด เรคอร์ดของลูกค้า ประกอบด้วยฟิลด์ รหัสลูกค้า ชื่อ-สกุล ที่อยู่ เบอร์โทรศัพท์ เป็นต้น ดังนั้นในหนึ่งเรคอร์ดก็จะต้องมีอย่างน้อยหนึ่งฟิลด์เพื่อใช้ในการอ้างอิงข้อมูลในเรคอร์ด นั้น ๆ ไฟล์ (File) คือกลุ่มของเรคอร์ดสัมพันธ์กัน เช่นในแฟ้มข้อมูลลูกค้าประกอบด้วยเรคอร์ดของลูกค้าทั้งหมดของบริษัท ดังนั้นในหนึ่งไฟล์ก็จะต้องมีอย่างน้อยหนึ่งเรคอร์ดเพื่อใช้ในการอ่านข้อมูลขึ้นมาใช้งาน ฐานข้อมูล (Database) เกิดจากการนำไฟล์ที่เกี่ยวข้องกันมาจัดเก็บไว้ที่เดียวกันอย่างมีระบบ เพื่อให้สามารถเรียกใช้และจัดการข้อมูลได้อย่างมีประสิทธิภาพ เช่น ไฟล์ข้อมูลพนักงาน สินค้าคลังคลัง พนักงานขาย และลูกค้า 13.8

  10. โครงสร้างทางกายภาพของฐานข้อมูลโครงสร้างทางกายภาพของฐานข้อมูล 13.9

  11. FILE RECORD RECORD RECORD ... RECORD FILED FILED FILED BYTE BYTE BIT BIT โครงสร้างทางกายภาพของฐานข้อมูล 13.10

  12. การกำหนดชนิดข้อมูล การเลือกชนิดของข้อมูลต้องคำนึงถึงสิ่งต่อไปนี้ • ประหยัดเนื้อที่ในการจัดเก็บมากที่สุด • สามารถแทนค่าที่เป็นไปได้ทั้งหมดของ fields • คงคุณสมบัติความถูกต้องของข้อมูล • รองรับความเติบโตในอนาคตของข้อมูล 13.11

  13. การกำหนดชนิดข้อมูล 13.12

  14. การกำหนดชนิดข้อมูล Create Table factory ( fac_id int not null, fac_name varchar(25) not null, zone varchar(10) , Constraint pk_fac_id primary key (fac_id)); Create table car ( car_id int not null, car_name varchar(25) not null, series varchar(25) not null, color varchar(10), price real, car_date datetime, fac_id int, Constraint pk_car_id primary key (car_id), Constraint ak_car_name unique(car_name), Constraint ak_series unique(series), Constraint ch_color check(color in('red','black','blue','green')), Constraint ch_price check(price between 100000 and 500000), Constraint ch_date check(car_date < getdate()), Constraint fk_fac_id foreign key (fac_id) references factory); 13.13

  15. การออกแบบฐานข้อมูลในระดับกายภาพโดยแปลง Logical Schema เป็น Table ขั้นตอนการออกแบบฐานข้อมูลในระดับ Physical มีดังต่อไปนี้ • การแปลง Logical Schema ให้อยู่ในรูปแบบของ Table • กำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูล • กำหนดวิธีการรักษาความปลอดภัยให้กับฐานข้อมูล • ตรวจสอบและปรับเปลี่ยนระบบ 13.14

  16. การแปลง Logical Schema ให้อยู่ในรูปแบบของ Table สำหรับการดำเนินงานของขั้นตอนนี้จะแบ่งเป็น 2 ส่วนดังนี้ • การออกแบบโครงสร้างทางกายภาพให้กับ Table • การกำหนด Integrity Rules 13.15

  17. การออกแบบโครงสร้างทางกายภาพให้กับ Table การออกแบบโครงสร้างทางกายภาพให้กับ Table ได้แก่การนำ Relation ต่าง ๆ ที่กำหนดอยู่ใน Relational Schema ที่ได้จากการออกแบบฐานข้อมูลในระดับ Logical มาสร้างเป็น Table ซึ่งจะต้องมีการกำหนดรายละเอียดให้กับ Table ก่อน ดังนี้ • ชื่อของ Table • รายชื่อ Attribute ต่างๆ ของแต่ละ Table • ประเภทของข้อมูล (Data Type) ของแต่ละ Attribute • ขนาดของแต่ละ Attribute • รายชื่อของ Attribute ที่ทำหน้าที่เป็น Primary Key ,Foreign Key หรือ Alternate Key • Integrity Rule ที่ใช้ควบคุม Primary Key และ Foreign Key 13.16

  18. การออกแบบโครงสร้างทางกายภาพให้กับ Table จากโครงสร้างต่อไปนี้สามารถนำมากำหนดโครงสร้างทางกายภาพได้ดังนี้ Employee(Emp-No,Name,Address,Sex,Salary,DeptNo) 13.17

  19. การออกแบบโครงสร้างทางกายภาพให้กับ Table 13.18

  20. การออกแบบโครงสร้างทางกายภาพให้กับ Table อาจใช้ภาษา SQL ในการสร้าง Table ขึ้นใช้งานแทนเช่น CREATE TABLE Employee (EmpNo Char(5), Name VARCHAR (25), Address VARCHAR (30), Sex CHAR(1), Salary CURRENCY, DeptNo CHAR(3)) PRIMARY KEY (EmpNo); 13.19

  21. การกำหนด Integrity Rules สามารถแบ่งเป็น 2 ส่วน ดังนี้ • การกำหนด Entity Integrity Rule เป็นการกำหนด IntegrityRule ขึ้นเพื่อควบคุมค่าของ Attribute ต่างๆ ให้มีค่าเป็นไปตามที่กำหนดดังเช่น ตัวอย่างคำสั่ง SQL • การกำหนด Referential Integrity Rule เป็นการกำหนด Integrity Rule ขึ้นเพื่อควบคุมความถูกต้องในการอ้างถึงข้อมูลระหว่าง Table ต่างๆ ดังเช่น ตัวอย่างคำสั่ง SQL 13.20

  22. การกำหนด Entity Integrity Rule CREATE DOMAIN Sex as CHAR(1) CHECK (VALUE IN (“M”, “F”)): CREATE TABLE Employee (EmpNo CHAR(5) Not Null, Name VARCHR(25) Not Null, Address VARCHAR(30) Not Null, Sex CHAR(1) Not Null, Salary CURRENCY Not Null, DeptNo CHAR(3) Not Null, PRIMARY KEY (EmpNo); 13.21

  23. การกำหนด Referential Integrity Rule CREATE DOMAIN Sex as CHAR(1) CHECK (VALUE IN (“M”, “F”)): CREATE TABLE Employee (EmpNo CHAR(5) Not Null, Name VARCHR(25) Not Null, Address VARCHAR(30) Not Null, Sex CHAR(1) Not Null, Salary CURRENCY Not Null, DeptNo CHAR(3) Not Null, PRIMARY KEY (EmpNo); FOREIGN KEY (DeptNo) REFERENCES Department ON DELETE NO ACTION ON UPDATE CASCADE; 13.22

  24. กำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูลกำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูล จุดประสงค์ในการกำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูล เพื่อให้สามารถ ใช้เนื้อที่ในการจัดเก็บข้อมูลได้อย่างมีประสิทธิภาพ และส่งถ่ายข้อมูลได้อย่าง รวดเร็ว สำหรับขั้นตอนในการกำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูลนั้น มีดังนี้ • วิเคราะห์ปริมาณข้อมูล • กำหนดโครงสร้างของแฟ้มข้อมูล (File organization) • กำหนด Index ให้กับ Table • กำหนดโครงสร้างให้กับ Table เพื่อลดความซ้ำซ้อนของข้อมูล • คำนวณเนื้อที่ในการจัดเก็บข้อมูล 13.23

  25. วิเคราะห์ปริมาณข้อมูลวิเคราะห์ปริมาณข้อมูล เป็นการวิเคราะห์ข้อมูลว่าเกี่ยวข้องกับงานต่าง ๆ อย่างไร เช่นความถี่ในการเพิ่ม ลบ แก้ไข หรือเรียกใช้งาน เป็นต้น เพื่อใช้ตัดสินใจเลือกโครงสร้างของแฟ้มข้อมูล ที่เหมาะสมกับฐานข้อมูลต่อไป 13.24

  26. การกำหนดโครงสร้างของแฟ้มข้อมูล (File Organization) เป็นขั้นตอนที่ นักวิเคราะห์และออกแบบระบบ จะต้องมีการเลือกโครงสร้างของ แฟ้มข้อมูลที่เหมาะสมให้กับฐานข้อมูล เช่น Heap,Hash,Idexed Sequential Access Method (ISAM) 13.25

  27. กำหนด Index ให้กับ Table เป็นขั้นตอนที่ผู้ออกแบบฐานข้อมูล จะต้องกำหนด Primary Index และ Secondary Index ให้กับ Table เพื่อเพิ่มความสามารถในการเข้าถึงข้อมูล โดยมี หลักในการพิจารณาดังนี้ • เลือก Primary key มาสร้างเป็น Primaryindex • Index ควรสร้างขึ้นบน Table ที่มีจำนวนข้อมูลอยู่มาก • หลีกเลี่ยงการใช้ Attribute ที่มีการเปลี่ยนแปลงค่าบ่อย • หลีกเลี่ยงการใช้ Attribute ที่มีขนาดใหญ่มาสร้างเป็น Index 13.26

  28. กำหนดโครงสร้างให้กับ Table เพื่อลดความซ้ำซ้อนของข้อมูล เป็นขั้นตอนที่นักวิเคราะห์และออกแบบระบบ จะต้องพิจารณาเลือก Attribute ประเภท Derived Data ว่า Attribute ใดควรกำหนดไว้ในโครงสร้างของ Table รวมทั้งทำการปรับเปลี่ยนโครงสร้างของแต่ละ Table โดยใช้กฏของการทำ Normalization เพื่อลดความซ้ำซ้อนของข้อมูลใน Table ต่าง ๆ 13.27

  29. คำนวณหาเนื้อที่ที่จะต้องใช้ในการจัดเก็บข้อมูลคำนวณหาเนื้อที่ที่จะต้องใช้ในการจัดเก็บข้อมูล เนื้อที่ของ Table = (จำนวน Tuple * ขนาดของ Tuble) + ขนาดของ Index + เนื่อที่ที่ระบบใช้เพื่อกำหนดรายละเอียดของแต่ละ Table ขนาดของ Tuple = ผลรวมของขนาดของ Attribute ขนาดของ Attribute= ขนาดของ Attribute นั้น + เนื้อที่ที่ระบบใช้ตามประเภท ของข้อมูลของ Attribute นั้น 13.28

  30. กำหนดวิธีการรักษาความปลอดภัยกำหนดวิธีการรักษาความปลอดภัย ในการกำหนดความปลอดภัยให้กับฐานข้อมูล จะแบ่งออกเป็น 2 ส่วนดังนี้ • การกำหนดขอบเขตของข้อมูล (View) ให้กับผู้ใช้ • การกำหนดสิทธิ์การใช้งานให้กับผู้ใช้ 13.29

  31. กำหนดวิธีการรักษาความปลอดภัยกำหนดวิธีการรักษาความปลอดภัย • การกำหนดขอบเขตของข้อมูล (View) ให้กับผู้ใช้เพื่อกำหนดขอบเขตของข้อมูล ที่สามารถถูกกระทำโดยผู้ใช้ที่เรียกใช้ View เช่น CREATE VIEW Staff3 AS SELECT sno,fname,address,tel_no,position,sex FORM staff WHERE bno = “B3”; 13.30

  32. กำหนดวิธีการรักษาความปลอดภัยกำหนดวิธีการรักษาความปลอดภัย การกำหนดสิทธิ์การใช้งานให้กับผู้ใช้ จะส่งผลให้แต่ละคน สามารถเข้าถึงข้อมูล เฉพาะที่ตนเองมีสิทธิ์เท่านั้น เช่น GRANT SELECT, UPDATE,DELETE ON staff TO manager; เป็นคำสั่งที่ใช้กำหนดสิทธิ์การใช้งาน Table “staff” ซึ่งประกอบด้วย การเรียก ดูข้อมูล (SELECT) การแก้ไขข้อมูล (UPDATE) และการลบข้อมูล (DELETE) ให้กับผู้ใช้ที่ชื่อ “manager” 13.31

  33. การตรวจสอบและปรับเปลี่ยนระบบการตรวจสอบและปรับเปลี่ยนระบบ ขั้นตอนสุดท้ายของการออกแบบฐานข้อมูลในระดับกายภาพ ได้แก่ • การตรวจสอบ • การปรับเปลี่ยนระบบ ซึ่งขั้นตอนที่เกิดขึ้น เมื่อฐานข้อมูลถูกใช้งานไปแล้ว เนื่องจากฐานข้อมูลที่ ออกแบบไว้ อาจมีข้อผิดพลาดหรือ มีการเพิ่มเติม หรือเปลี่ยนแปลงความต้องการ ของผู้ใช้ 13.32

  34. การออกแบบและสร้างฐานข้อมูลในระดับกายภาพ โดยใช้ Microsoft Access 13.33

  35. Reference Book and Text Book • ตำราอ้างอิง • การวิเคราะห์และออกแบบระบบ กิตติ ภักดีวัฒนกุล และพนิดา พานิชกุล • Modern Systems Analysis & Design : Jeffrey A. Hoffer, Joey F.George, Joseph S. Valacich 13.34

  36. Q & A 13.35

More Related