8. ขั้นตอนการออกแบบฐานข้อมูล

Download Report

Transcript 8. ขั้นตอนการออกแบบฐานข้อมูล

ความรูพ้ ้ ืนฐานเกี่ยวกับระบบฐานข้อมูล
บทที่ 1
1. ความหมายของฐานข้อมูล
 ชุดของข้อมูล ที่รวมเอาข้อมูลชุดเดียวกัน เป็ นเรื่ องราว
เดียวกัน รวมกันเป็ นกลุ่มหรื อเป็ นชุดข้อมูล เช่น
ฐานข้อมูลนักศึกษา เป็ นข้อมูลที่ได้จากการบันทึกข้อมูล
โดยผูใ้ ช้
ลักษณะสาคัญของฐานข้อมูล
1.
2.
3.
เป็ นเรื่ องเกี่ยวกับการจัดเก็บข้อมูล
ข้อมูลที่จดั เก็บมีความสัมพันธ์เกี่ยวข้องเป็ นเรื่ อง
เดียวกัน
สามารถแสดงออกมาอยูใ่ นรู ปแบบของตารางได้
2. ความเป็ นมาของการจัดการฐานข้อมูล
 เริ่ มจากโครงการ “อพอลโล สหรัฐอเมริ กา”
 จ้างบริ ษทั IBM มาพัฒนาระบบข้อมูลเรี ยกว่า GUAM
3. ประโยชน์ของฐานข้อมูล
 ลดความซ้ าซ้อนของข้อมูล
 ประหยัดพื้นที่ในการจัดเก็บข้อมูล
 ลดความผิดพลาดของข้อมูล
 ทาให้การจัดการข้อมูลมีประสิ ทธิภาพมากขึ้น
 เกิดความเป็ นอิสระของข้อมูล
4. โปรแกรมจัดการฐานข้อมูลที่นยิ มใช้
FoxPro ,Access ,Clipper ,Oracle
,SQL Server ,MySQL
5. ตัวอย่างโปรแกรมจัดการฐานข้อมูล
6. หน้าที่ของโปรแกรมจัดการฐานข้อมูล
(DBMS)
DBMS
กาหนดและเก็บโครงสร้างของฐานข้อมูล
รับและเก็บข้อมูลในฐานข้อมูล
ดูแลรักษาข้อมูล
ติดต่อกับตัวจัดการระบบแฟ้ มข้อมูล
6. หน้าที่ของโปรแกรมจัดการฐานข้อมูล
(DBMS)ต่อ
DBMS
ควบคุมค่าของข้อมูลในระบบให้ถูกต้อง
ควบคุมความปลอดภัย
การสร้างระบบสารองและการกูข้ อ้ มูล
ควบคุมการใช้ขอ้ มูลพร้อมกันของผูใ้ ช้
7. การวิเคราะห์และออกแบบระบบ
 การวิเคราะห์ขอ้ มูล (Database Analysis) เป็ นการศึกษา
ฐานข้อมูลใดฐานข้อมูลหนึ่งเพื่อเป็ นการพัฒนาการใช้
ฐานข้อมูลนั้นให้เกิดประโยชน์สูงสุ ด โดยการ กำหนด
ปัญหำที่เกิดขึน้ เพือ่ หำวิธีแก้ ไข
การออกแบบฐานข้อมูล
Database Schema เป็ นการนาข้อมูลที่ได้จากขั้นตอนการ
วิเคราะห์ฐานข้อมูล มาประกอบ การจัดเตรี ยมรายละเอียด
รู ปแบบของแฟ้ มข้อมูล เพื่อให้ขอ้ มูลมีความสอดคล้องกัน
ตลอดจนนาไปใช้งานให้ได้ประโยชน์สูงสุ ด
8. ขัน้ ตอนการออกแบบฐานข้อมูล
 พิจารณาความต้องการขั้นพื้นฐานของข้อมูล (Database
Requirement)
กาหนดหน้าที่และความสามารถของฐานข้อมูลที่เรา
ต้องการ (Functional And Performance Requirement)
สร้างหัวเรื่ องของข้อมูล (Data Topic)
8. ขัน้ ตอนการออกแบบฐานข้อมูล(ต่อ)
 จาแนกองค์ประกอบข้อมูลออกจากแฟ้ มข้อมูล
