ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
ส่วนที่ 4 System Design การออกแบบระบบ
2
Chapter 13 Physical Database Design การออกแบบฐานข้อมูลในระดับกายภาพ
3
System Development Life Cycle : SDLC
กิจกรรมในขั้นตอนนี้ได้แก่ 1. การออกแบบฐานข้อมูลใน ระดับกายภาพ 2. การออกแบบ Application 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 FILED BYTE 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 and ), 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
Employee(Emp-No,Name,Address,Sex,Salary,DeptNo)
การออกแบบโครงสร้างทางกายภาพให้กับ Table Employee(Emp-No,Name,Address,Sex,Salary,DeptNo) จากโครงสร้างต่อไปนี้สามารถนำมากำหนดโครงสร้างทางกายภาพได้ดังนี้ 13.17
19
การออกแบบโครงสร้างทางกายภาพให้กับ Table
ชื่อ Attribute ประเภทข้อมูล ขนาด Domain ของข้อมูล ประเภท Key Attributeที่อ้างถึง Emp-No Charแบบ Fixed-Length 5 - Primary Key Name 25 Alternate Key Address 30 Sex 1 “M” หรือ”F” Salary Currency DeptNo 3 Foreign Key DeptNo ของTable”Dept” 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 เป็นการกำหนด Integrity Rule ขึ้นเพื่อควบคุมค่าของ 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 มาสร้างเป็น Primary index 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
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.