การเชื่อมต่อเออร์วินระหว่างตาราง พื้นฐานของเออร์วิน การสร้างแบบจำลองข้อมูลเชิงตรรกะ ประเภทของการสื่อสาร ความสัมพันธ์ที่ระบุและไม่ระบุ บังคับและเป็นทางเลือก

ความสัมพันธ์คือความสัมพันธ์เชิงตรรกะระหว่างเอนทิตี แต่ละความสัมพันธ์ควรเรียกว่ากริยาหรือวลีกริยา ชื่อความสัมพันธ์แสดงถึงข้อจำกัดหรือกฎเกณฑ์ทางธุรกิจ และทำให้อ่านไดอะแกรมได้ง่ายขึ้น ตามค่าเริ่มต้น ชื่อการเชื่อมต่อจะไม่แสดงในไดอะแกรม ในระดับตรรกะ คุณสามารถสร้างความสัมพันธ์ที่ระบุแบบหนึ่งต่อกลุ่ม ความสัมพันธ์แบบกลุ่มต่อกลุ่ม และความสัมพันธ์แบบไม่ระบุตัวตนแบบหนึ่งต่อกลุ่ม ความสัมพันธ์เป็นแนวคิดระดับลอจิคัลซึ่ง Foreign Key สอดคล้องกันในระดับฟิสิคัล ใน ERwin ความสัมพันธ์จะแสดงด้วยข้อมูลหลัก 5 ส่วน:

● ประเภทของการเชื่อมต่อ (ระบุตัวตน ไม่ระบุ หมวดหมู่ที่สมบูรณ์/ไม่สมบูรณ์ การเชื่อมต่อที่ไม่เฉพาะเจาะจง)

● นิติบุคคลหลัก;

● นิติบุคคลย่อย (ขึ้นอยู่กับ);

● พลังการสื่อสาร (เชิงจำนวน);

● การยอมรับค่าว่าง (null)

IDEFIX แยกความแตกต่างระหว่างเอนทิตีที่ต้องพึ่งพาและเอนทิตีอิสระ ประเภทของเอนทิตีถูกกำหนดโดยความสัมพันธ์กับเอนทิตีอื่น ความสัมพันธ์ที่ระบุถูกสร้างขึ้นระหว่างเอนทิตีอิสระ (หลัก) และเอนทิตีที่อยู่ในความอุปการะ (รอง) เอนทิตีที่ขึ้นต่อกันจะแสดงด้วยสี่เหลี่ยมมุมมน เมื่อมีการสร้างความสัมพันธ์ในการระบุ คุณลักษณะของคีย์หลักของเอนทิตีหลักจะถูกโอนไปยังคีย์หลักของเอนทิตีลูกโดยอัตโนมัติ การดำเนินการเพิ่มแอตทริบิวต์ให้กับเอนทิตีลูกเมื่อสร้างความสัมพันธ์นี้เรียกว่าการย้ายแอตทริบิวต์ ในเอนทิตีลูก คุณลักษณะใหม่จะถูกทำเครื่องหมายเป็นคีย์ต่างประเทศ - FK

เมื่อมีการสร้างความสัมพันธ์ที่ไม่ระบุตัวตน เอนทิตีย่อยจะยังคงเป็นอิสระ และคุณลักษณะคีย์หลักของเอนทิตีหลักจะรวมอยู่ในคุณลักษณะที่ไม่ใช่คีย์ของเอนทิตีย่อย ความสัมพันธ์ที่ไม่ระบุตัวตนถูกใช้เพื่อเชื่อมโยงเอนทิตีอิสระ ในการกำหนดความสัมพันธ์ของ ERwin คุณต้องเลือกประเภทความสัมพันธ์ จากนั้นใช้เมาส์เพื่อเลือกเอนทิตีหลักและรายการย่อย ลิงค์ระบุจะแสดงเป็นเส้นทึบ ไม่ระบุตัวตน - เส้นประ เส้นลงท้ายด้วยจุดบนด้านข้างของเอนทิตีลูก

จำนวนสมาชิก - ทำหน้าที่ระบุอัตราส่วนของจำนวนอินสแตนซ์ของเอนทิตีหลักต่อจำนวนอินสแตนซ์ของเด็ก

เอนทิตีมีสี่ประเภท:

· กรณีทั่วไปเมื่ออินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับ 0, 1 หรือหลายอินสแตนซ์ของเอนทิตีลูก ไม่มีเครื่องหมายใดๆ

· สัญลักษณ์ P ทำเครื่องหมายกรณีที่หนึ่งอินสแตนซ์ของเอนทิตีหลักสอดคล้องกับ 1 หรือหลายอินสแตนซ์ของเอนทิตีลูก (ไม่รวมค่าศูนย์)

· สัญลักษณ์ Z ทำเครื่องหมายกรณีที่อินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับ 0 หรือ 1 อินสแตนซ์ของเอนทิตีย่อย (ไม่รวมค่าหลายค่า)

· ตัวเลขจะทำเครื่องหมายกรณีของการจับคู่แบบตรงทั้งหมด เมื่ออินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับจำนวนอินสแตนซ์ของเอนทิตีลูกที่กำหนดไว้ล่วงหน้า

· การยอมรับค่าว่าง (NULL) ในความสัมพันธ์ที่ไม่ระบุตัวตนนั้น ERwin แสดงให้เห็นเป็นเพชรว่างบนส่วนโค้งความสัมพันธ์จากด้านข้างของเอนทิตีหลัก

ชื่อของการเชื่อมต่อในระดับลอจิคัลคือคำกริยาที่เชื่อมต่อเอนทิตี ชื่อลิงก์ทางกายภาพ (ซึ่งอาจแตกต่างจากชื่อลิงก์แบบลอจิคัล) สำหรับ ERWin หมายถึงข้อจำกัดหรือชื่อดัชนี หากต้องการแสดงชื่อความสัมพันธ์ ให้เลือกตัวเลือกจากเมนู: รูปแบบ/การแสดงความสัมพันธ์/วลีกริยา

เอนทิตีบางแห่งกำหนดหมวดหมู่ทั้งหมดของออบเจ็กต์ประเภทเดียวกัน ใน ERwin ในกรณีนี้ เอนทิตีจะถูกสร้างขึ้นเพื่อกำหนดหมวดหมู่และสำหรับแต่ละองค์ประกอบของหมวดหมู่ จากนั้นจึงแนะนำความสัมพันธ์ในการจัดหมวดหมู่สำหรับรายการเหล่านั้น เอนทิตีหลักของหมวดหมู่เรียกว่า supertype และรายการย่อยเรียกว่าชนิดย่อย

ตัวอย่างเช่น เอนทิตี "เอกสารขาเข้า" อาจเป็นทั้งคำขอและคำสั่งซื้อ ชุดแรกและชุดที่สองมีชุดแอตทริบิวต์ที่แตกต่างกันและทับซ้อนกันบางส่วน (จุดตัดขั้นต่ำของประเภทย่อยคือคีย์หลัก) ส่วนทั่วไปของแอตทริบิวต์เหล่านี้ รวมถึงคีย์หลัก จะถูกวางไว้ในเอนทิตีประเภทพิเศษ "เอกสารขาเข้า" ส่วนต่างๆ (เช่น ข้อมูลเกี่ยวกับเนื้อหา ผู้ส่ง) จะถูกวางไว้ในเอนทิตีประเภทย่อย

ในเอนทิตี supertype จะมีการแนะนำแอตทริบิวต์ discriminator ที่ช่วยให้คุณสามารถแยกแยะความแตกต่างระหว่างอินสแตนซ์เฉพาะของเอนทิตี - ชนิดย่อย

ขึ้นอยู่กับว่าเอนทิตีประเภทย่อยที่เป็นไปได้ทั้งหมดรวมอยู่ในแบบจำลองหรือไม่ ความสัมพันธ์เชิงหมวดหมู่จะเสร็จสมบูรณ์หรือไม่สมบูรณ์

รูปที่ 1.4 - ตัวอย่างชุดหมวดหมู่ที่ไม่สมบูรณ์

รูปที่ 1.5 - ตัวอย่างชุดหมวดหมู่ที่สมบูรณ์

3. เอนทิตีสามารถเป็นเอนทิตีทั่วไปในความสัมพันธ์ในการจัดหมวดหมู่จำนวนเท่าใดก็ได้

4. คุณลักษณะของคีย์หลักของเอนทิตีหมวดหมู่จะต้องตรงกับคุณลักษณะของคีย์หลักของเอนทิตีทั่วไป

5. อินสแตนซ์ทั้งหมดของเอนทิตีหมวดหมู่มีค่าตัวแยกแยะที่เหมือนกัน และอินสแตนซ์ทั้งหมดของหมวดหมู่อื่น ๆ จะต้องมีค่าตัวแยกแยะที่แตกต่างกัน (ดูรูปที่ 4 และรูปที่ 5)

บทบาท

ชื่อบทบาท (ชื่อที่ใช้งานได้) เป็นคำพ้องสำหรับแอตทริบิวต์คีย์นอกที่บ่งชี้ว่าแอตทริบิวต์มีบทบาทอย่างไรในเอนทิตีลูก ตามค่าเริ่มต้น เฉพาะชื่อบทบาทเท่านั้นที่จะแสดงในรายการแอ็ตทริบิวต์ หากต้องการแสดงชื่อเต็มของคุณลักษณะ (ทั้งชื่อฟังก์ชันและชื่อบทบาท) ให้เลือก แสดงรูปแบบ/เอนทิตี จากเมนูบริบท จากนั้นเปิดใช้งานตัวเลือก ชื่อบทบาท/คุณลักษณะ ชื่อเต็มจะแสดงเป็นชื่อใช้งานและชื่อฐาน คั่นด้วยจุด ชื่อบทบาทถูกระบุบนแท็บ Rolename ของกล่องโต้ตอบความสัมพันธ์ หน้าต่างนี้ถูกเรียกขึ้นมาโดยการดับเบิลคลิกที่สายเชื่อมต่อ

จำเป็นต้องใช้ชื่อบทบาทเมื่อมีการกำหนดคุณลักษณะตั้งแต่สองรายการขึ้นไปของเอนทิตีเดียวกันในขอบเขตเดียวกัน กล่าวคือ มีความหมายเหมือนกันแต่มีความหมายต่างกัน

การแสดง.

มุมมอง หรือที่บางครั้งเรียกว่าตารางชั่วคราวหรือตารางที่ได้รับ คือออบเจ็กต์ฐานข้อมูลที่ข้อมูลไม่ได้ถูกจัดเก็บอย่างถาวร เช่นเดียวกับในตาราง แต่ถูกสร้างขึ้นแบบไดนามิกเมื่อมีการเข้าถึงมุมมอง มุมมองไม่สามารถมีอยู่ได้ด้วยตัวเอง แต่ถูกกำหนดไว้ในแง่ของตารางตั้งแต่หนึ่งตารางขึ้นไปเท่านั้น การใช้มุมมองช่วยให้ผู้ออกแบบฐานข้อมูลสามารถจัดเตรียมมุมมองข้อมูลที่แตกต่างกันให้กับผู้ใช้หรือกลุ่มผู้ใช้แต่ละราย ซึ่งช่วยแก้ปัญหาความง่ายในการใช้งานและความปลอดภัยของข้อมูล

เพื่อสร้างความสัมพันธ์ระหว่างเอนทิตีและสร้างคีย์ต่างประเทศ ERWin ให้ความสามารถในการแบ่งประเภทความสัมพันธ์ออกเป็นหลายตัวเลือก:

  • การระบุความสัมพันธ์ - ความสัมพันธ์ที่กำหนดการติดต่อแบบหนึ่งต่อหนึ่งระหว่างอินสแตนซ์ของเอนทิตีหนึ่งและอินสแตนซ์เดียวของเอนทิตีที่เกี่ยวข้อง และตามกฎแล้วจะอธิบายความสัมพันธ์แบบ 1:1 แต่เมื่อใช้คีย์หลักแบบลูกโซ่ สามารถใช้ความสัมพันธ์แบบหนึ่งต่อกลุ่มได้ (1:JV)
  • ความสัมพันธ์ที่ไม่ระบุตัวตน - ความสัมพันธ์ที่ใช้ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1 :N)โดยการแสดงคีย์ต่างประเทศในเอนทิตีที่เกี่ยวข้องเป็นคุณลักษณะอย่างง่ายที่อาจอยู่ภายใต้ข้อจำกัดเพิ่มเติมบางประการเมื่อเปรียบเทียบกับคุณลักษณะข้อมูลทั่วไป
  • ความสัมพันธ์แบบพหุคูณ - ความสัมพันธ์ที่ใช้ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (L G:M) จะแสดงในระดับของแบบจำลองเชิงตรรกะเท่านั้น ซึ่งแสดงให้เห็นการเชื่อมต่อระหว่างเอนทิตี แต่ไม่มีการสร้างคีย์ภายนอกในเอนทิตีที่เกี่ยวข้อง
  • การจัดหมวดหมู่ - ความสัมพันธ์ที่ช่วยให้มั่นใจในการเชื่อมโยงระหว่างเอนทิตี-ชุมชนกับหมวดหมู่เอนทิตีโดยใช้ความสัมพันธ์ประเภทหนึ่งต่อหนึ่ง (1:1) และในเวลาเดียวกันก็สร้างคีย์หลักที่ต่างประเทศในหมวดหมู่เอนทิตีที่เกี่ยวข้องกับ คีย์หลักของชุมชนเอนทิตี

เมื่อสร้างความสัมพันธ์ระหว่างสองเอนทิตี เพียงเลือกไอคอนประเภทความสัมพันธ์ จากนั้นชี้ไปที่รายการหลักและเอนทิตีที่เกี่ยวข้องตามลำดับ สิ่งนี้จะสร้างความสัมพันธ์ และหากอนุญาตตามประเภทความสัมพันธ์ ให้สร้างคีย์นอกที่จำเป็นในเอนทิตีที่เกี่ยวข้อง ในกรณีที่ผู้พัฒนาไม่ได้กำหนดคีย์หลักของเอนทิตีหลักและได้สร้างความสัมพันธ์แล้ว เช่น คีย์ที่ไม่สามารถระบุได้ การสร้างคีย์ต่างประเทศจะไม่เกิดขึ้น แต่ทันทีที่คีย์หลักถูก ที่ระบุไว้ในเอนทิตีหลัก มันจะถูกสะท้อนให้เห็นในเอนทิตีที่เกี่ยวข้องทันทีด้วยคีย์ต่างประเทศตามการเชื่อมต่อระหว่างเอนทิตีเหล่านี้ที่มีอยู่ในแบบจำลอง

เครื่องมือ ERWin เมื่อสร้างความสัมพันธ์ระหว่างเอนทิตี จะกำหนดเอนทิตีสองประเภท:

  • Parent - เป็นเอนทิตีฐานที่มีคีย์หลักสามารถย้ายไปยังเอนทิตีที่เกี่ยวข้องได้
  • ลูก - กำหนดโดยเอนทิตีที่เมื่อสร้างการเชื่อมต่อแล้ว จะได้รับคีย์ต่างประเทศที่เกิดขึ้นจากคีย์หลักที่กำลังย้ายของเอนทิตีหลัก

แผนกนี้ดูค่อนข้างสมเหตุสมผล เนื่องจากตามลักษณะเฉพาะของการสร้างการเชื่อมต่อและตรรกะของสาขาวิชา ข้อมูลที่อธิบายโดยเอนทิตีหลักจะถูกรวบรวมโดยสัมพันธ์กับข้อมูลที่อธิบายโดยเอนทิตีย่อย ตัวอย่างเช่น เมื่อพิจารณาความสัมพันธ์ระหว่างเอนทิตี "ลูกค้า" และ "คำสั่งซื้อ" ลูกค้ารายใดรายหนึ่งซึ่งแสดงโดยอินสแตนซ์ของเอนทิตี "ลูกค้า" จะรวม (รวม) ชุดคำสั่งซื้อที่เขาสร้างขึ้นในร้านค้าอิเล็กทรอนิกส์

สังกะสี ด้วยเหตุนี้ เอนทิตี "คำสั่งซื้อ" ที่เกี่ยวข้องกับเอนทิตี "ลูกค้า" จึงถือได้ว่าเป็นเอนทิตีย่อย และเอนทิตี "ลูกค้า" เป็นพาเรนต์

คำอธิบายของความสัมพันธ์เมื่อเปรียบเทียบกับเอนทิตีและแอตทริบิวต์ มีคุณสมบัติจำนวนน้อยกว่าที่ต้องอธิบาย แต่ก็มีความสำคัญเช่นกัน และบางครั้งก็มีความสำคัญมากกว่า เนื่องจากคุณสมบัติเหล่านี้อนุญาตให้คุณอธิบายและกำหนดค่ากฎ Referential Integrity เพื่อให้แน่ใจว่าเมื่อนำมาใช้ใน ฐานข้อมูล ความถูกต้องของการจัดเก็บข้อมูล ลักษณะอย่างหนึ่งคือชื่อของการเชื่อมต่อที่ใช้ในแบบจำลองฐานข้อมูลและกำหนดความหมายพื้นฐานของการเชื่อมต่อที่สร้างขึ้นระหว่างเอนทิตี (รูปที่ 3.15)

