การออกแบบโครงสร้างฐานข้อมูลด้วย E-R Model และการแปลงเป็นรีเลชัน น ามาเขียนแสดงเป็นแผนภาพ เรียกว่า ERD (Entity Relationship Diagram)
Download ReportTranscript การออกแบบโครงสร้างฐานข้อมูลด้วย E-R Model และการแปลงเป็นรีเลชัน น ามาเขียนแสดงเป็นแผนภาพ เรียกว่า ERD (Entity Relationship Diagram)
การออกแบบโครงสร ้างฐานข้อมู ลด้วย E-R Model และการแปลงเป็ นรีเลช ัน E-R Model = Entity Relationship Model นามาเขียนแสดงเป็ นแผนภาพ เรียกว่า ERD (Entity Relationship Diagram) 1 จุดเด่นของ E-R Model ้ วยการจัด - ช่วยให้การอกแบบได้ง่ายขึนด้ ่ าการออกแบบ ระเบียบความคิดของคนทีท - ลดความซ ับซ ้อนของระบบได้เป็ นอย่างดี 2 Entity Relationship Model (E-R Model) ่ อธิบาย คือ แบบจาลองทีใช้ ่ ยน โครงสร ้างของฐานข้อมู ลซึงเขี ออกมาในลักษณะของรู ปภาพ การอธิบายโครงสร ้างและ ความสัมพันธ ์ของข้อมู ล ประกอบด้วย 2 ส่วน เอนทิต ี ้ (Entity) ความสัมพันธ ์ (Relationship) ระหว่าง Entity 3 สัญลักษณ์ทใช้ ี่ ในการ เขียน E-R Diagram 4 สัญลักษณ์ทใช้ ี่ ในการ เขียน E-R Diagram 5 ั ลักษณ์ทใี่ ชใน ้ E-R Diagram สญ ้ ใชแบบ Chen Model Entity ่ สาหร ับเก็บข้อมู ลแต่ละรายการภายใน เป็ นส่วนทีใช้ ่ ระบบทีเราก าลังจด ั ทาอยู ่ สัญลักษณ์ Entity เช่น บุคคล (พนักงาน, ผู ป ้ ่ วย, บุคลากร, นักศึกษา ,ลู กค้า) พนักงาน ่ ่) สถานที่ (จังหวัด, อาเภอ, ภาค, ทีอยู ่ วัตถุ (รถยนต ์, อาคาร, เครืองจ ก ั ร,สินค้า) เหตุการณ์ (ประวัต,ิ การลงทะเบียน, การร ักษาโรค ้ ,ซือ,ขาย) ่ ่ สัญลักษณ์จะแทนด้วยรู ปสีเหลี ยมและมี ชอ ื่ Entity อยู ่ 6 ภายใน ้ เอนทิต ี (Entity) ่ คงอยู ่ คือสิงที ่ สามารถระบุได้ใน ความจริง เช่น บุคคล เหตุการณ์ สถานที่ มักจะอยู ่ในรู ปของนาม สามารถมีคุณสมบัต ิ (Property) หรือแอททริบวิ ต ์ (Attribute) ได้ ่ ที่ เช่น บุคคล จะมี Attribute ชือ อยู ่ อายุ เพศ วุฒก ิ ารศึกษา ฯลฯ 7 ้ เอนทิต ี (Entity) แบ่งได้เป็ น 3 ชนิ ด Regular Entity คือ Entity ทัว่ ๆ ไป ที่ มี Attribute หนึ่ งแยกความแตกต่าง ของข้อมู ลแต่ละ Tuple ได้ Weak Entity หรือ Entity อ่อนแอ คือ ่ องอาศ ัย Attribute จาก Entity ทีต้ ่ Entity อืนมาช่ วยในแยกความแตกต่าง ของข้อมู ลแต่ละ Tuple ่ องมี Composite Entity คือ Entity ทีต้ ่ น Primary key จาก 2 Attribute ทีเป็ Entity แยกความแตกต่างของข้อมู ลแต่ 8 Regular Entity 9 Weak Entity สัญลักษณ์ของ Weak Entity 10 ภาพอธิบาย Strong & Weak Entity Student ่ (Strong) รหั ส ชือ Subject ่ ชา (Strong) รหัสวิชา ชือวิ คณะ 45001 เดชา บริหารธุรกิจ 01 ฐานข ้อมูล 45002 สมชา ย เกษตร 02 โครงสร ้าง Regis_Detai รหัส l(Weak) ปี รหัสวิชา การศึกษา 450 01 1/45 01 450 02 1/45 01 450 1/45 02 11 Composite Entity Student 1 M Learning M 1 Subject 12 Attribute หรือ Property คือคุณสมบัตต ิ า ่ ง ๆ ของ Entity Attribute 13 Attributes เป็ นคุณสมบัตห ิ รือลักษณะของ Entity ่ Attributes ของ พนักงาน ประกอบด ้วย เชน เลขทีพ ่ นักงาน ื่ -นามสกุล ชอ เพศ เงินเดือน ั ลักษณ์ Attributes นัน ื่ สญ ้ จะแทนด ้วยวงรี โดยมีชอ ้ อ ื่ มต่อ ของ Attributes กากับอยูภ ่ ายใน และมีเสนเช ่ กับ Entity ของมัน เชน 14 ตัวอย่าง Attributes Sex Name Emp_ID Employee Salary 15 Attributes Attributes สามารถจาแนกได ้เป็ น 6 ประเภท 1 Simple Attributes ่ Attributesทีไ ่ ม่สามารถแบ่งแยกย่อยได ้อีกแล ้ว เชน เพศ,เงินเดือน 2 Composite Attributes มีลก ั ษณะตรงข ้ามกับแบบ Simple ทีส ่ ามารถแบ่งแยก ่ ชอ ื่ สกุล ทีส ย่อยไปได ้อีก เชน ่ ามารถแบ่งออกได ้เป็ น ื่ และ สกุล Attributes ชอ 3 Key Attributes เป็ น Attributes ทีส ่ ามารถบ่งบอกถึงเอกลักษณ์ของ Entity นัน ้ ได ้ (มีคา่ ไม่ซา้ กัน) 16 Attributes 4 Single - Valued Attributes ่ Attributes Property ทีม ่ ค ี า่ ของข ้อมูลได ้เพียงแค่คา่ เดียว เชน เพศ ทีร่ ะบุได ้เพียง ชาย หรือ หญิง เท่านัน ้ เพราะมนุษย์มเี พียง เพศเดียว ั ลักษณ์เป็ นวงรี เสนเช ้ อ ื่ มเป็ นเสนเดี ้ ย สญ ่ ว 5 Multi - Valued Attributes มีลักษณะตรงข ้ามกับแบบ Single ทีส ่ ามารถมีคา่ ของข ้อมูลได ้ ่ เบอร์โทรทีป หลายค่า เชน ่ ระกอบด ้วยรหัสพืน ้ ทีแ ่ ละตามด ้วย หมายเลขโทรศัพท์ ั ลักษณ์เป็ นวงรีสองเสน้ สญ 6 Derived Attributes เป็ น Property ทีไ ่ ด ้มาจากการคานวณ โดยอาศัยค่าใน Property ่ ค่าของอายุ ทีไ่ ด ้มาจาก Property วันเกิด อืน ่ ๆ เชน ั ลักษณ์เป็ นวงรีเสนประ ้ สญ 17 ประเภทของ Attribute หรือ Property Simple SID Attribute SName GPA Student 18 ประเภทของ Attribute หรือ Property Composite FirstName LastName Attribute SID SName GPA Student 19 ประเภทของ Attribute หรือ Property Key Attribute FirstName SID LastName SName GPA Student 20 ประเภทของ Attribute หรือ Property Single-Valued Attribute ่ าข้อมู ล คือ Attribute ทีค่ ้ มีอยู ่เพียง ของ Attribute นัน ค่าเดียว เช่น รหัสลู กค้า เป็ น ต้น 21 ต ัวอย่างภาพ Attributes ชนิ ดต่าง ๆ Name Surname Composite Name_Surname ID key Sex Birthday Student Age Derived Tel Multi - Valued 22 ความสัมพันธ ์ (Relationship) ั พันธ์ระหว่าง 2 หมายถึง Entity ทีแ ่ สดงความสม Entity ขึน ้ ไป ั พันธ์ระหว่าง Entity ทีม เป็ นความสม ่ ี Attributes ร่วมกัน ั พันธ์จะถูกระบุด ้วยสญ ั ลักษณ์ โดยแต่ละความสม สเี่ หลีย ่ มข ้าวหลามตัด (Diamond) และคาทีอ ่ ธิบาย ั พันธ์นัน ถึงความสม ้ ๆ ั พันธ์ระหว่าง Entity พร ้อมทัง้ ระบุชนิดของความสม นัน ้ ๆ ด ้วย 23 ความสัมพันธ ์ (Relationship) ตัวอย่าง Relationship Employee Order Work_in Of Department Order_detail 24 ประเภทของ Relationship 1. One-to-One Relationship ั พันธ์ของสมาชก ิ ของใน Entity หนึง่ ไป เป็ นความสม ั พันธ์กบ ิ ของใน Entity อีกอันหนึง่ เพียง สม ั กับสมาชก หนึง่ เดียวเท่านัน ้ Employee 1 Owner 1 Car 25 ประเภทของ Relationship 2. One-to-Many Relationship ั พันธ์ของสมาชก ิ ของใน Entity หนึง่ ไป เป็ นความสม ั พันธ์กบ ิ ของใน Entity อีกอันหนึง่ สม ั กับสมาชก ิ มากกว่า 1 สมาชก Employee 1 Have M Car 26 ประเภทของ Relationship 3. Many-to-Many Relationship ั พันธ์ของสมาชก ิ มากกว่า 1 สมาชก ิ ของ เป็ นความสม ั พันธ์กบ ิ ของใน ใน Entity หนึง่ ไปสม ั กับสมาชก ิ Entity อีกอันหนึง่ มากกว่า 1 สมาชก Customer M Belong_to N Account 27 Relationship หรือ Connectivity : แบบ One to One , 1:1 รหัส ตัวแทน ่ ชือ ตัวแทน ตัวแทน ่ ่ ทีอยู รหัส ลู กค้า 1 1 ดูแล ่ กค ้า ชือลู ลู กค้า 28 Relationship หรือ Connectivity : แบบ One to Many, 1:M รหัส ตัวแทน ่ ชือ ตัวแทน ตัวแทน ่ ่ ทีอยู รหัส ลู กค้า 1 M ดูแล ่ กค ้า ชือลู ลู กค้า 29 Relationship หรือ Connectivity : แบบ Many to Many, M:N ่ นค ้า ราคา ่ เลขทีใบสั ง่ วันทีสั ่ ง่ วันทีส่ ่ งของ รหัสสินค้า ชือสิ M ้ ่ อ ใบสังซื N ่ สังรายการ สินค้า 30 ่ การเปลียน E-R diagram เป็ น Table Strong Entity SID SName GPA Student ตาราง Student SID SName GPA 31 ่ การเปลียน E-R diagram เป็ น Table ่ Composite Entity ทีมี Attribute FirstName SID LastName SName GPA Student ตาราง Student SID FirstName LastName GPA 32 ่ การเปลียน E-R diagram เป็ น Table ่ Multi-value Attribute Entity ทีมี ตาราง Student SID FirstName LastName GPA แยกเป็ น ตาราง Tel อีSID ก 1 ตาราง Tel 33 ่ การเปลียน E-R diagram เป็ น Table Weak Entity EmpID EName Employee TDate Salary T_In T_out TimeStamp stamp ตาราง Timestamp EmpID TDate T_In T_Out 34 ่ การเปลียน E-R diagram เป็ น Table แบบมี ความสัมพันธ ์ ความสัมพันธ ์แบบหนึ่ งต่อหนึ่ง (One to One, 1:1) ่ ่ ทีอยู ่ ชือ ตัวแทน รหัส ตัวแทน ตัวแทน ตัวแทน รหัส ต ัวแทน ลู กค้า รหัส ลู กค้า ่ ชือ ต ัวแทน ่ กค้า ชือลู ่ ่ ทีอยู 1 ดูแล รหัส ลู กค้า 1 รหส ั ลู กค้า หรือ ตัวแทน ลู กค้า รหัส ต ัวแทน รหัส ลู กค้า ่ กค ้า ชือลู ลู กค้า ่ ชือ ต ัวแทน ่ กค้า ชือลู ่ ่ ทีอยู รหัส ต ัวแทน 35 ่ การเปลียน E-R diagram เป็ น Table แบบมีความสัมพันธ ์ ความสัมพันธ ์แบบหนึ่ งต่อกลุ่ม (One ่ กค ้า ่ 1:M) ่ ่ รหัส to Many, ชือลู ชือ รหัส ทีอยู ตัวแทน ตัวแทน ตัวแทน ตัวแทน ลู กค้า ลู กค้า 1 รหัส ต ัวแทน ่ ชือ ต ัวแทน รหัส ลู กค้า ่ กค้า ชือลู ดูแล ่ ่ ทีอยู M ลู กค้า รหัส ลู กค้า 36 ่ การเปลียน E-R diagram เป็ น Table แบบมีความสัมพันธ ์ ความสัมพันธ ์แบบกลุ่มต่อกลุ่ม ่ เลขทีใบสั ง่ วันที่ (Many สัง่ รหัสสินค้า ่ งของ M:N) toวัMany, นทีส่ ่ นค ้า ราคา ชือสิ M N ่ ้ ่ ใบสังซือ สังรายการ สินค้า ่ อ้ เลขที ใบสังซื ใบสัง่ ่ เลขที่ ่ สังรายการ ใบสัง่ ่ ง่ ว ันทีสั รหัสสิน ค้า ่ ง ว ันทีส่ สินค้า รหัสสิน ค้า ่ ชือ สินค้า ราคา 37 ่ อ้ ใบสังซื M ่ อ้ ใบสังซื 1 ่ สังรายการ M M ่ อ้ รายการสังซื N สินค ้า 1 สินค ้า ่ ภาพแสดงการเปลียนแปลงจาก M:M มาเป็ น 1:M 38 การออกแบบฐานข้อมู ลด้วย E-R Model ่ 1. ศึกษารายละเอียดและลักษณะหน้าทีงานของ ระบบ เพือ ่ รวบรวมรายละเอียด ลักษณะการทางานของระบบ ขัน ้ ตอนการทางาน เอกสารรายงานต่างๆ 39 ่ 2. กาหนด Entity ทีควรมี ในระบบฐานข้อมู ล โดยคานึงถึงข ้อมูลทัง้ หมดทีจ ่ ะจัดเก็บลงไปใน ฐานข ้อมูล ว่าสามารถแบ่งออกได ้เป็ นกี่ Entity ภายในฐานข ้อมูลหนึง ่ ๆ อาจจะมีจานวน Entity เป็ น จานวนมาก ซงึ่ ก็ขน ึ้ อยูท ่ ผ ี่ ู ้ใชว่้ าต ้องการจัดเก็บ ข ้อมูลมากเพียงใด โดยการกาหนด Entity จะต ้องคานึงถึง Entity ทัง้ แบบอ่อนแอและแบบแข็งแรงด ้วย 40 3. การกาหนดความสัมพันธ ์ระหว่าง Entity ั พันธ์กน ั พันธ์ ว่าแต่ละ Entity ทีม ่ ค ี วามสม ั นั น ้ จะสม ั พันธ์เป็ น กันด ้วยเงือ ่ นไขใด และชนิดความสม อย่างไร One to One Relationship One to Many Relationship Many to Many Relationship 41 4. การกาหนดคุณลักษณะของ Entity เป็ นการกาหนดคุณสมบัต ิ (Attributes) ให ้กับ Entity ว่าควรจะประกอบไปด ้วย Attributes ใดบาง พร ้อมทัง้ พิจารณาด ้วยว่า Attributes ใดบ ้างทีจ ่ ะ เป็ น Composite Attributes Derived Attributes 42 5. การกาหนด Primary Key ของแต่ละ Entity เป็ นการกาหนดให ้ Entity แต่ละ Entity มี เอกลักษณ์เฉพาะทีส ่ ามารถอ ้างอิงได ้อย่างไม่ ้ ซ้าซอน นั่ นก็คอ ื การกาหนด Primary Key นั่นเอง 43 ตัวอย่างการออกแบบฐานข้อมู ล ด้วย E-R Model Ex ึ ษาแห่งหนึง่ มีการสอนอยู่ 3 คณะ สถาบันการศก ึ ษาศาสตร์ คือ เกษตร, วิทยาศาสตร์, ศก ซงึ่ ในแต่ละคณะจะประกอบไปด ้วยภาควิชาต่าง ๆ แต่ละภาควิชาก็จะประกอบไปด ้วยอาจารย์หลาย ๆ คน อาจารย์แต่ละคนสอนได ้หลายวิชา แต่สามารถสงั กัดได ้ เพียงแค่ภาควิชาเดียว และอาจารย์แต่ละคนแต่ละภาคก็จะมีหวั หน ้าภาค 44 ่ กาหนด Entity ทีควรมี ในระบบฐานข้อมู ล Entity Faculty แสดงรายละเอียดของคณะ Entity Department แสดงรายละเอียดของแผนก Entity Teacher แสดงรายละเอียดของอาจารย์ Entity Subject แสดงรายละเอียดของวิชา 45 กาหนดความสัมพันธ ์ ระหว่าง Entity Faculty 1 Under 1 Department Under 1 Department Under M M M Department Teacher Subject 46 1 Teacher M Leader Subject Subject M 1 M Teaching M Teaching M 1 Teacher Teacher 47 กาหนดคุณลักษณะของ Entity Faculty_ID Faculty Faculty_Name Faculty Department Dep_ID Dep_Name Department 48 Teacher_ID Teacher Teacher_Name Salary Teacher Subject Subject Subject_ID Subject_Name Unit 49 การกาหนด Primary Key ของ Entity Entity Faculty คือ Faculty_ID Entity Department คือ Dep_ID Entity Teacher คือ Teacher_ID Entity Subject คือ Subject_ID 50 51 ตัวอย่างการออกแบบฐานข้อมู ล ด้วย E-R Model ิ ค ้า Ex ให ้เขียน ER-Diagram ของระบบการขายสน ร ้านABC คอมพิวเตอร์ โดยที่ ื้ สน ิ ค ้าได ้หลายชน ิ้ ลูกค ้าหลายคนสามารถทีจ ่ ะซอ ิ ค ้าได ้หลายชน ิ้ ใบเสร็จรับเงินหลายใบมีสน ในใบเสร็จแต่ละใบจะมีพนักขายเพียงคนเดียวเท่านัน ้ ิ ค ้าจะประเภทของตัวเอง สน 52 ่ กาหนด Entity ทีควรมี ในระบบฐานข้อมู ล Entity Customer แสดงรายละเอียดของลูกค ้า Entity Employee แสดงรายละเอียดของพนักงาน ขาย ิ ค ้า Entity Product แสดงรายละเอียดของสน ิ ค ้า Entity TypeProduct แสดงประเภทของสน Entity Bill แสดงรายละเอียดของใบเสร็จ 53 กาหนดความสัมพันธ ์ระหว่าง Entity Customer Employee TypeProduct 1 1 1 ได้ร ับ มี มี M M M Bill Bill Product 54 M Bill Bill 1 M M มี Bill_detail M Product 1 Product 55 กาหนดคุณลักษณะของ Entity Emp_ID Emp_name Product_ID Employee Product_name salary Product price TypeName TypeProduct TypeID 56 Cus_ID Cus_name Bill_No Customer Address Bill_date Bill Emp_ID 57 ER-Diagram Product_ID ิ ค ้า ของระบบการขายสน Bill_date 1 Bill M Emp_ID M Bill_detail TypeName Customer Address M มี 1 มี TypeID 1 Cus_name Product Amount ได ้ร ับ 1 price 1 M M Bill_No Cus_ID Product_ID Price_s Detail_ID Bill_No Product_name Emp_name salary TypeProduct Employee 58 Emp_ID