คอมพิวเตอร์ Windows อินเทอร์เน็ต

การสร้างความสัมพันธ์ระหว่างหน่วยงาน การออกแบบแบบจำลองใน ERWin ตัวอย่างเออร์วิน

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

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

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

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

● อำนาจการสื่อสาร (คาร์ดินาลลิตี้);

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

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

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

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

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

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

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

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

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

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

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

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

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

ในเอนทิตี supertype มีการแนะนำแอตทริบิวต์ discriminator เพื่อแยกแยะระหว่างอินสแตนซ์เฉพาะของเอนทิตีประเภทย่อย

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

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

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

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

4. แอตทริบิวต์ของคีย์หลักของเอนทิตีประเภทต้องตรงกับแอตทริบิวต์ของคีย์หลักของเอนทิตีทั่วไป

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

บทบาท

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

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

การเป็นตัวแทน

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

ข้อตกลง

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

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

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

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

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

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

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

ERwin Desktop

ในรูป 1 แสดงเดสก์ท็อปของซอฟต์แวร์ ERwin โดย Logic Works

รูปที่ 1- เดสก์ท็อปเออร์วิน

ในรูปที่ 1 ตัวเลขระบุว่า:

1- เมนูหลัก;

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

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

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

5- ฟิลด์แผนภูมิ

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

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

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

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

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

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

หากไม่ได้ตรวจสอบรายการใดรายการหนึ่ง รายการที่เกี่ยวข้องจะไม่ปรากฏบนเดสก์ท็อป รายการตัวเลือก / แสดงเมนูแสดงผลและตัวเลือก / แสดงเมนูตัวแก้ไขเพิ่ม 1gush เพิ่มเติมในเมนูหลัก คุณ: จอภาพและตัวแก้ไข

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

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

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

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

ส่งไดอะแกรมสำหรับการพิมพ์

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



ระดับการนำเสนอของแบบจำลอง:

ระดับนิติบุคคล

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

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

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

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

มาตราส่วน:

ลด;

เพิ่มขึ้น;

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

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

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

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

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

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

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

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

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

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

การจัดการแอตทริบิวต์

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

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

การจัดหมวดหมู่แบบเต็ม;

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

หนึ่งต่อหลายระบุความสัมพันธ์;

ความสัมพันธ์ที่ไม่ระบุชื่อ "บทกวีถึงหลาย ๆ คน";

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

ป้ายข้อความ.

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

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

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

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

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

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

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

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

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

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

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

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

การสร้างลิงค์

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

มะเดื่อ 3. - ระบุลิงค์

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

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

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

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

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

· ชื่อลิงค์ (ช่อง Verb Phrase)

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

· คาร์ดินัลลิตี้ ERwin อนุญาตให้คุณกำหนดประเภทลิงก์ต่อไปนี้

1. ศูนย์หนึ่งหรือมากกว่า การมีอยู่ของคาร์ดินัลลิตี้ดังกล่าวไม่ได้แนะนำการกำหนดเพิ่มเติมในไดอะแกรม

2. หนึ่งหรือมากกว่า ความสัมพันธ์ดังกล่าวเขียนแทนด้วยตัวอักษร P ถัดจากสี่เหลี่ยมผืนผ้าที่เป็นตัวแทนของเด็ก

3. ศูนย์หรือหนึ่ง คาร์ดินาลิตี้ระบุด้วยตัวอักษร Z

4. มอบให้ ในกรณีนี้ ฟิลด์ Exactly ต้องมีหมายเลขคาร์ดินัลลิตี้ ความสัมพันธ์ดังกล่าวแสดงด้วยตัวเลขในสี่เหลี่ยมผืนผ้าที่เป็นตัวแทนของเด็ก

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

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

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

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

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

ข้าว. 6 - การจัดหมวดหมู่แบบเต็ม

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

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

สร้างเอนทิตีประเภท;

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

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

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

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

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

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

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

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

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

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

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

3. ตั้งค่าว่าง - ศูนย์ กลยุทธ์นี้คือการตั้งค่าฟิลด์เป็น 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. วันที่ K.J. ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล - หนังสือเรียน. เบี้ยเลี้ยง: แปลจากภาษาอังกฤษ - ครั้งที่ 6 - M. and others: Williams, 2000 .-- 846 p.

2. Robinson S. Microsoft Access 2000: หนังสือเรียน หลักสูตร: ต่อ จากอังกฤษ - SPB.: Peter, 2001 .-- 511 p.

