week2 dbms
DESCRIPTION
TRANSCRIPT
ระบบจั�ดการฐานข้�อมู�ลDATABASE
MANAGEMENT SYSTEM
LECTURE 2
DBMS02อ. มูาร�สา ก�ณฑาทร�พย์�
อ. มูาร�สา ก�ณฑาทร�พย์�
คำ�าถามู ถ�าเคำร��องคำอมูพ�วเตอร�ท#�มู#อย์�$ใช้�ระบบปฏิ�บ�ต�การว�นโดว� จัะสามูารถจั�ดท�าระบบฐานข้�อมู�ลได�เลย์หร�อไมู$ ต�องมู#การต�ดต�,งซอฟแวร�เพ��มูเต�มูอ#กหร�อไมู$คำ�าตอบ
ถ้�ามี�เพี�ยงระบบปฏิ�บ�ติ�การวิ�นโดวิ� จะไมี�สามีารถ้จ�ดทำ�าระบบฐานข้�อมี"ลได� เพีราะการจ�ดทำ�าระบบฐานข้�อมี"ล จ�าเป$นติ�องติ�ดติ�%งซอฟแวิร�ทำ�)ใช้�ในการจ�ดการฐานข้�อมี"ล เร�ยกวิ�า
DBMSSlide 2
Slide 2
Slide 2
Slide 2
- ช้$วย์การสร�างฐานข้�อมู�ล - ช้$วย์การสร�างผู้��ใช้�ข้องระบบฐานข้�อมู�ลพร�อมูท�,งส�ทธิ�ท#�จั�าเป2น
- ช้$วย์ในการเพ��มู การปร�บปร3ง และลบข้�อมู�ลในฐานข้�อมู�ล
- ช้$วย์ในการก�าหนดเง��อนไข้ต$างๆ ท#�เก#�ย์วข้�องก�บการจั�ดการข้�อมู�ล รวมูท�,งการจั�ดการฐานข้�อมู�ลให�มู#ประส�ทธิ�ภาพในการใช้�งาน
ซอฟแวร� DBMS ประกอบด�วย์ คำ�าส��ง (Command) และ
เคำร��องมู�อ (Tools)
หน�าท#�ข้องระบบจั�ดการฐานข้�อมู�ล1 . การจั�ดการพจันาน3กรมู2. การจั�ดเก6บข้�อมู�ล3. การแปลงและน�าเสนอข้�อมู�ล4. การจั�ดการระบบคำวามูมู��นคำง5. การคำวบคำ3มูการเข้�าถ7งข้�อมู�ลข้องผู้��ใช้�
หลาย์คำน6. การเก6บส�ารองและก��คำ�นข้�อมู�ล7. การคำวบคำ3มูคำวามูถ�กต�องข้องข้�อมู�ล8. ภาษาท#�ใช้�ในการเข้�าถ7งฐานข้�อมู�ลและเช้��อมู
ต$อก�บโปรแกรมูประย์3กต�Slide 2
DATA MODEL
ร�ปแบบท#�ใช้�อธิ�บาย์ล�กษณะข้องการจั�ดเก6บข้�อมู�ล คำวามูส�มูพ�นธิ�ระหว$างข้�อมู�ล ว�ธิ#การจั�ดการข้�อมู�ลรวมูท�,งเง��อนไข้และข้�อก�าหนดเก#�ย์วข้�อมู�ล
- โมีเดลฐานข้�อมี"ลเช้�งล�าด�บช้�%น
- โมีเดลฐานข้�อมี"ลแบบข้�ายงาน
- โมูเดลฐานข้�อมู�ลเช้�งส�มูพ�นธิ� ***
- โมีเดลฐานข้�อมี"ลเช้�งออบเจ,กติ�
- โมีเดลฐานข้�อมี"ลแบบอ-)นๆ
Slide 2
โมูเดลฐานข้�อมู�ลเช้�งส�มูพ�นธิ� (Relational Database Model)
Slide 2
-แสดงติ�วิอย�างการเก,บข้�อมี"ลในฐานข้�อมี"ลเช้�งส�มีพี�นธ์�-
ล�กษณะการจ�ดเก,บข้�อมี"ลในร"ปข้องติาราง (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
1 .จะติ�องไมี�มี�แถ้วิใดในติารางเด�ยวิก�น มี�ข้�อมี"ลทำ�)เหมี-อนก�นทำ�%งแถ้วิ
2. ล�าด�บข้องแถ้วิใดๆ ในติารางจะไมี�มี�คำวิามีส�าคำ�ญ (การก�าหนดให� แถ้วิใดอย"�ก�อนหร-ออย"�หล�ง จะไมี�ส�งผลใดๆ ติ�อการใช้�งานหร-อจ�ดการข้�อมี"ลในติาราง)
3. ล�าด�บข้องคำอล�มีน�ใดๆ ในติารางจะไมี�มี�คำวิามีส�าคำ�ญ (จะก�าหนดให� คำอล�มีน�ใดอย"�ก�อนหร-ออย"�หล�งจะไมี�ส�งผลใดๆ ติ�อการใช้�งานหร-อจ�ดการข้�อมี"ลในติาราง)
Table ในฐานข้�อมู�ลเช้�งส�มูพ�นธิ�มู#คำ3ณสมูบ�ต�ส�าคำ�ญ ด�งน#,
Slide 2
คำ�าถามู ถ�าต�องการด�ข้�อมู�ลท�,งหมูดในตารางช้��อ Department
การใช้�คำ�าส��งในการอ$านข้�อมู�ลข้7,นมูาแสดงไมู$จั�าเป2นต�องระบ3เง��อนไข้
เพราะ.......................คำ�าตอบ เป$นการน�าข้�อมี"ลทำ�%งหมีดมีาแสดงพีร�อมีก�น
คำ�าถามู ถ�าต�องการด�ข้�อมู�ลแบบเจัาะจังเพ#ย์งแถวใดแถว หน7�งในตาราง ช้��อ Department ท�าอย์$างไร
คำ�าตอบ จะติ�องมี�การก�าหนดคำ�าในคำอล�มีน�ติ�างๆ ข้องแถ้วิน�%นๆ เพี-)อใช้�ในการจ�าแนกแถ้วิทำ�)ติ�องการออกมีาจากแถ้วิอ-)นๆ ในติาราง
Slide 2
ลองพ�จัารณาต�วอย์$างต$อไปน#, โดย์ใช้�ข้�อมู�ลจัาก Table ช้��อ Department
2 Shipping
Silom
3 Sales Silom
3 Sales Silom
** กรณ�ทำ�) 1 ก�าหนดคำ�าข้องคำอล�มีน� ช้-)อ Location มี�คำ�าเทำ�าก�บ Silom
**กรณ�ทำ�) 2 ก�าหนดคำ�าข้องคำอล�มีน� ช้-)อ Location มี�คำ�าเทำ�าก�บ Silom และ คำอล�มีน� ช้-)อ Dept_name มี�คำ�าเทำ�าก�บ Sales
=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิ ติ�อไปน�%
=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิติ�อไปน�%
Slide 2
3 Sales Silom
3 Sales Silom
** กรณ#ท#� 3 ก�าหนดคำ$าข้องคำอล�มีน� ช้��อ Location มู#คำ$าเท$าก�บ Silom และ คำอล�มีน� ช้��อ Dept_no มู#คำ$าเท$าก�บ 3 และ คำอล�มีน� ช้��อ Dept_name มู#คำ$าเท$าก�บ Sales
** กรณ#ท#� 4 ก�าหนดคำ$าข้องคำอล�มีน� ช้��อ Dept_name มู#คำ$าเท$าก�บ Sales
=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิติ�อไปน�%
=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิ ติ�อไปน�%
Slide 2
คำ�าถามู มู#กรณ#ใดบ�างท#�สามูารถจั�าแนกข้�อมู�ลออกมูาเพ#ย์ง 1 แถวคำ�าตอบ กรณ�ทำ�) 2, 3, 4 และ 5
3 Sales Silom
** กรณ#ท#� 5 ก�าหนดคำ$าข้องคำอล�มีน� ช้��อ Dept_no มู#คำ$าเท$าก�บ 3=>> ผลทำ�)ได�คำ-อ ข้�อมี"ลในแถ้วิ ติ�อไปน�%
คำ�าถามู คำ�ดว$ากรณ# 2 – 5 กรณ#ใดน$าจัะมู#ประส�ทธิ�ภาพหร�อประหย์�ดเวลามูากกว$าก�นคำ�าตอบ กรณ�ทำ�) 4 และ 5 เพีราะวิ�าเป$นการก�าหนดคำ�า
ข้องคำอล�มีน�เพี�ยง 1 คำอล�มีน� ก,สามีารถ้จ�าแนกข้�อมี"ลแถ้วิทำ�)ติ�องการออกมีาได�
คำ�าถามู จั�าเป2นหร�อไมู$ท#�จัะต�องเล�อกคำอล�มูน�เพ#ย์ง 1 คำอล�มูน� เพ��อใช้�ในการก�าหนดคำ$าในการจั�าแนกแถวท#�ต�องการ
คำ�าตอบ ไมี�จ�าเป$น เพีราะจะส�งเกติได�วิ�าย�)งเราก�าหนดคำ�าข้องหลายๆ คำอล�มีน� มีาประกอบก�นมีาข้5%นเทำ�าใด จะทำ�าให�ได�ข้�อมี"ล 1 แถ้วิ ทำ�)ติ�องการอย�างแน�นอน เพีราะวิ�าฐานข้�อมี"ลเช้�งส�มีพี�นธ์�จะไมี�มี�การจ�ดเก,บข้�อมี"ลทำ�)ซ�%าก�นทำ�%งแถ้วิไวิ�ใน ติารางเด�ยวิก�นNOTE
เพี-)อคำวิามีสะดวิกและประส�ทำธ์�ภาพีทำ�)ด�ในการจ�าแนกข้�อมี"ลแถ้วิทำ�)ติ�องการ พียายามีเล-อกคำอล�มีน�ทำ�)น�อยทำ�)ส9ด ติ�วิอย�างจากกรณ�ทำ�) 4 และ 5
Slide 2
- คำ�ย� คำ-อ ส�)งทำ�)ใช้�ในการก�าหนดคำวิามีเป$นเอกล�กษณ�ข้องแถ้วิในคำวิามีส�มีพี�นธ์�/ช้9ดข้องคำอล�มีน�ทำ�)น�อยทำ�)ส9ดทำ�)สามีารถ้จ�าแนก (Identify) ข้�อมี"ลแถ้วิใดแถ้วิหน5)งจาก แถ้วิอ-)นๆ ในติาราง
- ทำ�าให�การเข้�าถ้5งข้�อมี"ลบนฐานข้�อมี"ลเป$นไปได�อย�างรวิดเร,วิ- ทำ�าให�สามีารถ้แยกแยะข้�อมี"ลในฐานข้�อมี"ลให�เป$นไปอย�างถ้"ก
ติ�อง
- คำ#ย์� (Key) -
NOTE คำ9ณสมีบ�ติ�ทำ�)ส�าคำ�ญคำ�ย� คำ-อ- ติ�องไมี�เป$นช้9ดข้องคำอล�มีน�ทำ�)เก,บคำ�าซ�%าก�น หร-อเร�ยก
ได�วิ�ามี�คำวิามีเป$น Unique (มี�เพี�ยงหน5)งเด�ยวิ)- คำ�าข้องคำ�ย�ติ�องไมี�เป$น “คำ$าว$าง (Null)”
Slide 2
คำ$าท#�ไมู$ได�มู#การก�าหนดว$ามู#คำ$าเป2นเท$าใด
กรณ#ใช้�ช้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
คำ#ย์�แข้$งข้�น (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
คำ#ย์�หล�ก (Primary Key / PK)คำ-อ คำ�ย�คำ"�แข้�งทำ�)ถ้"กเล-อกเพี-)อใช้�บอกคำวิามีแติกติ�างข้อง
แติ�ละแถ้วิในติาราง และติ�องไมี�มี�คำ�าเป$นคำ�าวิ�าง (Null)
ตารางข้�อมู�ลท��วไปข้องประช้าช้นPK
Slide 2
ตารางข้�อมู�ลท��วไปข้องพน�กงานบร�ษ�ท
>> ย์�งไมู$มู#Columnใดเลย์ท#�เหมูาะสมูท#�จัะใช้�เป2นคำ#ย์�หล�ก
Slide 2
NOTEคำ�ย�หล�กเป$นข้�อมี"ลส�าคำ�ญทำ�)จะทำ�าให�การเข้�าถ้5งข้�อมี"ลบน
ฐานข้�อมี"ลเป$นไปได�อย�างรวิดเร,วิ ด�งน�%นผ"�ใช้�จ5งคำวิรก�าหนดคำ�ย�หล�กให�ช้�ดเจนติ�%งแติ�ข้�%นติอนออกแบบฐานข้�อมี"ล หากไมี�มี�ข้�อมี"ลใดเลยในฐานข้�อมี"ลทำ�)เหมีาะทำ�)จะเป$นคำ�ย�หล�กก,คำวิรทำ�)จะก�าหนดคำอล�มีน� ใหมี�ส�าหร�บให�เป$นคำ�ย�หล�กโดยเฉพีาะ ตารางข้�อมู�ลท��วไปข้องพน�กงานบร�ษ�ท
Slide 2
คำ#ย์�รอง (Secondary Key)คำ�ย�รอง คำ-อ คำ�ย�เด�)ยวิหร-อคำ�ย�ผสมี (Single or Composite Key) ทำ�)ใช้�ในการเข้�าถ้5งหร-อคำ�นคำ-นข้�อมี"ลในฐานข้�อมี"ล คำ�ย�รองไมี�มี�คำวิามีจ�าเป$นติ�องเป$นเอกล�กษณ� คำ-อสามีารถ้มี�คำ�าซ�%าก�นได� (เมี-)อใช้�ในการคำ�นหาข้�อมี"ลจากคำวิามีส�มีพี�นธ์�จะได�มีากกวิ�าหน5)งเรคำอร�ด)
คำ#ย์�นอก (Foreign Key)คำ�ย�นอก คำ-อ คำ�ย�เด�)ยวิหร-อคำ�ย�ผสมี ซ5)งเป$นคำ�ย�ทำ�)วิไปข้องติารางหน5)ง แติ�เป$นคำ�ย�หล�กข้องอ�กติารางหน5)ง เป$นติ�วิทำ�)ใช้�ในการเช้-)อมีติ�อระหวิ�างติาราง แสดงถ้5งติารางมี�คำวิามีส�มีพี�นธ์�ก�นอย"�
Slide 2
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
โคำรงสร�างข้องคำ#ย์�
Slide 2