slide1
Download
Skip this Video
Download Presentation
ส่วนที่ 4

Loading in 2 Seconds...

play fullscreen
1 / 36

ส่วนที่ 4 - PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ส่วนที่ 4' - dora-nunez


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

ส่วนที่ 4

System Design

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

slide2

Chapter 13

Physical Database Design

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

slide3

กิจกรรมในขั้นตอนนี้ได้แก่กิจกรรมในขั้นตอนนี้ได้แก่

1. การออกแบบฐานข้อมูลใน

ระดับกายภาพ

2. การออกแบบ Application

System Development Life Cycle : SDLC

13.2

slide4

Learning Objectives

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

13.3

slide5

Topics

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

13.4

slide6

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

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

13.5

slide7

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

โครงสร้างแฟ้มข้อมูล

โครงสร้างแฟ้มข้อมูลจะประกอบด้วยโครงสร้างพื้นฐานที่ลำดับจากหน่วยที่

เล็กที่สุดไปยังหน่วยที่ใหญ่ที่สุด ตามลำดับต่อไปนี้

  • บิต (Bit)
  • ไบต์ (Byte)
  • ฟิลด์ (Field)
  • เรคอร์ด (Record)
  • ไฟล์ (File)
  • ฐานข้อมูล (Database)

13.6

slide8

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

บิต (Bit)

จะประกอบด้วยเลขฐานสอง (Binary Digit) ที่ใช้แทนค่าหน่วยที่เล็กที่สุดของข้อมูลในระบบคอมพิวเตอร์ โดยบิตจะมีอยู่เพียงหนึ่งในสองสถานะเท่านั้นคือ 0 หรือ 1

ไบต์ (Byte)

จะประกอบด้วยจำนวนบิต (Bit) หลาย ๆ บิตมาเรียงต่อกัน เนื่องจากว่าเพียงบิตเดียวจะสามารถใช้แทนรหัสได้เพียงหนึ่งในสองสถานะเท่านั้น คือ 0 กับ 1 ดังนั้นจึงจำเป็นต้องนำบิตหลาย ๆ บิตมารวมกันเป็นไบต์ เช่น 1 ไบต์ มี 8 บิต ก็คือการนำเลข 0 กับ 1 มาเรียงต่อกันจนครบ 1 ไบต์จึงทำให้สามารถสร้างรหัสแทนข้อมูลขึ้นมาเพื่อใช้สำหรับแทนตัวอักษรหรืออักขระที่แตกต่างกันได้ถึง 256 ตัวด้วยกัน

ฟิลด์ (Field)

คือการนำอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันเพื่อให้เกิดความหมาย เช่น ฟิลด์ Cust_Id เป็นฟิลด์ที่ใช้เก็บข้อมูลรหัสลูกค้า ,ฟิลด์ Cust_name เป็นฟิลด์ที่ใช้เก็บข้อมูลชื่อลูกค้า เป็นต้น

13.7

slide9

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

เรคอร์ด (Record)

คือของฟิลด์ที่สัมพันธ์กัน เช่นในหนึ่งเรคอร์ดประกอบฟิลด์ต่างๆ ที่ข้องเกี่ยวกันรวมกันเป็นชุด เรคอร์ดของลูกค้า ประกอบด้วยฟิลด์ รหัสลูกค้า ชื่อ-สกุล ที่อยู่ เบอร์โทรศัพท์ เป็นต้น ดังนั้นในหนึ่งเรคอร์ดก็จะต้องมีอย่างน้อยหนึ่งฟิลด์เพื่อใช้ในการอ้างอิงข้อมูลในเรคอร์ด นั้น ๆ

ไฟล์ (File)

คือกลุ่มของเรคอร์ดสัมพันธ์กัน เช่นในแฟ้มข้อมูลลูกค้าประกอบด้วยเรคอร์ดของลูกค้าทั้งหมดของบริษัท ดังนั้นในหนึ่งไฟล์ก็จะต้องมีอย่างน้อยหนึ่งเรคอร์ดเพื่อใช้ในการอ่านข้อมูลขึ้นมาใช้งาน

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