ข้าว. 3.15.คำอธิบายพื้นฐานของการสื่อสารใน ERWin


คอลัมน์ "ชื่อ" ในคำอธิบายการเชื่อมต่อเปิดโอกาสให้นักพัฒนาระบุชื่อที่สะท้อนถึงความหมายเชิงความหมายของการเชื่อมต่อ นี่เป็นองค์ประกอบที่สำคัญของโมเดล ซึ่งช่วยให้คุณเข้าใจสาระสำคัญและความหมายของการเชื่อมต่อที่สร้างขึ้นได้อย่างชัดเจน ซึ่งท้ายที่สุดแล้วควรช่วยทำให้โมเดลฐานข้อมูลเป็นมาตรฐานได้อย่างถูกต้อง โดยกระจายคุณลักษณะแต่ละรายการระหว่างเอนทิตีได้อย่างถูกต้อง

สิ่งสำคัญคือต้องเข้าใจว่า ถ้าเป็นไปได้ ชื่อของความสัมพันธ์ควรไม่ซ้ำกันภายในโมเดลฐานข้อมูลทั้งหมด และไม่ใช่แค่ในระดับของแต่ละไดอะแกรม การมีชื่อลิงก์ที่เหมือนกันอาจทำให้ไม่สามารถระบุลิงก์ที่เกี่ยวข้องได้อย่างถูกต้อง และท้ายที่สุดก็สร้างโมเดลที่มีประสิทธิภาพได้ ลักษณะอื่นๆ ที่อธิบายความสัมพันธ์ระหว่างเอนทิตีจะอยู่ในกล่องโต้ตอบด้านล่างรายการความสัมพันธ์ของแบบจำลอง และมีกฎสำหรับจำนวนสมาชิก (จำนวนสมาชิก) การเปลี่ยนชื่อคีย์ต่างประเทศ (บทบาท) ที่สร้างขึ้น และการรับรองความถูกต้องในการอ้างอิง

ลักษณะพื้นฐานที่สำคัญที่สุดสามประการของการเชื่อมต่อ (รูปที่ 3.16) ซึ่งเป็นสาระสำคัญของการเชื่อมต่อได้อธิบายไว้ในแท็บแรก "ทั่วไป" และแสดงถึงประเภทของการเชื่อมต่อ ชื่อของการเชื่อมต่อ จำนวนสมาชิก (กำลัง) . พารามิเตอร์การสื่อสารเหล่านี้จะต้องถูกกำหนดและอธิบายอย่างถูกต้องเสมอ นอกเหนือจากชื่อของการเชื่อมต่อแล้ว คุณลักษณะที่เหลือจะถูกถ่ายโอนระหว่างการเปลี่ยนแปลงที่เหมาะสมไปเป็นแบบจำลองทางกายภาพ จากนั้นจึงไปยังฐานข้อมูล

ลักษณะแรกของการเชื่อมต่อจะกำหนดประเภทของการเชื่อมต่อ (รูปที่ 3.17): การระบุหรือไม่ระบุ ในเวลาเดียวกัน โดยการเลือกประเภทความสัมพันธ์ที่เหมาะสม นักพัฒนามีโอกาส (สำหรับความสัมพันธ์ที่ไม่ระบุตัวตน) เพื่อระบุการไม่มีอินสแตนซ์ของเอนทิตีหลัก ดังนั้นจึงอนุญาตให้คีย์ต่างประเทศระบุค่าว่าง “NULL ".

ข้าว. 3.16.ลักษณะสำคัญของการสื่อสารใน RZh Win


โดยทั่วไป เมื่อสร้างความสัมพันธ์ที่ไม่ระบุตัวตน ตัวเลือก Null จะถูกตั้งค่าเป็น Nulls Not Allowed สิ่งนี้ถูกกำหนดโดยลักษณะเฉพาะของการทำงานกับข้อมูล โดยที่อินสแตนซ์ข้อมูลลูกจะต้องเชื่อมโยงกับอินสแตนซ์หลัก แต่บางครั้งก็มีบางกรณีที่ไม่ได้สังเกตสิ่งนี้ ตามกฎแล้วสถานการณ์นี้เกิดขึ้นเมื่อวัตถุของสาขาวิชาที่รวมกันโดยความสัมพันธ์นี้มีค่าเท่ากันและเป็นไปไม่ได้ที่จะกำหนดลำดับความสำคัญของการปรากฏตัวของอินสแตนซ์ของเอนทิตีใด ๆ อย่างชัดเจน จากนั้นค่าจะถูกตั้งค่าเป็น "Null Allowed" (อนุญาตให้เป็น NULL) ดังแสดงในตัวอย่าง (ดูรูปที่ 3.17)


เนื่องจากการเชื่อมต่อแบบหนึ่งต่อหนึ่งและแบบหนึ่งต่อกลุ่มมีความเกี่ยวข้องกัน และความแตกต่างนั้นอยู่ที่พลังงานเท่านั้นและข้อกำหนดที่เข้มงวดมากขึ้น การสลับระหว่างการเชื่อมต่อประเภทนี้สามารถทำได้ภายในกล่องโต้ตอบการตั้งค่าการเชื่อมต่อ โดยสลับการเชื่อมต่อจาก ระบุประเภท “ไม่” เพื่อระบุประเภท “ระบุ” ในกรณีนี้ Null Option จะไม่สามารถใช้ได้

สำหรับการตั้งค่า สิ่งนี้อธิบายได้จากข้อเท็จจริงที่ว่าเมื่อมีการสร้างความสัมพันธ์ในการระบุ Foreign Key ที่ได้รับในเอนทิตีลูกก็เป็นคีย์หลักเช่นกัน และตามกฎการสร้างฐานข้อมูล คีย์หลักไม่สามารถเก็บค่าว่างได้ ดังนั้นคีย์ต่างประเทศที่เป็นผลลัพธ์จึงถูกตั้งค่าเป็น Null Not Allowed

คุณลักษณะอีกประการหนึ่งที่ทำให้สามารถย้ายจากความสัมพันธ์แบบหนึ่งต่อหนึ่งไปเป็นความสัมพันธ์แบบหนึ่งต่อกลุ่มและในทางกลับกันก็คือภาวะเชิงการนับ การสร้างจำนวนสมาชิก (อำนาจ) ของการเชื่อมต่อภายในคุณสมบัติ "จำนวนสมาชิก" และ "มูลค่าจำนวนสมาชิก" จะกำหนดกฎสำหรับการกรอกอินสแตนซ์ของเอนทิตีลูก (รูปที่ 3.18) มีตัวเลือกคาร์ดินัลลิตี้สี่ตัวเลือกที่กำหนดโดย ERWin:

  • ศูนย์ หนึ่งหรือมากกว่า (ศูนย์ หนึ่งหรือหลายรายการ) - สำหรับเอนทิตีย่อย จำนวนอินสแตนซ์ที่เกี่ยวข้องกับหนึ่งอินสแตนซ์ของเอนทิตีหลักนั้นเป็นไปได้ รวมถึงตัวเลือกที่ไม่มีอินสแตนซ์ด้วย
  • (P) หนึ่งรายการขึ้นไป - จำนวนอินสแตนซ์ของเอนทิตีลูกที่เกี่ยวข้องกับหนึ่งอินสแตนซ์ของเอนทิตีหลักสามารถเป็นจำนวนเท่าใดก็ได้ แต่เมื่อสร้างอินสแตนซ์ในเอนทิตีหลัก อินสแตนซ์จะต้องมีอยู่แล้วในเอนทิตีลูก ซึ่งต้องมีการตั้งค่า พารามิเตอร์ "Null Option" " เป็นค่า "Nulls Allowed" อนุญาตให้เก็บค่า Null "NULL" ไว้ในคีย์ต่างประเทศที่ได้รับจากการสร้างความสัมพันธ์
  • (Z) ศูนย์หรือหนึ่ง - กำหนดความสัมพันธ์แบบหนึ่งต่อหนึ่ง ซึ่งอนุญาตให้มีข้อมูลได้ไม่เกินหนึ่งอินสแตนซ์ในเอนทิตีลูก
  • ค่าจำนวนนับ - ระบุจำนวนที่แน่นอนของอินสแตนซ์ที่เกี่ยวข้องในเอนทิตีลูก ซึ่งสามารถทำได้โดยการตั้งค่า "ตัวเลือก Null" เป็น "อนุญาตให้เป็น Nulls" ขั้นแรกให้สร้างอินสแตนซ์ในเอนทิตีลูก จากนั้นจึงเชื่อมโยงอินสแตนซ์เหล่านั้นกับอินสแตนซ์ใน นิติบุคคลหลัก

จากผลการระบุจำนวนสมาชิก (กำลัง) ของการเชื่อมต่อบนโมเดล การกำหนดตัวเลขและตัวอักษรจะแสดงในแผนภาพ หากเลือกตัวเลือกจำนวนนับ (กำลัง) ในตัวเลือก "หนึ่งหรือหลายตัว" ตัวอักษร "P" จะปรากฏขึ้นในกรณีของจำนวนนับ "ศูนย์หรือหนึ่ง" - ตัวอักษร "Z" ในกรณีที่ระบุ ค่าตัวเลขที่แน่นอน - ค่าที่ระบุในตัวเลือกอื่นจะไม่แสดงเครื่องหมายบนแบบจำลอง

ลักษณะอื่นของการเชื่อมต่อนั้นอธิบายว่าเป็นคุณสมบัติหลัก - เนื้อหาความหมายของการเชื่อมต่อ (รูปที่ 3.19) ซึ่งแสดงด้วยรูปแบบกริยา

คำอธิบายนี้ เช่นเดียวกับโมเดลฐานข้อมูลทุกระดับในการนำเสนอ แสดงให้เห็นถึงลักษณะเฉพาะของการโต้ตอบของอินสแตนซ์เอนทิตีตามลักษณะของสาขาวิชา คำอธิบายจะต้องเป็นวลีที่แสดงถึงความสัมพันธ์ของอินสแตนซ์เอนทิตีหลักกับอินสแตนซ์เอนทิตีลูก หรือในทางกลับกัน ซึ่งแสดงถึงนิพจน์ที่มีกริยาแสดงการกระทำ


เมื่อมีการสร้างความสัมพันธ์แบบหนึ่งต่อหนึ่งและแบบหนึ่งต่อกลุ่ม ตามที่กล่าวไว้ข้างต้น คีย์หลักของเอนทิตีหลักจะย้ายไปยังเอนทิตีย่อย โดยสร้างคีย์ต่างประเทศที่เกี่ยวข้อง (รูปที่ 3.20) บ่อยครั้ง โดยเฉพาะอย่างยิ่งเมื่อใช้หลักการตั้งชื่อสำหรับองค์ประกอบโมเดล คีย์หลักที่เหมือนกันในเอนทิตีที่แตกต่างกันอาจมีชื่อเดียวกัน ซึ่งทำให้เกิดปัญหาในการสร้างความสัมพันธ์ ส่งผลให้จำเป็นต้องสะท้อนคีย์นอกด้วยชื่อที่มีอยู่แล้วในเอนทิตี อีกทางเลือกหนึ่ง เมื่อจำเป็นต้องใช้กลไกการตั้งชื่อของกฎการย้ายคีย์ อาจจำเป็นต้องใช้ถ้อยคำที่แม่นยำยิ่งขึ้นของแอตทริบิวต์ที่อธิบายคีย์ต่างประเทศที่เกี่ยวข้อง


การแก้ปัญหาเหล่านี้ดำเนินการผ่านกลไก "ชื่อบทบาท" ซึ่งนักพัฒนาระบุชื่อแอตทริบิวต์สำหรับคีย์ต่างประเทศตามที่ควรจะแสดงในรูปแบบฐานข้อมูลและด้วยเหตุนี้จึงเกิดการเปลี่ยนแปลงในฐานข้อมูล พื้นที่ "ข้อมูลชื่อบทบาท" มีสองคอลัมน์:

  • แอตทริบิวต์ที่ถูกย้าย - แสดงแอตทริบิวต์ของเอนทิตีหลักที่แสดงด้วยคีย์ต่างประเทศในเอนทิตีลูกที่เกี่ยวข้อง (ไม่สามารถเปลี่ยนแปลงได้)
  • ชื่อบทบาท—ระบุค่าชื่อแอตทริบิวต์คีย์นอกใหม่ที่ควรใช้แทนชื่อแอตทริบิวต์การย้าย

การระบุชื่อแอททริบิวต์ที่ต้องการในคอลัมน์ "ชื่อบทบาท" จะนำไปสู่การเปลี่ยนชื่อแอททริบิวต์คีย์นอกและการใช้ชื่อแอททริบิวต์ใหม่ในภายหลังในองค์ประกอบทั้งหมดของแบบจำลองฐานข้อมูลเมื่อจำเป็น

การกำหนดกฎ Referential Integrity (รูปที่ 3.21) เป็นขั้นตอนหนึ่งในการสร้างแบบจำลองทางกายภาพของฐานข้อมูล เนื่องจากกฎแต่ละข้อสำหรับ DBMS บางตัวอาจไม่พร้อมใช้งาน อย่างไรก็ตาม ERWin จัดเตรียมความสามารถในการระบุกฎ Referential Integrity สำหรับความสัมพันธ์ที่กำลังก่อตัวในขั้นตอนการสร้างแบบจำลองเชิงตรรกะ ในขั้นตอนนี้ นักพัฒนาจะได้รับชุดกฎสูงสุด:

  • ไม่มี (ขาด) - กฎที่ถือว่าการกระทำของผู้ใช้โดยไม่ส่งผลกระทบต่อองค์ประกอบอื่น ๆ ของฐานข้อมูล
  • ไม่มีการดำเนินการ (ไม่มีการดำเนินการ) - กฎที่ถือว่าการกระทำที่นักพัฒนากำหนด
  • จำกัด (ห้าม) กฎที่ห้ามไม่ให้ดำเนินการกับข้อมูลหากเงื่อนไขการทดสอบเป็นจริง
  • Cascade - กฎที่ดำเนินการตามลำดับกับข้อมูลที่เกี่ยวข้องตามการดำเนินการกับข้อมูลที่ถูกกำหนดกฎนี้
  • Set Null - กฎที่ตั้งค่าคีย์ต่างประเทศเป็น NULL สำหรับอินสแตนซ์ที่เกี่ยวข้อง
  • ตั้งค่าเริ่มต้น - กฎที่ตั้งค่าเริ่มต้นที่กำหนดไว้สำหรับคีย์ภายนอกของอินสแตนซ์ที่เกี่ยวข้อง

กฎความสมบูรณ์ของการอ้างอิงมีวัตถุประสงค์เพื่อให้มั่นใจถึงความถูกต้องของการดำเนินการกับข้อมูลเมื่อทำการแก้ไข ดังนั้นจะต้องปฏิบัติตามกฎเหล่านี้หากมีการดำเนินการในฐานข้อมูล แต่เพิ่ม เปลี่ยนแปลง และลบข้อมูล ERWin ดำเนินการดำเนินการข้อจำกัดความสมบูรณ์ของการอ้างอิงในขอบเขตสูงสุดที่เป็นไปได้ โดยพิจารณาการดำเนินการของการดำเนินการที่เกี่ยวข้องไม่เพียงแต่ในกรณีหลักที่ส่งผลต่อการเปลี่ยนแปลงในฐานข้อมูล แต่ยังรวมไปถึงการดำเนินการที่ไม่ควรมีการเปลี่ยนแปลงที่สำคัญในฐานข้อมูลด้วย ด้วยเหตุนี้ นักพัฒนาจะถูกขอให้ระบุกฎ Referential Integrity เมื่อดำเนินการกับข้อมูลเมื่อแก้ไขอินสแตนซ์ข้อมูลในเอนทิตีหลักและรายการย่อย ต่อจากนั้น การดำเนินการทั้งหมดเหล่านี้ (หากไม่ได้ระบุไว้ใน DBMS) จะถูกแปลงเป็นโมดูลโปรแกรมดำเนินการอัตโนมัติ (ทริกเกอร์) และเชื่อมโยงกับการดำเนินการที่ดำเนินการกับข้อมูล หาก DBMS มีการดำเนินการ Referential Integrity ที่ระบุ การดำเนินการดังกล่าวจะถูกประกาศตามกฎที่เกี่ยวข้องเมื่ออธิบายตารางข้อมูล


