بتاريخ: 13 يوليو 200916 سنة comment_163137 السلام عليكم إخواني الأفاضللو سمحتم دي اسكيمة ال hr أريد توضيح بالتحديد العلاقات مابين جدولي الموظفين والاقسام حيث من خلال الصورة تلاحظوا ان هناك 2 علاقة بين الجدولين لماذا؟؟؟2-ليه في علاقة بين جدول الemployees and job_history أم أن هذا الجدول الفايدة منه تكسير علاقة ال many to many بين الاقسام والموظفين ياريت يتم توضيح هذه النقاط وشكرا كثيرا لكم تقديم بلاغ
بتاريخ: 13 يوليو 200916 سنة comment_163141 العلاقة بين جدول الموظفين والدوائر هي one to many يعني دائرة واحدة لكل موظف ودائرة واحدة تحتوي اكثر من موظفاما جدول الموظفين مع جدول التاريخ الوظيفي فهي ان الموظف الواحد له اكثر من سجل تاريخي وظيفي اتمنى ان تكون وصلت الفكرة تقديم بلاغ
بتاريخ: 13 يوليو 200916 سنة كاتب الموضوع comment_163144 اولا شكرا لكبسي لو تلاحظ في العلاقة بين جدولي الموظفين والاقسام ستجد ان علاقتين هل يمكن للموظف ان يكون في اكثر من قسم مثلا أم ماذا المنطقي ان يكون مجموعة موظفين في قسم واحد لكن العكس ياريت حد يشرح لنا دي مع مزيد من التوضيح للعلاقات بين 3 جداول الاقسام -الموظفين -المشوار او التاريخ الوظيفيشكرا كثيرا لكم تقديم بلاغ
بتاريخ: 13 يوليو 200916 سنة comment_163150 السلام عليكم ورحمة الله توجد علاقتين بين جدولي الموظفين وجدول الاداراتالعلاقة الاولى : هى عمل الموظف فى ادارة- الموظف يعمل فى ادارة واحدة فقط .- الموظف يمكن ان لا توجد له ادارة .... حسب الموجود بالرسم (يمكن can be) وليس (يجب must)- الادارة الواحدة يمكن ان يعمل بها موظف واحد أو أكثر .- الادارة يمكن الا يوجد لها موظفين . العلاقة الثانية : هى عن الموظف المدير للادارة ( Manager_id in departments table )- الادارة يكون لها مدير واحد فقط .- الادارة يمكن ان لا يكون لها مدير .- الموظف يمكن ان يكون مدير لإدارة واحدة أو أكثر .العلاقة بين جدولي الموظفين وجدول السجل التاريخي للموظف- الموظف يكون له سجل وظيفى تاريخي واحد أو أكثر .- السجل التاريخى يجب ان يكون مرتبط بموظف .الرموز المستخدمة فى العلاقات 0 يعنى اختياري 1 علاقة احادية = one * علاقة كثير = many تقديم بلاغ
بتاريخ: 14 يوليو 200916 سنة كاتب الموضوع comment_163264 ألف شكر يأستاذنا وصلت الفكرةلكن ممكن الاستغناء عن العلاقة التانية الاي خارجة من الموظفين للادارات بطريقة اخرى كييف اعرف من خلال الاستعلام عن رئيس كل ادارة ؟؟ولك كل احترامي لحضرتك تقديم بلاغ
بتاريخ: 15 يوليو 200916 سنة comment_163287 السلام عليكم ورحمة الله لا يمكن الغاء اي من العلاقتين السابقتين كما هو مطلوب فى متطلبات التحليل فى المثال السابق فالعلاقة الاولى : عن عمل الموظف فى ادارة معينه والعلاقة الثانية : عن المدير أو الرئيس المحدد للادارة business rules -ليس كل الموظفين رؤساء لإدارات . - الادارة يمكن الا يكون لها رئيس .-ولكن كل الرؤساء موظفين . ( recursive relation in employee table ) -وكل موظف يجب ان يحدد له ادارة معينه يعمل بها .-والموظف يمكن ان يكون رئيس لأكثر من ادارة .الER السابقة تعتبر من الامثلة الجيده فى دراسة العلاقات بين الكائنات entity relationshipتم انشاء جزء من الجداول السابقة للايضاح create table departments ( department_id NUMBER(3) not null, manager_id NUMBER(5), department_name VARCHAR2(30), constraint PK_DEPARTMENTS primary key (department_id) ); create table employees ( employee_id NUMBER(5) not null, department_id NUMBER(3), first_name VARCHAR2(15), last_name VARCHAR2(15), constraint PK_EMPLOYEES primary key (employee_id) ); alter table departments add constraint FK_DEPARTME_REFERENCE_EMPLOYEE foreign key (manager_id) references employees (employee_id); alter table employees add constraint FK_EMPLOYEE_REFERENCE_DEPARTME foreign key (department_id) references departments (department_id); - ادخال بيانات الادارات بدون رؤساء ( لم يتم ادخال بيانات بعد فى جدول الموظفين ) SQL> insert into departments values ( 10 ,null,'Computer') ; 1 row created. SQL> insert into departments values ( 20 , null , 'Accounting') ; 1 row created. SQL> insert into departments values ( 30 , null , 'Operation') ; 1 row created. - تم ادخال بيانات 2 موظفين مع ادخال رموز الادارات التى يعملون بها SQL> insert into employees values ( 1 , 10 , 'Asd' , 'Ahmed') ; 1 row created. SQL> insert into employees values ( 2 , 20, 'Amgad', 'Ali'); 1 row created. - تم ادخال رقم الموظف (المدير) الذى سيعين رئيسا للادارة ... عن طريق امر التعديل update بافتراض تم تعيين "اسد" رئيسا لادارتين رقم 10 ورقم 30 SQL> update departments set manager_id = 1 where department_id = 10; 1 row updated. SQL> update departments set manager_id = 1 where department_id = 30; 1 row updated. أوامر استعراض البيانات SQL> select * from departments; DEPARTMENT_ID MANAGER_ID DEPARTMENT_NAME ------------- ---------- ------------------------------ 10 1 Computer 20 Accounting 30 1 Operation SQL> select * from employees; EMPLOYEE_ID DEPARTMENT_ID FIRST_NAME LAST_NAME ----------- ------------- --------------- --------------- 1 10 Asd Ahmed 2 20 Amgad Ali SQL> select department_name , first_name 2 from employees , departments 3 where employee_id = manager_id; DEPARTMENT_NAME FIRST_NAME ------------------------------ --------------- Computer Asd Operation Asd ارجوا ان تكون الفكرة واضحة تقديم بلاغ
بتاريخ: 15 يوليو 200916 سنة comment_163290 ولكن لماذا لا نضع رقم المدير في جدول الموظفين ونربط self join ?? وانا مستخدمها ومافي مشاكل ؟؟ تقديم بلاغ
بتاريخ: 15 يوليو 200916 سنة كاتب الموضوع comment_163343 جزاك الله كل خير يأستاذنا أمجدبارك الله فيك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.