เกิดจากการนำไฟล์ที่เกี่ยวข้องกันมาจัดเก็บไว้ที่เดียวกันอย่างมีระบบ เพื่อให้สามารถเรียกใช้และจัดการข้อมูลได้อย่างมีประสิทธิภาพ เช่น ไฟล์ข้อมูลพนักงาน สินค้าคลังคลัง พนักงานขาย และลูกค้า

13.8

slide10

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

13.9

slide11

FILE

RECORD

RECORD

RECORD

...

RECORD

FILED

FILED

FILED

BYTE

BYTE

BIT

BIT

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

13.10

slide12

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

การเลือกชนิดของข้อมูลต้องคำนึงถึงสิ่งต่อไปนี้

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

13.11

slide14

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

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

slide15

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

ขั้นตอนการออกแบบฐานข้อมูลในระดับ Physical มีดังต่อไปนี้

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

13.14

slide16

การแปลง Logical Schema ให้อยู่ในรูปแบบของ Table

สำหรับการดำเนินงานของขั้นตอนนี้จะแบ่งเป็น 2 ส่วนดังนี้

  • การออกแบบโครงสร้างทางกายภาพให้กับ Table
  • การกำหนด Integrity Rules

13.15

slide17

การออกแบบโครงสร้างทางกายภาพให้กับ 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

slide18

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

จากโครงสร้างต่อไปนี้สามารถนำมากำหนดโครงสร้างทางกายภาพได้ดังนี้

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

13.17

slide20

การออกแบบโครงสร้างทางกายภาพให้กับ 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

slide21

การกำหนด Integrity Rules

สามารถแบ่งเป็น 2 ส่วน ดังนี้

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

13.20

slide22

การกำหนด 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

slide23

การกำหนด 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

slide24

กำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูลกำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูล

จุดประสงค์ในการกำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูล เพื่อให้สามารถ

ใช้เนื้อที่ในการจัดเก็บข้อมูลได้อย่างมีประสิทธิภาพ และส่งถ่ายข้อมูลได้อย่าง

รวดเร็ว สำหรับขั้นตอนในการกำหนดโครงสร้างทางกายภาพให้กับฐานข้อมูลนั้น

มีดังนี้

  • วิเคราะห์ปริมาณข้อมูล
  • กำหนดโครงสร้างของแฟ้มข้อมูล (File organization)
  • กำหนด Index ให้กับ Table
  • กำหนดโครงสร้างให้กับ Table เพื่อลดความซ้ำซ้อนของข้อมูล
  • คำนวณเนื้อที่ในการจัดเก็บข้อมูล

13.23

slide25

วิเคราะห์ปริมาณข้อมูลวิเคราะห์ปริมาณข้อมูล

เป็นการวิเคราะห์ข้อมูลว่าเกี่ยวข้องกับงานต่าง ๆ อย่างไร เช่นความถี่ในการเพิ่ม

ลบ แก้ไข หรือเรียกใช้งาน เป็นต้น เพื่อใช้ตัดสินใจเลือกโครงสร้างของแฟ้มข้อมูล

ที่เหมาะสมกับฐานข้อมูลต่อไป

13.24

slide26

การกำหนดโครงสร้างของแฟ้มข้อมูล (File Organization)

เป็นขั้นตอนที่ นักวิเคราะห์และออกแบบระบบ จะต้องมีการเลือกโครงสร้างของ

แฟ้มข้อมูลที่เหมาะสมให้กับฐานข้อมูล เช่น Heap,Hash,Idexed Sequential

Access Method (ISAM)

13.25

slide27

กำหนด Index ให้กับ Table

เป็นขั้นตอนที่ผู้ออกแบบฐานข้อมูล จะต้องกำหนด Primary Index และ

Secondary Index ให้กับ Table เพื่อเพิ่มความสามารถในการเข้าถึงข้อมูล โดยมี