3. Kuznetsov S.D. พื้นฐานของฐานข้อมูล: หลักสูตรการบรรยาย: หนังสือเรียน. manual.M.: อินเทอร์เน็ต un-t แจ้ง เทคโนโลยี พ.ศ. 2548-484 น.

4. Hoffman V.E. , Khomonenko A.D. การทำงานกับฐานข้อมูลในเดลฟี เซนต์ปีเตอร์สเบิร์ก: Dhv, 2002.-656 p.

5. Maklakov S.V. บีพีวินและเออร์วิน Case-tools สำหรับการพัฒนาระบบสารสนเทศ.-M.: Dialogue-Mifi, 2003.-254p.

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

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

ข้าว. 2. แผนภาพระดับเอนทิตี

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

ข้าว. 3. ไดอะแกรมระดับแอตทริบิวต์ในสัญกรณ์ IDEF1X

มุมมองของไดอะแกรมเดียวกันในรูปแบบ IE (วิศวกรรมสารสนเทศ) แสดงในรูปที่ 4

ข้าว. 4. ไดอะแกรมระดับแอตทริบิวต์ในสัญกรณ์ IE

เนื่องจากเราตั้งชื่อแอตทริบิวต์และเอนทิตีเป็นภาษารัสเซียเพื่อไปยังระดับทางกายภาพของแบบจำลองจึงจำเป็นต้องจับคู่กับตัวระบุของตารางคอลัมน์และข้อ จำกัด ที่เป็นไปตามกฎของ DBMS เป้าหมาย (โดยปกติ นี่หมายถึงการใช้ตัวอักษรละติน ตัวเลข และอักขระพิเศษบางตัว)
ในตัวแก้ไข "Database Schema" ให้ระบุชื่อตารางที่เกี่ยวข้องสำหรับแต่ละเอนทิตี จากนั้น ในตัวแก้ไข "นิยามแอตทริบิวต์" ให้ตั้งชื่อคอลัมน์ตารางที่สอดคล้องกับแอตทริบิวต์ของเอนทิตี ERwin ยังย้ายชื่อคอลัมน์ไปยังตารางรองที่นี่
ณ จุดนี้ คุณยังสามารถใช้ตัวแก้ไข "Extended Attributes" เพื่อกำหนดแอตทริบิวต์ PowerBuilder แบบขยายได้ (รูปแบบการแสดงผล รูปแบบการแก้ไข กฎการควบคุม การจัดตำแหน่ง ชื่อเรื่อง และความคิดเห็น)
ตัวแก้ไขข้อกำหนดของความสัมพันธ์จะระบุชื่อจริงของความสัมพันธ์ที่ตรงกับชื่อของข้อจำกัดที่ ERwin สร้างขึ้นในฐานข้อมูล
ตอนนี้ทุกอย่างพร้อมสำหรับการสร้างฐานข้อมูลแล้ว และคุณต้องเลือก DBMS เป้าหมาย (หากยังไม่เคยทำมาก่อน) มาเลือกกัน เช่น Sybase System 10
ในตัวแก้ไข SYBASE Database Schema เราตั้งค่าชนิดข้อมูลสำหรับคอลัมน์ตาราง
ไดอะล็อกที่เลือกชนิดข้อมูลจะแสดงในรูปที่ 5

ข้าว. 5. การกำหนดแบบจำลองทางกายภาพ

ตอนนี้คุณสามารถไปยังการสร้างฐานข้อมูล สำหรับสิ่งนี้ คำสั่ง "การสร้างสคีมา Sybase" จะถูกดำเนินการ ERwin จะสร้างแพ็คเกจของคำสั่ง SQL ในการสร้างฐานข้อมูล รูปที่ 6 แสดงไดอะล็อกสำหรับเลือกพารามิเตอร์สำหรับสร้างแพ็คเกจสำหรับสร้างฐานข้อมูล รูปภาพแสดงให้เห็นว่าสามารถตั้งค่าตัวกรองได้ (การสร้างตารางไม่ทั้งหมด) แพ็คเกจของคำสั่ง SQL สามารถดูได้ (ตัวอย่าง) พิมพ์ บันทึกลงในไฟล์ (รายงาน) และสร้าง (สร้าง)

ข้าว. 6. การเลือกพารามิเตอร์สำหรับสร้างฐานข้อมูล

คุณสมบัติ ERwin ขั้นสูง

ห้องปฏิบัติการครั้งที่ 3 การสร้างแบบจำลองฐานข้อมูลด้วย Erwin

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

ข้อมูลพื้นฐาน

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

