วิธีจัดการสิ่งนี้คือประเภทย่อยของคุณจะต้องถูกกำหนดโดยประเภทพิเศษ (เช่น PK ของประเภทย่อยนั้นยังเป็น FK จากประเภทย่อยไปยังประเภท super)
ความท้าทายคือการเข้าใจว่าบางสิ่งมีความพิเศษเฉพาะตัวหรือไม่ คุณลักษณะของประเภทย่อยควรใช้กับประเภทย่อยเหล่านั้นเท่านั้น แต่อาจเป็นไปได้ว่าบางประเภทย่อยนั้นไม่สามารถใช้ร่วมกันได้
หากคุณมีประเภทย่อยแบบเอกสิทธิ์เฉพาะบุคคลบางอย่างร่วมกันคุณสามารถใช้แอ็ตทริบิวต์การแบ่งพาร์ติชันในประเภทแบบพิเศษเพื่อระบุประเภทย่อยแบบเอกสิทธิ์เฉพาะบุคคล (สองคนขึ้นไป) ที่ใช้ร่วมกัน แอ็ตทริบิวต์การแบ่งพาร์ติชันนี้สามารถใช้กับข้อ จำกัด หรือทริกเกอร์เพื่อบังคับใช้การผูกขาดเฉพาะซึ่งกันและกัน
หากคุณมีประเภทย่อยที่ไม่ได้เกิดร่วมกันพวกเขาสามารถอยู่ได้โดยไม่ต้องใช้คุณสมบัติการแบ่ง
พิจารณาตัวแบบข้อมูลนี้:
คุณมี super-types สามชนิด แต่FREE_SOFTWARE
และNON-FREE_SOFTWARE
ชนิดเป็นแบบพิเศษร่วมกันโดยยึดตามSOFTWARE.free_not_free
แอ็ตทริบิวต์การแบ่งพาร์ติชัน ส่วนใดก็ตามของซอฟต์แวร์อาจเป็นไปได้OPERATING_SYSTEM
เช่นกันไม่ว่าจะฟรีหรือไม่ก็ตาม