36
สสสสสสส สสสสสสส 4 4 System Design กกกกกกกกกกกกก กกกกกกกกกกกกก

ส่วนที่ 4

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: ส่วนที่ 4

ส่�วนที่�� ส่�วนที่�� 44 System Design

การออกแบบระบบการออกแบบระบบ

Page 2: ส่วนที่ 4

Chapter 13Chapter 13Physical Database DesignPhysical Database Design

การออกแบบฐานข้�อมู ลในระดั�บการออกแบบฐานข้�อมู ลในระดั�บกายภาพกายภาพ

Page 3: ส่วนที่ 4

System Development Life Cycle : SDLC

13.213.2

กิจกิรรมในขั้��นตอนน��ได้�แกิ�1. กิารออกิแบบฐานขั้�อม�ลในระด้�บกิายภาพ2. กิารออกิแบบ Application

Page 4: ส่วนที่ 4

Learning Objectives

13.313.3

เพ��อให้�ผู้ �เร�ยนสามูารถเข้�าใจและอธิ�บายการออกแบบฐานข้�อมู ลในระดั�บกายภาพ (Physical Database Design)

เพ��อให้�ผู้ �เร�ยนเข้�าใจโครงสร�างทางกายภาพข้องฐานข้�อมู ล เพ��อให้�ผู้ �เร�ยนสามูารถออกแบบฐานข้�อมู ลในระดั�บกายภาพ โดัยแปลง

Logical Schema ให้�เป&น Table เพ��อให้�ผู้ �เร�ยนออกแบบและสร�างฐานข้�อมู ลในระดั�บกายภาพ โดัยใช้�

Microsoft Access

Page 5: ส่วนที่ 4

Topics

13.413.4

