week2 dbms

24
รรรรรรรรรรรรรรรรรรร DATABASE MANAGEMENT SYSTEM LECTURE 2 DBMS02 ร.รรรรรร รรรรรรรรรรร

Upload: marisa-kuntasup

Post on 13-Dec-2014

110 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Week2 dbms

ระบบจั�ดการฐานข้�อมู�ลDATABASE

MANAGEMENT SYSTEM

LECTURE 2

DBMS02อ. มูาร�สา ก�ณฑาทร�พย์�

อ. มูาร�สา ก�ณฑาทร�พย์�

Page 2: Week2 dbms

คำ�าถามู ถ�าเคำร��องคำอมูพ�วเตอร�ท#�มู#อย์�$ใช้�ระบบปฏิ�บ�ต�การว�นโดว� จัะสามูารถจั�ดท�าระบบฐานข้�อมู�ลได�เลย์หร�อไมู$ ต�องมู#การต�ดต�,งซอฟแวร�เพ��มูเต�มูอ#กหร�อไมู$คำ�าตอบ

ถ้�ามี�เพี�ยงระบบปฏิ�บ�ติ�การวิ�นโดวิ� จะไมี�สามีารถ้จ�ดทำ�าระบบฐานข้�อมี"ลได� เพีราะการจ�ดทำ�าระบบฐานข้�อมี"ล จ�าเป$นติ�องติ�ดติ�%งซอฟแวิร�ทำ�)ใช้�ในการจ�ดการฐานข้�อมี"ล เร�ยกวิ�า

DBMSSlide 2

Page 3: Week2 dbms

Slide 2

Page 4: Week2 dbms

Slide 2

Page 5: Week2 dbms

Slide 2

- ช้$วย์การสร�างฐานข้�อมู�ล - ช้$วย์การสร�างผู้��ใช้�ข้องระบบฐานข้�อมู�ลพร�อมูท�,งส�ทธิ�ท#�จั�าเป2น

- ช้$วย์ในการเพ��มู การปร�บปร3ง และลบข้�อมู�ลในฐานข้�อมู�ล

- ช้$วย์ในการก�าหนดเง��อนไข้ต$างๆ ท#�เก#�ย์วข้�องก�บการจั�ดการข้�อมู�ล รวมูท�,งการจั�ดการฐานข้�อมู�ลให�มู#ประส�ทธิ�ภาพในการใช้�งาน

ซอฟแวร� DBMS ประกอบด�วย์ คำ�าส��ง (Command) และ

เคำร��องมู�อ (Tools)

Page 6: Week2 dbms

หน�าท#�ข้องระบบจั�ดการฐานข้�อมู�ล1 . การจั�ดการพจันาน3กรมู2. การจั�ดเก6บข้�อมู�ล3. การแปลงและน�าเสนอข้�อมู�ล4. การจั�ดการระบบคำวามูมู��นคำง5. การคำวบคำ3มูการเข้�าถ7งข้�อมู�ลข้องผู้��ใช้�

หลาย์คำน6. การเก6บส�ารองและก��คำ�นข้�อมู�ล7. การคำวบคำ3มูคำวามูถ�กต�องข้องข้�อมู�ล8. ภาษาท#�ใช้�ในการเข้�าถ7งฐานข้�อมู�ลและเช้��อมู

ต$อก�บโปรแกรมูประย์3กต�Slide 2

Page 7: Week2 dbms

DATA MODEL

ร�ปแบบท#�ใช้�อธิ�บาย์ล�กษณะข้องการจั�ดเก6บข้�อมู�ล คำวามูส�มูพ�นธิ�ระหว$างข้�อมู�ล ว�ธิ#การจั�ดการข้�อมู�ลรวมูท�,งเง��อนไข้และข้�อก�าหนดเก#�ย์วข้�อมู�ล

- โมีเดลฐานข้�อมี"ลเช้�งล�าด�บช้�%น

- โมีเดลฐานข้�อมี"ลแบบข้�ายงาน

- โมูเดลฐานข้�อมู�ลเช้�งส�มูพ�นธิ� ***

- โมีเดลฐานข้�อมี"ลเช้�งออบเจ,กติ�

- โมีเดลฐานข้�อมี"ลแบบอ-)นๆ

Slide 2

Page 8: Week2 dbms

โมูเดลฐานข้�อมู�ลเช้�งส�มูพ�นธิ� (Relational Database Model)

Slide 2

-แสดงติ�วิอย�างการเก,บข้�อมี"ลในฐานข้�อมี"ลเช้�งส�มีพี�นธ์�-

Page 9: Week2 dbms