สร้างพจนานุกรมขององค์ประกอบข้อมูล
รวบรวมองค์ประกอบข้อมูลลงสู่แฟ้ มข้อมูล
พิจารณาลักษณะเฉพาะของแต่ละแฟ้ มข้อมูล (File
Characteristics)
8. ขัน้ ตอนการออกแบบฐานข้อมูล(ต่อ)
 พิจารณาความสัมพันธ์ระหว่างแฟ้ มข้อมูล (File
Relationships)
พิจารณาการออกแบบสาหรับระบบจัดการฐานข้อมูล
(DBMS) ที่เลือกใช้
9. ขัน้ ตอนการออกแบบข้อมูลเชิงสัมพันธ์
 องค์กรเล็ก ข้อมูลน้อยการออกแบบระบบฐานข้อมูลไม่
ซับซ้อน ง่ายต่อการออกแบบ องค์กรใหญ่ขอ้ มูลปริ มาณ
มาก ระบบฐานข้อมูลซับซ้อน ยากต่อการออกแบบ จะทา
อย่างไรเพื่อให้ตอบสนองต่อการใช้งานของแต่ละองค์กร
เพื่อผลตอบแทนที่คุม้ ค่าต่อการลงทุนพัฒนาระบบ
การออกแบบฐานข้อมูลโดยใช้ซอฟต์แวร์มาช่วย
1.
2.
3.
4.
รวบรวมและวิเคราะห์ความต้องการในการใช้ขอ้ มูล
เลือกระบบจัดการฐานข้อมูล
ออกแบบฐานข้อมูลในระดับแนวคิด
นาฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ ระบบ
จัดการฐานข้อมูล
การออกแบบฐานข้อมูลโดยใช้ซอฟต์แวร์มาช่วย
(ต่อ)
5.
6.
การออกแบบฐานข้อมูลในระดับกายภาพ
การนาฐานข้อมูลไปใช้และการประเมินผล
รวบรวมวิเคราะห์
1. การรวบรวมและวิเคราะห์ความต้องการในการใช้
ข้อมูล
หาวัตถุประสงค์ของฐานข้อมูล
วิเคราะห์จากระบบเดิม
กาหนดวัตถุประสงค์และขอบเขตของฐานข้อมูล
2. การเลือกระบบจัดการฐานข้อมูล
ค่าใช้จ่ายและประโยชน์ที่จะได้รับ
คุณสมบัติของซอฟต์แวร์ระบบ
จัดการฐานข้อมูล
โครงสร้างของฐานข้อมูล
สิง่ ที่ตอ้ งคานึง่ ถึง
3. การออกแบบฐานข้อมูลในระดับแนวคิด
 เป็ นการออกแบบโครงสร้างพื้นฐานของฐานข้อมูลได้แก่
รี เรชัน่ ต่างๆ คีย์หลัก(Primary key) คีย์นอก(Foreign
key) ขั้นตอนการทางาน การไหลของข้อมูล(Dataflow)
ความสัมพันธ์ของตาราง เอนทิตี้ และ แอดทริบิว
 หรื อเรี ยกว่า ER-Diagram (อี อาร์ ไดอะแกรม)