เมื่อสร้างการเชื่อมต่อแบบกลุ่มต่อกลุ่ม นักพัฒนามีโอกาสที่จะระบุชุดคุณลักษณะการเชื่อมต่อขั้นต่ำ รวมถึงการกำหนดโหลดความหมาย ไม่มีการกำหนดกฎและคุณลักษณะอื่นใดสำหรับการเชื่อมต่อประเภทนี้ เนื่องจากเมื่อย้ายไปยังแบบจำลองทางกายภาพ การเชื่อมต่อดังกล่าวจะต้องได้รับการทำให้เป็นมาตรฐานและแสดงโดยการเชื่อมต่อแบบหนึ่งต่อกลุ่ม (รูปที่ 3.22)


  • เมื่อระบุการเชื่อมต่อเป็นครั้งแรก ให้เลือกไอคอนการเชื่อมต่อ และเลือกเอนทิตีชุมชนและหนึ่งในเอนทิตีหมวดหมู่ตามลำดับ
  • ใช้ไอคอนลิงก์การจัดประเภทเดียวกัน เชื่อมต่อเอนทิตีประเภทที่เหลือโดยการเลือกองค์ประกอบกราฟิกและเอนทิตีประเภทถัดไปตามลำดับ

จากการดำเนินการเหล่านี้ โมเดลฐานข้อมูลจะมีการแสดงความสัมพันธ์คล้ายกับตัวอย่างข้างต้น (ดูรูปที่ 3.22)

ความสัมพันธ์ในการจัดหมวดหมู่มีสองประเภท โดยประเภทหนึ่งจะต้องถูกกำหนดเมื่อสร้างความสัมพันธ์ประเภทนี้ (รูปที่ 3.23) เพื่อระบุความแตกต่างในประเภทของการเชื่อมต่อการจัดหมวดหมู่ การกำหนดองค์ประกอบกราฟิกจะแสดงเป็นสองบรรทัดหรือหนึ่งบรรทัด (ตารางที่ 3.1)




สำหรับลิงค์การจัดหมวดหมู่นั้น ไม่มีการกำหนดลักษณะอื่น ๆ และนักพัฒนาจะได้รับโอกาสดูโครงสร้างของลิงค์การจัดหมวดหมู่เท่านั้น (รูปที่ 3.24) คำอธิบายนี้ทำให้สามารถดูได้ว่าเอนทิตีหมวดหมู่ใดถูกกำหนดโดยประเภทย่อย และชุมชนเอนทิตีใดที่แสดงโดยซูเปอร์ไทป์

การเชื่อมต่อจากองค์ประกอบการจัดหมวดหมู่แบบกราฟิกไปยังเอนทิตีนั้นเป็นการเชื่อมต่อแบบหนึ่งต่อหนึ่ง และตามกฎแล้ว คุณลักษณะคงที่จะถูกกำหนดไว้สำหรับสิ่งเหล่านั้น นักพัฒนาได้รับโอกาสในการระบุเฉพาะเนื้อหาความหมายของความสัมพันธ์ ชื่อของแอตทริบิวต์คีย์นอก และกฎความสมบูรณ์ของการอ้างอิง

ข้าว. 3.24.คำอธิบายความสัมพันธ์ของการจัดหมวดหมู่ใน EHRI

  • การอภิปรายโดยละเอียดเกี่ยวกับกฎ Referential Integrity มีการอภิปรายในส่วน 3.2

มีมุมมองที่เป็นไปได้สองประการเกี่ยวกับแบบจำลองข้อมูล และตามลำดับ มีสองระดับของแบบจำลอง ระดับตรรกะแรก (มุมมองของผู้ใช้) หมายถึงการแสดงข้อเท็จจริงโดยตรงจากชีวิตจริง ตัวอย่างเช่น คน โต๊ะ แผนก สุนัข และคอมพิวเตอร์เป็นวัตถุจริง ตั้งชื่อตามภาษาธรรมชาติ โดยมีตัวคั่นคำ (เว้นวรรค จุลภาค ฯลฯ) ในระดับฟิสิคัลของโมเดล จะมีการพิจารณาการใช้ DBMS เฉพาะ ประเภทข้อมูล (เช่น จำนวนเต็มหรือจำนวนจริง) และดัชนีสำหรับตารางจะถูกกำหนด

ERwin มอบความสามารถในการสร้างและจัดการการนำเสนอสองระดับที่แตกต่างกันของไดอะแกรม (แบบจำลอง) เดียว พร้อมทั้งมีตัวเลือกการแสดงผลมากมายในแต่ละระดับ คำว่า "ระดับตรรกะ" ใน ERwin สอดคล้องกับแบบจำลองแนวความคิด

ขั้นตอนของการสร้างแบบจำลองข้อมูล:

· คำจำกัดความของเอนทิตี

· การพิจารณาการพึ่งพาระหว่างเอนทิตี

· การตั้งค่าคีย์หลักและคีย์สำรอง

· คำจำกัดความของคุณลักษณะเอนทิตี

· นำแบบจำลองไปสู่ระดับที่ต้องการของรูปแบบปกติ

·เปลี่ยนไปใช้คำอธิบายทางกายภาพของแบบจำลอง: การกำหนดชื่อเอนทิตีการติดต่อ - ชื่อตาราง, คุณลักษณะเอนทิตี - คุณลักษณะของตาราง;

· การตั้งค่าทริกเกอร์ ขั้นตอน และข้อจำกัด

· การสร้างฐานข้อมูล

เออร์วินสร้างการแสดงภาพ (แบบจำลองข้อมูล) สำหรับปัญหาที่กำลังแก้ไข มุมมองนี้สามารถใช้สำหรับการวิเคราะห์โดยละเอียด การปรับแต่ง และการแจกจ่ายเอกสารที่จำเป็นในวงจรการพัฒนา อย่างไรก็ตาม ERwin ไม่ได้เป็นเพียงเครื่องมือวาดภาพเท่านั้น ERwin จะสร้างฐานข้อมูลโดยอัตโนมัติ (ตาราง ดัชนี ขั้นตอนการจัดเก็บ ทริกเกอร์ Referential Integrity และอ็อบเจ็กต์อื่นๆ ที่จำเป็นในการจัดการข้อมูล)

การสร้างเอนทิตี

ในการเพิ่มเอนทิตีให้กับโมเดล คุณต้องคลิกที่ปุ่มเอนทิตีบนแถบเครื่องมือ (Erwin Toolbox) จากนั้นคลิกที่ตำแหน่งบนไดอะแกรมที่คุณต้องการวางเอนทิตีใหม่ ด้วยการคลิกขวาที่เอนทิตีและเลือกตัวแก้ไขเอนทิตีจากเมนูป๊อปอัป คุณจะสามารถแสดงกล่องโต้ตอบตัวแก้ไขเอนทิตีได้ โดยที่คุณกำหนดชื่อ คำอธิบาย และความคิดเห็นของเอนทิตี

แต่ละเอนทิตีจะต้องถูกกำหนดโดยสมบูรณ์โดยใช้คำอธิบายข้อความในแท็บคำจำกัดความ คำจำกัดความเหล่านี้มีประโยชน์ทั้งในระดับตรรกะ เนื่องจากช่วยให้คุณเข้าใจว่าเอนทิตีคืออะไร และในระดับกายภาพ เนื่องจากสามารถส่งออกเป็นส่วนหนึ่งของสคีมาและใช้ในฐานข้อมูลจริงได้ (สร้างความคิดเห็นใน entert_name) บุ๊กมาร์ก Note, Note2, Note3, UDP (คุณสมบัติที่กำหนดโดยผู้ใช้) ถูกใช้เพื่อเพิ่มความคิดเห็นและคำจำกัดความเพิ่มเติมให้กับเอนทิตี

ในแท็บไอคอน แต่ละเอนทิตีสามารถกำหนดรูปภาพที่จะแสดงในโหมดการดูแบบจำลองที่ระดับไอคอน และรูปภาพที่จะแสดงในระดับอื่นทั้งหมด

แท็บ UDP ของกล่องโต้ตอบตัวแก้ไขเอนทิตีใช้เพื่อกำหนดคุณสมบัติที่ผู้ใช้กำหนด (ผู้ใช้ - คุณสมบัติที่กำหนด) เมื่อคุณคลิกที่ปุ่มสำหรับแท็บนี้ กล่องโต้ตอบ User - Defined Property Editor จะถูกเรียกขึ้นมา (หรือเรียกจากเมนู Edit/UDPs) จำเป็นต้องระบุประเภทของออบเจ็กต์ที่กำลังสร้าง UDP (ไดอะแกรมโดยรวม เอนทิตี คุณลักษณะ ฯลฯ) และประเภทข้อมูล หากต้องการเพิ่มคุณสมบัติใหม่ ให้คลิกปุ่มในตารางแล้วป้อนชื่อ ประเภทข้อมูล ค่าเริ่มต้น และคำจำกัดความ

การสร้างคุณสมบัติ

เพื่ออธิบายแอตทริบิวต์ ให้คลิกขวาที่เอนทิตีและเลือกตัวแก้ไขแอตทริบิวต์จากเมนูที่ปรากฏขึ้น กล่องโต้ตอบตัวแก้ไขแอตทริบิวต์จะปรากฏขึ้น

หากคุณคลิกที่ปุ่มใหม่ ในกล่องโต้ตอบแอตทริบิวต์ใหม่ที่ปรากฏขึ้น คุณสามารถระบุชื่อของแอตทริบิวต์ ชื่อของคอลัมน์ที่สอดคล้องกับแอตทริบิวต์ดังกล่าวในแบบจำลองทางกายภาพ และโดเมนได้ โดเมนแอตทริบิวต์จะถูกใช้เมื่อกำหนดประเภทคอลัมน์ในระดับแบบจำลองทางกายภาพ

สำหรับแอตทริบิวต์คีย์หลัก ในแท็บทั่วไปของกล่องโต้ตอบตัวแก้ไขแอตทริบิวต์ คุณต้องทำเครื่องหมายในหน้าต่างการเลือกคีย์หลัก

แท็บคำจำกัดความ หมายเหตุ และ UDP ทำหน้าที่เดียวกันกับเมื่อกำหนดเอนทิตี แต่อยู่ที่ระดับแอททริบิวต์

เพื่อให้ไดอะแกรมมองเห็นได้มากขึ้น แต่ละแอตทริบิวต์สามารถเชื่อมโยงกับไอคอนได้ ซึ่งสามารถทำได้โดยใช้รายการการเลือกไอคอนในแท็บทั่วไป

สิ่งสำคัญคือต้องตั้งชื่อให้ถูกต้องแก่แอตทริบิวต์ คุณสมบัติจะต้องตั้งชื่อเป็นเอกพจน์และมีความหมายเชิงความหมายที่ชัดเจน

ตามไวยากรณ์ IDEF1X ชื่อแอตทริบิวต์จะต้องไม่ซ้ำกันภายในโมเดล (ไม่ใช่แค่ภายในเอนทิตีเท่านั้น!) ตามค่าเริ่มต้น เมื่อคุณพยายามเพิ่มชื่อแอตทริบิวต์ที่มีอยู่ ERwin จะเปลี่ยนชื่อ ตัวอย่างเช่น หากแอตทริบิวต์ Comment มีอยู่แล้วในโมเดล คุณลักษณะอื่น (ในเอนทิตีอื่น) จะมีชื่อว่า Comment/2 จากนั้น Comment/3 เป็นต้น

เมื่อถ่ายโอนแอตทริบิวต์ภายในและระหว่างเอนทิตี คุณสามารถใช้เทคนิคการลากและวางโดยการเลือกปุ่มในแผงเครื่องมือ

การสร้างการเชื่อมต่อ

หากต้องการสร้างความสัมพันธ์ใหม่ ให้เลือกความสัมพันธ์ที่มีการระบุหรือไม่ระบุในแถบเครื่องมือ (กล่องเครื่องมือ ERwin) คลิกก่อนบนรายการหลัก จากนั้นคลิกที่เอนทิตีลูก

ในแผงเครื่องมือ ปุ่มจะสอดคล้องกับความสัมพันธ์ที่ระบุ ปุ่มความสัมพันธ์แบบกลุ่มต่อกลุ่ม และปุ่มที่สอดคล้องกับความสัมพันธ์ที่ไม่ระบุตัวตน หากต้องการแก้ไขคุณสมบัติของความสัมพันธ์ ให้คลิกขวาที่ความสัมพันธ์และเลือกตัวแก้ไขความสัมพันธ์จากเมนูบริบท

ในแท็บทั่วไปของกล่องโต้ตอบที่ปรากฏขึ้น คุณสามารถตั้งค่าพลังงาน ชื่อ และประเภทการเชื่อมต่อได้

พลังการสื่อสาร (Cardinality)- ทำหน้าที่ระบุอัตราส่วนของจำนวนอินสแตนซ์ของเอนทิตีหลักต่อจำนวนอินสแตนซ์ของเด็ก

พลังมีสี่ประเภท:

กรณีทั่วไปที่อินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับ 0, 1 หรือหลายอินสแตนซ์ของเอนทิตีย่อยไม่ได้ทำเครื่องหมายด้วยสัญลักษณ์ใดๆ

สัญลักษณ์ P ทำเครื่องหมายกรณีที่หนึ่งอินสแตนซ์ของเอนทิตีหลักสอดคล้องกับ 1 หรือหลายอินสแตนซ์ของเอนทิตีย่อย (ไม่รวมค่า null)

สัญลักษณ์ Z ทำเครื่องหมายกรณีที่หนึ่งอินสแตนซ์ของเอนทิตีหลักสอดคล้องกับ 0 หรือ 1 อินสแตนซ์ของเอนทิตีย่อย (ไม่รวมค่าหลายค่า)

หมายเลขนี้ทำเครื่องหมายกรณีและปัญหาเมื่ออินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับจำนวนอินสแตนซ์ของเอนทิตีย่อยที่กำหนดไว้ล่วงหน้า

ตามค่าเริ่มต้น สัญลักษณ์ที่แสดงถึงความแรงของลิงก์จะไม่แสดงบนไดอะแกรม หากต้องการแสดงชื่อ ในเมนูบริบทที่ปรากฏขึ้นหากคุณคลิกขวาที่ตำแหน่งใดๆ ในไดอะแกรมที่ไม่ถูกครอบครองโดยออบเจ็กต์โมเดล ให้เลือก Display Options/Relationship จากนั้นเปิดใช้งานตัวเลือก Cardinality

ประเภทของการเชื่อมต่อ (ระบุ/ไม่ระบุ)

IDEF1X แยกความแตกต่างระหว่างเอนทิตีที่ขึ้นต่อกันและเอนทิตีอิสระ ประเภทของเอนทิตีถูกกำหนดโดยความสัมพันธ์กับเอนทิตีอื่น ความสัมพันธ์ที่ระบุถูกสร้างขึ้นระหว่างเอนทิตีอิสระ (จุดสิ้นสุดระดับบนสุดของความสัมพันธ์) และเอนทิตีที่ขึ้นอยู่กับ (จุดสิ้นสุดระดับย่อยของความสัมพันธ์) เมื่อมีการดึงความสัมพันธ์ที่ระบุออกมา ERwin จะแปลงความสัมพันธ์ลูกเป็นความสัมพันธ์แบบพึ่งพาโดยอัตโนมัติ เอนทิตีที่ขึ้นต่อกันจะแสดงด้วยสี่เหลี่ยมมุมมน

อินสแตนซ์ของเอนทิตีที่ขึ้นต่อกันถูกกำหนดผ่านความสัมพันธ์กับเอนทิตีหลักเท่านั้น เมื่อมีการสร้างความสัมพันธ์ในการระบุ คุณลักษณะของคีย์หลักของเอนทิตีหลักจะถูกโอนไปยังคีย์หลักของเอนทิตีลูกโดยอัตโนมัติ การดำเนินการเพิ่มแอตทริบิวต์ให้กับเอนทิตีลูกเมื่อสร้างความสัมพันธ์นี้เรียกว่าการย้ายแอตทริบิวต์ ในเอนทิตีลูก คุณลักษณะใหม่จะถูกทำเครื่องหมายเป็นคีย์ต่างประเทศ - (FK)

เมื่อมีการสร้างความสัมพันธ์ที่ไม่ระบุตัวตน เอนทิตีลูกจะยังคงเป็นอิสระ และคุณลักษณะคีย์หลักของเอนทิตีหลักจะโยกย้ายไปยังส่วนประกอบที่ไม่ใช่คีย์ของเอนทิตีลูก ความสัมพันธ์ที่ไม่ระบุตัวตนถูกใช้เพื่อเชื่อมโยงเอนทิตีอิสระ

การเชื่อมต่อที่ระบุจะแสดงบนไดอะแกรมเป็นเส้นทึบโดยมีจุดหนาที่ปลายชายด์ของการเชื่อมต่อ และการเชื่อมต่อที่ไม่ระบุตัวตนจะแสดงเป็นเส้นประ