ล�กษณะการจ�ดเก,บข้�อมี"ลในร"ปข้องติาราง (Table) อาจใช้�คำ�าวิ�า แฟ3มีข้�อมี"ล หร-อ ร�เลช้�น (Relation) ซ5)งเป$นติาราง 2 มี�ติ�ประกอบด�วิย แถ้วิ (Row) และคำอล�มีน� (Column) ทำ�)ใช้�ในการเก,บข้�อมี"ล

Dept_no

Dept_name

Location

1 Administration

Sathorn

2 Shipping Silom

3 Sales Silom

4 Marketing Bangpo

5 Accounting

Sathorn

โมูเดลฐานข้�อมู�ลเช้�งส�มูพ�นธิ� (Relational Database Model)

Department

columnSlide 2

row

Page 10: Week2 dbms

1 .จะติ�องไมี�มี�แถ้วิใดในติารางเด�ยวิก�น มี�ข้�อมี"ลทำ�)เหมี-อนก�นทำ�%งแถ้วิ

2. ล�าด�บข้องแถ้วิใดๆ ในติารางจะไมี�มี�คำวิามีส�าคำ�ญ (การก�าหนดให� แถ้วิใดอย"�ก�อนหร-ออย"�หล�ง จะไมี�ส�งผลใดๆ ติ�อการใช้�งานหร-อจ�ดการข้�อมี"ลในติาราง)

3. ล�าด�บข้องคำอล�มีน�ใดๆ ในติารางจะไมี�มี�คำวิามีส�าคำ�ญ (จะก�าหนดให� คำอล�มีน�ใดอย"�ก�อนหร-ออย"�หล�งจะไมี�ส�งผลใดๆ ติ�อการใช้�งานหร-อจ�ดการข้�อมี"ลในติาราง)

Table ในฐานข้�อมู�ลเช้�งส�มูพ�นธิ�มู#คำ3ณสมูบ�ต�ส�าคำ�ญ ด�งน#,

Slide 2

Page 11: Week2 dbms

คำ�าถามู ถ�าต�องการด�ข้�อมู�ลท�,งหมูดในตารางช้��อ Department

การใช้�คำ�าส��งในการอ$านข้�อมู�ลข้7,นมูาแสดงไมู$จั�าเป2นต�องระบ3เง��อนไข้

เพราะ.......................คำ�าตอบ เป$นการน�าข้�อมี"ลทำ�%งหมีดมีาแสดงพีร�อมีก�น

คำ�าถามู ถ�าต�องการด�ข้�อมู�ลแบบเจัาะจังเพ#ย์งแถวใดแถว หน7�งในตาราง ช้��อ Department ท�าอย์$างไร

คำ�าตอบ จะติ�องมี�การก�าหนดคำ�าในคำอล�มีน�ติ�างๆ ข้องแถ้วิน�%นๆ เพี-)อใช้�ในการจ�าแนกแถ้วิทำ�)ติ�องการออกมีาจากแถ้วิอ-)นๆ ในติาราง

Slide 2

Page 12: Week2 dbms

ลองพ�จัารณาต�วอย์$างต$อไปน#, โดย์ใช้�ข้�อมู�ลจัาก Table ช้��อ Department

2 Shipping

Silom

3 Sales Silom

3 Sales Silom

** กรณ�ทำ�) 1 ก�าหนดคำ�าข้องคำอล�มีน� ช้-)อ Location มี�คำ�าเทำ�าก�บ Silom

**กรณ�ทำ�) 2 ก�าหนดคำ�าข้องคำอล�มีน� ช้-)อ Location มี�คำ�าเทำ�าก�บ Silom และ คำอล�มีน� ช้-)อ Dept_name มี�คำ�าเทำ�าก�บ Sales

=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิ ติ�อไปน�%

=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิติ�อไปน�%

Slide 2

Page 13: Week2 dbms

3 Sales Silom

3 Sales Silom

** กรณ#ท#� 3 ก�าหนดคำ$าข้องคำอล�มีน� ช้��อ Location มู#คำ$าเท$าก�บ Silom และ คำอล�มีน� ช้��อ Dept_no มู#คำ$าเท$าก�บ 3 และ คำอล�มีน� ช้��อ Dept_name มู#คำ$าเท$าก�บ Sales

** กรณ#ท#� 4 ก�าหนดคำ$าข้องคำอล�มีน� ช้��อ Dept_name มู#คำ$าเท$าก�บ Sales

=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิติ�อไปน�%

=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิ ติ�อไปน�%

Slide 2

Page 14: Week2 dbms

คำ�าถามู มู#กรณ#ใดบ�างท#�สามูารถจั�าแนกข้�อมู�ลออกมูาเพ#ย์ง 1 แถวคำ�าตอบ กรณ�ทำ�) 2, 3, 4 และ 5

3 Sales Silom

** กรณ#ท#� 5 ก�าหนดคำ$าข้องคำอล�มีน� ช้��อ Dept_no มู#คำ$าเท$าก�บ 3=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิ ติ�อไปน�%