ขัน้ ตอนการออกแบบระดับแนวคิด
1. กาหนดรีเลชั่น และความสั มพันธ์ ระหว่ างรีเลชั่น
One to One = หนึ่งต่ อหนึ่ง
One to Many = หนึ่งต่ อกลุ่ม
Many to Many = กลุ่มต่ อกลุ่ม
ขัน้ ตอนการออกแบบระดับแนวคิด
2. การกาหนดแอททริบิวต์ คีย์หลัก และคีย์รองในแต่ ละ
ความสั มพันธ์
เช่น รหัสนักศึกษา กาหนดให้เป็ นคียห์ ลัก
เบอร์โทรศัพท์กาหนดให้เป็ นคียร์ อง
ขัน้ ตอนการออกแบบระดับแนวคิด
3. การทาให้ รีเลชั่นมีคุณสมบัตอิ ยู่ในรู ปแบบทีเ่ ป็ นบรรทัด
ฐาน
คือการกาหนดความสัมพันธ์ของข้อมูลให้เป็ น
มาตรฐานเดียวกัน เพื่อความถูกต้องของข้อมูล และน่าเชื่อถือ
ขัน้ ตอนการออกแบบระดับแนวคิด
4. ลักษณะและขอบเขตของข้ อมูล รวมทั้งข้ อกาหนด
กฎเกณฑ์ ต่างๆ
เช่น ประเภทของข้อมูล (Data type) ขนาดของข้อมูล
(Data length) รู ปแบบของข้อมูล(Format) และขอบเขตของ
ข้อมูล(Data rang) เป็ นต้น
ขัน้ ตอนการออกแบบระดับแนวคิด
5. การรวบรวมและทบทวนการออกแบบฐานข้ อมูลในระดับ
แนวคิด
ตรวจสอบสาระสาคัญ ความซ้ าซ้อน ความขัดแย้งที่
อาจเกิดขึ้น
4. การนาฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่
ระบบจัดการฐานข้อมูล
กาหนดโครงสร้างของฐานข้อมูล (สร้างตาราง คอลัมน์ และ แถว)
การกาหนดการอ้างอิงระหว่างตารางข้อมูล(กาหนดคีย ์ คียห์ ลัก,รอง)
5. การออกแบบฐานข้อมูลในระดับกายภาพ
นาโครงสร้างของตารางข้อมูลที่มีการกาหนดคุณสมบัติไว้แล้ว มา
กาหนดวิธีการเข้าถึงข้อมูล เช่น การเรี ยกใช้ แก้ไข เพิ่มเติม หรื อ การ
กาหนดสิ ทธิ์ในการเข้าถึงข้อมูล
6. การนาข้อมูลไปใช้และการประเมินผล
 เป็ นการนาระบบไปใช้งานจริ ง และเก็บรายละเอียดคาอธิบาย
ต่างๆไว้ใน พจนานุกรมข้อมูล (Data Dictionary) ซึ่งผูบ้ ริ หาร
สามารถเรี ยกดูได้
 เรี ยกดูขอ้ มูลหรื อการ คิวรี่ (Query)
10. คีย์ (Key)
 คียห์ ลัก (Primary Key)
 คียร์ อง (Secondary Key)
 คียน์ อก (Foreign Key)
 ซุปเปอร์คีย ์ (Super Key)
 คียแ์ ข่งขัน (Candidate Key)
คียห์ ลัก (Primary Key)
 คือคียท์ ี่ใช้ในการอ้างถึงเรคคอร์ด (Record)ในฐานข้อมูล โดยจะ
ไม่ซ้ ากันในฐานข้อมูล เช่น รหัสนักศึกษา
รหัสนักศึกษา
ชื่อ
560001
โรเบริ ด
560002
ซาร่ า
560003
เอดเวิลด์
สกุล
ชาวป่ า
ป้ อมคา
จันทร
เอนทิต้ ี (Entity) นักศึกษา
ห้อง
ปวส.2
ปวส. 2
ปวส.2
แอดทริบิวต์
เรคคอร์ด
คียร์ อง (Secondary Key)
 คือคียท์ ี่ใช้ในการอ้างถึงเรคคอร์ด (Record)ในฐานข้อมูล ที่
มากกว่า 1 ตัว เพื่อให้ได้ขอ้ มูลที่ไม่ซ้ ากัน เช่น ชื่อ และ สกุล
รหัสนักศึกษา
ชื่อ
560001
โรเบริ ด
560002
ซาร่ า
560003
เอดเวิลด์
สกุล
ชาวป่ า
ป้ อมคา
จันทร
เอนทิต้ ี (Entity) นักศึกษา
ห้อง
ปวส.2
ปวส. 2
ปวส.2
แอดทริบิวต์
เรคคอร์ด
คียน์ อก (Foreign Key)
 คือคียท์ วั่ ไปของความสัมพันธ์หนึ่ง แต่ไปปรากฏเป็ นอีกคียห์ ลัก
