Skip to main content

الجزء ال13: الربط الذاتي Self-Join

الجزء ال13: الربط الذاتي Self-Join


لا يعتبر ال Self-join هو نوع جديد من الربط, فقط هو مفهوم, حيث يمكن ان يصنف بأن يكون من نوع الربط الداخلي Inner join او الربط الخارجي Outer join او من نوع Cross join , ولتوضيح ذلك لنأخذ مثال الجدول التالي الذي يصف اسماء المدراء والموظفين لديهم:


لاحظ في جدول البيانات اعلاه ان اسم المدير "صفاء" تكرر 3 مرات, "كريمة" 2 مرة, "شفيق" 1 مرة, لماذا التكرار؟ الحل هو بفصل الجدول وجعل جدول للمدراء واخر للموظفين كالأتي:



ولكن يوجد طريقة مثلى لحل مثل هذا النوع من التكرار بعدم فصل الجدول وانما بجعله بنفس الجدول كالأتي:

والأن اريد كتابة جمله الأستعلام التي ستنشأ الجدول اعلاه مع قيد الFK :
CREATE TABLE tblEmployees_Managers
(
[EmployeeID] INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
[Name] NVARCHAR(26) NOT NULL,
[ManagerID] INT CONSTRAINT ManagerID_FK REFERENCES
tblEmployees_Managers(EmployeeID)
)

وكتابة البيانات في الجدول كالأتي:

مثال: اريد استعادة اسماء المدراء مع موظفيهم؟
الحل:
SELECT E.Name AS [Employee Name],M.Name As [Manager Name]
FROM tblEmployees_Managers E
INNER JOIN tblEmployees_Managers M
ON   E.ManagerID= M.EmployeeID




لأحظ في المثال اعلاه اني استخدمت ربط من نوع الداخلي Inner join الذي سيسترجع القيم المشتركة فقط بين كل مدير وموظف, والربط يكون بنفس الجدول ولكن تسميه الأسم المستعار تجعله ظاهرياً يبدو كجدول ثاني كما ترى ان الحرف E اصبح يرمز للموظفين , وحرف M يرمز للمدراء, وفي فقرة الON , اعتبرت E وهو جدول للموظفين به حقل الFK وهو الManagerID يربط بجدول الM المدراء , والحقل الرئيسي في جدول المدراء M هو الEmployeeID بمثابة ID الذي هو نفسه الPK
واخيراً قمت بأسترجاع اسماء المدراء والموظفين في فقرة الSELECT لاحظ Name هو نفسه فقط الي يختلف هو الأسم المستعار للجدول E,M




Comments

Popular posts from this blog

How To Play .srt Subtitles File in Windows Media Player

How To Play .srt Subtitles File in Windows Media Player links: https://sourceforge.net/projects/wmpsub/ wmp,.srt Subtitles File in Windows Media Player,How To Play .srt Subtitles File in Windows Media Player,How To,Safaa Al-Hayali,saf3al2a,srt subtitle in WMP,Windows,Windows Media Player,media,.ass,local subtitles

How to fix the disk is write protected

in this video tutorial, I'll show you how to remove/solve/fix the disk is write protected from USB flash drive. To download the necessary 2 files: Download >  SAFAA_ALHAYALI.IMG  - 1.18 MB Download >  Win32DiskImager-0.9.5-install.exe - 11.7 MB write protection,remove write protection,write protected,How to fix the disk is write protected,how to solve the disk is write protected,how to remove the disk is write protected,USB write protected,fix USB write protected,fix HDD write protected,how to,windows,USB flash drive ERROR,fix USB flash drive write protected,USB flash drive write protected

Virtual Box : How to Increase Disk Size - Windows

How to increase disk size or disk storage in oracle virtual box the command you have to use: vboxmanage.exe modifymedium "[YourPathToVdiFileOfYourVirtualMachine]" --resize [NUMBER] virtual,box,vbox,oracle,partition,size,disk,increase,resize,windows,10,microsoft,vdi,vboxmanage,configuration,Safaa AL-Hayali,saf3al2a,Oracle,VirtualBox,How to,windows 10