สำหรับความสัมพันธ์ที่ไม่ระบุตัวตน คุณสามารถระบุข้อบังคับได้ (ค่า Null ในแท็บทั่วไปของกล่องโต้ตอบตัวแก้ไขความสัมพันธ์) ในกรณีของความสัมพันธ์แบบบังคับ (ไม่มีค่า Null) เมื่อสร้างสคีมาฐานข้อมูล แอตทริบิวต์ของคีย์ภายนอกจะได้รับแอตทริบิวต์ที่ไม่เป็นโมฆะ แม้ว่าคีย์ภายนอกจะไม่ได้เป็นส่วนหนึ่งของคีย์หลักของเอนทิตีลูกก็ตาม ในกรณีที่มีความสัมพันธ์เพิ่มเติม (อนุญาตให้ใช้ค่า Nulls) คีย์นอกอาจเป็น NULL ได้ ความสัมพันธ์แบบไม่ระบุตัวตนที่เป็นตัวเลือกจะถูกทำเครื่องหมายด้วยเพชรโปร่งใสที่ด้านเอนทิตีหลัก

คำกริยาวลี- วลีที่แสดงถึงความสัมพันธ์ระหว่างเอนทิตีผู้ปกครองและเด็ก สำหรับความสัมพันธ์แบบหนึ่งต่อกลุ่ม ทั้งแบบระบุหรือไม่ระบุ การระบุชื่อที่แสดงถึงลักษณะความสัมพันธ์จากเอนทิตีระดับบนสุดถึงระดับย่อย (ระดับบนสุดถึงระดับล่าง) ก็เพียงพอแล้ว สำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่ม ต้องระบุทั้งชื่อระหว่างผู้ปกครองและเด็กและผู้ปกครอง หากต้องการแสดงชื่อ ในเมนูบริบทที่ปรากฏขึ้นหากคุณคลิกขวาที่ใดก็ได้ในไดอะแกรมที่ไม่ถูกครอบครองโดยออบเจ็กต์โมเดล ให้เลือก Display Options/Relationship จากนั้นเปิดใช้งานตัวเลือก Verb Phrase

ชื่อบทบาทหรือชื่อการทำงาน (Rolename)เป็นคำพ้องสำหรับคุณลักษณะของคีย์นอกที่บ่งชี้ว่าคุณลักษณะมีบทบาทอย่างไรในเอนทิตีลูก คุณสามารถตั้งชื่อบทบาทได้ในแท็บการดำเนินการ Rolename/RI ของกล่องโต้ตอบตัวแก้ไขความสัมพันธ์

รูปที่ 1. ชื่อบทบาทที่สำคัญต่างประเทศ

ในตัวอย่างที่แสดงในรูปที่. 1 ในเอนทิตีหมายเลขแผนกของคีย์ต่างประเทศของพนักงานจะมีชื่อบทบาท "ที่ทำงาน" ซึ่งบ่งชี้ว่าคุณลักษณะนี้มีบทบาทอย่างไรในเอนทิตี ตามค่าเริ่มต้น เฉพาะชื่อบทบาทเท่านั้นที่จะแสดงในรายการแอ็ตทริบิวต์ หากต้องการแสดงชื่อแอตทริบิวต์แบบเต็ม (ทั้งชื่อฟังก์ชันและชื่อบทบาท) ในเมนูบริบทที่ปรากฏขึ้นหากคุณคลิกขวาที่ใดก็ได้ในไดอะแกรมที่ไม่ถูกครอบครองโดยออบเจ็กต์โมเดล ให้เลือก Display Options/Entities จากนั้นเปิดใช้งานชื่อบทบาท / คุณสมบัติตัวเลือก ชื่อเต็มจะแสดงเป็นชื่อฟังก์ชันและชื่อฐานคั่นด้วยจุด (รูปที่ 1)

จำเป็นต้องใช้ชื่อบทบาทเมื่อมีการกำหนดคุณลักษณะตั้งแต่สองรายการขึ้นไปของเอนทิตีเดียวกันในขอบเขตเดียวกัน กล่าวคือ มีความหมายเหมือนกันแต่มีความหมายต่างกัน

รูปที่ 2. กรณีของชื่อบทบาทบังคับ

ในรูปที่ 2 เอนทิตีการขายสกุลเงินประกอบด้วยข้อมูลเกี่ยวกับการกระทำการแลกเปลี่ยนสกุลเงินที่เกี่ยวข้องกับสองสกุลเงิน - ขายและซื้อ ข้อมูลเกี่ยวกับสกุลเงินมีอยู่ในเอนทิตีสกุลเงิน ดังนั้น การขายสกุลเงินและเอนทิตีสกุลเงินจะต้องมีการเชื่อมโยงสองครั้ง และคีย์หลัก - หมายเลขสกุลเงินจะต้องถูกโยกย้ายสองครั้งไปยังเอนทิตีสกุลเงินเป็นคีย์ต่างประเทศ จำเป็นต้องแยกแยะระหว่างคุณลักษณะเหล่านี้ ซึ่งมีข้อมูลเกี่ยวกับจำนวนสกุลเงินที่ขายและซื้อ (มีความหมายต่างกัน) แต่อ้างอิงถึงเอนทิตีสกุลเงินเดียวกัน (มีช่วงของค่าทั่วไป) ในตัวอย่างในรูปที่ 2 คุณลักษณะได้รับชื่อบทบาทที่ขายและซื้อแล้ว

อีกตัวอย่างหนึ่งของการใช้ชื่อบทบาทแบบบังคับคือความสัมพันธ์แบบเรียกซ้ำ เมื่อเอนทิตีเดียวกันนั้นเป็นทั้งพาเรนต์และลูก

กฎความสมบูรณ์ของการอ้างอิง (RI)- โครงสร้างเชิงตรรกะที่แสดงกฎเกณฑ์ทางธุรกิจสำหรับการใช้ข้อมูลและเป็นตัวแทนของกฎสำหรับการแทรก การแทนที่ และการลบ คุณสามารถตั้งค่ากฎ Referential Integrity ได้ในแท็บ Rolename/RI Actions ของกล่องโต้ตอบตัวแก้ไขความสัมพันธ์

เมื่อสร้างสคีมาฐานข้อมูลตามตัวเลือกโมเดลเชิงตรรกะ กฎ Referential Integrity ที่ประกาศจะถูกสร้างขึ้น ซึ่งจะต้องกำหนดไว้สำหรับแต่ละความสัมพันธ์ และทริกเกอร์ที่รับประกันความสมบูรณ์ของการอ้างอิง

รูปที่ 3 การย้ายชื่อบทบาท

ในรูปที่ 3 มีความสัมพันธ์ที่ระบุระหว่างเอนทิตีทีมและผู้เล่น จะเกิดอะไรขึ้นถ้าคุณลบคำสั่ง? ผู้เล่นอินสแตนซ์เอนทิตีไม่สามารถอยู่ได้หากไม่มีคำสั่ง (แอตทริบิวต์คีย์หลัก เขาเล่นอยู่ทีมอะไร? หมายเลขทีมไม่สามารถใช้ค่า NULL ได้) ดังนั้นคุณต้องห้ามไม่ให้ลบทีมตราบใดที่มีผู้เล่นอย่างน้อยหนึ่งคนในนั้น หรือลบผู้เล่นทั้งหมดพร้อมกับทีม กฎการลบดังกล่าว (การลบพาเรนต์) เรียกว่า การจำกัดพาเรนต์ (ข้อจำกัด) และพาเรนต์คาสเคด (คาสเคด) ในทางกลับกัน ผู้เล่นและเป้าหมายของเอนทิตีจะเชื่อมต่อกันด้วยลิงก์ที่ระบุ และหากการลบผู้เล่นอยู่ภายใต้กฎการลบแบบเรียงซ้อนสำหรับบันทึกทั้งหมดของเป้าหมายของเขา จากนั้นเมื่อทีมถูกลบ ผู้เล่นทุกคนในทีม และประตูทั้งหมดที่ผู้เล่นเหล่านี้ทำได้จะถูกลบออก

การสื่อสารแบบกลุ่มต่อกลุ่มสามารถทำได้ในระดับแบบจำลองข้อมูลเชิงตรรกะเท่านั้น การเชื่อมต่อดังกล่าวจะแสดงด้วยเส้นทึบซึ่งมีจุดสองจุดที่ปลาย ในการเพิ่มความสัมพันธ์ คุณต้องคลิกที่ปุ่มในแถบเครื่องมือ (กล่องเครื่องมือ ERwin) ก่อน จากนั้นจึงคลิกที่เอนทิตีที่เกี่ยวข้องทั้งสองตามลำดับ

ความสัมพันธ์แบบกลุ่มต่อกลุ่มควรตั้งชื่อ (กริยาวลี) ด้วยสองวลี - ทั้งสองทิศทาง ทำให้อ่านแผนภาพได้ง่ายขึ้น

การสร้างคีย์

แต่ละอินสแตนซ์ของเอนทิตีต้องไม่ซ้ำกันและแตกต่างจากแอตทริบิวต์อื่นๆ

คีย์หลักคือคุณลักษณะหรือกลุ่มของคุณลักษณะที่ระบุอินสแตนซ์ของเอนทิตีโดยไม่ซ้ำกัน คุณลักษณะคีย์หลักในแผนภาพไม่จำเป็นต้องมีการกำหนดพิเศษ - เป็นคุณลักษณะที่อยู่เหนือเส้นแนวนอนในรายการคุณลักษณะ เมื่อเพิ่มแอตทริบิวต์ใหม่ในกล่องโต้ตอบตัวแก้ไขแอตทริบิวต์ เพื่อให้เป็นแอตทริบิวต์คีย์หลัก คุณจะต้องเปิดใช้งานช่องทำเครื่องหมายคีย์หลักที่ด้านล่างของแท็บทั่วไป ในแผนภาพ คุณสามารถเพิ่มคุณลักษณะของคีย์ลงในคีย์หลักได้โดยใช้โหมดการถ่ายโอนคุณลักษณะ (ปุ่มในแถบเครื่องมือ)

เอนทิตีหนึ่งอาจมีแอตทริบิวต์หรือชุดคุณลักษณะหลายรายการที่อ้างว่าเป็นคีย์หลัก ผู้สมัครดังกล่าวเรียกว่า คีย์ที่เป็นไปได้ (คีย์ผู้สมัคร)

คีย์อาจซับซ้อนได้ เช่น ที่มีคุณสมบัติหลายประการ คีย์หลักที่ซับซ้อนไม่จำเป็นต้องมีสัญลักษณ์พิเศษ - เป็นรายการคุณลักษณะที่อยู่เหนือเส้นแนวนอน เมื่อเลือกคีย์หลัก ควรกำหนดการตั้งค่าให้กับคีย์ที่ง่ายกว่า เช่น คีย์ที่มีคุณสมบัติน้อยกว่า

เอนทิตีจำนวนมากมีคีย์ตัวเลือกเพียงคีย์เดียวเท่านั้น นี่จะกลายเป็นคีย์หลัก บางเอนทิตีอาจมีคีย์ที่เป็นไปได้มากกว่าหนึ่งคีย์ จากนั้นหนึ่งในนั้นจะกลายเป็นคีย์หลัก และส่วนที่เหลือจะกลายเป็นคีย์สำรอง

ทางเลือกที่สำคัญเป็นคีย์ตัวเลือกที่ยังไม่กลายเป็นคีย์หลัก

แต่ละคีย์มีดัชนีที่สอดคล้องกัน ซึ่งชื่อจะถูกกำหนดโดยอัตโนมัติด้วย ชื่อคีย์และดัชนีสามารถเปลี่ยนแปลงได้ด้วยตนเองหากต้องการ

ในแผนภาพ คุณลักษณะของคีย์สำรองจะแสดงเป็น (Akn.m.) โดยที่ n คือหมายเลขซีเรียลของคีย์ m คือหมายเลขซีเรียลของคุณลักษณะในคีย์ เมื่อคีย์สำรองมีแอตทริบิวต์หลายรายการ (Akn.m.) จะถูกวางไว้หลังแต่ละรายการ

รูปที่ 4. เอนทิตี "พนักงาน" พร้อมคีย์ที่แสดง


กุญแจต่างประเทศจะถูกสร้างขึ้นโดยอัตโนมัติเมื่อความสัมพันธ์เชื่อมต่อเอนทิตี: ความสัมพันธ์จะสร้างการอ้างอิงถึงคุณลักษณะคีย์หลักในเอนทิตีย่อย และคุณลักษณะเหล่านี้จะสร้างคีย์ภายนอกในเอนทิตีลูก (การย้ายคีย์) คุณลักษณะคีย์ต่างประเทศจะแสดงด้วยสัญลักษณ์ (FK) หลังชื่อ (รูปที่ 4) คุณลักษณะคีย์ต่างประเทศ Where Works หมายเลขแผนก (“ Where Works” คือชื่อบทบาท) ของเอนทิตี Employee คือแอตทริบิวต์คีย์หลัก (PK) ในเอนทิตีแผนก

เอนทิตีที่ขึ้นต่อกันสามารถมีคีย์เดียวกันจากเอนทิตีหลักหลายรายการได้ เอนทิตียังสามารถรับคีย์ต่างประเทศเดียวกันได้หลายครั้งจากพาเรนต์เดียวกันผ่านความสัมพันธ์ที่แตกต่างกันหลายรายการ เมื่อ ERwin ตรวจพบเหตุการณ์ใดเหตุการณ์หนึ่ง ระบบจะรับรู้ว่าแอตทริบิวต์ทั้งสองเหมือนกัน และวางคุณลักษณะของคีย์นอกไว้ในเอนทิตีที่ขึ้นต่อกันเพียงครั้งเดียวเท่านั้น การรวมกันหรือการรวมคุณลักษณะที่เหมือนกันนี้เรียกว่าการรวม

มีหลายกรณีที่การรวมกันไม่เป็นที่พึงปรารถนา ตัวอย่างเช่น เมื่อแอตทริบิวต์ทั้งสองมีชื่อเหมือนกัน แต่จริงๆ แล้วแอตทริบิวต์ทั้งสองมีความหมายต่างกัน และจำเป็นต้องสะท้อนให้เห็นความแตกต่างนี้ในแผนภาพ ในกรณีนี้ จำเป็นต้องใช้ชื่อบทบาทคีย์ต่างประเทศ (รูปที่ 2)

โดเมน

โดเมนสามารถกำหนดเป็นชุดของค่าที่ได้รับมาจากค่าแอตทริบิวต์ แต่ละแอตทริบิวต์สามารถกำหนดได้บนโดเมนเดียวเท่านั้น แต่สามารถกำหนดแอตทริบิวต์ได้หลายรายการในแต่ละโดเมน แนวคิดของโดเมนไม่เพียงแต่รวมถึงประเภทข้อมูลเท่านั้น แต่ยังรวมถึงช่วงของค่าข้อมูลด้วย ตัวอย่างเช่น คุณสามารถกำหนดโดเมนอายุเป็นจำนวนเต็มบวก และกำหนดแอตทริบิวต์อายุของพนักงานให้เป็นของโดเมนนั้น

ใน ERwin โดเมนสามารถกำหนดได้เพียงครั้งเดียวและสามารถใช้ได้ทั้งในรูปแบบลอจิคัลและฟิสิคัล

ในระดับตรรกะ โดเมนสามารถอธิบายได้โดยไม่มีคุณสมบัติทางกายภาพเฉพาะ ในระดับกายภาพ พวกเขาได้รับคุณสมบัติเฉพาะที่สามารถเปลี่ยนแปลงได้ด้วยตนเอง ดังนั้น โดเมน "อายุ" สามารถมีประเภทตัวเลขได้ในระดับตรรกะ ในระดับกายภาพ โดเมนจะได้รับประเภทจำนวนเต็ม

หากต้องการสร้างโดเมนในโมเดลเชิงตรรกะ ให้ใช้กล่องโต้ตอบตัวแก้ไขพจนานุกรมโดเมน สามารถเรียกได้จากเมนูแก้ไข/พจนานุกรมโดเมนโดยใช้ปุ่มที่อยู่ในส่วนบนซ้ายของแท็บทั่วไปของกล่องโต้ตอบตัวแก้ไขแอตทริบิวต์ หากต้องการสร้างโดเมนใหม่ในกล่องโต้ตอบตัวแก้ไขพจนานุกรมโดเมน:

· คลิกที่ปุ่มใหม่ กล่องโต้ตอบโดเมนใหม่จะปรากฏขึ้น

· เลือกโดเมนหลักจากรายการโดเมนหลัก โดเมนใหม่สามารถสร้างขึ้นตามโดเมนที่ผู้ใช้สร้างไว้แล้ว หรือตามโดเมนที่มีอยู่เดิม ตามค่าเริ่มต้น Erwin มีโดเมนที่กำหนดไว้ล่วงหน้าสี่โดเมน (สตริง, ตัวเลข, Blob, Datetime) โดเมนใหม่สืบทอดคุณสมบัติทั้งหมดของโดเมนหลัก คุณสมบัติเหล่านี้สามารถกำหนดใหม่ได้ในภายหลัง

· ป้อนชื่อโดเมนในช่องชื่อตรรกะ คุณยังสามารถระบุชื่อโดเมนจริงในฟิลด์ชื่อจริงได้ หากไม่ได้ระบุชื่อฟิสิคัล ชื่อดังกล่าวจะมีค่าดีฟอลต์เป็นชื่อโลจิคัล