รูปที่ 4 - ตัวอย่างไดอะแกรมที่มีเอนทิตีที่สร้างขึ้น

การสร้างแบบจำลองใน ERwin

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

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

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

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

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

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

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

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

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

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

การสร้างคุณลักษณะ

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

รูปที่ 5 - การสร้างโดเมนใหม่ รูปที่ 6 - การระบุคุณสมบัติของโดเมนใหม่

รูปที่ 7 - ค่าเริ่มต้นสำหรับโดเมนใหม่

รูปที่ 8 - การใช้โดเมนเพื่อระบุประเภทข้อมูลไปยังแอตทริบิวต์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ประเภทลิงค์ (ระบุ / ไม่ระบุ)

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

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

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

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

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

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

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

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

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

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

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

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

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

คีย์ทางเลือกเป็นกุญแจที่มีศักยภาพที่ไม่ได้เป็นกุญแจหลัก

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

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

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

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

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

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

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

รูปที่ 9 - การแปลงแบบจำลองเชิงตรรกะเป็นแบบจำลองจริง

รูปที่ 10 - แบบจำลองทางกายภาพที่ระบุรูปแบบข้อมูล

รูปที่ 11 - การสร้างโค้ด SQL

ออกกำลังกาย

1. สร้างไดอะแกรมด้วยเอนทิตีที่กำหนด (การสร้างแบบจำลองโดยตรง) สำหรับสาขาวิชาที่กำหนด

2. ตั้งค่าแอตทริบิวต์สำหรับเอนทิตีที่กำหนดไว้แต่ละรายการ ใช้โดเมนเมื่อตั้งค่าแอตทริบิวต์

3. ป้อนความสัมพันธ์ระหว่างเอนทิตี ตั้งชื่อเฉพาะของลิงก์

4. ใช้ DBMS MYSQL ตัดสินใจสร้างฐานข้อมูลโดยตรงสำหรับข้อมูลที่คาดการณ์ไว้

5. รายงานควรมีรูปแบบแนวคิดและฐานข้อมูลทางกายภาพใน MYSQL DBMS

คำถามควบคุม

1. อะไรคือความแตกต่างระหว่างระดับตรรกะและทางกายภาพของการนำเสนอแบบจำลองข้อมูลโดยใช้ ERwin?

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

3. องค์ประกอบหลักของแบบจำลองข้อมูลที่นำเสนอตามวิธีการของ IDEF1X คืออะไร?


รายการประเภทข้อมูลที่รองรับโดย DBMS ควรตรวจสอบกับผู้ผลิต

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

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

รูปแบบปกติอีกสองรูปแบบ (ที่สี่และห้า) ใช้ modified การพึ่งพาการทำงาน... สุดท้าย แบบปกติ- คีย์โดเมน - เป็นการกลับสู่จุดเริ่มต้น - วิธีการเชิงตรรกะสำหรับทฤษฎีเชิงสัมพันธ์

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

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

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

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

5.1 ความสัมพันธ์และกุญแจต่างประเทศ

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

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

ความสัมพันธ์ระหว่างความสัมพันธ์/เอนทิตีทั้งในแบบจำลองเชิงสัมพันธ์และไดอะแกรม ER เกิดขึ้นจากข้อจำกัดด้านความสมบูรณ์ของการอ้างอิงที่เรียกว่า "Foreign Key" (เรียกสั้นๆ ว่า FK)

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

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


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

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

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

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

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

5.2 ประเภทของการสื่อสาร การระบุและไม่ระบุลิงก์บังคับและทางเลือก

การระบุและไม่ระบุประเภทลิงก์ (ดูรูปที่ 5.1) ไม่ได้อยู่ในทฤษฎีฐานข้อมูลเชิงสัมพันธ์ แต่อยู่ในมาตรฐานการสร้างแบบจำลอง IDEF1X ซึ่งใช้ ERwin (aka AllFusion Data Modeller)

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

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

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

หลังจากที่เราทำความคุ้นเคยกับภาษา SQL ใน "ภาษา SQL" โดยใช้วิศวกรรมโดยตรงแล้ว จะสามารถสร้างสคริปต์ SQL ที่สร้างส่วนย่อยของสคีมาฐานข้อมูลได้ แต่ถึงตอนนี้ หากคุณคุ้นเคยกับ SQL อยู่แล้วอย่างน้อยก็ให้ไปที่ Tools> Forward Engineer / Schema Generation จากนั้นคลิกปุ่ม Preview เพื่อดูข้อความที่สร้างขึ้น

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

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