คำ�าถามู คำ�ดว$ากรณ# 2 – 5 กรณ#ใดน$าจัะมู#ประส�ทธิ�ภาพหร�อประหย์�ดเวลามูากกว$าก�นคำ�าตอบ กรณ�ทำ�) 4 และ 5 เพีราะวิ�าเป$นการก�าหนดคำ�า

ข้องคำอล�มีน�เพี�ยง 1 คำอล�มีน� ก,สามีารถ้จ�าแนกข้�อมี"ลแถ้วิทำ�)ติ�องการออกมีาได�

Page 15: Week2 dbms

คำ�าถามู จั�าเป2นหร�อไมู$ท#�จัะต�องเล�อกคำอล�มูน�เพ#ย์ง 1 คำอล�มูน� เพ��อใช้�ในการก�าหนดคำ$าในการจั�าแนกแถวท#�ต�องการ

คำ�าตอบ ไมี�จ�าเป$น เพีราะจะส�งเกติได�วิ�าย�)งเราก�าหนดคำ�าข้องหลายๆ คำอล�มีน� มีาประกอบก�นมีาข้5%นเทำ�าใด จะทำ�าให�ได�ข้�อมี"ล 1 แถ้วิ ทำ�)ติ�องการอย�างแน�นอน เพีราะวิ�าฐานข้�อมี"ลเช้�งส�มีพี�นธ์�จะไมี�มี�การจ�ดเก,บข้�อมี"ลทำ�)ซ�%าก�นทำ�%งแถ้วิไวิ�ใน ติารางเด�ยวิก�นNOTE

เพี-)อคำวิามีสะดวิกและประส�ทำธ์�ภาพีทำ�)ด�ในการจ�าแนกข้�อมี"ลแถ้วิทำ�)ติ�องการ พียายามีเล-อกคำอล�มีน�ทำ�)น�อยทำ�)ส9ด ติ�วิอย�างจากกรณ�ทำ�) 4 และ 5

Slide 2

Page 16: Week2 dbms

- คำ�ย� คำ-อ ส�)งทำ�)ใช้�ในการก�าหนดคำวิามีเป$นเอกล�กษณ�ข้องแถ้วิในคำวิามีส�มีพี�นธ์�/ช้9ดข้องคำอล�มีน�ทำ�)น�อยทำ�)ส9ดทำ�)สามีารถ้จ�าแนก (Identify) ข้�อมี"ลแถ้วิใดแถ้วิหน5)งจาก แถ้วิอ-)นๆ ในติาราง

- ทำ�าให�การเข้�าถ้5งข้�อมี"ลบนฐานข้�อมี"ลเป$นไปได�อย�างรวิดเร,วิ- ทำ�าให�สามีารถ้แยกแยะข้�อมี"ลในฐานข้�อมี"ลให�เป$นไปอย�างถ้"ก

ติ�อง

- คำ#ย์� (Key) -

NOTE คำ9ณสมีบ�ติ�ทำ�)ส�าคำ�ญคำ�ย� คำ-อ- ติ�องไมี�เป$นช้9ดข้องคำอล�มีน�ทำ�)เก,บคำ�าซ�%าก�น หร-อเร�ยก

ได�วิ�ามี�คำวิามีเป$น Unique (มี�เพี�ยงหน5)งเด�ยวิ)- คำ�าข้องคำ�ย�ติ�องไมี�เป$น “คำ$าว$าง (Null)”

Slide 2

คำ$าท#�ไมู$ได�มู#การก�าหนดว$ามู#คำ$าเป2นเท$าใด

Page 17: Week2 dbms

กรณ#ใช้�ช้3ดข้องคำอล�มูน� เป2นคำ#ย์�

No Inv_No Amout Prod_id

1 221 230 A1

2 221 450 B4

3 221 450 D1

1 224 125 B1

2 224 300 A2

1 225 300 B1

2 225 300 A1

Invoiceไมี�สามีารถ้เล-อกเพี�ยงหน5)ง คำอล�มีน�มีาเป$นคำ�ย�ได� เพีราะแติ�ละ คำอล�มีน�มี�คำ�าซ�%าก�น

คำ�ย�ทำ�)ประกอบด�วิยคำอล�มีน�ติ�%งแติ�สองคำอล�มีน�ข้5%นไป เร�ยกวิ�า Composite Key

Page 18: Week2 dbms

คำ#ย์�แข้$งข้�น (Candidate Key) ช้9ดข้องคำอล�มีน�ทำ�)น�อยทำ�)ส9ดทำ�)สามีารถ้จ�าแนก

(Identify) ข้�อมี"ล แถ้วิใดแถ้วิหน5)งจากแถ้วิอ-)นๆ ในติาราง