· คลิกที่ปุ่มตกลง;

ในกล่องโต้ตอบตัวแก้ไขพจนานุกรมโดเมน คุณสามารถเชื่อมโยงโดเมนกับไอคอนที่จะแสดงในรายการโดเมน (ไอคอนโดเมน) ซึ่งเป็นไอคอนที่แอตทริบิวต์ที่กำหนดบนโดเมนจะแสดงในรูปแบบ (ไอคอนที่สืบทอดมา ตามคุณสมบัติ)

แต่ละโดเมนสามารถอธิบายได้ในแท็บคำจำกัดความ ซึ่งมีความคิดเห็นในแท็บหมายเหตุ หรือคุณสมบัติที่ผู้ใช้กำหนดในแท็บ UDP

ERwin มีเครื่องมือพิเศษที่ช่วยให้สร้างแอตทริบิวต์ใหม่ในโมเดลโดยใช้คำอธิบายโดเมนได้ง่ายขึ้นมาก - เบราว์เซอร์แอตทริบิวต์อิสระ กล่องโต้ตอบนี้ถูกเรียก (และซ่อนไว้) โดยใช้ปุ่มลัด CTRL+B ด้วยความช่วยเหลือนี้ คุณสามารถเลือกโดเมนในรายการและใช้วิธีการลากและวางเพื่อโอนโดเมนไปยังเอนทิตีได้ มันจะสร้างแอตทริบิวต์ใหม่ด้วยชื่อที่ควรตั้งค่าในหน้าต่างชื่อที่สืบทอดโดยแอตทริบิวต์ของกล่องโต้ตอบตัวแก้ไขพจนานุกรมโดเมน หากไม่ได้ระบุค่าฟิลด์ ค่าเริ่มต้นคือชื่อโดเมน

ในระดับฟิสิคัล ไดอะล็อก Domain Dictionary Editor ช่วยให้คุณสามารถแก้ไขคุณสมบัติทางกายภาพของโดเมนได้ ชื่อของแท็บนี้ขึ้นอยู่กับเซิร์ฟเวอร์ฐานข้อมูลที่เลือก ในนั้นคุณสามารถตั้งค่าประเภทข้อมูลเฉพาะที่สอดคล้องกับโดเมน กฎสำหรับการกำหนดค่า NULL กฎการตรวจสอบ (กฎสำหรับการตรวจสอบค่าที่ถูกต้อง) และการตั้งค่าเริ่มต้น กฎการตรวจสอบและค่าเริ่มต้นจะต้องอธิบายและตั้งชื่อไว้ก่อนหน้านี้ หากต้องการเรียกกล่องโต้ตอบสำหรับแก้ไขกฎการตรวจสอบและค่าเริ่มต้น ให้ใช้ปุ่มทางด้านขวาของรายการการเลือกที่เกี่ยวข้อง (ถูกต้องและค่าเริ่มต้น)

ฟังก์ชันของแท็บอื่นๆ ของกล่องโต้ตอบตัวแก้ไขพจนานุกรมโดเมน:

ทั่วไป.การระบุโดเมนพาเรนต์และชื่อที่กำหนดให้กับคอลัมน์เมื่อสร้างขึ้นโดยใช้เบราว์เซอร์คอลัมน์อิสระ ด้วยตัวเลือกทางกายภาพเท่านั้น โดเมนสามารถกำหนดได้ในระดับแบบจำลองทางกายภาพเท่านั้น

ความคิดเห็นการเพิ่มความคิดเห็นให้กับแอตทริบิวต์

ยูดีพี- คุณสมบัติที่ผู้ใช้กำหนด

วิชวลเบสิก- พาวเวอร์บิลเดอร์ การตั้งค่าคุณสมบัติโดเมนพิเศษสำหรับการสร้างโค้ดของแอปพลิเคชันไคลเอนต์

งานที่ต้องทำให้เสร็จ

ตามแบบจำลองการทำงานที่สร้างขึ้นก่อนหน้านี้และคำอธิบายของสาขาวิชา ให้สร้างแบบจำลองเชิงตรรกะโดยใช้แพ็คเกจ ERwin

งานห้องปฏิบัติการหมายเลข 7
พื้นฐานของเออร์วิน การเตรียมแบบจำลองข้อมูลทางกายภาพสำหรับการสร้างฐานข้อมูล

1. วัตถุประสงค์ของงาน:การเรียนรู้หลักการเตรียมแบบจำลองข้อมูลทางกายภาพเพื่อสร้างแค็ตตาล็อกระบบฐานข้อมูล

ข้อตกลง

ให้เรายอมรับแบบแผนบางประการเพื่อความกระชับของการนำเสนอในภายหลัง:

· คลิก - กดปุ่มซ้ายของเมาส์

· คลิกขวา - กดปุ่มขวาของเมาส์

· ดับเบิลคลิก - คลิกสองครั้งติดต่อกันบนปุ่มเมาส์

· เลือก - เลื่อนเคอร์เซอร์ไปยังวัตถุที่เกี่ยวข้อง (องค์ประกอบไดอะแกรม รายการเมนู ไอคอน) แล้วคลิกปุ่มซ้ายของเมาส์

· ลาก - เลือกวัตถุและเลื่อนเคอร์เซอร์โดยไม่ต้องปล่อยปุ่มเมาส์ วีตำแหน่งที่แตกต่างกัน

· รายการประเภทไฟล์/เปิดหมายความว่าคุณต้องเลือกรายการเมนูไฟล์ จากนั้นจึงเลือกรายการเปิดจากเมนูแบบเลื่อนลง

เดสก์ท็อป ERwin

ในรูป ภาพที่ 1 แสดงเดสก์ท็อปของผลิตภัณฑ์ซอฟต์แวร์ ERwin จาก Logic Works

รูปที่ 1 - เดสก์ท็อป Erwin

ในรูปที่ 1 ตัวเลขหมายถึง:

1- เมนูหลัก;

2- แถบเครื่องมือ;

3- ชุดเครื่องมือพิเศษ

4- แผงแบบอักษรและสี;

แผนภาพ 5 ช่อง

มาดูส่วนประกอบของเดสก์ท็อปกันดีกว่า

เมนูหลักประกอบด้วยคำสั่งทั่วไป โปรดทราบว่าคำสั่งเหล่านี้ส่วนใหญ่ทำซ้ำโดยไอคอนแถบเครื่องมือหรือโดยรายการเมนูคลิกขวา ดังนั้นตอนนี้เราจะเน้นไปที่คำสั่งที่เกี่ยวข้องกับมุมมองทั่วไปของเดสก์ท็อป รายการหน้าต่างมีรายการย่อยดังต่อไปนี้:

แถบเครื่องมือ - แถบเครื่องมือ;

แถบเครื่องมือแบบอักษรและสี - แผงแบบอักษรและสี

แถบสถานะ - แถบสถานะ;

กล่องเครื่องมือ ERwin - ชุดเครื่องมือพิเศษ

หากไม่ได้เลือกรายการใดๆ ในรายการ องค์ประกอบที่เกี่ยวข้องจะไม่แสดงบนเดสก์ท็อป รายการตัวเลือก / แสดงเมนูการแสดงผล และรายการเมนูตัวเลือก / แสดงรายการตัวแก้ไขจะเพิ่มฟังก์ชันเพิ่มเติมให้กับเมนูหลัก: จอแสดงผลและตัวแก้ไข

แถบเครื่องมือประกอบด้วยกลุ่มไอคอนต่อไปนี้:

การทำงานกับไฟล์:

สร้างไดอะแกรมใหม่

เปิดไดอะแกรมที่มีอยู่

ส่งไดอะแกรมเพื่อการพิมพ์

โปรดทราบว่าไอคอนเหล่านี้ทำซ้ำโดยคำสั่งของรายการเมนูหลักของไฟล์



ระดับการนำเสนอโมเดล:

ระดับเอนทิตี

ระดับแอตทริบิวต์

ระดับคำอธิบาย

เลเยอร์ทางกายภาพ (หากคลิกไอคอนนี้ ประเภทของพวกมันจะถูกระบุเมื่อสาธิตที่ระดับแอตทริบิวต์)

เครื่องมือเหล่านี้ทำซ้ำโดยรายการเมนูการแสดงผล ประกอบด้วยระดับการนำเสนอเพิ่มเติม: ระดับคีย์หลัก - แสดงเฉพาะคีย์หลักเท่านั้น ระดับลำดับทางกายภาพ - คุณลักษณะจะไม่แบ่งออกเป็นคีย์และไม่ใช่คีย์

การปรับขนาด:

ลด;

เพิ่มขึ้น;

ไม่มีการขยาย;

ที่เล็กที่สุด (การลดลงเพิ่มเติมจะทำให้ไดอะแกรมไม่สามารถอ่านได้)

ดูชิ้นส่วน (หลังจากเลือกเครื่องมือนี้แล้ว ให้เลือกส่วนที่คุณต้องการดูในสาขางาน)

การกระทำทั้งหมดของกลุ่มนี้จะถูกทำซ้ำโดยรายการ Display/ /Zoom

การทำงานกับเซิร์ฟเวอร์:

สร้างสคริปต์สำหรับเซิร์ฟเวอร์

เชื่อมต่อกับเซิร์ฟเวอร์

เลือกเซิร์ฟเวอร์

ชุดเครื่องมือพิเศษประกอบด้วยไอคอนทั้งหมดที่จำเป็นสำหรับการสร้างไดอะแกรมข้อมูลแบบกราฟิก ประกอบด้วยเครื่องมือดังต่อไปนี้:

การเลือกวัตถุ

การจัดการคุณสมบัติ

นิติบุคคลอิสระ

เอนทิตีที่ขึ้นอยู่กับ;

การแบ่งย่อยทั้งหมดเป็นหมวดหมู่

การจัดหมวดหมู่ที่ไม่สมบูรณ์

ความสัมพันธ์ที่ระบุแบบหนึ่งต่อกลุ่ม

ความสัมพันธ์แบบหนึ่งต่อกลุ่มที่ไม่ระบุตัวตน

ความสัมพันธ์แบบกลุ่มต่อกลุ่ม

ป้ายข้อความ

การออกแบบแนวความคิด

การสร้างเอนทิตี

เอนทิตีในแผนภาพแนวคิดสามารถขึ้นอยู่กับหรือเป็นอิสระได้ บนไดอะแกรม เอนทิตีใดๆ จะแสดงเป็นรูปสี่เหลี่ยมผืนผ้า ด้านบนเป็นชื่อของเอนทิตี สี่เหลี่ยมผืนผ้าแบ่งออกเป็นสองส่วน ส่วนด้านบนเป็นพื้นที่คีย์หลัก ส่วนล่างคือพื้นที่ของคุณลักษณะที่เหลืออยู่ เมื่อสร้างเอนทิตี สี่เหลี่ยมจะว่างเปล่าในตอนแรก และชื่อคือ E/n (เช่น E/1, E/2 ฯลฯ)

ในการสร้างเอนทิตีอิสระ คุณต้องคลิกที่ไอคอนที่เหมาะสมจากชุดเครื่องมือพิเศษ จากนั้นคลิกที่ฟิลด์ไดอะแกรมในตำแหน่งที่ควรสร้างเอนทิตีที่จะสร้าง ในการสร้างเอนทิตีที่ต้องพึ่งพา คุณต้องเลือกเครื่องมือ "เอนทิตีที่พึ่งพา" และคลิกที่ฟิลด์ไดอะแกรม โปรดทราบว่าสี่เหลี่ยมที่แสดงถึงเอนทิตีดังกล่าวมีมุมโค้งมน เมื่อสร้างไดอะแกรม แทบไม่จำเป็นต้องระบุเอนทิตีที่ขึ้นต่อกันโดยตรง เนื่องจาก ERwin แปลงเอนทิตีธรรมดาให้เป็นเอนทิตีที่ขึ้นต่อกันเมื่อจัดระเบียบความสัมพันธ์หรือแบ่งออกเป็นหมวดหมู่

หากผู้ออกแบบไม่พอใจกับตำแหน่งของเอนทิตีในฟิลด์ เขาจะต้องเลือกไอคอน "ชี้ไปที่วัตถุ" จากชุดเครื่องมือพิเศษ และลากเอนทิตีไปยังตำแหน่งใหม่ หากต้องการลบเอนทิตีที่เลือก ให้ใช้ปุ่ม Delete บนแป้นพิมพ์ของคุณ คุณสามารถเปลี่ยนขนาดของสี่เหลี่ยมที่แสดงถึงเอนทิตีได้โดยการเลือกรายการเมนูหลัก ตัวเลือก / ขนาดเอนทิตี รายการเมนูตัวเลือก / เค้าโครงใช้เพื่อจัดเรียงตำแหน่งของเอนทิตีบนฟิลด์

ตอนนี้เรามากำหนดชื่อของเอนทิตีและคุณลักษณะเฉพาะของมันกันดีกว่า เมื่อต้องการทำเช่นนี้ ให้ใช้รายการ Entity-Attribute จากเมนูที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่เมาส์ ในฟิลด์ชื่อเอนทิตีของตัวแก้ไขที่เปิดขึ้น ให้ป้อนชื่อของเอนทิตี การใช้สวิตช์ คุณสามารถเปลี่ยนการพึ่งพาของเอนทิตีได้ ฟิลด์แก้ไขคีย์หลักมีไว้สำหรับป้อนชื่อของคุณลักษณะที่ประกอบขึ้นเป็นคีย์หลัก คุณลักษณะที่ไม่ใช่คีย์จะถูกป้อนลงในฟิลด์คุณลักษณะที่ไม่ใช่คีย์ โปรดทราบว่าในทั้งสองกรณี ปุ่ม Enter บนแป้นพิมพ์จะใช้เพื่อแยกแอตทริบิวต์ออกจากกัน ในรูป รูปที่ 2 แสดงตัวอย่างของเอนทิตีอิสระ

ข้าว. 2 - นิติบุคคลอิสระ

หากต้องการเพิ่มคำอธิบายเพิ่มเติมของเอนทิตี (คำจำกัดความ) และมุมมองทั่วไปของเอนทิตีทั้งหมด ให้ใช้รายการรายงาน / เบราว์เซอร์เอนทิตี

ERwin ช่วยให้คุณสามารถจัดการคุณลักษณะแต่ละรายการได้ ในการดำเนินการนี้ ให้เลือกไอคอน "การจัดการแอตทริบิวต์" ในโหมดนี้คุณสามารถ:

· ลบแอตทริบิวต์ ในการดำเนินการนี้ ให้เลือกแอตทริบิวต์แยกต่างหากแล้วกด Delete บนแป้นพิมพ์

· ย้ายแอตทริบิวต์ภายในเอนทิตี ในการดำเนินการนี้ ให้เลือกแอตทริบิวต์ และย้ายไปยังตำแหน่งที่ต้องการโดยไม่ต้องปล่อยปุ่มเมาส์ โปรดทราบว่าด้วยวิธีนี้ คุณสามารถย้ายแอตทริบิวต์ทั้งภายในพื้นที่สำคัญและไม่ใช่คีย์ และระหว่างพื้นที่เหล่านั้นได้

· ย้ายคุณลักษณะระหว่างเอนทิตี เทคนิคสำหรับการกระทำนี้คล้ายกับเทคนิคก่อนหน้า หากกดปุ่ม Ctrl ขณะย้ายแอตทริบิวต์ คุณลักษณะนั้นจะถูกคัดลอกไปยังเอนทิตีอื่น

การสร้างการเชื่อมต่อ

ลองพิจารณาสร้างความสัมพันธ์แบบหนึ่งต่อกลุ่ม ในการดำเนินการนี้ ให้เลือกไอคอนที่เหมาะสมจากชุดเครื่องมือพิเศษ จากนั้นคลิกที่ผู้ปกครองและบุตรหลานตามลำดับ ความสัมพันธ์ในการระบุจะแสดงด้วยเส้นทึบและจุดสีดำถัดจากสี่เหลี่ยมที่แสดงถึงเด็ก ความสัมพันธ์นี้มีลักษณะเฉพาะด้วยการโอนคีย์หลักของผู้ปกครองไปยังตัวระบุของเด็ก ในรูป รูปที่ 3 แสดงความสัมพันธ์ในการระบุแบบหนึ่งต่อกลุ่ม

รูปที่ 3 – ลิงค์ประจำตัว

ความสัมพันธ์ที่ไม่ระบุตัวตนถูกสร้างขึ้นในลักษณะเดียวกัน มันถูกแสดงด้วยเส้นประและเพชรถัดจากสี่เหลี่ยมที่แสดงถึงแม่ เพชรดังกล่าวหมายความว่าไม่จำเป็นต้องมีผู้ปกครองอยู่เช่น ฟิลด์คีย์ต่างประเทศสามารถเป็นค่าว่างได้ การสร้างความสัมพันธ์แบบไม่ระบุตัวตนใน ERwin มีลักษณะเฉพาะโดยการโอนคีย์หลักของพาเรนต์ไปเป็นคุณลักษณะที่ไม่ใช่คีย์ของเด็ก รูปที่ 4 แสดงความสัมพันธ์ที่ไม่ระบุตัวตน