ข้�(นตอนการออกแบบฐานข้�อมู ลในระดั�บกายภาพ โครงสร�างทางกายภาพข้องฐานข้�อมู ล การออกแบบฐานข้�อมู ลในระดั�บกายภาพ โดัยแปลง Logical

Schema ให้�เป&น Table การออกแบบและสร�างฐานข้�อมู ลในระดั�บกายภาพ โดัยใช้�

Microsoft Access

Page 6: ส่วนที่ 4

กิารออกิแบบฐานขั้�อม�ลในระด้�บกิายภาพ

13.513.5

การออกแบบฐานข้�อมู ลในระดั�บ Conceptual และ Logical เป&นการวางโครงสร�างข้องฐานข้�อมู ลท��ย�งไมู,มู�การก-าห้นดัห้ร�อระบ.รายละเอ�ยดัลงไปว,า ข้�อมู ลต,าง ๆ จะจ�ดัเก0บลงในห้น,วยความูจ-าส-ารองดั�วยว�ธิ�ใดั ใช้�ซอฟต3แวร3อะไร

การออกแบบฐานข้�อมู ลในระดั�บกายภาพ จ4งเป&นการออกแบบเพ��อก-าห้นดัโครงสร�างทางกายภาพข้องฐานข้�อมู ล จากโครงสร�างท��ไดั�ร�บการออกแบบมูาแล�วในระดั�บตรรกะ

1 . ดั�วยการน-า Relation ท��ไดั�มูาสร�างเป&น Table 2. และก-าห้นดัโครงสร�างทางกายภาพให้�ก�บ Table น�(น 3. ก-าห้นดักฎข้องความูถ กต�อง (Integrity Rules)4. การก-าห้นดัโครงสร�างแฟ6มูข้�อมู ล (File Organization)

Page 7: ส่วนที่ 4

โครงส่ร�างที่างกิายภาพขั้องฐานขั้�อม�ล

13.613.6

โครงส่ร�างแฟ้%มขั้�อม�ล โครงสร�างแฟ6มูข้�อมู ลจะประกอบดั�วยโครงสร�างพ�(นฐานท��ล-าดั�บจากห้น,วยท��เล0กท��ส.ดัไปย�งห้น,วยท��ให้ญ่,ท��ส.ดั ตามูล-าดั�บต,อไปน�(

1 . บ�ต (Bit)

2 . ไบต3 (Byte)

3 . ฟ8ลดั3 (Field)

4 . เรคอร3ดั (Record)

5. ไฟล3 (File)

6. ฐานข้�อมู ล (Database)

Page 8: ส่วนที่ 4

โครงส่ร�างที่างกิายภาพขั้องฐานขั้�อม�ล

13.713.7

บต (Bit)จะประกอบดั�วยเลข้ฐานสอง (Binary D igit) ท��ใช้�แทนค,าห้น,วยท��เล0กท��ส.ดัข้องข้�อมู ลในระบบคอมูพ�วเตอร3 โดัยบ�ตจะมู�อย ,เพ�ยงห้น4�งในสองสถานะเท,าน�(นค�อ 0ห้ร�อ 1

ไบต& (Byte) จะประกอบดั�วยจ-านวนบ�ต (Bit) ห้ลาย ๆ บ�ตมูาเร�ยงต,อก�น เน��องจากว,าเพ�ยงบ�ตเดั�ยวจะสามูารถใช้�แทนรห้�สไดั�เพ�ยงห้น4�งในสองสถานะเท,าน�(น ค�อ 0 ก�บ 1 ดั�งน�(นจ4งจ-าเป&นต�องน-าบ�ตห้ลาย ๆ บ�ตมูารวมูก�นเป&นไบต3 เช้,น 1 ไบต3 มู� 8 บ�ต ก0ค�อการน-าเลข้ 0 ก�บ 1 มูาเร�ยงต,อก�นจนครบ 1 ไบต3จ4งท-าให้�สามูารถสร�างรห้�สแทนข้�อมู ลข้4(นมูาเพ��อใช้�ส-าห้ร�บแทนต�วอ�กษรห้ร�ออ�กข้ระท��แตกต,างก�นไดั�ถ4ง

256 ต�วดั�วยก�น

ฟ้'ลด้& (Field) ค�อการน-าอ�กข้ระต�(งแต,ห้น4�งต�วข้4(นไปมูารวมูก�นเพ��อให้�เก�ดัความูห้มูาย เช้,น ฟ8ลดั3

Cust_Id เป&นฟ8ลดั3ท��ใช้�เก0บข้�อมู ลรห้�สล กค�า ,ฟ8ลดั3 Cust_name เป&นฟ8ลดั3ท��ใช้�เก0บข้�อมู ลช้��อล กค�า เป&นต�น

Page 9: ส่วนที่ 4

โครงส่ร�างที่างกิายภาพขั้องฐานขั้�อม�ล

13.813.8

เรคอร&ด้ (Record)ค�อข้องฟ8ลดั3ท��ส�มูพ�นธิ3ก�น เช้,นในห้น4�งเรคอร3ดัประกอบฟ8ลดั3ต,างๆ ท��ข้�องเก��ยวก�นรวมูก�นเป&นช้.ดั เรคอร3ดัข้องล กค�า ประกอบดั�วยฟ8ลดั3 รห้�สล กค�า ช้��อ-สก.ล ท��อย , เบอร3โทรศั�พท3 เป&นต�น ดั�งน�(นในห้น4�งเรคอร3ดัก0จะต�องมู�อย,างน�อยห้น4�งฟ8ลดั3เพ��อใช้�ในการอ�างอ�งข้�อมู ลในเรคอร3ดั น�(น ๆ

ไฟ้ล& (File)ค�อกล.,มูข้องเรคอร3ดัส�มูพ�นธิ3ก�น เช้,นในแฟ6มูข้�อมู ลล กค�าประกอบดั�วยเรคอร3ดัข้องล กค�าท�(งห้มูดัข้องบร�ษ�ท ดั�งน�(นในห้น4�งไฟล3ก0จะต�องมู�อย,างน�อยห้น4�งเรคอร3ดัเพ��อใช้�ในการอ,านข้�อมู ลข้4(นมูาใช้�งาน

ฐานขั้�อม�ล (Database) เก�ดัจากการน-าไฟล3ท��เก��ยวข้�องก�นมูาจ�ดัเก0บไว�ท��เดั�ยวก�นอย,างมู�ระบบ เพ��อให้�สามูารถเร�ยกใช้�และจ�ดัการข้�อมู ลไดั�อย,างมู�ประส�ทธิ�ภาพ เช้,น ไฟล3ข้�อมู ลพน�กงาน ส�นค�าคล�งคล�ง พน�กงานข้าย และล กค�า

Page 10: ส่วนที่ 4

โครงส่ร�างที่างกิายภาพขั้องฐานขั้�อม�ล

13.913.9

Page 11: ส่วนที่ 4

โครงส่ร�างที่างกิายภาพขั้องฐานขั้�อม�ล

13.1013.10

FILEFILE

RECORD

RECORD

RECORD

RECORD

RECORD

RECORD

RECORD

RECORD

FILEDFILED FILEDFILED FILEDFILED

BYTEBYTE BYTEBYTE

BITBIT BITBIT

...

Page 12: ส่วนที่ 4

กิารกิ)าหนด้ชนด้ขั้�อม�ล

13.1113.11

การเล�อกช้น�ดัข้องข้�อมู ลต�องค-าน4งถ4งส��งต,อไปน�( ประห้ย�ดัเน�(อท��ในการจ�ดัเก0บมูากท��ส.ดั สามูารถแทนค,าท��เป&นไปไดั�ท�(งห้มูดัข้อง fields คงค.ณสมูบ�ต�ความูถ กต�องข้องข้�อมู ล รองร�บความูเต�บโตในอนาคตข้องข้�อมู ล

Page 13: ส่วนที่ 4

กิารกิ)าหนด้ชนด้ขั้�อม�ล

13.1213.12

Page 14: ส่วนที่ 4

กิารกิ)าหนด้ชนด้ขั้�อม�ล

13.1313.13

Create Table factory ( fac_id int not null,

fac_name varchar(25) not null,zone ,10

Constraint pk_fac_id primary key (fac_id)); Create table car

( car_id int not null,car_name 25varchar( ) not null,series 25varchar( ) not null,color 10varchar( ),price real,car_date datetime,fac_id int,Constraint pk_car_id primary key (car_id),Constraint __ (_),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);

Page 15: ส่วนที่ 4

กิารออกิแบบฐานขั้�อม�ลในระด้�บกิายภาพโด้ยแปลง Logical Schema เป-น Table

13.1413.14

ข้�(นตอนการออกแบบฐานข้�อมู ลในระดั�บ Physical มู�ดั�งต,อไปน�( การแปลง Logical Schema ให้�อย ,ในร ปแบบข้อง Table ก-าห้นดัโครงสร�างทางกายภาพให้�ก�บฐานข้�อมู ล ก-าห้นดัว�ธิ�การร�กษาความูปลอดัภ�ยให้�ก�บฐานข้�อมู ล ตรวจสอบและปร�บเปล��ยนระบบ

Page 16: ส่วนที่ 4

กิารแปลง Logical Schema ให�อย��ในร�ปแบบขั้อง Table

13.1513.15

ส-าห้ร�บการดั-าเน�นงานข้องข้�(นตอนน�(จะแบ,งเป&น 2 ส,วนดั�งน�( การออกแบบโครงสร�างทางกายภาพให้�ก�บ Table การก-าห้นดั Integrity Rules

Page 17: ส่วนที่ 4

กิารออกิแบบโครงส่ร�างที่างกิายภาพให�กิ�บ Table

13.1613.16

การออกแบบโครงสร�างทางกายภาพให้�ก�บ Table ไดั�แก,การน-า Relation ต,าง ๆ ท��ก-าห้นดัอย ,ใน Relational Schema ท��ไดั�จากการออกแบบฐานข้�อมู ลในระดั�บ Logical มูาสร�างเป&น Table ซ4�งจะต�องมู�การก-าห้นดัรายละเอ�ยดัให้�ก�บ Table ก,อนดั�งน�(

ช้��อข้อง Table รายช้��อ Attribute ต,างๆ ข้องแต,ละ Table ประเภทข้องข้�อมู ล (Data Type) ข้องแต,ละ Attribute ข้นาดัข้องแต,ละ Attribute รายช้��อข้อง Attribute ท��ท-าห้น�าท��เป&น Primary Key ,Foreign Key

ห้ร�อ Alternate Key Integrity Rule ท��ใช้�ควบค.มู Primary Key และ Foreign Key

Page 18: ส่วนที่ 4

กิารออกิแบบโครงส่ร�างที่างกิายภาพให�กิ�บ Table

13.1713.17

จากโครงสร�างต,อไปน�(สามูารถน-ามูาก-าห้นดัโครงสร�างทางกายภาพไดั�ดั�งน�(

Employee(Emp-No,Name,Address,Sex,Salary,DeptNo)

Page 19: ส่วนที่ 4

กิารออกิแบบโครงส่ร�างที่างกิายภาพให�กิ�บ Table

13.1813.18

ช้��อ Attribute

ประเภทข้�อมู ล ข้นาดั Domain ข้องข้�อมู ล

ประเภท Key Attributeท��อ�างถ4ง

Emp-No

Charแบบ Fixed-Length

5 - Primary Key

-

Name Charแบบ Fixed-Length

25 - Alternate Key

-

Address

Charแบบ Fixed-Length

30 - - -

Sex Charแบบ Fixed-Length

1 “M” ห้ร�อ”F” - -

Salary Currency - 0.00-99999.00

- -

DeptNo Charแบบ Fixed-Length

3 - Foreign Key DeptNo ข้องTable”Dept”

Page 20: ส่วนที่ 4

กิารออกิแบบโครงส่ร�างที่างกิายภาพให�กิ�บ Table

13.1913.19

อาจใช้�ภาษา SQL ในการสร�าง Table ข้4(นใช้�งานแทนเช้,น

CREATE TABLE Employee (EmpNo Char(5),Name VARCHAR (25),Address VARCHAR (30),Sex CHAR(1),Salary CURRENCY,DeptNo CHAR(3))

PRIMARY KEY (EmpNo);

Page 21: ส่วนที่ 4

กิารกิ)าหนด้ Integrity Rules

13.2013.20

สามูารถแบ,งเป&น 2 ส,วน ดั�งน�( การก-าห้นดั Entity Integrity Rule เป&นการก-าห้นดั Integrity Rule ข้4(นเพ��อ

ควบค.มูค,าข้อง Attribute ต,างๆ ให้�มู�ค,าเป&นไปตามูท��ก-าห้นดั ดั�งเช้,น ต�วอย,างค-าส��ง SQL

การก-าห้นดั Referential Integrity Rule เป&นการก-าห้นดั Integrity Rule ข้4(นเพ��อควบค.มูความูถ กต�องในการอ�างถ4งข้�อมู ลระห้ว,าง Table ต,างๆ ดั�งเช้,น ต�วอย,างค-าส��ง SQL

Page 22: ส่วนที่ 4

กิารกิ)าหนด้ Entity Integrity Rule

13.2113.21

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);

Page 23: ส่วนที่ 4

กิารกิ)าหนด้ Referential Integrity Rule

13.2213.22

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;

Page 24: ส่วนที่ 4

กิ)าหนด้โครงส่ร�างที่างกิายภาพให�กิ�บฐานขั้�อม�ล

13.2313.23

จ.ดัประสงค3ในการก-าห้นดัโครงสร�างทางกายภาพให้�ก�บฐานข้�อมู ล เพ��อให้�สามูารถใช้�เน�(อท��ในการจ�ดัเก0บข้�อมู ลไดั�อย,างมู�ประส�ทธิ�ภาพ และส,งถ,ายข้�อมู ลไดั�อย,างรวดัเร0ว ส-าห้ร�บข้�(นตอนในการก-าห้นดัโครงสร�างทางกายภาพให้�ก�บฐานข้�อมู ลน�(น มู�ดั�งน�( ว�เคราะห้3ปร�มูาณข้�อมู ล ก-าห้นดัโครงสร�างข้องแฟ6มูข้�อมู ล (File organization) ก-าห้นดั Index ให้�ก�บ Table ก-าห้นดัโครงสร�างให้�ก�บ Table เพ��อลดัความูซ-(าซ�อนข้องข้�อมู ล ค-านวณเน�(อท��ในการจ�ดัเก0บข้�อมู ล

Page 25: ส่วนที่ 4

วเคราะห&ปรมาณขั้�อม�ล

13.2413.24

เป&นการว�เคราะห้3ข้�อมู ลว,าเก��ยวข้�องก�บงานต,าง ๆ อย,างไร เช้,นความูถ��ในการเพ��มู ลบ แก�ไข้ ห้ร�อเร�ยกใช้�งาน เป&นต�น เพ��อใช้�ต�ดัส�นใจเล�อกโครงสร�างข้องแฟ6มูข้�อมู ลท��เห้มูาะสมูก�บฐานข้�อมู ลต,อไป

Page 26: ส่วนที่ 4

กิารกิ)าหนด้โครงส่ร�างขั้องแฟ้%มขั้�อม�ล (File Organization)

13.2513.25

เป&นข้�(นตอนท�� น�กว�เคราะห้3และออกแบบระบบ จะต�องมู�การเล�อกโครงสร�างข้องแฟ6มูข้�อมู ลท��เห้มูาะสมูให้�ก�บฐานข้�อมู ล เช้,น Heap,Hash,Idexed Sequential Access Method (ISAM)

Page 27: ส่วนที่ 4

กิ)าหนด้ Index ให�กิ�บ Table

13.2613.26

เป&นข้�(นตอนท��ผู้ �ออกแบบฐานข้�อมู ล จะต�องก-าห้นดั Primary Index และ Secondary Index ให้�ก�บ Table เพ��อเพ��มูความูสามูารถในการเข้�าถ4งข้�อมู ล โดัยมู�ห้ล�กในการพ�จารณาดั�งน�( เล�อก Primary key มูาสร�างเป&น Primary index Index ควรสร�างข้4(นบน Table ท��มู�จ-านวนข้�อมู ลอย ,มูาก ห้ล�กเล��ยงการใช้� Attribute ท��มู�การเปล��ยนแปลงค,าบ,อย ห้ล�กเล��ยงการใช้� Attribute ท��มู�ข้นาดัให้ญ่,มูาสร�างเป&น Index

Page 28: ส่วนที่ 4

กิ)าหนด้โครงส่ร�างให�กิ�บ Table เพ/�อลด้ความซ้ำ)�าซ้ำ�อนขั้องขั้�อม�ล

13.2713.27

เป&นข้�(นตอนท��น�กว�เคราะห้3และออกแบบระบบ จะต�องพ�จารณาเล�อก Attribute ประเภท Derived Data ว,า Attribute ใดัควรก-าห้นดัไว�ในโครงสร�างข้อง Tableรวมูท�(งท-าการปร�บเปล��ยนโครงสร�างข้องแต,ละ Table โดัยใช้�กฏข้องการท-า Normalization เพ��อลดัความูซ-(าซ�อนข้องข้�อมู ลใน Table ต,าง ๆ

Page 29: ส่วนที่ 4

ค)านวณหาเน/�อที่��ที่��จะต�องใช�ในกิารจ�ด้เกิ1บขั้�อม�ล

13.2813.28

เน�(อท��ข้อง Table = (จ-านวน Tuple * ข้นาดัข้อง Tuble) + ข้นาดัข้อง Index + เน��อท��ท��ระบบใช้�เพ��อก-าห้นดัรายละเอ�ยดัข้องแต,ละ Table

ข้นาดัข้อง Tuple = ผู้ลรวมูข้องข้นาดัข้อง Attribute

ข้นาดัข้อง Attribute = ข้นาดัข้อง Attribute น�(น + เน�(อท��ท��ระบบใช้�ตามูประเภท ข้องข้�อมู ลข้อง Attribute น�(น

Page 30: ส่วนที่ 4

กิ)าหนด้วธี�กิารร�กิษาความปลอด้ภ�ย

13.2913.29

ในการก-าห้นดัความูปลอดัภ�ยให้�ก�บฐานข้�อมู ล จะแบ,งออกเป&น 2 ส,วนดั�งน�(

การก-าห้นดัข้อบเข้ตข้องข้�อมู ล (View) ให้�ก�บผู้ �ใช้� การก-าห้นดัส�ทธิ�?การใช้�งานให้�ก�บผู้ �ใช้�

Page 31: ส่วนที่ 4

กิ)าหนด้วธี�กิารร�กิษาความปลอด้ภ�ย

13.3013.30

การก-าห้นดัข้อบเข้ตข้องข้�อมู ล (View) ให้�ก�บผู้ �ใช้�เพ��อก-าห้นดัข้อบเข้ตข้องข้�อมู ล ท��สามูารถถ กกระท-าโดัยผู้ �ใช้�ท��เร�ยกใช้� View เช้,น

CREATE VIEW Staff3 AS SELECT sno,fname,address,tel_no,position,sex

FORM staff WHERE bno = “B3”;

Page 32: ส่วนที่ 4

กิ)าหนด้วธี�กิารร�กิษาความปลอด้ภ�ย

13.3113.31

การก-าห้นดัส�ทธิ�?การใช้�งานให้�ก�บผู้ �ใช้� จะส,งผู้ลให้�แต,ละคน สามูารถเข้�าถ4งข้�อมู ลเฉพาะท��ตนเองมู�ส�ทธิ�?เท,าน�(น เช้,น

GRANT SELECT, UPDATE,DELETE ON staff TO manager;

เป&นค-าส��งท��ใช้�ก-าห้นดัส�ทธิ�?การใช้�งาน Table “staff” ซ4�งประกอบดั�วย การเร�ยกดั ข้�อมู ล (SELECT) การแก�ไข้ข้�อมู ล (UPDATE) และการลบข้�อมู ล (DELETE) ให้�ก�บผู้ �ใช้�ท��ช้��อ “manager”

Page 33: ส่วนที่ 4

กิารตรวจส่อบและปร�บเปล��ยนระบบ

13.3213.32

ข้�(นตอนส.ดัท�ายข้องการออกแบบฐานข้�อมู ลในระดั�บกายภาพ ไดั�แก, การตรวจสอบ การปร�บเปล��ยนระบบ

ซ4�งข้�(นตอนท��เก�ดัข้4(น เมู��อฐานข้�อมู ลถ กใช้�งานไปแล�ว เน��องจากฐานข้�อมู ลท��ออกแบบไว� อาจมู�ข้�อผู้�ดัพลาดัห้ร�อ มู�การเพ��มูเต�มู ห้ร�อเปล��ยนแปลงความูต�องการข้องผู้ �ใช้�

Page 34: ส่วนที่ 4

กิารออกิแบบและส่ร�างฐานขั้�อม�ลในระด้�บกิายภาพ โด้ยใช� Microsoft Access

13.3313.33

Page 35: ส่วนที่ 4

Reference Book and Text Book ต)าราอ�างอง

การว�เคราะห้3และออกแบบระบบ ก�ตต� ภ�กดั�ว�ฒนก.ล และพน�ดัา พาน�ช้ก.ล

Modern Systems Analysis & Design : Jeffrey A. Hoffer, Joey F.George, Joseph S. Valacich

13.3413.34

Page 36: ส่วนที่ 4

Q & A

13.3513.35