ในอีกความสัมพันธ์หนึ่ง
ตัวอย่างหน้าถัดไป
Primary Key
รหัส
พนักงาน
Foreign Key
ชื่อ
สกุล
รหัสแผนก
ระดับศึกษา
001
AAA
BB
01
ปวส
002
CCC
DD
01
ป. ตรี
Foreign Key
วันที่
รหัส
พนักงาน
เวลาเริ่ ม
ทางาน
เวลาเลิกงาน
01/02/56
001
09.00
16.00
02/02/56
001
08.30
15.45
Primary Key
รหัสแผนก
ชื่อแผนก
01
คอมฯ
02
บัญชี
ซุปเปอร์คีย ์ (Super Key)
 คือ กลุ่มของแอททริ บิวต์ที่สามารถนาไปใช้ในการค้นหาข้อมูลที่
เป็ นเอกลักษณ์ได้ เช่น คนที่เริ่ มทางาน 09.00 และเลิกงาน 16.00
คือใคร ? เป็ นต้น
วันที่
รหัส
พนักงาน
เวลาเริ่ ม
ทางาน
เวลาเลิกงาน
01/02/56
001
09.00
16.00
02/02/56
001
08.30
15.45
คียแ์ ข่งขัน (Candidate Key)
 คือ ซุปเปอร์คีย ์ และไม่มีกลุ่มย่อยของคียใ์ ดในคียแ์ ข่งขันที่จะ
สามารถเป็ นซุปเปอร์คียไ์ ด้อีก (คือคียท์ ี่สามารถระบุหา record ที่มี
เพียงแค่ record เดียวเท่านั้นในฐานข้อมูล)
แบบจาลอง อี-อาร์
 เป็ นเครื่ องมือที่ช่วยในการออกแบบฐานข้อมูล เพื่ออธิบายค่า
ข้อมูลต่างๆในรู ปแบบของ เอนทิต้ ี และความสัมพันธ์ของเอนทิต้ ี
 DATA MODEL คือแบบจาลองแสดงโครงสร้างภายในระบบ
ฐานข้อมูลโดยใช้ “รูปภำพ”
สัญลักษณ์ของ E-R model
1. Strong Entity Set
2. Weak Entity Set
สัญลักษณ์ของ E-R model
3. Relationship Set
4. Attribute
สัญลักษณ์ของ E-R model
5. Key Attribute
6. Connection
ลักษณะความสัมพันธ์ของแบบจาลอง E-R Diagram
1
1. One – to One
2. One to Many
3. Many to One
E1
E1
E1
1
R
1
M
R
R
M
4. Many to Many
E1
E2
M
1
E2
E2
N
R
E2
ตัวอย่างความสัมพันธ์
Many to One
 แม่หนึ่งคนมีลกู ได้หลายคน แต่ลกู 1 คนมีแม่ได้คนเดียว
Many to Many
 ชั้นเรี ยนหนึ่ง เรี ยนกับครู ได้หลายคน ครู หนึ่งคนสามารถ
สอนได้หลายชั้นเรี ยน
ตัวอย่างความสัมพันธ์
One to One
สมาชิกออมทรัพย์สามารถเปิ ดบัญชีเงินฝากได้เพียง
บัญชีเดียว และแต่ละบัญชีจะมีเจ้าของได้เพียงคน
เดียว
ตัวอย่าง E-R diagram
รหัส วิชา
รหัส นศ.
รหัส นศ.
รหัส วิชา
ชือ่ วิชา
เรียน
นักศึกษา
ชือ่ -สกุล
ห้อง
M
M
1
เกรด
ห้อง
1
ได้
วิชา
หน่วยกิต
ห้อง