หลักในการพิจารณาดังนี้

  • เลือก Primary key มาสร้างเป็น Primaryindex
  • Index ควรสร้างขึ้นบน Table ที่มีจำนวนข้อมูลอยู่มาก
  • หลีกเลี่ยงการใช้ Attribute ที่มีการเปลี่ยนแปลงค่าบ่อย
  • หลีกเลี่ยงการใช้ Attribute ที่มีขนาดใหญ่มาสร้างเป็น Index

13.26

slide28

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

เป็นขั้นตอนที่นักวิเคราะห์และออกแบบระบบ จะต้องพิจารณาเลือก Attribute

ประเภท Derived Data ว่า Attribute ใดควรกำหนดไว้ในโครงสร้างของ Table

รวมทั้งทำการปรับเปลี่ยนโครงสร้างของแต่ละ Table โดยใช้กฏของการทำ

Normalization เพื่อลดความซ้ำซ้อนของข้อมูลใน Table ต่าง ๆ

13.27

slide29

คำนวณหาเนื้อที่ที่จะต้องใช้ในการจัดเก็บข้อมูลคำนวณหาเนื้อที่ที่จะต้องใช้ในการจัดเก็บข้อมูล

เนื้อที่ของ Table = (จำนวน Tuple * ขนาดของ Tuble) + ขนาดของ Index +

เนื่อที่ที่ระบบใช้เพื่อกำหนดรายละเอียดของแต่ละ Table

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

ขนาดของ Attribute= ขนาดของ Attribute นั้น + เนื้อที่ที่ระบบใช้ตามประเภท

ของข้อมูลของ Attribute นั้น

13.28

slide30

กำหนดวิธีการรักษาความปลอดภัยกำหนดวิธีการรักษาความปลอดภัย

ในการกำหนดความปลอดภัยให้กับฐานข้อมูล จะแบ่งออกเป็น 2 ส่วนดังนี้

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

13.29

slide31

กำหนดวิธีการรักษาความปลอดภัยกำหนดวิธีการรักษาความปลอดภัย

  • การกำหนดขอบเขตของข้อมูล (View) ให้กับผู้ใช้เพื่อกำหนดขอบเขตของข้อมูล ที่สามารถถูกกระทำโดยผู้ใช้ที่เรียกใช้ View เช่น

CREATE VIEW Staff3

AS SELECT sno,fname,address,tel_no,position,sex

FORM staff WHERE bno = “B3”;

13.30

slide32

กำหนดวิธีการรักษาความปลอดภัยกำหนดวิธีการรักษาความปลอดภัย

การกำหนดสิทธิ์การใช้งานให้กับผู้ใช้ จะส่งผลให้แต่ละคน สามารถเข้าถึงข้อมูล

เฉพาะที่ตนเองมีสิทธิ์เท่านั้น เช่น

GRANT SELECT, UPDATE,DELETE

ON staff

TO manager;

เป็นคำสั่งที่ใช้กำหนดสิทธิ์การใช้งาน Table “staff” ซึ่งประกอบด้วย การเรียก

ดูข้อมูล (SELECT) การแก้ไขข้อมูล (UPDATE) และการลบข้อมูล

(DELETE) ให้กับผู้ใช้ที่ชื่อ “manager”

13.31

slide33

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

ขั้นตอนสุดท้ายของการออกแบบฐานข้อมูลในระดับกายภาพ ได้แก่

  • การตรวจสอบ
  • การปรับเปลี่ยนระบบ

ซึ่งขั้นตอนที่เกิดขึ้น เมื่อฐานข้อมูลถูกใช้งานไปแล้ว เนื่องจากฐานข้อมูลที่

ออกแบบไว้ อาจมีข้อผิดพลาดหรือ มีการเพิ่มเติม หรือเปลี่ยนแปลงความต้องการ

ของผู้ใช้

13.32

slide35

Reference Book and Text Book

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

13.34

slide36

Q & A

13.35