440 likes | 953 Views
แบบจำลอง E-R Entity-Relationship Model. ระบบฐานข้อมูล 3(2-2 -5 ). Attribute. โครงสร้างฐานข้อมูลเชิงสัมพันธ์. Employee. Cardinality. Relation. Degree. Primary Key. Foreign Key. Payroll. คีย์หลัก ?. คีย์หลัก ?. แสดงความสัมพันธ์ระหว่างตารางพนักงานและตารางแผนก. Employee.
E N D
แบบจำลอง E-REntity-Relationship Model ระบบฐานข้อมูล 3(2-2-5)
Attribute โครงสร้างฐานข้อมูลเชิงสัมพันธ์ Employee Cardinality Relation Degree Primary Key Foreign Key Payroll
แสดงความสัมพันธ์ระหว่างตารางพนักงานและตารางแผนกแสดงความสัมพันธ์ระหว่างตารางพนักงานและตารางแผนก Employee Foreign Key Department
แบบจำลองข้อมูล(E-R Model) มีไว้ทำไม • เพื่อนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบที่เข้าใจได้ง่าย • แบบจำลองข้อมูลที่ได้รับการยอมรับ จะถูกนำมาสร้างเป็นระบบฐานข้อมูลยี่ห้อต่างๆ ให้เราเลือกใช้งาน
ส่วนประกอบของ ER-Model • E-R Modelหรือแบบจำลองข้อมูล คือ การสร้างแบบจำลองฐานข้อมูลในระดับความคิด (Conceptual Level) โดย E-R Model มีส่วนประกอบสำคัญ 3 ส่วนดังนี้ • 1. เอ็นติตี้ (entity) • 2. แอททริบิวท์ (attributes) ของแต่ละเอ็นติตี้ • 3. ความสัมพันธ์ระหว่างเอ็นติตี้ (relationship)
เอนทิตี(Entity) • Entityหมายถึง สิ่งของหรือวัตถุที่สามารถบอกความแตกต่างจากเอนทิตีอื่นๆ ได้ • Entity อาจจะเป็น บุคคล , สถานที่ , เหตุการณ์ หรือสิ่งของที่เราเลือก เพื่อใช้ในการเก็บข้อมูล • สัญลักษณ์ จะใช้รูปสี่เหลี่ยมผืนผ้า และมีชื่อกำกับภายในเป็น คำนาม ชั้นเรียน นักศึกษา อาจารย์
แอททริบิวต์ (Attribute) • Attribute เป็นสิ่งที่ใช้อธิบายถึงคุณลักษณะของ Entity หนึ่ง ๆ เช่น Entity ของนักศึกษา จะประกอบด้วย Attribute ชื่อ-สกุล , เพศ , ที่อยู่ , เบอร์โทร , คณะ , สาขา ,วิชา , วันที่เข้าเรียน เป็นต้น • สมาชิกที่อยู่ใน Entity หนึ่ง ๆ จะต้องมี Attributeที่เหมือนกัน • จะใช้สัญลักษณ์ วงรีแทน Attributeหนึ่ง Attribute และมีชื่อกำกับภายในที่เป็นคำนาม และแอททริบิวท์ใดเป็นคีย์หลักก็จะมีการขีดเส้นใต้แอททริบิวท์นั้น ๆ
Gender Address Tel Name Major Stu_Id Student แอททริบิวต์ (Attribute)
ชนิดของ Attribute • แอทริบิวต์อย่างง่าย(Simple Attribute)หมายถึง แอทริบิวต์ที่ไม่สามารถแบ่งย่อยได้อีก เช่น อายุ เพศ สถานภาพการสมรส • คอมโพสิตแอทริบิวต์ (Composite Attribute)หมายถึง แอทริบิวต์ที่สามารถแบ่งย่อยได้อีก เช่น Attribute ที่อยู่ สามารถแบ่งเป็นแอทริบิวต์ย่อยๆ ได้ เป็น เลขที่ ถนน อำเภอ จังหวัด
Gender Major Tel Name Adress Stu_Id Student ตัวอย่างคอมโพสิตแอทริบิวต์ เลขที่ ถนน อำเภอ จังหวัด คอมโพสิตแอทริบิวต์ รหัสไปรษณีย์
ชนิดของ Attribute • แอทริบิวต์ที่มีหลายค่า (Multivalued Attribute)หมายถึง แอทริบิวต์ที่สามารถมีได้หลายค่า เช่นคนหนึ่งคนสามารถมีวุฒิการศึกษาได้หลายระดับ เช่น ปริญญาตรี,โท,เอก เป็นต้น หรือ นักศึกษาหนึ่งคนอาจมีเบอร์โทรศัพท์ได้หลายเบอร์ โดยจะใช้วงรีสองวงซ้อนกันแทนแอทริบิวต์ที่มีหลายค่า ชื่อ ที่อยู่ รหัส การศึกษา แอทริบิวต์ที่มีหลายค่า พนักงาน
แอทริบิวต์ที่มีหลายค่าแอทริบิวต์ที่มีหลายค่า ชื่อ ที่อยู่ รหัส การศึกษา 1 การศึกษา 2 พนักงาน ตัวอย่างข้อมูลที่เกิดจากการแปลงแอทริบวต์ที่มีหลายค่าไปเป็นแอทริบิวต์ใหม่ได้หลายตัวเพือนำไปสร้างข้อมูลในตาราง การศึกษา 3
ชนิดของ Attribute • 4. ดีไรฟ์แอทริบิวต์ (Derived attribute)คือ แอทริบิวต์ที่ได้มาจากการคำนวณจากแอทริบิวต์อื่น โดยทั่วไปไม่ต้องจัดเก็บแอทริบิวต์นี้ เช่น แอทริบิวต์อายุ เนื่องจากสามารถคำนวณได้จากวันเดือนปีเกิด หรือ ยอดรวมของใบเสร็จแต่ละใบ คำนวณได้จากรายการสินค้าในใบเสร็จ เป็นต้น • ในแผนภาพ ER จะใช้เส้นประแทน derived attribute เพศ คณะ วันเดือนปีเกิด ชื่อ อายุ รหัส นักศึกษา
Gender SalePrice Address Qty Tel SaleDate Name Prod_ID DOB Cust_ID Code BillNo Student Selling Simple Key Composite Key
การสร้างตารางจากแบบจำลองอีอาร์การสร้างตารางจากแบบจำลองอีอาร์ • แบบจำลองอีอาร์สามารถเขียนได้โดยใช้โครงสร้างแบบตารางได้ดังนี้ ชื่อตาราง(แอทริบิวต์คีย์หลัก,แอทริบิวต์ที่ 2,แอทริบิวต์ที่ 3,…….ที่ n) ตัวอย่าง เพศ คณะ วันเดือนปีเกิด ชื่อ รหัส นักศึกษา เขียนแบบโครงสร้างตารางได้ดังนี้นักศึกษา(รหัส,ชื่อ,คณะ,เพศ,วันเดือนปีเกิด)
ความสัมพันธ์ (relationship) ความสัมพันธ์ (relationship)หมายถึงความสัมพันธ์ระหว่างเอ็นติตี้ ซึ่งเป็นไปตามชนิดของความสัมพันธ์ โดยความสัมพันธ์จะนำเสนอด้วยเหตุการณ์ที่เชื่อมโยงในเอ็นทีตี โดยการตั้งชื่อความสัมพันธ์จะใช้คำกริยาที่แสดงการกระทำ เช่น มี,สอน,ว่าจ้าง เป็นต้น
ความสัมพันธ์ (relationship) • ตัวอย่างRelationship ระหว่าง Entity นักศึกษา กับ Entity รายวิชา มีความสัมพันธ์ คือ นักศึกษาลงทะเบียนเรียนในรายวิชานั้น ๆ • ตัวอย่าง นักศึกษาจะมีความสัมพันธ์กับสาขาวิชาที่นิสิตสังกัดอยู่ • จะใช้สัญลักษณ์ สี่เหลี่ยมข้าวหลามตัดแทน และมีการตั้งชื่อความสัมพันธ์นั้นกำกับภายใน โดยชื่อที่กำกับต้องเป็นคำกิริยา วิชา นักศึกษา ลงทะเบียน คณะ นักศึกษา สังกัด
ประเภทของความสัมพันธ์ (Relationships & Entity Set) • ระดับของ relationship จะแสดงด้วยจำนวนของ Entity ที่สัมพันธ์กัน คือ • Unaryrelationshipเป็นความสัมพันธ์ที่มี Entity เพียง Entity เดียว • Binaryrelationshipเป็นความสัมพันธ์ที่มี Entity เกี่ยวข้องด้วย 2 Entity • Ternaryrelationshipเป็นความสัมพันธ์ที่มี Entity เกี่ยวข้องด้วย 1 Entity
A Unary Relationship ต้องเรียนมาก่อน วิชา
ทำงาน สาขา ตำแหน่ง วิชา พนักงาน Student Binary Relationship ลงทะเบียน Ternary Relationship
ประเภทของ Relationship • ประเภทของการเชื่อม Relationship มีดังนี้ • One-to-One (1:1) • One-to-Many (1:N) • Many-to-Many (M:N) • ในแผนภาพ ER จะแทนโดยการเขียนกำกับที่เส้นเชื่อมความสัมพันธ์ เพื่ออธิบายความสัมพันธ์ของเอนทีตี
Relationship Connectivity 1 1 สมัคร รหัสผ่าน สมาชิก 1 N สอน วิชา อาจารย์ M N ลงทะเบียน วิชา นักศึกษา
คาร์ดินัลลิตี (Cardinality) • คาร์ดินัลลิตี (Cardinality)หมายถึง จำนวนของเอนทิตีหนึ่งที่มีความสัมพันธ์กับอีกเอนทิตีหนึ่ง เช่น ถ้ามีการกำหนดว่าอาจารย์คนหนึ่งสอนได้ไม่เกิน 3 วิชา ต่อภาคการศึกษา หรือ นักศึกษาสามารถลงทะเบียนได้ไม่เกิน 6 วิชาต่อภาคการศึกษาเป็นต้น โดยสามารถเขียนได้เป็นแผนภาพดังนี้
คาร์ดินัลลิตี (Cardinality) 1 N สอน วิชา อาจารย์ (0,3) (1,n) M N ลงทะเบียน วิชา นักศึกษา (0,30) (1,6) คาร์ดินัลลิตี (Cardinality)
สอน ลงทะเบียน การแสดงเงื่อนไขต่างๆ โดยใช้คาร์ดินัลลิตี้ 1 M N วิชา อาจารย์ (0,30) (1,n) (0,3) (1,6) N นักศึกษา
ประเภทของเอนทีตี (Entity) 1. เอนทิตีอ่อนแอ (Weak entity) หมายถึง เอนทีตีที่ไม่สามารถเกิดขึ้นเองได้ โดยปราศจากเอนทีตีที่มีความสัมพันธ์อยู่ และจะมีคีย์หลักจากการสืบทอดเอนทีตีที่มันพึ่งพิงอยู่ มาใช้เป็นคีย์หลักหรือส่วนหนึ่งของคีย์หลัก โดยWeak Entity จะใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้าแต่เป็นเส้นคู่ ตัวอย่างเช่น
มี การแสดงเอนทีตีอ่อนแอ (Weak entity) รหัสพนักงาน ชื่อ รหัสพนักงาน ลำดับที่ 1 M สมาชิกในครอบครัว พนักงาน (0,n) (1,1) ชื่อสมาชิก แผนก
การแสดงเอนทีตีอ่อนแอ (Weak entity)
บริหาร ประเภทของเอนทีตี (Entity) • 2. เอนทีตีเรียกซ้ำ (Recursive entity)เป็นเอนทีตีที่เกิดจากเอนทีตีเพียงเอนทีตีเดียว ที่เรียกว่าความสัมพันธ์แบบยูนารี ซึ่งอาจเป็นแบบ 1:1 , 1:M , M:N ก็ได้ เช่น ความสัมพันธ์ พนักงานที่เป็นผู้บริหาร ซึ่งหนึ่งคนอาจจะบริหารพนักงานได้หลายคน (ผู้บริหารก็เป็นพนักงานเช่นเดียวกัน) 1 M พนักงาน
แต่งงาน เรียนมาก่อน เอนทีตีเรียกซ้ำ (Recursive entity) 1 1 M N พนักงาน วิชา
เอนทีตีเรียกซ้ำ (Recursive entity)
ประเภทของเอนทีตี (Entity) • 3. คอมโพสิตเอนทีตี (Composite entity)สร้างขึ้นเพื่อแปลงความสัมพันธ์แบบ M:N มาเป็นแบบ 1:N โดยการนำเอาคีย์หลักของทั้งสองเอนทีตีที่มีความสัมพันธ์แบบ M:N มารวมกับแอทริบิวต์อื่นๆที่สนใจ เช่น เอนทีตีการลงทะเบียนเป็นคอมโพสิตเอนทีตีที่ถูกสร้างระหว่างเอนทีตีนักศึกษา และวิชา โดยคอมโพสิตเอนทีตีจะแสดงด้วยรูปสี่เหลี่ยมผืนผ้าที่มีรูปสีเหลี่ยมขนมเปียกปูนอยู่ภายในด้วย ดังแสดงในตัวอย่าง
ตัวอย่างคอมโพสิตเอนทีตี (Composite entity) รหัสนักศึกษา รหัสวิชา 1 1 M N วิชา นักศึกษา การลงทะเบียน รหัสนักศึกษา รหัสวิชา เกรด
แต่งงาน การลงทะเบียน สรุปองค์ประกอบของแผนภาพ E-R นักศึกษา เอนทีตี ชื่อ แอทริบิวต์ รหัสนักศึกษา คอมโพสิตเอนทีตี คีย์หลัก แอทริบิวต์หลายค่า ชื่อ นักศึกษา สมาชิก เอนทีตีอ่อนแอ ดีไรฟด์แอทริบิวต์ อายุ รีเลชันชิพ
สรุปองค์ประกอบของแผนภาพ E-R คอนเนคทีวิตี M N ลงทะเบียน วิชา นักศึกษา (0,30) (1,6) คาร์ดินัลลิตี (Cardinality)
สรุปองค์ประกอบของแผนภาพ E-RDiagram Attribute Multivalued attribute Key attribute Relationship lastName title genre FirstName balance Videotape_ID accountID otherUsers 1 M Rents Customer Videotape numberRentals address Cardinality street zipcode Derivedattribute city Composite attribute
การออกแบบฐานข้อมูลในระดับความคิดการออกแบบฐานข้อมูลในระดับความคิด • กำหนดว่ามี Entity อะไรบ้าง • กำหนดความสัมพันธ์ระหว่าง Entity • กำหนด Attribute ของ Entity ให้ครบ • พิจารณา Attribute ที่ขึ้นกับ Relationship • เลือก Identifier หรือ Primary Key
จงวาดรูป ER Diagram ของระบบการฉายภาพยนตร์พร้อมทั้งระบุความสัมพันธ์ให้ถูกต้อง โดยข้อมูล ประกอบด้วย - แฟ้มภาพยนตร์ ข้อมูลที่เก็บ รหัสภาพยนตร์,ชื่อภาพยนตร์,วันเปิดตัว,ผู้กำกับ - แฟ้มผู้แสดง ข้อมูลที่เก็บ รหัสนักแสดง,ชื่อนักแสดง,ประวัติการแสดง - แฟ้มโรงภาพยนตร์ ข้อมูลที่เก็บ รหัสโรงภาพยนตร์,ชื่อโรงภาพยนตร์,ที่อยู่,เบอร์โทรศัพท์
จงวาดรูป ER Diagram ของระบบร้านเช่าวีดีโอแห่งหนึ่ง ประกอบด้วย • แฟ้มสมาชิก(member)ข้อมูลที่เก็บ รหัสลูกค้า , ชื่อ , ที่อยู่,เบอร์โทร • แฟ้มชื่อเรื่อง(title)ข้อมูลที่เก็บ รหัสเรื่อง, ชื่อเรื่อง , ผู้กำกับ , นักแสดง • แฟ้มประเภท(category)ข้อมูลที่เก็บ รหัสประเภท,รายละเอียด พร้อมทั้งกำหนดความสัมพันธ์และคาดินัลลิตีให้ถูกต้อง
แบบฝึกหัด • 1. องค์ประกอบที่สำคัญของแบบจำลองอี-อาร์ มีอะไรบ้าง • 2. จงอธิบายความหมายและสัญลักษณ์ของคำต่อไปนี้ 2.1 เอนทีตี 2.5 แอทริบิวต์ที่มีหลายค่า 2.2 รีเลชันชิพ 2.6 ดีไรฟด์แอทริบิวต์ 2.3 แอตทริบิวต์ 2.4 คอมโพสิตแอทริบิวต์ 3. คอมโพสิตเอนทิตี้มีความสำคัญอย่างไรในการออกแบบฐานข้อมูลเชิงสัมพันธ์ 4. เอนทิตีอ่อนแอคืออะไร มีคุณสมบัติอย่างไร
5. จากตารางข้อมูล ที่กำหนดให้ แบบฝึกหัด 5.1 จงเขียน E-R Diagram แสดงความสัมพันธ์ของตาราง 5.2 จงบอกว่าแต่ละตารางมี Field ใดเป็น Primary Key 5.3 สำหรับตารางที่มี Foreign Key จงบอกว่าเป็น Field ใด และมีความสัมพันธ์กับ Field ใดในตารางใด