Slide 2

กรณ�ทำ�)ติารางใดมี� Candidate Key เพี�ยงช้9ดเด�ยวิ Candidate Key น�%จะถ้"กเล-อกมีาเป$น Primary Key กรณ�ทำ�)ติารางใดทำ�)มี� Candidate Key มีากกวิ�าหน5)งช้9ด จะมี�เพี�ยง Candidate Key ช้9ดเด�ยวิเทำ�าน�%นทำ�)จะถ้"กเล-อกมีาเป$น Primary Key ส�วิน Candidate Key ทำ�)ไมี�ได�ร�บเล-อกจะถ้"กเร�ยกวิ�า Alternate Key

Page 19: Week2 dbms

คำ#ย์�หล�ก (Primary Key / PK)คำ-อ คำ�ย�คำ"�แข้�งทำ�)ถ้"กเล-อกเพี-)อใช้�บอกคำวิามีแติกติ�างข้อง

แติ�ละแถ้วิในติาราง และติ�องไมี�มี�คำ�าเป$นคำ�าวิ�าง (Null)

ตารางข้�อมู�ลท��วไปข้องประช้าช้นPK

Slide 2

Page 20: Week2 dbms

ตารางข้�อมู�ลท��วไปข้องพน�กงานบร�ษ�ท

>> ย์�งไมู$มู#Columnใดเลย์ท#�เหมูาะสมูท#�จัะใช้�เป2นคำ#ย์�หล�ก

Slide 2

Page 21: Week2 dbms

NOTEคำ�ย�หล�กเป$นข้�อมี"ลส�าคำ�ญทำ�)จะทำ�าให�การเข้�าถ้5งข้�อมี"ลบน

ฐานข้�อมี"ลเป$นไปได�อย�างรวิดเร,วิ ด�งน�%นผ"�ใช้�จ5งคำวิรก�าหนดคำ�ย�หล�กให�ช้�ดเจนติ�%งแติ�ข้�%นติอนออกแบบฐานข้�อมี"ล หากไมี�มี�ข้�อมี"ลใดเลยในฐานข้�อมี"ลทำ�)เหมีาะทำ�)จะเป$นคำ�ย�หล�กก,คำวิรทำ�)จะก�าหนดคำอล�มีน� ใหมี�ส�าหร�บให�เป$นคำ�ย�หล�กโดยเฉพีาะ ตารางข้�อมู�ลท��วไปข้องพน�กงานบร�ษ�ท

Slide 2

Page 22: Week2 dbms

คำ#ย์�รอง (Secondary Key)คำ�ย�รอง คำ-อ คำ�ย�เด�)ยวิหร-อคำ�ย�ผสมี (Single or Composite Key) ทำ�)ใช้�ในการเข้�าถ้5งหร-อคำ�นคำ-นข้�อมี"ลในฐานข้�อมี"ล คำ�ย�รองไมี�มี�คำวิามีจ�าเป$นติ�องเป$นเอกล�กษณ� คำ-อสามีารถ้มี�คำ�าซ�%าก�นได� (เมี-)อใช้�ในการคำ�นหาข้�อมี"ลจากคำวิามีส�มีพี�นธ์�จะได�มีากกวิ�าหน5)งเรคำอร�ด)

คำ#ย์�นอก (Foreign Key)คำ�ย�นอก คำ-อ คำ�ย�เด�)ยวิหร-อคำ�ย�ผสมี ซ5)งเป$นคำ�ย�ทำ�)วิไปข้องติารางหน5)ง แติ�เป$นคำ�ย�หล�กข้องอ�กติารางหน5)ง เป$นติ�วิทำ�)ใช้�ในการเช้-)อมีติ�อระหวิ�างติาราง แสดงถ้5งติารางมี�คำวิามีส�มีพี�นธ์�ก�นอย"�

Slide 2

Page 23: Week2 dbms

Dept_no

Dept_name

Locatio

n

1 Administration

Sathorn

2 Shipping Silom

3 Sales Silom

4 Marketing

Bangpo

5 Accounting

Sathorn

ID Name Position

Salary MGR_ID Dept_no

111 Satit MD 95000 1

112 Ladda Manager

58000 111 1

212 Pimon Manager

47000 111 2

312 Tida Manager

25000 111 3

313 Sansiri Clerk 12500 112 1

412 Wimonwon

Clerk 13500 212 2

512 Karoon Salesman

8900 312 3

113 Amorn Salesman

7800 313 3

Department

Employee

คำ�าถามู พน�กงานท#�ช้��อ Pimon ท�างานในแผู้นกใดคำ�าถามู ใคำรคำ�อห�วหน�าข้อง Karoon

Page 24: Week2 dbms

โคำรงสร�างข้องคำ#ย์�

Slide 2