ข้าว. 4. - การเชื่อมต่อที่ไม่ระบุตัวตน

ตามที่ระบุไว้ การออกแบบความสัมพันธ์แบบกลุ่มต่อกลุ่มจะสร้างเอนทิตีใหม่ ตัวอย่างการสร้างการเชื่อมต่อประเภทนี้ระหว่างเอนทิตีที่หนึ่งและที่สองแสดงในรูปที่ 5.

ข้าว. 5. - ความสัมพันธ์แบบกลุ่มต่อกลุ่ม

คุณสามารถดูและเปลี่ยนแปลงคำอธิบายของความสัมพันธ์ได้โดยใช้รายการความสัมพันธ์จากเมนูที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่ความสัมพันธ์ ในหน้าต่างที่เปิดขึ้น ให้ระบุ:

· ชื่อของการเชื่อมต่อ (ฟิลด์กริยาวลี)

· ประเภทความสัมพันธ์: ระบุหรือไม่ระบุ

· จำนวนสมาชิกของการเชื่อมต่อ ERwin อนุญาตให้คุณกำหนดประเภทการเชื่อมต่อต่อไปนี้

1. ศูนย์ หนึ่งหรือมากกว่านั้น การมีอยู่ของภาวะเชิงการนับดังกล่าวไม่ได้ทำให้เกิดสัญลักษณ์เพิ่มเติมในแผนภาพ

2. หนึ่งหรือมากกว่านั้น การเชื่อมต่อดังกล่าวระบุด้วยตัวอักษร P ถัดจากสี่เหลี่ยมที่แสดงถึงเด็ก

3. ศูนย์หรือหนึ่ง ภาวะเชิงการนับแสดงด้วยตัวอักษร Z

4. ให้. ในกรณีนี้ ฟิลด์ Exactly จะต้องมีตัวเลขที่แสดงถึงจำนวนสมาชิก ความสัมพันธ์ดังกล่าวระบุด้วยตัวเลขถัดจากสี่เหลี่ยมที่แสดงถึงเด็ก

·ความเป็นไปได้ของการมีอยู่ของค่า Null (สวิตช์ Nulls)

· บทบาทของคีย์ต่างประเทศ ในกรณีนี้ ชื่อบทบาทจะถูกเขียนลงในฟิลด์ชื่อบทบาท ในกรณีนี้ ฟิลด์ Foreign Key ของตัวแก้ไขจะมีโครงสร้างอยู่<имя роли>.<имя первичного ключа родителя>.

หากไดอะแกรมไม่แสดงชื่อหรือคาร์ดินาลลิตี้ของความสัมพันธ์ จำเป็นต้องวางพอยน์เตอร์ไว้ตรงข้ามรายการดิสเพลย์ / กริยาวลี และดิสเพลย์ / คาร์ดินาลลิตี้

หากต้องการลบการเชื่อมต่อคุณต้องเลือกไอคอน "ชี้ไปที่วัตถุ" คลิกที่การเชื่อมต่อที่เกี่ยวข้องแล้วกด Delete บนแป้นพิมพ์

การแบ่งเอนทิตีออกเป็นหมวดหมู่ใน ERwin จะแสดงในลักษณะเดียวกันกับรูปที่ 1 6.

ข้าว. 6 - แบ่งย่อยเป็นหมวดหมู่ให้สมบูรณ์

ในการสร้างหมวดหมู่ คุณต้องทำตามขั้นตอนต่อไปนี้:

อธิบายเอนทิตีหลักอย่างครบถ้วน

สร้างเอนทิตีหมวดหมู่

เลือกไอคอนสำหรับการจัดหมวดหมู่ที่สมบูรณ์หรือไม่สมบูรณ์จากชุดเครื่องมือพิเศษ

คลิกที่เอนทิตีหลัก

คลิกที่หมวดหมู่ใดหมวดหมู่หนึ่ง

หากต้องการสร้างแต่ละหมวดหมู่ต่อมา ให้คลิกที่เครื่องหมายหมวดหมู่ จากนั้นคลิกเอนทิตีที่เกี่ยวข้อง

หากต้องการลบการเชื่อมต่อของประเภทใดประเภทหนึ่งกับเอนทิตีหลัก คุณต้องเลือกสาขาที่เกี่ยวข้องแล้วกด Delete บนแป้นพิมพ์ หากคุณต้องการลบรายละเอียดหมวดหมู่ทั้งหมด ให้ชี้ไปที่เครื่องหมายหมวดหมู่แล้วคลิกลบ

การออกแบบเชิงตรรกะ

การออกแบบเชิงตรรกะเริ่มต้นด้วยการเลือกแบบจำลองข้อมูล DBMS ทั้งหมดที่ ERwin ทำงานด้วยนั้นมีความสัมพันธ์กัน และสิ่งนี้จะกำหนดตัวเลือกของโมเดลข้อมูล

หากต้องการเลือก DBMS เฉพาะ ให้คลิกไอคอน "เลือกเซิร์ฟเวอร์" ในหน้าต่างที่เปิดขึ้น ให้วางตัวชี้ตรงข้ามกับ DBMS ที่เลือก และระบุเวอร์ชันหากจำเป็น นอกจากนี้ คุณต้องเลือกลักษณะเขตข้อมูลตารางเริ่มต้น (ประเภทและความเป็นโมฆะ)

ขั้นตอนสำคัญในการออกแบบเชิงตรรกะคือการกำหนดกลยุทธ์ในการรักษาความสมบูรณ์ของข้อมูล หากต้องการตั้งค่ากลยุทธ์เริ่มต้นสำหรับความสัมพันธ์ประเภทต่างๆ ให้คลิกปุ่ม Referential Integrity Default ในหน้าต่างการเลือก DBMS ERwin เสนอกลยุทธ์สามประเภท:

1.จำกัด-ห้าม มีลักษณะเป็นการห้ามกระทำการกับหน่วยงานที่เกี่ยวข้อง

2. น้ำตก - น้ำตก กลยุทธ์นี้เกี่ยวข้องกับการดำเนินการแบบเรียงซ้อนกับเอนทิตีที่เกี่ยวข้อง

3. ตั้งค่า Null - ศูนย์ กลยุทธ์นี้คือการตั้งค่าฟิลด์เป็น Null

หลังจากเลือก DBMS แล้ว เราจะเริ่มอธิบายข้อมูลตามเงื่อนไข เมื่อต้องการทำเช่นนี้ ให้เลือกจากเมนูที่ปรากฏขึ้นโดยการคลิกขวาที่เอนทิตีของสินค้า<имя выбранной СУБД>สคีมาฐานข้อมูล ในหน้าต่างที่เปิดขึ้น คุณสามารถระบุชื่อของตารางและฟิลด์ของตาราง รวมถึงคุณสมบัติของฟิลด์เหล่านี้ได้

ในทางปฏิบัติ มักเป็นกรณีที่ความสัมพันธ์ทุกประเภทไม่ได้ถูกกำหนดโดยกลยุทธ์เดียวกันในการรักษาข้อจำกัดด้านความสมบูรณ์ หากต้องการเปลี่ยนกลยุทธ์สำหรับความสัมพันธ์เฉพาะ ให้ใช้รายการ Referential Integrity จากเมนูที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่การเชื่อมต่อ หากแผนภูมิไม่มีข้อมูลเกี่ยวกับกลยุทธ์ที่เลือก ให้วางตัวชี้ไว้ถัดจาก Display / Referenda Integrity

หากต้องการสร้างสคริปต์สำหรับ DBMS ที่เลือก ให้คลิกไอคอน "สร้างสคริปต์สำหรับเซิร์ฟเวอร์" ในกรณีนี้ ERwin จะสร้างสคีมาฐานข้อมูลตามตารางบางตาราง หาก DBMS ที่เลือกรองรับทริกเกอร์การเขียน ทริกเกอร์เหล่านั้นจะถูกสร้างขึ้นโดยขึ้นอยู่กับกลยุทธ์ที่เลือกเพื่อสนับสนุนข้อจำกัดด้านความสมบูรณ์

การออกแบบทางกายภาพ

ในขั้นตอนการออกแบบนี้ เราจะเพิ่มดัชนีเพิ่มเติมให้กับวงจรผลลัพธ์ เมื่อต้องการทำเช่นนี้ ให้ใช้รายการ<имя СУБД>เมนูดัชนีที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่เอนทิตี ในหน้าต่างที่เปิดขึ้น ให้คลิกปุ่มใหม่เพื่อสร้างดัชนีใหม่ จากนั้นระบุแอตทริบิวต์โดยคลิกที่รูปภาพของแอตทริบิวต์นี้ โปรดทราบว่าขณะนี้ในแผนภาพทั่วไป คุณลักษณะที่ใช้สร้างดัชนีจะถูกทำเครื่องหมายด้วยตัวอักษร AK ซึ่งหมายความว่าเป็นกุญแจสำรอง

ออกกำลังกาย

1. สร้างไดอะแกรมฐานข้อมูลแนวคิดสำหรับหน่วยรับรองโดยใช้ ERwin คำอธิบายของสาขาวิชาได้รับด้านล่าง

หน่วยรับรองได้รับการรับรองให้ออกใบรับรองสำหรับผลิตภัณฑ์บางประเภท ผลิตภัณฑ์แต่ละประเภทมีการอธิบายด้วยรหัส (ตามตัวแยกประเภท) ชื่อประเภท (เช่น ผลิตภัณฑ์นม) และประเภท (เช่น นม) อาจมีเอกสารข้อบังคับหลายฉบับสำหรับผลิตภัณฑ์แต่ละประเภท และเอกสารข้อบังคับแต่ละฉบับใช้กับผลิตภัณฑ์หลายประเภท เอกสารกำกับดูแลมีลักษณะตามระดับ (GOST, OST ฯลฯ ) หมายเลขและชื่อ

ใบรับรองจะออกให้กับผลิตภัณฑ์ประเภทเดียวเท่านั้นและสำหรับลูกค้ารายเดียวเท่านั้น ลูกค้ารายเดียวกันสามารถติดต่อหน่วยรับรองได้หลายครั้ง ดังนั้น คุณจึงต้องจัดเก็บข้อมูลเกี่ยวกับลูกค้า (รหัสองค์กร ชื่อ ที่อยู่ และหมายเลขโทรศัพท์)

ลูกค้าสามารถติดต่อหน่วยรับรองเพื่อขอรับการรับรองได้สองประเภท: ใบสมัครหรือการประกาศ เอกสารภายในประเภทต่างๆ จะถูกจัดทำขึ้นและจัดเก็บข้อมูลต่างๆ ขึ้นอยู่กับสิ่งนี้ (ตารางที่ 1)

ตารางที่ 1

ในเวลาเดียวกัน จำนวนใบสมัครและการประกาศยังคงดำเนินต่อไป ซึ่งหมายความว่าหากมีการสมัครเป็นตัวเลขก็ไม่ควรมีการประกาศตามหมายเลขนี้

หน่วยรับรองจะจัดเก็บข้อมูลเกี่ยวกับพนักงาน (รหัสส่วนตัว นามสกุล ตำแหน่ง และที่อยู่) นอกจากนี้จำเป็นต้องทราบว่าพนักงานทำงานประเภทใดและสมัครงานประเภทใด งานที่ดำเนินการกับใบสมัครสามารถมีได้สี่ประเภท: กรอกใบสมัคร, ตัดสินใจเกี่ยวกับใบสมัคร, ตัดสินใจในการออกใบรับรอง, ออกใบรับรอง ตามแอปพลิเคชันเดียวกัน พนักงานที่แตกต่างกันสามารถทำงานประเภทต่างๆ ได้ แผนภาพแนวคิดจะต้องมีการแบ่งย่อยเป็นหมวดหมู่ นอกจากนี้ คุณต้องใช้บทบาทคีย์ต่างประเทศ

2. แปลงสคีมาแนวคิดเป็นตารางของ DBMS ที่เลือกโดยใช้ ERwin สร้างทริกเกอร์

3. สร้างผู้ใช้สามคนสำหรับฐานข้อมูลโดยมีสิทธิ์ดังต่อไปนี้:

1) “รายงาน” - สิทธิ์ในการอ่านข้อมูลทั้งหมด (ไม่มีสิทธิ์อื่น ๆ )

2) “ไดเรกทอรี” - สิทธิ์ทั้งหมดในข้อมูลเกี่ยวกับพนักงาน ลูกค้า ผลิตภัณฑ์ และเอกสารกำกับดูแล

3) “เอกสาร” - สิทธิ์ทั้งหมดในข้อมูลเกี่ยวกับเอกสารภายในของหน่วยรับรองและลูกค้า สิทธิ์ในการอ่านข้อมูลเกี่ยวกับผลิตภัณฑ์และเอกสารกำกับดูแล

รายงานจะต้องมี:

พิมพ์แผนภาพแนวคิดจาก ERwin;

เหตุผลในการเลือกกลยุทธ์เพื่อสนับสนุนข้อจำกัดด้านความสมบูรณ์ของฐานข้อมูล

โครงสร้างของตารางและทริกเกอร์

คำอธิบายเครื่องมือสำหรับการสร้างผู้ใช้ฐานข้อมูล

คำถามทดสอบ

1. การเชื่อมต่อประเภทใดที่สามารถมีอยู่ในสาขาวิชา?

2. จะกำจัดความสัมพันธ์แบบกลุ่มต่อกลุ่มออกจากสคีมาฐานข้อมูลได้อย่างไร

3. อะไรคือความแตกต่างระหว่างการเชื่อมต่อแบบระบุและไม่ระบุตัวตน?

4. ในกรณีใดที่จำเป็นต้องอธิบายบทบาทของคีย์ต่างประเทศ?

5. เราจะพิสูจน์การระบุหมวดหมู่ได้อย่างไร?

6. การแบ่งหมวดหมู่ที่สมบูรณ์และไม่สมบูรณ์แตกต่างกันอย่างไร?

7. กลยุทธ์สนับสนุนข้อจำกัดด้านความซื่อสัตย์ประเภทใดบ้างที่ถูกนำมาใช้ในห้องปฏิบัติการ


รายชื่อวรรณกรรมที่ใช้แล้ว

1. วันที่ เค.เจ. ระบบฐานข้อมูลเบื้องต้น.- หนังสือเรียน. คู่มือ: แปลจากภาษาอังกฤษ – ฉบับที่ 6 – ม.และคณะ: วิลเลียมส์, 2000. – 846 หน้า

2. Robinson S. Microsoft Access 2000: หนังสือเรียน หลักสูตร: ทรานส์ จากภาษาอังกฤษ – เซนต์ปีเตอร์สเบิร์ก: ปีเตอร์, 2001. – 511 น.

3. คุซเนตซอฟ เอส.ดี. พื้นฐานของฐานข้อมูล: รายวิชาบรรยาย: Proc. เบี้ยเลี้ยง ม.: อินเตอร์เน็ตมหาวิทยาลัยแจ้ง. เทคโนโลยี พ.ศ. 2548-484 หน้า

4. กอฟฟ์แมน วี.อี., โคโมเนนโก เอ.ดี. การทำงานกับฐานข้อมูลใน Delphi เซนต์ปีเตอร์สเบิร์ก: Dhv, 2002.-656 หน้า

5. มาคลาคอฟ เอส.วี. บีปวิน และเออร์วิน. เคสเครื่องมือสำหรับการพัฒนาระบบสารสนเทศ-ม.: Dialog-Myfi, 2003.-254p

6. มาลีคิน่า ส.ส. ฐานข้อมูล พื้นฐาน การออกแบบ การใช้งาน หนังสือเรียน คู่มือสำหรับมหาวิทยาลัย -2nd ed.-SPB.:BHV-Petersburg, 2006.-517 p.

การสร้างระบบข้อมูลสมัยใหม่เป็นงานที่ซับซ้อน การแก้ปัญหาต้องใช้เทคนิคและเครื่องมือพิเศษ ไม่น่าแปลกใจที่เมื่อเร็วๆ นี้ในหมู่นักวิเคราะห์ระบบและนักพัฒนา มีความสนใจเพิ่มขึ้นอย่างมากใน CASE (ซอฟต์แวร์ช่วยคอมพิวเตอร์/วิศวกรรมระบบ) - เทคโนโลยีและเครื่องมือของ CASE ที่ทำให้สามารถจัดระบบและทำให้ทุกขั้นตอนของการพัฒนาซอฟต์แวร์เป็นอัตโนมัติได้สูงสุด

