كيف يمكنك إنشاء علاقة مفتاح خارجي في قاعدة بيانات SQL Server CE (الإصدار المضغوط)؟

StackOverflow https://stackoverflow.com/questions/46827

سؤال

لا يوفر Visual Studio 2005 واجهة لإنشاء علاقات بين الجداول في قاعدة بيانات SQL Server CE (أنا أستخدم الإصدار 3.0) ولا يمكنك فتح قاعدة بيانات Compact Edition باستخدام Management Studio على حد علمي.أيه أفكار؟

هل كانت مفيدة؟

المحلول

لسوء الحظ، لا يوجد حاليًا أي دعم مصمم (على عكس SQL Server 2005) لبناء العلاقات بين الجداول في SQL Server CE.لبناء العلاقات تحتاج إلى استخدام أوامر SQL مثل:

ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)

إذا كنت تقوم بتطوير CE، فإنني أوصي بهذه الأسئلة الشائعة:

يحرر:في Visual Studio 2008، أصبح من الممكن الآن القيام بذلك في واجهة المستخدم الرسومية عن طريق النقر بزر الماوس الأيمن على الجدول الخاص بك.

نصائح أخرى

فيجوال ستوديو 2008 يفعل لديك مصمم يسمح لك بإضافة FK.فقط انقر بزر الماوس الأيمن على الجدول...خصائص الجدول، ثم انتقل إلى قسم "إضافة علاقات".

تحتاج إلى إنشاء استعلام (في Visual Studio، انقر بزر الماوس الأيمن على اتصال قاعدة البيانات -> استعلام جديد) وقم بتنفيذ SQL التالي:

ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE

للتحقق من إنشاء المفتاح الخارجي، قم بتنفيذ SQL التالي:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

الائتمان لجنسن E (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)

كان آلان على حق عندما قال أن هناك دعمًا للمصممين.Rhywun غير صحيح عندما يشير إلى أنه لا يمكنك اختيار جدول المفاتيح الخارجية.ما يعنيه هو أنه في واجهة المستخدم، تظهر القائمة المنسدلة لجدول المفاتيح الخارجية باللون الرمادي - كل هذا يعني أنه لم ينقر بزر الماوس الأيمن على الجدول الصحيح لإضافة المفتاح الخارجي إليه.

باختصار، انقر بزر الماوس الأيمن على جدول المفاتيح الخارجية، ثم من خلال خيار "خصائص الجدول" > "إضافة علاقات"، يمكنك تحديد جدول المفاتيح الأساسية ذي الصلة.

لقد فعلت ذلك مرات عديدة ويعمل.

تجول:إنشاء قاعدة بيانات SQL Server Compact 3.5

لإنشاء علاقة بين الجداول التي تم إنشاؤها في الإجراء السابق

  1. في مستكشف الخادم/مستكشف قاعدة البيانات، قم بتوسيع الجداول.
  2. انقر بزر الماوس الأيمن فوق جدول الطلبات، ثم انقر فوق خصائص الجدول.
  3. انقر فوق إضافة علاقات.
  4. اكتب FK_Orders_Customers في المربع اسم العلاقة.
  5. حدد معرف العميل في قائمة عمود جدول المفاتيح الخارجية.
  6. انقر فوق إضافة أعمدة.
  7. انقر فوق إضافة علاقة.
  8. انقر فوق "موافق" لإكمال العملية وإنشاء العلاقة في قاعدة البيانات.
  9. انقر فوق "موافق" مرة أخرى لإغلاق مربع الحوار "خصائص الجدول".
create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

يجب أن يكون لدينا مفتاح أساسي لإنشاء مفتاح خارجي أو علاقة بين جدولين أو أكثر.

أعلم أنه مر "وقت طويل جدًا" منذ طرح هذا السؤال لأول مرة.فقط في حالة، إذا كان ذلك يساعد شخص ما،

يتم دعم إضافة العلاقات بشكل جيد بواسطة MS عبر SQL Server Compact Tool Box (https://sqlcetoolbox.codeplex.com/).ما عليك سوى تثبيته، ثم ستحصل على خيار الاتصال بقاعدة البيانات المضغوطة باستخدام نافذة Server Explorer.انقر بزر الماوس الأيمن على الجدول الأساسي، وحدد "خصائص الجدول".يجب أن تظهر لك النافذة التالية والتي تحتوي على علامة التبويب "إضافة علاقات" والتي تسمح لك بإضافة علاقات.

Add Relations Tab - SQL Server Compact Tool Box

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top