السلام عليكــم ورحمـة الله وبركاتــه
لدي مشروع تصميم نظام مستشفى، لازلت في مرحلة التصميم، وقد قمت بإنشاء Entity من نوع Person حيث يملك خاصية الـ Phones وهي خاصية متعددة القيم (multivalued)، وقد قمت بعمل Generalization للـ Person إلى ثلاث Entities وهم : Patients و Doctors و Nurses، وبالتالي أصبح هؤلاء الثلاثة يملكون خاصية الـ phones، سؤالي هو:
هل أقوم بتصميم جدول (Table) لكل entity، حيث يصبح لدي ثلاث جداول PatientsPhones و DoctorsPhones و NursesPhones؟
أم أقوم بتصميم جدول واحد Phones، وتعيين كل Primary key من هؤلاء الثلاث كـ Foreign key؟
المشكلة أن في الحالة الثانية، سيصبح لدي تكرار لقيم الـ Null، حيث سيصبح الجدول كالتالي:
Phones DoctorsID PatientsID NursesID
99999999 001 null null
88888888 null 001 null
77777777 null null 021
وإذا كانت الحالة الأولى هي الصحيحة، فهل هي قاعدة عامة عند تصميم خاصية الـ Multivalued؟
وآسف للإطالة