หนังสือที่นำเสนอแก่ผู้อ่านเป็นแนวทางปฏิบัติในการสร้างระบบข้อมูลโดยใช้เครื่องมือวิเคราะห์ การออกแบบ และสร้างโค้ดที่มีประสิทธิภาพจากเทคโนโลยี PLATINUM - BPwin และ ERwin นอกจากนี้ยังมีคำอธิบายวิธีการวิเคราะห์โครงสร้างและการออกแบบแบบจำลองข้อมูลตามขอบเขตที่จำเป็นสำหรับการปฏิบัติงานจริง การประยุกต์ใช้วิธีการต่างๆ จะแสดงพร้อมตัวอย่าง

หนังสือเล่มนี้เขียนขึ้นบนพื้นฐานของประสบการณ์ส่วนตัวของผู้เขียนที่ได้รับในขณะที่พัฒนาระบบข้อมูล การบรรยาย และการดำเนินการชั้นเรียนเชิงปฏิบัติเกี่ยวกับเทคโนโลยี CASE และเครื่องมือของ CASE ที่ศูนย์ฝึกอบรมของบริษัท Interface Ltd. ส่งถึงผู้เชี่ยวชาญในสาขาเทคโนโลยีสารสนเทศ: นักวิเคราะห์ระบบ ผู้จัดการโครงการ นักพัฒนา - และยังมีประโยชน์สำหรับนักศึกษาระดับปริญญาตรีและบัณฑิตศึกษาที่กำลังศึกษาพื้นฐานของการวิเคราะห์ระบบและการออกแบบระบบสารสนเทศ

หนังสือ:

ความสัมพันธ์คือความสัมพันธ์เชิงตรรกะระหว่างเอนทิตี แต่ละความสัมพันธ์ควรเรียกว่าคำกริยาหรือวลี (Relationship Verb Phrases) (รูปที่ 2.20) ชื่อความสัมพันธ์แสดงถึงข้อจำกัดหรือกฎเกณฑ์ทางธุรกิจ และทำให้อ่านไดอะแกรมได้ง่ายขึ้น ตัวอย่างเช่น:

ลูกค้าทุกคน <размещает> คำสั่งซื้อ;

ทุกการสั่งซื้อ <выполняется> พนักงาน.

ข้าว. 2.20. ชื่อความสัมพันธ์ - วลีกริยาความสัมพันธ์

การเชื่อมต่อแสดงให้เห็นว่าคำสั่งซื้อใดที่ลูกค้าได้ดำเนินการและพนักงานคนใดกำลังดำเนินการตามใบสั่ง ตามค่าเริ่มต้น ชื่อการเชื่อมต่อจะไม่แสดงในไดอะแกรม ในการแสดงชื่อ ในเมนูบริบทที่ปรากฏขึ้นหากคุณคลิกซ้ายที่ตำแหน่งใดๆ ในไดอะแกรมที่ไม่ถูกครอบครองโดยออบเจ็กต์โมเดล ให้เลือก ตัวเลือกการแสดง/ความสัมพันธ์ จากนั้นเปิดใช้งานตัวเลือก วลีคำกริยา

ในระดับตรรกะ คุณสามารถสร้างความสัมพันธ์ที่ระบุแบบหนึ่งต่อกลุ่ม ความสัมพันธ์แบบกลุ่มต่อกลุ่ม และความสัมพันธ์แบบไม่ระบุตัวตนแบบหนึ่งต่อกลุ่ม (ตามลำดับ ปุ่มเหล่านี้คือจากซ้ายไปขวาในเครื่องมือ จานสี)

IDEF1X แยกความแตกต่างระหว่างเอนทิตีที่ขึ้นต่อกันและเอนทิตีอิสระ ประเภทของเอนทิตีถูกกำหนดโดยความสัมพันธ์กับเอนทิตีอื่น ความสัมพันธ์ที่ระบุถูกสร้างขึ้นระหว่างเอนทิตีอิสระ (จุดสิ้นสุดระดับบนสุดของความสัมพันธ์) และเอนทิตีที่ขึ้นอยู่กับ (จุดสิ้นสุดระดับย่อยของความสัมพันธ์) เมื่อมีการดึงความสัมพันธ์ที่ระบุออกมา ERwin จะแปลงเอนทิตีย่อยให้เป็นเอนทิตีที่ขึ้นต่อกันโดยอัตโนมัติ เอนทิตีที่ขึ้นต่อกันจะแสดงด้วยสี่เหลี่ยมมุมมน (entity คำสั่ง ในรูป 2.21) อินสแตนซ์ของเอนทิตีที่ขึ้นต่อกันถูกกำหนดผ่านความสัมพันธ์กับเอนทิตีหลักเท่านั้น นั่นคือในโครงสร้างในรูป 2.21 ข้อมูลเกี่ยวกับคำสั่งซื้อไม่สามารถป้อนได้และไม่มีความหมายหากไม่มีข้อมูลเกี่ยวกับลูกค้าที่สั่งซื้อ เมื่อมีการสร้างความสัมพันธ์ในการระบุ คุณลักษณะของคีย์หลักของเอนทิตีหลักจะถูกโอนไปยังคีย์หลักของเอนทิตีลูกโดยอัตโนมัติ การดำเนินการเพิ่มแอตทริบิวต์ให้กับเอนทิตีลูกเมื่อสร้างความสัมพันธ์นี้เรียกว่าการย้ายแอตทริบิวต์ ในเอนทิตีลูก คุณลักษณะใหม่จะถูกทำเครื่องหมายเป็นคีย์ต่างประเทศ - (FK)

ข้าว. 2.21. การระบุความสัมพันธ์ระหว่างตารางอิสระและตารางขึ้นอยู่กับ

ในอนาคต เมื่อสร้างสคีมาฐานข้อมูล คุณลักษณะคีย์หลักจะได้รับแอตทริบิวต์ NOT NULL ซึ่งหมายความว่าเป็นไปไม่ได้ที่จะสร้างรายการในตารางคำสั่งซื้อโดยไม่มีข้อมูลเกี่ยวกับหมายเลขลูกค้า

เมื่อมีการสร้างความสัมพันธ์ที่ไม่ระบุตัวตน (รูปที่ 2.22) เอนทิตีย่อยยังคงเป็นอิสระ และคุณลักษณะคีย์หลักของเอนทิตีหลักจะโยกย้ายไปยังส่วนประกอบที่ไม่ใช่คีย์ของเอนทิตีหลัก ความสัมพันธ์ที่ไม่ระบุตัวตนถูกใช้เพื่อเชื่อมโยงเอนทิตีอิสระ

ข้าว. 2.22. ความสัมพันธ์ที่ไม่ระบุตัวตน

อินสแตนซ์เอนทิตี พนักงาน สามารถดำรงอยู่ได้โดยอิสระจากอินสแตนซ์ใดๆ ของเอนทิตี แผนก, กล่าวคือ พนักงานสามารถทำงานในองค์กรได้โดยไม่ต้องจดทะเบียนในแผนกใดๆ

การเชื่อมต่อที่ระบุจะแสดงบนแผนภาพเป็นเส้นทึบโดยมีจุดหนาที่ปลายลูกของการเชื่อมต่อ (ดูรูปที่ 2.21) ส่วนที่ไม่ระบุจะแสดงเป็นเส้นประ (รูปที่ 2.22)

หากต้องการสร้างการเชื่อมต่อใหม่:

วางเคอร์เซอร์บนปุ่มที่ต้องการในแถบเครื่องมือ (ระบุหรือไม่ระบุการเชื่อมต่อ) แล้วคลิกปุ่มซ้ายของเมาส์ (รูปที่ 2.2)

คลิกก่อนบนรายการหลัก จากนั้นคลิกที่เอนทิตีลูก

รูปทรงของสายสื่อสารสามารถเปลี่ยนแปลงได้ ในการดำเนินการนี้ คุณจะต้องจับเส้นเชื่อมต่อที่ต้องการด้วยเมาส์แล้วย้ายจากที่หนึ่งไปยังอีกที่หนึ่งจนกว่าเส้นจะเริ่มดูดีขึ้น

ปุ่มในแถบเครื่องมือ

สอดคล้องกับลิงค์ระบุปุ่ม

ความสัมพันธ์และปุ่มแบบกลุ่มต่อกลุ่ม

สอดคล้องกับความสัมพันธ์ที่ไม่ระบุตัวตน

หากต้องการแก้ไขคุณสมบัติของความสัมพันธ์ ให้คลิกขวาที่ความสัมพันธ์และเลือกตัวแก้ไขความสัมพันธ์จากเมนูบริบท

ในแท็บทั่วไปของกล่องโต้ตอบที่ปรากฏขึ้น คุณสามารถตั้งค่าพลังงาน ชื่อ และประเภทการเชื่อมต่อได้ (รูปที่ 2.23)

พลังการสื่อสาร (Cardinality) -ทำหน้าที่เพื่อแสดงอัตราส่วนของจำนวนอินสแตนซ์ของเอนทิตีหลักต่อจำนวนอินสแตนซ์ของเด็ก

กำลังมีสี่ประเภท (รูปที่ 2.24):

กรณีทั่วไปที่อินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับ 0, 1 หรือหลายอินสแตนซ์ของเอนทิตีย่อยไม่ได้ทำเครื่องหมายด้วยสัญลักษณ์ใดๆ

สัญลักษณ์ P ทำเครื่องหมายกรณีที่อินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับ 1 หรือหลายอินสแตนซ์ของเอนทิตีย่อย (ไม่รวมค่าศูนย์)

สัญลักษณ์ Z ทำเครื่องหมายกรณีที่หนึ่งอินสแตนซ์ของเอนทิตีหลักสอดคล้องกับ 0 หรือ 1 อินสแตนซ์ของเอนทิตีย่อย (ไม่รวมค่าหลายค่า)

ตัวเลขจะทำเครื่องหมายกรณีของการจับคู่แบบตรงทั้งหมด เมื่ออินสแตนซ์หนึ่งของเอนทิตีหลักสอดคล้องกับจำนวนอินสแตนซ์ของเอนทิตีย่อยที่กำหนดไว้ล่วงหน้า

ข้าว. 2.23. กล่องโต้ตอบตัวแก้ไขความสัมพันธ์

ตามค่าเริ่มต้น สัญลักษณ์ที่แสดงถึงความแรงของลิงก์จะไม่แสดงบนไดอะแกรม หากต้องการแสดงชื่อ ในเมนูบริบทที่ปรากฏขึ้นหากคุณคลิกซ้ายที่ตำแหน่งใดๆ ในไดอะแกรมที่ไม่ถูกครอบครองโดยออบเจ็กต์โมเดล ให้เลือก Display Options/Relationship จากนั้นเปิดใช้งานตัวเลือก Cardinality

คำกริยาวลี- วลีที่แสดงถึงความสัมพันธ์ระหว่างเอนทิตีผู้ปกครองและเด็ก สำหรับความสัมพันธ์แบบหนึ่งต่อกลุ่ม ทั้งแบบระบุหรือไม่ระบุ การระบุชื่อที่แสดงถึงลักษณะความสัมพันธ์จากเอนทิตีระดับบนสุดถึงระดับย่อย (ระดับบนสุดถึงระดับล่าง) ก็เพียงพอแล้ว สำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่ม ต้องระบุทั้งชื่อระหว่างผู้ปกครองและเด็กและผู้ปกครอง

ข้าว. 2.24. การกำหนดกำลัง

ประเภทของการเชื่อมต่อ (ระบุ/ไม่ระบุ)สำหรับความสัมพันธ์ที่ไม่ระบุตัวตน คุณสามารถระบุ Nulls ได้ ในกรณีของความสัมพันธ์แบบบังคับ (ไม่มีค่า Null) เมื่อสร้างสคีมาฐานข้อมูล แอตทริบิวต์ของคีย์ภายนอกจะได้รับแอตทริบิวต์ที่ไม่เป็นโมฆะ แม้ว่าคีย์ภายนอกจะไม่ได้เป็นส่วนหนึ่งของคีย์หลักของเอนทิตีลูกก็ตาม ในกรณีที่มีความสัมพันธ์เพิ่มเติม (อนุญาตให้ใช้ค่า Nulls) คีย์นอกอาจเป็น NULL ได้ ความสัมพันธ์แบบไม่ระบุตัวตนที่เป็นตัวเลือกจะถูกทำเครื่องหมายด้วยเพชรโปร่งใสที่ด้านเอนทิตีหลัก (ดูรูปที่ 2.22)

ข้าว. 2.25. แท็บการดำเนินการ Rolename/RI ของกล่องโต้ตอบตัวแก้ไขความสัมพันธ์

ในแท็บคำจำกัดความ คุณสามารถให้คำจำกัดความที่สมบูรณ์ยิ่งขึ้นของความสัมพันธ์เพื่อให้สามารถอ้างอิงถึงความสัมพันธ์ได้ในอนาคต

ในแท็บการดำเนินการ Rolename/RI คุณสามารถตั้งชื่อบทบาทและกฎ Referential Integrity ได้

ชื่อบทบาท (ชื่อการทำงาน) -มันเป็นคำพ้องสำหรับคุณลักษณะของคีย์ภายนอกที่บ่งชี้ว่าคุณลักษณะมีบทบาทอย่างไรในเอนทิตีลูก

ข้าว. 2.26. ชื่อบทบาทที่สำคัญต่างประเทศ

ในตัวอย่างที่แสดงในรูปที่. 2.26 เป็นหลัก พนักงาน คีย์ต่างประเทศ เลขที่แผนก มีชื่อการทำงานว่า "Where Works" ซึ่งบ่งชี้ว่าแอตทริบิวต์นี้มีบทบาทอย่างไรในเอนทิตี ตามค่าเริ่มต้น เฉพาะชื่อบทบาทเท่านั้นที่จะแสดงในรายการแอ็ตทริบิวต์ หากต้องการแสดงชื่อเต็มของแอททริบิวต์ (ทั้งชื่อฟังก์ชันและชื่อบทบาท) ในเมนูบริบทที่ปรากฏขึ้นหากคุณคลิกซ้ายที่ตำแหน่งใดๆ ในไดอะแกรมที่ไม่ถูกครอบครองโดยออบเจ็กต์โมเดล ให้เลือก Display Options/Entities และ จากนั้นเปิดใช้งานคุณสมบัติ Rolename/ option (รูปที่ 2.25) ชื่อเต็มจะแสดงเป็นชื่อฟังก์ชันและชื่อฐานคั่นด้วยจุด (ดูรูปที่ 2.26)

จำเป็นต้องใช้ชื่อบทบาทเมื่อมีการกำหนดแอตทริบิวต์ตั้งแต่สองรายการขึ้นไปของเอนทิตีเดียวกันในขอบเขตเดียวกัน กล่าวคือ มีขอบเขตเดียวกัน แต่มีความหมายต่างกัน ในรูป 2.27 สาระสำคัญ ขายสกุลเงิน มีข้อมูลเกี่ยวกับการแลกเปลี่ยนสกุลเงินที่เกี่ยวข้องกับสองสกุลเงิน - ขายและซื้อ ข้อมูลเกี่ยวกับสกุลเงินมีอยู่ในเอนทิตี สกุลเงิน. ดังนั้นเอนทิตี ขายสกุลเงิน และ สกุลเงิน จะต้องเชื่อมโยงสองครั้งและคีย์หลักคือ - หมายเลขสกุลเงิน ต้องย้ายไปยังเอนทิตีสองครั้ง สกุลเงิน เป็นคีย์ต่างประเทศ จำเป็นต้องแยกแยะระหว่างคุณลักษณะเหล่านี้ ซึ่งมีข้อมูลเกี่ยวกับจำนวนสกุลเงินที่ขายและซื้อ (มีความหมายต่างกัน) แต่อ้างอิงถึงเอนทิตีเดียวกัน สกุลเงิน (มีช่วงของค่าที่เหมือนกัน) ในตัวอย่างในรูป 2.27 คุณลักษณะที่ได้รับชื่อบทบาท ขายแล้ว และ ซื้อแล้ว.

ข้าว. 2.27. กรณีของชื่อบทบาทบังคับ

อีกตัวอย่างหนึ่งของการตั้งชื่อบทบาทที่บังคับคือ การเชื่อมต่อแบบเรียกซ้ำ(บางครั้งเรียกว่า "เบ็ดตกปลา") เมื่อเอนทิตีเดียวกันเป็นทั้งผู้ปกครองและเด็กในเวลาเดียวกัน เมื่อกำหนดความสัมพันธ์แบบเรียกซ้ำ คุณลักษณะจะต้องย้ายเป็นคีย์นอกไปยังคุณลักษณะที่ไม่ใช่คีย์ของเอนทิตีเดียวกัน แอตทริบิวต์ไม่สามารถปรากฏสองครั้งในเอนทิตีเดียวกันภายใต้ชื่อเดียวกัน ดังนั้นจึงต้องได้รับชื่อบทบาท ในรูป 2.26 สาระสำคัญ พนักงาน มีแอตทริบิวต์คีย์หลัก หมายเลขบุคลากร. ข้อมูลเกี่ยวกับผู้จัดการของพนักงานมีอยู่ในเอนทิตีเดียวกัน เนื่องจากผู้จัดการทำงานในองค์กรเดียวกัน หากต้องการอ้างถึงผู้จัดการของพนักงาน คุณควรสร้างความสัมพันธ์แบบเรียกซ้ำ (ในรูปที่ 2.26 ความสัมพันธ์อยู่ในความรับผิดชอบ/ผู้ใต้บังคับบัญชา) และกำหนดชื่อบทบาท (“ผู้จัดการ”) โปรดทราบว่าความสัมพันธ์แบบเรียกซ้ำไม่สามารถระบุได้เท่านั้น มิฉะนั้น คีย์ภายนอกจะต้องเป็นส่วนหนึ่งของคีย์หลัก และได้รับแอตทริบิวต์ NOT NULL เมื่อสร้างสคีมา สิ่งนี้จะทำให้ไม่สามารถสร้างลำดับชั้นได้ - แผนผังการรายงานจะต้องมีรูท - พนักงานที่ไม่รายงานต่อใครก็ตามภายในองค์กร

