510 likes | 929 Views
ระบบการจัดการฐานข้อมูล (Database Management System : DBMS) “ Microsoft Access 2003 ”. อ.อารียา ศรีประเสริฐ สาขาวิชาเทคโนโลยีสารสนเทศธุรกิจ คณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยอีสเทิร์นเอเชีย. การพัฒนาฐานข้อมูล. การออกแบบฐานข้อมูลด้วย Entity-Relationship Diagram
E N D
ระบบการจัดการฐานข้อมูล(Database Management System : DBMS)“Microsoft Access 2003” อ.อารียา ศรีประเสริฐ สาขาวิชาเทคโนโลยีสารสนเทศธุรกิจ คณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยอีสเทิร์นเอเชีย
การพัฒนาฐานข้อมูล • การออกแบบฐานข้อมูลด้วย Entity-Relationship Diagram • การแปลงโมเดลข้อมูลแบบ E-R เป็นโมเดลฐานข้อมูลเชิงสัมพันธ์ • การออกแบบไฟล์ (File Design) • การพัฒนาฐานข้อมูลด้วย MS ACCESS
การออกแบบฐานข้อมูลด้วย Entity-Relationship Diagram
แผนภาพ E-R • เอนทิตี้ (Entity) : บุคคล สถานที่ วัตถุ หรือเหตุการณ์ที่ทำให้เกิดกลุ่มข้อมูล ซึ่งสามารถบ่งชี้ความเป็นเอกลักษณ์เฉพาะตัวของเอนทิตี้ได้ • เช่น Customer, Employee, Student, Department, Stock, Course • สัญลักษณ์ที่ใช้ Employee Department คำนาม
แผนภาพ E-R • แอตทริบิวต์ (Attributes) : คุณสมบัติของเอนติตี้ เช่นเอนทิตี้ นักศึกษาประกอบด้วย รหัสพนักงาน (EMP_ID), ชื่อ (Name), นามสกุล (L_Name), ที่อยู่ (Address), โทรศัพท์ (Tel_No) • แอตทริบิวต์ที่ที่สามารถระบุความแตกต่างของข้อมูลได้ คือ คีย์หลักที่ใช้ในการอ้างอิง (Identifier/ Primary Key) • สัญลักษณ์ที่ใช้ EMP_ID Tel_No Name Employee Address L_Name คำนาม
แอททริบิวท์ที่เป็นตัวชี้เฉพาะสมาชิกของเอนติตีแอททริบิวท์ที่เป็นตัวชี้เฉพาะสมาชิกของเอนติตี Identifier(ตัวชี้เฉพาะ) คือ แอททริบิวท์หรือกลุ่มของแอทริบิวท์ของเอนติตีใดๆ ที่ทำหน้าที่ชี้เฉพาะถึงสมาชิกตัวใดตัวหนึ่งของเอนติตี
แสดงความสัมพันธ์ระหว่างประเภทของเอนติตี แอททริบิวท์ และสมาชิกของเอนติตี ประเภทของเอนติตี้ (entity type) คือ โครงสร้างที่ประกอบด้วยสมาชิกของเอนติตีที่มีคุณสมบัติหรือคุณลักษณะร่วมกัน
Belong to EMPLOYEE DEPARTMENT แผนภาพ E-R • ความสัมพันธ์ (Relationship) : ความสัมพันธ์ระหว่างเอนทิตี้ • ความสัมพันธ์แบ่งเป็นประเภทต่างๆ ดังนี้ • ความสัมพันธ์แบบหนึ่งต่อหนึ่ง • ความสัมพันธ์แบบหนึ่งต่อกลุ่ม • ความสัมพันธ์แบบกลุ่มต่อกลุ่ม • สัญลักษณ์ที่ใช้ คำกริยา
ความสัมพันธ์แบบ หนึ่ง-ต่อ-หนึ่ง ความสัมพันธ์ที่สมาชิกหนึ่งรายการของเอนติตีหนึ่งมีความสัมพันธ์กับสมาชิกเพียงหนึ่งรายการของอีกเอนติตีหนึ่ง
ความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม ความสัมพันธ์ที่สมาชิกหนึ่งรายการของเอนติตีหนึ่งมีความสัมพันธ์กับสมาชิกหลายรายการของอีกเอนติตีหนึ่ง
ความสัมพันธ์แบบ กลุ่ม-ต่อ-กลุ่ม ความสัมพันธ์ที่สมาชิกหลายรายการของเอนติตีหนึ่งมีความสัมพันธ์กับสมาชิกหลายรายการของอีกเอนติตีหนึ่ง
ความสัมพันธ์ที่มีข้อมูลขึ้นกับเวลาความสัมพันธ์ที่มีข้อมูลขึ้นกับเวลา
การออกแบบฐานข้อมูลโดย Entity Relationship Diagram (E-R Diagram) • การวิเคราะห์หาเอนติตี • การหาความสัมพันธ์ระหว่างเอนติตีหลักเพื่อหาเอนติตีอื่นที่เกี่ยวข้อง • การหาแอททริบิวท์และกำหนดแอททริบิวท์ที่เป็นตัวชี้เฉพาะสมาชิกของเอนติตี
การออกแบบ E-R Model • การออกแบบ E-R Model ตามความต้องการในรูป Natural Language • การออกแบบ E-R Model ตามความต้องการในรูปฟอร์ม
แบบฝึกหัด • การออกแบบ E-R Model ตามความต้องการในรูป Natural Language
ข้อ 1โรงพยาบาลแห่งหนึ่งต้องการพัฒนาฐานข้อมูลผู้ป่วยขึ้น เพื่อใช้เก็บข้อมูลต่างๆ ที่เกี่ยวกับผู้ป่วยและยาที่แพ้ เพื่อนำมาใช้เป็นข้อมูลระเบียนประวัติผู้ป่วย โดยข้อมูลผู้ป่วยแต่ละคนที่จัดเก็บ จะประกอบด้วย หมายเลขบัตรประจำตัวประชาชน ชื่อ สกุล วันเดือนปีเกิด เพศ ที่อยู่ ซึ่งผู้ป่วยแต่ละคนอาจแพ้ยาได้หลายชนิด และยาแต่ละชนิดมีผู้ป่วยแพ้ได้หลายคน ซึ่งข้อมูลยาที่จัดเก็บประกอบด้วย รหัสยา ชื่อยา อาการแพ้
แบบฝึกหัด • การออกแบบ E-R Model ตามความต้องการในรูปฟอร์ม
แบบสอบถามการใช้รถยนต์แบบสอบถามการใช้รถยนต์ ชื่อ .................................................................... อายุ ................................... ที่อยู่ ............................................................................................................... เบอร์โทรศัพท์ ............................................................................................... ท่านใช้รถยนต์ยี่ห้อใด • TOYOTA รุ่น ..................... ปี ............. สี ............ ราคา ........ • NISSAN รุ่น ..................... ปี ............. สี ............ ราคา ........ • HONDA รุ่น ..................... ปี ............. สี ............ ราคา ........ • ISUZU รุ่น ..................... ปี ............. สี ............ ราคา ........ • MISUBISHI รุ่น ..................... ปี ............. สี ............ ราคา ........ • อื่นๆ ระบุ .............. รุ่น ..................... ปี ............. สี ............ ราคา ........
การแปลงโมเดลข้อมูลแบบ E-R เป็นโมเดลฐานข้อมูลเชิงสัมพันธ์
การแปลงโมเดลข้อมูลแบบ E-R เป็นโมเดลฐานข้อมูลเชิงสัมพันธ์ • การแปลงเอนติตีปกติและแอททริบิวท์ของเอนติตีปกติ • การแปลงความสัมพันธ์ระหว่างเอนติตี
แสดงการแปลงรีเลชันปกติและแอททริบิวท์แบบธรรมดา วิธีการ : สร้างรีเลชัน 1 รีเลชัน โดยจะนำ Simple Attribute มาเป็น Attribute ของรีเลชัน นำ Identifier มาเป็น PK ของรีเลชัน
การแปลงความสัมพันธ์ระหว่างเอนติตี • ประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่ง • ประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม • ประเภทความสัมพันธ์แบบ กลุ่ม-ต่อ-กลุ่ม
ประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่งประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่ง
แสดงการแปลงเอนติตีปกติและแอททริบิวท์ของเอนติตีเป็นรีเลชันแสดงการแปลงเอนติตีปกติและแอททริบิวท์ของเอนติตีเป็นรีเลชัน วิธีการ : สร้างรีเลชัน 2 รีเลชัน โดยจะนำเฉพาะ Attribute ย่อย (Simple Attribute) มาเป็น Attribute ของรีเลชัน นำ Identifier มาเป็น PK ของรีเลชัน
ประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่งระหว่างสองเอนติตีประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่งระหว่างสองเอนติตี
ประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่งระหว่างสองเอนติตีประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่งระหว่างสองเอนติตี
ประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มประเภทความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม
ประเภทความสัมพันธ์แบบ หนึ่ง-ต่อ-กลุ่มระหว่างสองเอนติตี นำ PK ของเอนติตีด้านที่มีความสัมพันธ์เป็น 1 มาเป็น FK ของเอนติตีที่มีความสัมพันธ์ด้านที่เป็น M แผนภาพ E-R ของความสัมพันธ์ “เป็นที่ปรึกษา” ระหว่างเอนติตี ”อาจารย์” และ ”นักศึกษา”
ประเภทความสัมพันธ์แบบ หนึ่ง-ต่อ-กลุ่มระหว่างสองเอนติตี โมเดลฐานข้อมูลเชิงสัมพันธ์ที่ได้จากการแปลงแผนภาพ E-R แบบ หนึ่ง-ต่อ-กลุ่ม
ประเภทความสัมพันธ์แบบ หนึ่ง-ต่อ-กลุ่มระหว่างสองเอนติตี • ความสำคัญแบบ 1:M ที่มีเวลามาเกี่ยวข้อง • ใช้แอททริบิวท์ร่วมที่นำมาจากคีย์หลักของสองรีเลชันแรกที่มีความสัมพันธ์กัน • สร้างคีย์หลักขึ้นมาใหม่
ความสัมพันธ์แบบ 1:M มีเวลามาเกี่ยวข้อง แสดงความสัมพันธ์ “เป็นที่ปรึกษา” ระหว่างเอนติตี ”อาจารย์” และ ”นักศึกษา” ที่ขึ้นกับเวลา
ความสำคัญแบบ 1:M ที่มีเวลามาเกี่ยวข้อง โดยใช้แอททริบิวท์ร่วมที่นำมาจากคีย์หลักของสองรีเลชันแรกที่มีความสัมพันธ์กัน ข้อจำกัด คือ อาจารย์แต่ละคนจะไม่สามารถเป็นที่ปรึกษาให้กับนักศึกษาคนเดิมได้อีกในปีการศึกษาถัด ดังนั้นต้องเพิ่ม Attribute ปีการศึกษาร่วมเป็น PK เพื่อให้อาจารย์เป็นที่ปรึกษานักศึกษาคนเดิมได้อีกเมื่อต่างปีการศึกษา
รหัสการเป็นที่ปรึกษา สร้างคีย์หลักขึ้นมาใหม่ ข้อเสนอแนะ : ระบบงานนี้ไม่มีความจำเป็นที่จะใช้วิธีการสร้าง PK ใหม่ขึ้นมา
1 N N 1 แผนภาพ E-R แสดงเอนติตีเชิงสัมพันธ์ชื่อ “การลงทะเบียน”
ประเภทความสัมพันธ์แบบ กลุ่ม-ต่อ-กลุ่ม
ประเภทความสัมพันธ์แบบ กลุ่ม-ต่อ-กลุ่ม • การกำหนดคีย์หลักให้กับรีเลชันที่สาม • การใช้คีย์หลักของสองรีเลชันแรกร่วมกัน เป็นคีย์หลักของรีเลชันที่สาม • การสร้างคีย์ใหม่ขึ้นมา
การกำหนดคีย์หลักให้กับรีเลชันที่สามการกำหนดคีย์หลักให้กับรีเลชันที่สาม นำ PK ของเอนติตีด้านที่มีความสัมพันธ์เป็น 1 มาเป็น PK ของเอนติตีใหม่ที่มีความสัมพันธ์ด้านที่เป็น N ข้อจำกัด คือ นักศึกษาแต่ละคนไม่สามารถลงทะเบียนวิชาเดิมซ้ำอีก หากสอบไม่ผ่าน โมเดลฐานข้อมูลเชิงสัมพันธ์ที่แปลงมาจากแผนภาพ E-R แบบ กลุ่ม-ต่อ-กลุ่ม
การกำหนดคีย์หลักให้กับรีเลชันที่สามการกำหนดคีย์หลักให้กับรีเลชันที่สาม นักศึกษาแต่ละคนสามารถลงทะเบียนวิชาเดิมซ้ำอีก หากสอบไม่ผ่าน ซึ่งลงทะเบียนได้มากกว่า 1 ครั้งต่อปีการศึกษา และไม่เกินภาคการศึกษาละ 1 ครั้ง โมเดลฐานข้อมูลเชิงสัมพันธ์ที่แปลงมาจากแผนภาพ E-R แบบ กลุ่ม-ต่อ-กลุ่ม
N 1 1 N การกำหนดคีย์หลักให้กับรีเลชันที่สาม นำ PK ของเอนติตีด้านที่มีความสัมพันธ์เป็น 1 มาเป็น PK ของเอนติตีใหม่ที่มีความสัมพันธ์ด้านที่เป็น N ข้อจำกัด คือ ลูกค้าไม่สามาถซื้อสินค้าชนิดเดิมซ้ำได้อีกเป็นครั้งที่สอง การแปลงเอนติตีเชิงสัมพันธ์ “การสั่งซื้อ” เป็นรีเลชันเชิงสัมพันธ์โดยกำหนดคีย์หลักจากแอททริบิวท์ของรีเลชันอื่น
N 1 1 N การกำหนดคีย์หลักให้กับรีเลชันที่สาม นำวันที่ซื้อร่วมเป็น PK ข้อจำกัด คือ ลูกค้าซื้อสินค้าชนิดเดิมซ้ำได้ แต่ต้องเป็นคนละวันกัน
การกำหนดคีย์หลักให้กับรีเลชันที่สาม โดยการสร้างคีย์หลักใหม่
การออกแบบประเภทข้อมูลและขนาดของแอททริบิวท์การออกแบบประเภทข้อมูลและขนาดของแอททริบิวท์
Telephone Employee_ID FirstName LastName Position Salary Birthdate Department_ID Department_ID DepartmentName BuildingName Floor Telephone DepartmentName FirstName Employee_ID LastName Department_ID Belong to Telephone Employee DEPARTMENT Telephone Birthdate Position BuildingName Salary Floor
File : Employee File : Department
ASSIGNMENT คณะพยาบาลศาสตร์ต้องการพัฒนาฐานข้อมูลหอพักนักศึกษาพยาบาลขึ้น เพื่อใช้เก็บข้อมูลต่างๆ ที่เกี่ยวกับการพักในหอพักมหาวิทยาลัยของนักศึกษาพยาบาล 2 หลักสูตร โดยนักศึกษาแต่ละท่านต้องพักในหอพักของมหาวิทยาลัยได้หลายหอพักตลอดหลักสูตร แต่ในแต่ละปีการศึกษาจะเข้าอยู่ได้เพียง 1 หอพัก ซึ่งข้อมูลนักศึกษาที่ต้องการจัดเก็บ จะประกอบด้วย รหัสนักศึกษา ชื่อ-สกุล วันเดือนปีเกิด ที่อยู่ เบอร์โทรศัพท์ หลักสูตร ทั้งนี้หอพักแต่ละหอมีนักศึกษาได้หลายคน สำหรับข้อมูลหอพักจะประกอบด้วย รหัสหอพัก ชื่อหอพัก ที่อยู่ หมายเลขโทรศัพท์ หมายเลขติดต่อภายใน และหมายเลขห้อง
Student_ID FirstName LastName Birthdate Address Telephone Curriculum Dorm_ID Dorm_ID DormName Address Telephone RoomNo DormName FirstName Student_ID LastName Dorm_ID rest Curriculum Student Dormitory Telephone RoomNo Birthdate Address Telephone Address
Floor FirstName BuildingName Student_ID LastName Telephone RoomNo rest Curriculum Student Room Telephone Birthdate in Address Dorm_ID Dormitory DormName Address Telephone