Zahoori Nazo بتاريخ: 26 أبريل 2016 تقديم بلاغ مشاركة بتاريخ: 26 أبريل 2016 السلام عليكم و رحمة الله و بركاته , عندي اسايمنت و رسمت له الـ ERD بسَ المشكلة إن في بعض الأشياء مو متاكدة منهاَ .. لان احتاج اسوي mapping & normalization و كلهم يعتمدون على الـ ERD هذا نص الاسايمنتَ : و هذا الحل إلا سويتهَ : مثلاً من بعض الأمور إلا ما فهمتها : 1. الـ medical service ، كاتبينَ إن الـservice الواحدة لها عدة أسماء .. لكن الـأسماء هي نفسها الـ partial key تبع الـ service ، فهل تكون multiple attribute ؟ أو أني أخلي الـ partial key بروحه وَ بقية الأسماء لنفس الـ service في attribute بروحه ؟ 2. الـ contract ، شنوَ أفضل partial key حقهاَ ؟ ( إذا كانت تضبط أنها تصير كـ week entity ) و إذا ما تصير كـ week entity ، هلَ ينفع أن تكون كـ relation و فيها الـ attribute مالهاَ + اضيف الـ supervisor ليها و يكون كـ composite attribute ؟ 3. و شنو المقصود بأن الـ supervisor يتغير على حسب فترة العقد ؟ ( الفقرة الرابعة ) و إذا كانَ ممكن أحد يتأكد لي من حلي الكليَ للمسألة إذا كان صحيح أو به عيوب أو اخطاءَ أكون شاكرة لهَ و شكراً جزيلاً مقدماً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 26 أبريل 2016 تقديم بلاغ مشاركة بتاريخ: 26 أبريل 2016 السلام عليكم ورحمة الله - بالنسبة لmedical service من الممكن ان يكون هناك اسم خدمه واحد ( أو أكثر من أسم خدمة ) بديل لأسم الخدمة الأساسي ... ( بإفتراض أن عدد الأسماء غير محدد ) - اعتبار ان العلاقه من نوع self join أي الentity تتكون من ( service name ( primary key - service description - - (main service name ( foreign key with service name in the same Entity - من الأفضل ان يكون مفتاح الجدول primary key يكون هناك ترميز للخدمات SERVICE_CODE ------------------ contract contract_id primary key contract start date contract end date contract description new entity contract_supervisors contract_id foreign key with contract entity supervisor_id foreign key with supervisors entity joining_date contract_id + supervisor_id ==== composite key ------------------ من الممكن أن يتم تغيير المشرف خلال فترة تنفيذ العقد للإشراف على مراحل العمل بالعقد ( سنة أو أكثر ) 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Zahoori Nazo بتاريخ: 27 أبريل 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 27 أبريل 2016 السلام عليكم ورحمة الله - بالنسبة لmedical service من الممكن ان يكون هناك اسم خدمه واحد ( أو أكثر من أسم خدمة ) بديل لأسم الخدمة الأساسي ... ( بإفتراض أن عدد الأسماء غير محدد ) - اعتبار ان العلاقه من نوع self join أي الentity تتكون من ( service name ( primary key - service description - - (main service name ( foreign key with service name in the same Entity - من الأفضل ان يكون مفتاح الجدول primary key يكون هناك ترميز للخدمات SERVICE_CODE ------------------ contract contract_id primary key contract start date contract end date contract description new entity contract_supervisors contract_id foreign key with contract entity supervisor_id foreign key with supervisors entity joining_date contract_id + supervisor_id ==== composite key ------------------ من الممكن أن يتم تغيير المشرف خلال فترة تنفيذ العقد للإشراف على مراحل العمل بالعقد ( سنة أو أكثر ) شكراً أخيَ .. - اعتبار ان العلاقه من نوع self join أي الentity تتكون من ( service name ( primary key - service description - - (main service name ( foreign key with service name in the same Entity - كيفَ أعتبرَ الـ service name كـ ( primary key ) ؟ موَ المفروض يكون كـ ( partial key ) لأنَ الـ medical service هو عبارة عن week entity ؟ وَ الـ ( foreign key ) تكون تبعَ الـ service name ؟ ما فهمتَ قصدك لو توضحه برسم أو تفصيل أكثر من ناحية هالنقطةَ . contract contract_id primary key contract start date contract end date contract description منَ فين جبناَ الـ ( contract_id ) ؟ غير موجودة في صياغ الأسايمنتَ new entity contract_supervisors contract_id foreign key with contract entity supervisor_id foreign key with supervisors entity joining_date contract_id + supervisor_id ==== composite key امممَ ، من فين جبناَ الـ ( supervisor_id ) ، فيهَ له الـ ( cpr ) فقطَ .. هل هذا يعني إن عادي اضيف attribute اضافية حتى أكمل الناقص في المسألة ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 27 أبريل 2016 تقديم بلاغ مشاركة بتاريخ: 27 أبريل 2016 السلام عليكم ورحمة الله يمكنك اضافة اي attribute تراه مفيد للحل .... مع ذكر هذه الإضافات الجديدة كملاحظة في نهاية عرضك مثل جدول بيانات العقد اقتراح ان يكون هناك attribute جديد يعبر عن مفتاح الجدول primary key وممكن ان يكون رقم مسلسل للعقد contract_id or contract_no ايضا من الممكن أن يكون رقم مسلسل العقد سنوي ... بمعنى ان يبدأ تسلسل رقم العقد مع بدايه كل سنة جديدة مثل 2015 001 2015 002 2016 001 2016 002 في المثال السابق سيكون مفتاح الجدول مركب من رقم السنة ورقم مسلسل العقد معا ويالمثل يمكن أن يكون رقم مسلسل العقد مرتبط بالمستشفى ----------------------- جدول ال medical service ( service_code ( primary key - service description - - (main_service_code ( foreign key with service_code in the same Entity - service_code service description main_service_code ---- M0100 Medical Care M0101 MEDICAL CARE 101 M0100 M0102 MEDICAL CARE 102 M0100 M0103 MEDICAL CARE 101 M0100 ----- S0200 Surgery S0201 Surgery_type1 s0200 S0202 Surgery_type2 s0200 others C03 -Consultation D04 -Diagnostic X-Ray D05 -Diagnostic Lab B10 -Blood Charges اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Zahoori Nazo بتاريخ: 28 أبريل 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2016 السلام عليكم ورحمة الله يمكنك اضافة اي attribute تراه مفيد للحل .... مع ذكر هذه الإضافات الجديدة كملاحظة في نهاية عرضك مثل جدول بيانات العقد اقتراح ان يكون هناك attribute جديد يعبر عن مفتاح الجدول primary key وممكن ان يكون رقم مسلسل للعقد contract_id or contract_no ايضا من الممكن أن يكون رقم مسلسل العقد سنوي ... بمعنى ان يبدأ تسلسل رقم العقد مع بدايه كل سنة جديدة مثل 2015 001 2015 002 2016 001 2016 002 في المثال السابق سيكون مفتاح الجدول مركب من رقم السنة ورقم مسلسل العقد معا ويالمثل يمكن أن يكون رقم مسلسل العقد مرتبط بالمستشفى ----------------------- جدول ال medical service ( service_code ( primary key - service description - - (main_service_code ( foreign key with service_code in the same Entity - service_code service description main_service_code ---- M0100 Medical Care M0101 MEDICAL CARE 101 M0100 M0102 MEDICAL CARE 102 M0100 M0103 MEDICAL CARE 101 M0100 ----- S0200 Surgery S0201 Surgery_type1 s0200 S0202 Surgery_type2 s0200 others C03 -Consultation D04 -Diagnostic X-Ray D05 -Diagnostic Lab B10 -Blood Charges شكراً جزيلاً أخي .. يمكنك اضافة اي attribute تراه مفيد للحل .... مع ذكر هذه الإضافات الجديدة كملاحظة في نهاية عرضك بَ النسبة لإضافة attribute جديدة غيرَ مذكورة في الفقرةَ أو النص .. استفسرتَ من الدكتورة و خبرتني إن هذا غيرَ ممكن أبداً ، لازمَ اتقيد فقطَ بالـ attribute المذكورة في النص فقط وأفكاركَ جميلاً فعلا و تتيح الحل بشكل سلسلَ ، لكنَ الـ Contract و أيضاً الـ medical service الأثنين يعتبرونَ ( week entity ) ، أي أنهمَ يعتمدون علىَ الـ hospital و بينهم و بينَ الـ hospital هو ( week relation ) هل من حلول أخرىَ بدون إضافة attribute جديدة ؟ + الـ contracts و الـ medical service لا يمكنَ يكون عندهم ( primary key ) فكيف اتعامل معاهم في هذي الحالة ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 28 أبريل 2016 تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2016 السلام عليكم ورحمة الله مرفق رسمتين physical data model ERD ----------------------- جدول ال contract مفتاح الجدول primary key مكون من ( medical_company_name + contract_start_date ) وذلك لاحتمالية وجود أكثر من تعاقد مع نفس الشركة ---------------- جدول ال Contract_Supervisor مفتاح الجدول primary key composite key primary key of contract + primary key of supervisor -------------------------------- عمل جدول جديد بالأسماء الأخرى لنفس الخدمة الطبية service_others_names ------------------------------------------------------- صور مصغرة مرفقة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Zahoori Nazo بتاريخ: 28 أبريل 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2016 السلام عليكم ورحمة الله مرفق رسمتين physical data model ERD ----------------------- جدول ال contract مفتاح الجدول primary key مكون من ( medical_company_name + contract_start_date ) وذلك لاحتمالية وجود أكثر من تعاقد مع نفس الشركة ---------------- جدول ال Contract_Supervisor مفتاح الجدول primary key composite key primary key of contract + primary key of supervisor -------------------------------- عمل جدول جديد بالأسماء الأخرى لنفس الخدمة الطبية service_others_names ------------------------------------------------------- صور مصغرة مرفقة شكراً أخي على المساعدة .. جدول ال contract مفتاح الجدول primary key مكون من ( medical_company_name + contract_start_date ) وذلك لاحتمالية وجود أكثر من تعاقد مع نفس الشركة قصدكَ هناَ ، إن الـ ( contract ( week entity وَتعتمد على الـ medical company ؟ فَ العلاقة بينَ الـ contract و medical company تكون ( week relation ) هيَ { associate } ؟ ** سؤال : ليشَ خليناَ الـ supervisor_name هو الـ primary key ؟ موَ المفروض الـ CPR أقوىَ و أفضل كـ primary key ؟ ** سؤال : الـ service other name ، أضفتها كـ ( multi-value attribute ) في الـ medical service أو أحطها كـ entity جديدةَ في الـ ER diagram ؟ + لحدَ الأن لم اطبق الـ mapping + normalization على الـ ER diagram ، فلسىَ باقي وقت على الجداولَ ، بس شكراً كثيراً احسهم بينفعوني جداً في المستقبل حاولت أعدل الـ ER diagram علىَ أفكاركَ ، و هذا إلا طلع معيَ : هل شغلي صحَ ؟ ممكنَ تعدل لي الأغلاط .. + الأسئلة إلا فوقَ ، ما اضفتها لحدَ الآن في ER انتظر تعديلكَ ، و شكراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 29 أبريل 2016 تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2016 What does CPR stand for? اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Zahoori Nazo بتاريخ: 29 أبريل 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2016 What does CPR stand for? هوَ الرقم الشخصي لكل فردَ ، يوجد في بطاقة الأحوالَ أو لسمارت كاردَ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 29 أبريل 2016 تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2016 السلام عليكم ورحمة الله تم تعديل الرسم السابق للتعامل مع ال cpr كمفتاح لentity ال patient وكذلك ال supervisor ----------------------------------------------- ملاحظات : There must be always a supervisor for each contract, but the contract supervisor can change over the lifetime of the contract. اي ان العلاقة بين ال supervisor و contract من نوع many to many ولذك تم انشاء entity Contract_Supervisor وبالتالي ستوجد علاقتين مع Contract_Supervisor كل منهما one to many -------------------------------------------------------- once a patient books an appointment for a given service from a specific hospital معنى ذلك ان للحصول على موعد يجب ان يرتبط بتحديد نوع الخدمة من جدول الخدمات ... ولأن الخدمة مرتبطه بمستشفى محدده .... فالعلاقة بين entity ال appointment و hospital entity تكون من خلال entity services_price اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Zahoori Nazo بتاريخ: 6 مايو 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 مايو 2016 السلام عليكم ورحمة الله تم تعديل الرسم السابق للتعامل مع ال cpr كمفتاح لentity ال patient وكذلك ال supervisor ----------------------------------------------- ملاحظات : There must be always a supervisor for each contract, but the contract supervisor can change over the lifetime of the contract. اي ان العلاقة بين ال supervisor و contract من نوع many to many ولذك تم انشاء entity Contract_Supervisor وبالتالي ستوجد علاقتين مع Contract_Supervisor كل منهما one to many -------------------------------------------------------- once a patient books an appointment for a given service from a specific hospital معنى ذلك ان للحصول على موعد يجب ان يرتبط بتحديد نوع الخدمة من جدول الخدمات ... ولأن الخدمة مرتبطه بمستشفى محدده .... فالعلاقة بين entity ال appointment و hospital entity تكون من خلال entity services_price شكراً أخيَ .. أنت حطيت هناً : http://www.araboug.org/ib/uploads//monthly_04_2016/post-102-0-65976800-1461929054.jpg إن الـ Contract عندها PK و هو الـ start date صحَ ؟ بس في النص مو موضح إن الـ start date هوَ الـ PK .. فَ مو الأفضل تكون الـ Contract عبارة عنَ ( week entity ) ؟ وَ الـ start date يكونَ partial key لهاً .. ** لأن الـ entity إلا مو محددَ لها الـ primary key في النص تبعَ الاسايمنتَ ما اقدر احط له primary key على كيفيَ .. فَ اختار له key وتكون week entity نفسَ الشيءَ حقَ الـ medical Service ، المفترض تكون week entity .. بسَ الـ list of other names ، ما فهمتَ أنت شلون حطيتهاً في erd إلا صممتها أنتَ .. ليش حطيتها في entity لحالهاَ ؟ شلون ارسمها بطريقةَ رسمتي السابقة ، لأن البرنامجَ إلا تستخدمه في الرسم صعب علي افهمه ممكنَ توضخ لي بطريقة البرنامج إلا انا استخدمه شلون بكونَ ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 6 مايو 2016 تقديم بلاغ مشاركة بتاريخ: 6 مايو 2016 السلام وعليكم ورحمة الله البرنامج المستخدم هو power designer يمكنك تنزيله واستخدامه في إعدادات رسمة ال ERD والبرنامج يحتوى أكثر من أسلوب لعرض عناصر واشكال الرسم والعلاقات بينها ----------------------------- - الـ Contract عبارة عنَ ( week entity ) و الـ start date يكونَ partial key لهاً .. وال attribute بأسم medical company name هو الجزء الأول من ال composite key لل Contract ---------------------------------------------- بالنسبة ل list of other names لا يوجد تغيير في رسمتك لتمثيل multivalued attribute ولتوضيح كيفية تمثيل ال multivalued attribute يتم إنشاء entity جديدة وتكون العلاقة بين medical services وال new entity من نوع one to many وفي رسمة ال ERD تم عمل new week entity بأسم service other names وال attribute بأسم service another name يكون ال partial key لها وال attribute بأسم service name هو الجزء الأول من composite key لل service other names كما هو في موضح الرسم السابق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Zahoori Nazo بتاريخ: 7 مايو 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 مايو 2016 السلام وعليكم ورحمة الله البرنامج المستخدم هو power designer يمكنك تنزيله واستخدامه في إعدادات رسمة ال ERD والبرنامج يحتوى أكثر من أسلوب لعرض عناصر واشكال الرسم والعلاقات بينها ----------------------------- - الـ Contract عبارة عنَ ( week entity ) و الـ start date يكونَ partial key لهاً .. وال attribute بأسم medical company name هو الجزء الأول من ال composite key لل Contract ---------------------------------------------- بالنسبة ل list of other names لا يوجد تغيير في رسمتك لتمثيل multivalued attribute ولتوضيح كيفية تمثيل ال multivalued attribute يتم إنشاء entity جديدة وتكون العلاقة بين medical services وال new entity من نوع one to many وفي رسمة ال ERD تم عمل new week entity بأسم service other names وال attribute بأسم service another name يكون ال partial key لها وال attribute بأسم service name هو الجزء الأول من composite key لل service other names كما في موضح الرسم السابق عدلت شعلة في الرسمة ، العلاقة بينَ الـ Contract و medical company حطيتهاً هيَ ( week relation - associate ) وَ غيرتَ العلاقة بينَ الـ hospital و contract لَ علاقة عادية ( normal relation - has ) هل هذا صحيح أم عملي السابق هو الصحَ ؟ + بالنسبة لَ List of other name ، أنا حاطتنهاً كـ ( multi value attribute ) في الـ medical service .. هل أكنسلهاً ، و أحطها كَ entity جديدةَ بَ اسم ( other name ) و احطها لهاَ attribute كَـ ( name , discretion ) ؟ أمَ شعلي الحالي صحيح و ما يحتاج تعديلَ ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 7 مايو 2016 تقديم بلاغ مشاركة بتاريخ: 7 مايو 2016 السلام عليكم ورحمة الله يلاحظ ان العلاقة بين Contract و medical company هي من نوع one to many وذلك لاحتمالية وجود أكثر من تعاقد مع نفس الشركة ----------------------- حسب طريقة الرسم المطلوبه منكم .... يمكن الإبقاء على تمثيل ال ( multi value attribute ) في الـ medical service .. وبعد ذلك يتم التعامل معها عند ال mapping ك جدول مستقل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Zahoori Nazo بتاريخ: 7 مايو 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 مايو 2016 (معدل) السلام عليكم ورحمة الله يلاحظ ان العلاقة بين Contract و medical company هي من نوع one to many وذلك لاحتمالية وجود أكثر من تعاقد مع نفس الشركة ----------------------- حسب طريقة الرسم المطلوبه منكم .... يمكن الإبقاء على تمثيل ال ( multi value attribute ) في الـ medical service .. وبعد ذلك يتم التعامل معها عند ال mapping ك جدول مستقل و عليكمَ السلام و رحمة الله و بركاته , شكراً جزيلاً للمساعدة .. هذا أخر شكل لَ ERD : و حاولت أعمل mapping لَ ERD : * ممكنَ تتأكد لي إن كان الـ mapping صحيحَ أو لاَ ، و شكراً .. · Mapping of E-R diagram : ( Hospital ( Hname , address , HTel , fax , email ( Medical service ( Hname , MSname , description ( Contract ( Hname , start date , end date , contract text , Scpr , Cname ( Supervisor ( Scpr , Sname ( Medical company ( Cname , country , Hname , MSname ( Appointment ( AppID , appointment date , Hname , MSname , Pcpr ( Patient ( Pcpr , Pname , PTel ( Offered ( Hname , Sname , price ( Other medical services name ( Hname , MSname , other services name Primary key : Hospital : Hname Medical-service : Hname and MSname Contract : Hname and Start date Supervisor : Scpr Medical-company : Cname Appointment : AppID Patient : Pcpr Offered : Hname and MSname Other medical Services name : Hname and MSname and Other services name : Foreign key Hospital : Non : Medical service .( Hname -- form Hospital ( Hname : Contract .(Hname -- form Hospital ( Hname .( Scpr -- form Supervisor ( Scpr .(Cname -- form Medical company ( Cname Supervisor : Non : Medical company Hname -- form Hospital ( Hname .( MSname -- form Medical Service ( MSname : Appointment .( Hname -- form Hospital ( Hname .( MSname -- form Medical Service( MSname .( Pcpr -- form Patient ( Pcpr Patient : Non : Offered .( Hname -- form Hospital ( Hname .( MSname -- form Medical Service( MSname : Other medical Services name .( Hname -- form Hospital ( Hname .( MSname -- form Medical Service( MSname .( Hname -- form Hospital ( Hname .( MSname -- form Medical Service( MSname تم تعديل 7 مايو 2016 بواسطة Zahoori Nazo اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.