ระบบการจัดการฐานข้อมูล (Database Management System : DBMS) “Microsoft Access 2003” อ.อารียา ศรีประเสริฐ สาขาวิชาเทคโนโลยีสารสนเทศธุรกิจ คณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยอีสเทิร์นเอเชีย
การพัฒนาฐานข้อมูล การออกแบบฐานข้อมูลด้วย Entity-Relationship Diagram การแปลงโมเดลข้อมูลแบบ E-R เป็นโมเดลฐานข้อมูลเชิงสัมพันธ์ การออกแบบไฟล์ (File Design) การพัฒนาฐานข้อมูลด้วย MS ACCESS
การออกแบบฐานข้อมูลด้วย Entity-Relationship Diagram
แบบจำลองข้อมูล (Data Model)
แผนภาพ 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 (ตัวชี้เฉพาะ) คือ แอททริบิวท์หรือกลุ่มของแอทริบิวท์ของเอนติตีใดๆ ที่ทำหน้าที่ชี้เฉพาะถึงสมาชิกตัวใดตัวหนึ่งของเอนติตี รหัสพนักงาน ชื่อ นามสกุล ที่อยู่ เบอร์โทรศัพท์ 2322332 สมชาย ชาตรี กรุงเทพฯ 02-5771028 5332124 สมศรี มั่งมีสุข ขอนแก่น 081-9455698 4650238 สมนึก 02-5771030
แสดงความสัมพันธ์ระหว่างประเภทของเอนติตี แอททริบิวท์ และสมาชิกของเอนติตี ประเภทของเอนติตี้ (entity type) คือ โครงสร้างที่ประกอบด้วยสมาชิกของเอนติตีที่มีคุณสมบัติหรือคุณลักษณะร่วมกัน
แผนภาพ E-R ความสัมพันธ์ (Relationship) : ความสัมพันธ์ระหว่างเอนทิตี้ ความสัมพันธ์แบ่งเป็นประเภทต่างๆ ดังนี้ ความสัมพันธ์แบบหนึ่งต่อหนึ่ง ความสัมพันธ์แบบหนึ่งต่อกลุ่ม ความสัมพันธ์แบบกลุ่มต่อกลุ่ม สัญลักษณ์ที่ใช้ คำกริยา EMPLOYEE DEPARTMENT Belong to
ความสัมพันธ์แบบ หนึ่ง-ต่อ-หนึ่ง ความสัมพันธ์ที่สมาชิกหนึ่งรายการของเอนติตีหนึ่งมีความสัมพันธ์กับสมาชิกเพียงหนึ่งรายการของอีกเอนติตีหนึ่ง
ความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม ความสัมพันธ์ที่สมาชิกหนึ่งรายการของเอนติตีหนึ่งมีความสัมพันธ์กับสมาชิกหลายรายการของอีกเอนติตีหนึ่ง
ความสัมพันธ์แบบ กลุ่ม-ต่อ-กลุ่ม ความสัมพันธ์ที่สมาชิกหลายรายการของเอนติตีหนึ่งมีความสัมพันธ์กับสมาชิกหลายรายการของอีกเอนติตีหนึ่ง
ความสัมพันธ์ที่มีข้อมูลขึ้นกับเวลา
ความสัมพันธ์ที่มีข้อมูลขึ้นกับเวลา
การออกแบบฐานข้อมูลโดย 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 ใหม่ขึ้นมา
แผนภาพ E-R แสดงเอนติตีเชิงสัมพันธ์ชื่อ “การลงทะเบียน” 1 N N 1
ประเภทความสัมพันธ์แบบ กลุ่ม-ต่อ-กลุ่ม
ประเภทความสัมพันธ์แบบ กลุ่ม-ต่อ-กลุ่ม การกำหนดคีย์หลักให้กับรีเลชันที่สาม การใช้คีย์หลักของสองรีเลชันแรกร่วมกัน เป็นคีย์หลักของ รีเลชันที่สาม การสร้างคีย์ใหม่ขึ้นมา
การกำหนดคีย์หลักให้กับรีเลชันที่สาม นำ PK ของเอนติตีด้านที่มีความสัมพันธ์เป็น 1 มาเป็น PK ของเอนติตีใหม่ที่มีความสัมพันธ์ด้านที่เป็น N ข้อจำกัด คือ นักศึกษาแต่ละคนไม่สามารถลงทะเบียนวิชาเดิมซ้ำอีก หากสอบไม่ผ่าน โมเดลฐานข้อมูลเชิงสัมพันธ์ที่แปลงมาจากแผนภาพ E-R แบบ กลุ่ม-ต่อ-กลุ่ม
การกำหนดคีย์หลักให้กับรีเลชันที่สาม นักศึกษาแต่ละคนสามารถลงทะเบียนวิชาเดิมซ้ำอีก หากสอบไม่ผ่าน ซึ่งลงทะเบียนได้มากกว่า 1 ครั้งต่อปีการศึกษา และไม่เกินภาคการศึกษาละ 1 ครั้ง โมเดลฐานข้อมูลเชิงสัมพันธ์ที่แปลงมาจากแผนภาพ E-R แบบ กลุ่ม-ต่อ-กลุ่ม
การกำหนดคีย์หลักให้กับรีเลชันที่สาม 1 N N 1 นำ PK ของเอนติตีด้านที่มีความสัมพันธ์เป็น 1 มาเป็น PK ของเอนติตีใหม่ที่มีความสัมพันธ์ด้านที่เป็น N ข้อจำกัด คือ ลูกค้าไม่สามาถซื้อสินค้าชนิดเดิมซ้ำได้อีกเป็นครั้งที่สอง การแปลงเอนติตีเชิงสัมพันธ์ “การสั่งซื้อ” เป็นรีเลชันเชิงสัมพันธ์โดยกำหนดคีย์หลักจากแอททริบิวท์ของรีเลชันอื่น
การกำหนดคีย์หลักให้กับรีเลชันที่สาม 1 N N 1 นำวันที่ซื้อร่วมเป็น PK ข้อจำกัด คือ ลูกค้าซื้อสินค้าชนิดเดิมซ้ำได้ แต่ต้องเป็นคนละวันกัน
การกำหนดคีย์หลักให้กับรีเลชันที่สาม โดยการสร้างคีย์หลักใหม่
การออกแบบไฟล์ (File Design)
การออกแบบประเภทข้อมูลและขนาดของแอททริบิวท์ Text ข้อมูลตัวอักษร ตัวเลข หรืออื่นๆ ผสมกัน ที่ยาวไม่เกิน 255 ตัวอักษร เช่น คำนำหน้า, ชื่อ, นามสกุล, ที่อยู่ เป็นต้น Memo ข้อมูลตัวอักษร ตัวเลข หรืออื่นๆ ผสมกัน ยาวเกิน 255 ตัวอักษร เช่น บันทึก หรือหมายเหตุ Number ข้อมูลตัวเลขที่นำไปคำนวณได้ เช่น อายุ, เงินเดือน Date/Time ข้อมูลวันที่ สามารถนำไปคำนวณได้ เช่น วันเกิด, วันเข้าทำงาน Currency ข้อมูลตัวเลขรูปแบบสกุลเงิน AutoNumber ข้อมูลตัวเลขที่ให้รันอัตโนมัติ เช่น ลำดับที่ Yes/No ข้อมูลตรรกะ ให้เลือก "ใช่" หรือ "ไม่ใช่" OLE Object ข้อมูลเสียง, ภาพ, วิดีโอ Hyperlink ข้อมูลที่สามารถคลิกลิงก์ได้ Lookup Wizard ข้อมูลค้นหา และแสดงเป็นรายการ เช่น DropDown List
Belong to Employee DEPARTMENT DepartmentName FirstName Employee_ID LastName Department_ID Belong to Telephone Employee DEPARTMENT Telephone Birthdate Position BuildingName Salary Floor Employee_ID FirstName LastName Position Salary Birthdate Telephone Department_ID Department_ID DepartmentName BuildingName Floor Telephone
File : Employee File : Department Field Name Data Type Field Size Type Employee_ID Text 4 Primary Key FirstName 50 LastName Position 20 Salary Currency Birthdate Date/Time Telephone 12 Department_ID Foreign Key File : Department Field Name Data Type Field Size Type Department_ID Text 4 Primary Key DepartmentName 50 BuildingName Floor 2 Telephone 12
ASSIGNMENT คณะพยาบาลศาสตร์ต้องการพัฒนาฐานข้อมูลหอพักนักศึกษาพยาบาลขึ้น เพื่อใช้เก็บข้อมูลต่างๆ ที่เกี่ยวกับการพักในหอพักมหาวิทยาลัยของนักศึกษาพยาบาล 2 หลักสูตร โดยนักศึกษาแต่ละท่านต้องพักในหอพักของมหาวิทยาลัยได้หลายหอพักตลอดหลักสูตร แต่ในแต่ละปีการศึกษาจะเข้าอยู่ได้เพียง 1 หอพัก ซึ่งข้อมูลนักศึกษาที่ต้องการจัดเก็บ จะประกอบด้วย รหัสนักศึกษา ชื่อ-สกุล วันเดือนปีเกิด ที่อยู่ เบอร์โทรศัพท์ หลักสูตร ทั้งนี้หอพักแต่ละหอมีนักศึกษาได้หลายคน สำหรับข้อมูลหอพักจะประกอบด้วย รหัสหอพัก ชื่อหอพัก ที่อยู่ หมายเลขโทรศัพท์ หมายเลขติดต่อภายใน และหมายเลขห้อง
rest Student Dormitory DormName FirstName Student_ID LastName Dorm_ID Curriculum Student Dormitory Telephone RoomNo Birthdate Address Telephone Address Student_ID FirstName LastName Birthdate Address Telephone Dorm_ID DormName RoomNo Curriculum
rest Student Room in Dormitory Floor FirstName BuildingName Student_ID LastName Telephone RoomNo rest Curriculum Student Room Telephone Birthdate in Address Dorm_ID Dormitory DormName Address Telephone
Microsoft Access 2003