ඔබගේ දත්ත සටහන් (ERD) වල 1:1 සම්බන්ධතාවය 1:N ලෙස පෙන්වන්නේ ඇයි? මේ ගැටළුව සරලව කියනවා නම්, ERD මෙවලම් විදේශික යතුර (foreign key) පමණක් බලලා, ඒ යතුරට අයත් unique constraint නොබලා පෙන්වීම නිසා වේ.
මෙම ගැටළුව පළමුව 2009 දී MySQL Workbench සඳහා වාර්තා කරන ලදී. එහිදී 1:1 සම්බන්ධතා ඇති SQL ස්ක්රිප්ට් එකක් reverse‑engineering කරන විට, සියලු සම්බන්ධතා 1:N ලෙස පෙන්වීමෙන් JPA වැනි ORM මෙවලම් භාවිතා කරන විකසකයින්ට බාධා ඇති බව කියා තිබුණා. එම වාර්තාව "Not a Bug" ලෙස සලකුණු කර තිබුණා, ඒත් 2024 දක්වා ඒ ගැන තර්කය දිගු වුණා.
2025 මැයි මාසයේ dbdiagram පරිශීලකයෙකුත් එකම ගැටළුවට මුහුණ දුන්නේය. PostgreSQL SQL එකේ UNIQUE සහ FOREIGN KEY එකට එකතු කර ඇති තැන, මෙවලම ඒක 1:1 ලෙස නොදැනගෙන 1:N ලෙස පෙන්වීය. මෙවලම් දෙකම සම්බන්ධතා වර්ගය (cardinality) සෘජුවම constraint වලින් ලබා ගැනීමට අසමත් බව පෙන්වයි.
ඇයි මෙහෙම වෙන්නේ? දෙකක් ඇත:
- ආනයන (import) දෝෂය – SQL එකේ
FOREIGN KEYකියා පෙනේ, එයටUNIQUEconstraint එකත් තිබුනත්, ඒක diagram‑ක line‑type තේරීමේ ලොජික් එකට යන්නේ නැත. එයින් schema 1:1, diagram 1:N වෙනස් වේ. - අපනයන (export) දෝෂය – පරිශීලකයා dropdown එකෙන් 1:1 තෝරාගත් පසු, එම drawing attribute එක SQL ගොනුවට ලියන විට
UNIQUEconstraint එක අතහැර දේ. එවිට diagram 1:1, schema 1:N බවට පත් වේ.
SQL හි UNIQUE constraint එකම සම්බන්ධතා වර්ගය නියම කරන “cardinality”. relational database වල “CARDINALITY” යන keyword එකක් නැත; එය constraints මත පදනම් වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ බහුතරය තාක්ෂණික විශ්වවිද්යාල සිසුන්, ස්ථානීය සංවර්ධකයින් සහ කුඩා-මධ්යම ව්යාපාරයන් SQL සහ ERD භාවිතා කරයි. මෙවැනි diagram‑ගත දෝෂයක් නිසා:
- ඉගෙනුම් ව්යාපෘති වල data model එකේ වැරදි තේරුම් ඇතිවීම, අධ්යාපන ගුණාත්මකතාව අඩු වේ.
- ව්යාපාරික පද්ධති සැලසුම් කරන විට, “එකම පරිශීලකයෙකුට දෙකේ ප්රොෆයිල්” වැනි වැරදි පරිකල්පනාවන් නිර්මාණය විය හැක.
- ORM මෙවලම් (JPA, Hibernate) සමඟ වැඩ කරන සංවර්ධකයින්ට runtime error සහ performance issue ලැබේ.
මෙම ගැටළුවට නිවැරදි විසඳුමක් ලබා දෙන Schemity වැනි නවීන ERD මෙවලම්, UNIQUE constraint එකක් first‑class object ලෙස modeling කරයි. එමඟින් foreign key එකේ uniqueness toggle කිරීමෙන් diagram එකේ 1:1 ↔ 1:N පෙනුමත් වහාම වෙනස් වේ. ශ්රී ලංකාවේ තාක්ෂණික පාඨමාලාවල මෙවැනි නවීන මෙවලම් ඇතුළත් කිරීම, දත්ත නිර්මාණයේ නිවැරදිත්වය සහ පද්ධති සංවර්ධනයේ වේගය වැඩි කරයි.
ඉදිරියේදී, ERD මෙවලම් සැලසුම්කරුවන්ට constraints‑වලට ප්රමුඛතාව දී, diagram සහ schema එකම අර්ථය ගත හැකි බවට අවධානය යොමු කළ යුතුය. එවිට අපගේ දත්ත ආකෘති නිවැරදිව, ආරක්ෂිතව, කාර්යක්ෂමව භාවිතා කළ හැකි වේ.