ความสัมพันธ์คำสั่ง/ติดตามจะแสดงในรูป 2.26 ช่วยให้คุณสามารถจัดเก็บลำดับชั้นของการอยู่ใต้บังคับบัญชาของพนักงานได้ การสื่อสารแบบเรียกซ้ำประเภทนี้เรียกว่า การเรียกซ้ำแบบลำดับชั้นและกำหนดความสัมพันธ์โดยที่ผู้นำ (อินสแตนซ์ของเอนทิตีหลัก) สามารถมีผู้ใต้บังคับบัญชาได้จำนวนมาก (อินสแตนซ์ของเอนทิตีลูก) แต่ผู้ใต้บังคับบัญชามีผู้นำเพียงคนเดียว (รูปที่ 2.28)

การเรียกซ้ำแบบลำดับชั้น การเรียกซ้ำแบบเครือข่าย


ข้าว. 2.28. การอยู่ใต้บังคับบัญชาของอินสแตนซ์เอนทิตีในการเรียกซ้ำแบบลำดับชั้นและการเรียกซ้ำเครือข่าย

การเรียกซ้ำอีกประเภทหนึ่งคือ การเรียกซ้ำเครือข่ายเมื่อผู้นำสามารถมีผู้ใต้บังคับบัญชาได้หลายคน และในทางกลับกัน ผู้ใต้บังคับบัญชาสามารถมีผู้จัดการได้หลายคน การเรียกซ้ำของเครือข่ายกำหนดเว็บของความสัมพันธ์ระหว่างอินสแตนซ์ของเอนทิตีหลักและเอนทิตีลูก นี่เป็นกรณีที่เอนทิตีมีความสัมพันธ์แบบกลุ่มต่อกลุ่มกับตัวมันเอง หากต้องการแก้ไขความสัมพันธ์แบบกลุ่มต่อกลุ่ม คุณต้องสร้างเอนทิตีใหม่ (ความสัมพันธ์แบบกลุ่มต่อกลุ่มจะกล่าวถึงในรายละเอียดด้านล่าง)

ข้าว. 2.29. ตัวอย่างการใช้งานการเรียกซ้ำเครือข่าย

ในรูป 2.29 พิจารณาตัวอย่างการใช้งานการเรียกซ้ำเครือข่าย โครงสร้างนี้จำลองความสัมพันธ์ในครอบครัวระหว่างสมาชิกในครอบครัวไม่ว่าจะซับซ้อนเพียงใด คุณลักษณะ ประเภทความสัมพันธ์ สามารถรับความหมาย “พ่อ-ลูก” “แม่-ลูกสาว” “ปู่-หลาน” “แม่สามี-ลูกสะใภ้” “พ่อตา” เป็นต้น เนื่องจากครอบครัว ความสัมพันธ์เชื่อมโยงคนสองคนเข้าด้วยกันจากแก่นแท้เสมอ สัมพันธ์กับ สาระสำคัญ เครือญาติ มีการสร้างลิงก์ระบุสองลิงก์พร้อมชื่อบทบาท "อาวุโส" และ "จูเนียร์" สมาชิกในครอบครัวแต่ละคนสามารถเชื่อมโยงกับสมาชิกในครอบครัวคนอื่นๆ ได้ ยิ่งไปกว่านั้น ญาติคู่เดียวกันสามารถเชื่อมโยงกันได้ด้วยความสัมพันธ์ในครอบครัวประเภทต่างๆ

หากแอตทริบิวต์ถูกย้ายเป็นคีย์ภายนอกไปยังมากกว่าหนึ่งระดับ ชื่อเต็มของคีย์ต่างประเทศ (ชื่อบทบาท + ชื่อแอ็ตทริบิวต์พื้นฐาน) จะแสดงที่ระดับแรก และจะแสดงเฉพาะชื่อบทบาทในระดับที่สองขึ้นไป ระดับ ในรูป รูปที่ 2.30 แสดงโครงสร้างข้อมูลที่มีเอนทิตี ทีม, สาระสำคัญ ผู้เล่น, ซึ่งเก็บข้อมูลเกี่ยวกับผู้เล่นของแต่ละทีมและนิติบุคคล เป้าหมาย, มีข้อมูลเกี่ยวกับเป้าหมายที่ผู้เล่นแต่ละคนทำคะแนน คุณลักษณะคีย์ต่างประเทศ หมายเลขทีม สาระสำคัญ ผู้เล่น มีชื่อบทบาทว่า "เขาเล่นอยู่ทีมไหน"

ข้าว. 2.30. การย้ายชื่อบทบาท

ในระดับต่อไปโดยพื้นฐานแล้ว เป้าหมาย, แสดงเฉพาะชื่อบทบาทของแอตทริบิวต์คีย์ต่างประเทศที่เกี่ยวข้องเท่านั้น (เขาเล่นอยู่ทีมอะไร)

กฎ Referential Integrity (RI) เป็นโครงสร้างเชิงตรรกะที่แสดงกฎเกณฑ์ทางธุรกิจสำหรับการใช้ข้อมูล และเป็นตัวแทนของกฎการแทรก การแทนที่ และการลบ เมื่อสร้างสคีมาฐานข้อมูลตามตัวเลือกโมเดลเชิงตรรกะที่ระบุในแท็บบทบาท/การดำเนินการ RI กฎความสมบูรณ์ในการอ้างอิงที่ประกาศจะถูกสร้างขึ้น ซึ่งจะต้องกำหนดไว้สำหรับแต่ละความสัมพันธ์ และทริกเกอร์ที่รับประกันความสมบูรณ์ในการอ้างอิง ทริกเกอร์คือโปรแกรมที่ดำเนินการทุกครั้งที่มีการดำเนินการคำสั่งแทรก แทนที่ หรือลบ (INSERT, UPDATE หรือ DELETE) ในรูป 2.30 มีความสัมพันธ์ในการระบุระหว่างเอนทิตี ทีม และ ผู้เล่น. จะเกิดอะไรขึ้นถ้าคุณลบคำสั่ง? อินสแตนซ์เอนทิตี ผู้เล่น ไม่สามารถอยู่ได้หากไม่มีคำสั่ง (แอตทริบิวต์คีย์หลัก เขาเล่นอยู่ทีมอะไร? หมายเลขทีม ไม่สามารถใช้ค่า NULL ได้) ดังนั้นคุณต้องห้ามไม่ให้ลบทีมตราบใดที่มีผู้เล่นอย่างน้อยหนึ่งคน (หากต้องการลบทีมคุณต้องลบผู้เล่นทั้งหมดก่อน) หรือลบผู้เล่นทั้งหมดทันที กับทีม กฎการลบดังกล่าวเรียกว่า "ข้อจำกัด" และ "การเรียงซ้อน" (การจำกัดพาเรนต์และพาเรนต์ CASCADE ดูรูปที่ 2.25) โปรดทราบว่าเอนทิตี ผู้เล่น และ เป้าหมาย, ในทางกลับกัน จะเชื่อมต่อกันด้วยลิงก์ที่ระบุ และหากทีมถูกลบแบบเรียงซ้อน ผู้เล่นทั้งหมดในทีมและประตูทั้งหมดที่พวกเขาทำได้จะถูกลบ การดำเนินการคำสั่งเพื่อลบหนึ่งแถวอาจทำให้มีการลบแถวหลายพันแถวในฐานข้อมูล ดังนั้นคุณควรใช้กฎการลบแบบเรียงซ้อนด้วยความระมัดระวัง หากมีการตั้งค่ากฎข้อจำกัดการลบ หากคุณพยายามลบทีมที่มีผู้เล่นอย่างน้อยหนึ่งคน เซิร์ฟเวอร์ DBMS เชิงสัมพันธ์จะส่งกลับข้อผิดพลาด

ในรูป 2.26 ความสัมพันธ์แบบไม่ระบุตัวตนที่เป็นตัวเลือกถูกสร้างขึ้นระหว่างเอนทิตี แผนก และ พนักงาน. อินสแตนซ์เอนทิตี พนักงาน สามารถดำรงอยู่ได้โดยไม่ต้องมีการอ้างอิงแผนก (แอตทริบิวต์คีย์ต่างประเทศ เขาทำงานที่ไหน? เลขที่แผนก สามารถเป็นโมฆะได้) ในกรณีนี้ คุณสามารถตั้งกฎสำหรับการตั้งค่าให้เป็นศูนย์ได้ - SET NULL เมื่อลบแผนก คุณลักษณะของคีย์ต่างประเทศของเอนทิตี ลูกจ้าง - เขาทำงานที่ไหน? เลขที่แผนก จะเป็นโมฆะ ซึ่งหมายความว่าเมื่อแผนกถูกลบ พนักงานจะยังคงทำงานในองค์กรโดยไม่ได้รับมอบหมายให้แผนกใดๆ และข้อมูลเกี่ยวกับเขาจะถูกบันทึกไว้

สามารถตั้งค่ากฎการลบได้อีกสองกฎ (หาก DBMS รองรับ):

SET DEFAULT - เมื่อทำการลบ คุณลักษณะของคีย์นอกจะถูกกำหนดค่าเริ่มต้น ตัวอย่างเช่น เมื่อทีมถูกลบ ผู้เล่นอาจถูกย้ายไปยังทีมอื่น

NONE - เมื่อลบแล้ว ค่าของแอตทริบิวต์คีย์นอกจะไม่เปลี่ยนแปลง บันทึกเกี่ยวกับนักเตะ “แฮงค์ อินเดอะแอร์” คือหมายถึงทีมที่ไม่มีอยู่อีกต่อไป สถานการณ์นี้เป็นเรื่องปกติสำหรับโต๊ะ "แบน" ตัวอย่างเช่น หากข้อมูลผู้เล่นและทีมถูกจัดเก็บไว้ในไฟล์ dbf คุณสามารถลบรายการทีมโดยไม่ต้องให้ไฟล์ผู้เล่นทราบข้อเท็จจริงที่ว่าไม่มีทีมที่เกี่ยวข้อง ดังนั้น บนเดสก์ท็อปหรือระบบเซิร์ฟเวอร์ไฟล์ ฟังก์ชันที่บังคับใช้กฎความสมบูรณ์ของการอ้างอิงจึงถูกนำมาใช้ในแอปพลิเคชันไคลเอนต์

กฎการลบจะควบคุมสิ่งที่เกิดขึ้นในฐานข้อมูลเมื่อมีการลบแถว ในทำนองเดียวกัน กฎการแทรกและอัปเดตจะควบคุมสิ่งที่เกิดขึ้นกับฐานข้อมูลหากแถวมีการเปลี่ยนแปลงหรือเพิ่ม ตัวอย่างเช่น คุณสามารถตั้งกฎที่อนุญาตให้คุณเพิ่มทีมใหม่ได้ก็ต่อเมื่อมีการลงทะเบียนผู้เล่นอย่างน้อยหนึ่งคนเท่านั้น พฤติกรรมที่ต้องการสามารถทำได้โดยการดำเนินการต่อไปนี้:

กำหนดจุดแข็งของการเชื่อมต่อระหว่างเอนทิตี ทีม และ ผู้เล่น, เท่ากับ "หนึ่งหรือมากกว่า" - 1 หรือมากกว่า (ประเภท P) สันนิษฐานว่ามีการสร้างความสัมพันธ์ในการระบุตัวตนแล้ว

กำหนดการดำเนินการทริกเกอร์ RI "Parent Insert-CASCADE" เพื่อให้เมื่อมีการสร้างแถวใหม่ในตาราง ทีม มีการสร้างแถวอย่างน้อยหนึ่งแถวในตารางลูกโดยอัตโนมัติ ผู้เล่น.

กำหนดการดำเนินการของทริกเกอร์ RI "Parent Delete-CASCADE" ให้กับการเชื่อมต่อ เพื่อให้เมื่อแถวถูกลบออกจากตาราง ทีม แถวหรือแถวที่เกี่ยวข้องจากตาราง ผู้เล่น ก็ถูกลบออกเช่นกัน

ERwin จะกำหนดค่า Referential Integrity เริ่มต้นให้กับแต่ละความสัมพันธ์โดยอัตโนมัติก่อนที่จะเพิ่มลงในไดอะแกรม โหมด RI ที่กำหนดโดย ERwin เป็นค่าเริ่มต้น (แสดงในตาราง 2.4) สามารถเปลี่ยนแปลงได้ในตัวแก้ไข Referential Integrity Default ซึ่งเรียกขึ้นมาโดยการคลิกปุ่มค่าเริ่มต้น RI ในกล่องโต้ตอบเซิร์ฟเวอร์เป้าหมาย (เมนูเซิร์ฟเวอร์/เซิร์ฟเวอร์เป้าหมาย)

ตารางที่ 2.4. ค่า RI ที่กำหนดโดยค่าเริ่มต้นใน ERwin รวมถึงโหมดที่เป็นไปได้สำหรับการสื่อสารแต่ละประเภท

ลิงค์ประจำตัว อนุญาตให้ใช้ค่า Nulls ได้ ความสัมพันธ์ที่ไม่ระบุตัวตน (ไม่มี Nulls) การเชื่อมต่ออย่างเด็ดขาด
เด็กลบโหมดที่เป็นไปได้ จำกัด, เรียงซ้อน, ไม่มี จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเป็นโมฆะ, ตั้งค่าเริ่มต้น จำกัด, น้ำตก,
ไม่มี
ลูกลบโหมดเริ่มต้น ไม่มี ไม่มี ไม่มี ไม่มี
เด็กแทรกโหมดที่เป็นไปได้ จำกัด, น้ำตก, จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเริ่มต้น จำกัด, น้ำตก,
ไม่มี ไม่มี
เด็กแทรกโหมดเริ่มต้น จำกัด ตั้งค่าเป็นโมฆะ จำกัด จำกัด
โหมดที่เป็นไปได้ของการอัปเดตเด็ก จำกัด, เรียงซ้อน, ไม่มี จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเป็นโมฆะ, ตั้งค่าเริ่มต้น จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเริ่มต้น จำกัด, เรียงซ้อน, ไม่มี
โหมดเริ่มต้นการอัพเดตย่อย จำกัด ตั้งค่าเป็นโมฆะ จำกัด จำกัด
ผู้ปกครองลบโหมดที่เป็นไปได้ จำกัด, เรียงซ้อน, ไม่มี จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเป็นโมฆะ, ตั้งค่าเริ่มต้น จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเริ่มต้น จำกัด, น้ำตก,
ไม่มี
ผู้ปกครองลบโหมดเริ่มต้น จำกัด ตั้งค่าเป็นโมฆะ จำกัด น้ำตก
ผู้ปกครองแทรกโหมดที่เป็นไปได้ จำกัด, เรียงซ้อน, ไม่มี จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเป็นโมฆะ, ตั้งค่าเริ่มต้น จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเริ่มต้น จำกัด, เรียงซ้อน, ไม่มี
ผู้ปกครองแทรกโหมดเริ่มต้น ไม่มี ไม่มี ไม่มี ไม่มี
อัพเดตผู้ปกครองโหมดที่เป็นไปได้ จำกัด, เรียงซ้อน, ไม่มี จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเป็นโมฆะ, ตั้งค่าเริ่มต้น จำกัด, เรียงซ้อน, ไม่มี, ตั้งค่าเริ่มต้น จำกัด, เรียงซ้อน, ไม่มี
โหมดเริ่มต้นการอัพเดตผู้ปกครอง จำกัด ตั้งค่าเป็นโมฆะ จำกัด น้ำตก

การสื่อสารแบบกลุ่มต่อกลุ่มเป็นไปได้เฉพาะในระดับของตัวแบบข้อมูลเชิงตรรกะเท่านั้น ในรูป รูปที่ 2.31 ด้านบนแสดงตัวอย่างความสัมพันธ์แบบกลุ่มต่อกลุ่ม แพทย์สามารถรักษาคนไข้ได้หลายคน คนไข้สามารถรักษาได้โดยแพทย์หลายคน การเชื่อมต่อดังกล่าวจะแสดงด้วยเส้นทึบซึ่งมีจุดสองจุดที่ปลาย