قم بتوسيع ميزات قاعدة بيانات من برنامج ‏‫Visual Studio

يمكنك توسيع Visual Studio Premiumأو Visual Studio Ultimateبإنشاء ميزة ملحقات . هذه الملحقات ميزة تمكنك من إلى قم بتوسيع ميزات Visual Studio Premiumأو Visual Studio Ultimateمثل Refacإلىring وإنشاء بيانات، اختبار الوحدة، وتحليل "تعليمات برمجية في قاعدة بيانات". عندما كنت إنشاء ميزة ملحقات، استخدام إطار عمل موجودة ميزة أساسية، حيث يقل حجم تعليمات برمجية التي يجب عليك كتابة إلى حد كبير.

أن ميزة ملحقات نقاط well-defined التوافق مع البرامج الخارجية. ليس لديك للحصول عدة تطوير البرامج لـ Visual Studioلإنشاء ملحقات ميزة Visual Studio Premiumأو Visual Studio Ultimate.

المهام عام عالي-المستوى

مهمة عالي-المستوى

محتوى إضافي

تعلم مفاهيم في التوافق مع البرامج الخارجية لقاعدة البيانات: قبل توسيع هذه الميزات، يجب فهم كيفية عمل التوافق مع البرامج الخارجية في Visual Studio Premiumأو Visual Studio Ultimate. موفر قاعدة بيانات مخطط بتنفيذ الجميع الالخدمات الخاصة إلى علامة تجارية معينة وإصدار قاعدة بيانات (مثل SQL Server 2008). يتضمن ذلك محلل بقراءة وكتابة برامج نصية لقاعدة البيانات هذه؛ طراز كائن مجال برنامج نصي (برنامج نصي DOM) التي تمثل برامج نصية، و مخطط طراز التي نماذج الكائنات وعلاقات وخصائص ل كائنات قاعدة بيانات . Visual Studio Premiumأو Visual Studio Ultimate، فعند تعاملك مع الميزة أو ميزة ملحق، وتلك الميزات وميزة ملحقات تعمل تشغيل تركيبة بعض الخدمات DSP برنامج نصي DOM، ومخطط طراز.

  • بناء قاعدة بيانات

  • مكونات التوافق مع البرامج الخارجية في ‏‫Database Edition

  • أنواع ملحقات ميزة

  • قلب مكونات موفري مخطط قاعدة بيانات

إضافة دعم لأنواع جديدة من قاعدة بيانات إعادة بناء التعليمات البرمجية: يمكنك إنشاء ملحقات ميزة ل قاعدة البيانات refacإلىring إلى تمكين أنواع جديدة من refacإلىring قاعدة البيانات. يتطلب كل نوع إعادة بناء التعليمات البرمجية الجديد أيضا المساهمين إعادة بناء التعليمات البرمجية جديد واحد أو أكثر.

قم بإضافة دعم لأهداف جديدة من إعادة تأهيل قاعدة البيانات:يمكنك تمكين نوع موجود لقاعدة بيانات refacإلىring إلى تحديث نوع جديد من artifact، مثل ملف نصي، أو إخراج من أحد تطبيقات الجهات الأخرى التي تحتوي على معلومات قاعدة بيانات. إذا قمت بإنشاء نوع refacإلىring جديد، يجب تطبيق واحد أو المزيد contribuإلىrs refacإلىring إلى تمكين هذا النوع إلى تعمل تشغيل artifacts الموجودة في قاعدة بيانات مشروع الخاص بك .

تعريف قاعدة بيانات الجديدة قواعد تحليل تعليمات برمجية: يمكنك تعريف قاعدة بيانات رمز تحليل القواعد الجديدة التي تقوم بالبحث عن المشكلات التي لم يتم الكشف عن بواسطة القواعد التي تم تضمينها في Visual Studio Premiumأو Visual Studio Ultimate.

إنشاء مخصص مولدات بيانات:يمكن استخدام generaإلىrs البيانات Cusإلىm إلى إنشاء بيانات اختبار واقعية عدم الكشف عن معلومات حساسة. يمكنك إنشاء generaإلىrs بيانات cusإلىm إلى تكملة generaإلىrs بيانات التي يحتوي عليها Visual Studio Premiumأو Visual Studio Ultimate.

إضافة قاعدة بيانات مخصصة اختبار وحدة الشروط:بواسطة تحديد شرط اختبار مخصص، يمكنك التحقق من سلوك كائن قاعدة بيانات بطرق لا الشروط اختبار الوحدة المضمنة دعم.

يخصص سلوك مشروع قاعدة بيانات:بتعريف مخصص مشروع قاعدة بيانات الميزة، يمكنك تعديل سلوك المشروع بالطرق التي لا تدعم s مشروع قاعدة بيانات المضمنة.

بناء قاعدة بيانات

في ترتيب إلى طراز قاعدة بيانات، Visual Studioكلا من برامج نصية تشكل نماذج لغة تعريف البيانات (DDL) من قاعدة البيانات وقاعدة البيانات التي قد تنتج إذا قمت بتنفيذ تلك برامج نصية. طراز برامج نصية ل DDL هو الموفرة من قبل DOM. برنامج نصي طراز قاعدة بيانات الناتجة هو الموفرة من قبل "نموذج" مخطط ".

تدفق بيانات بين مكونات التوافق مع البرامج الخارجية

يوضح مخطط التالي كيفية انسياب بيانات من خلال هذه مكونات.

تدفق بيانات بين مكونات التوافق مع البرامج الخارجية

تدفق البيانات بين المكونات القابلة للتوسعة

يتم الاحتفاظ بملفات تعريف كائنات قاعدة البيانات في مشروع قاعدة بيانات على شكل برامج نصية ل DDL. عندما تقوم بفتح مشروع قاعدة بيانات، تتم قراءة تلك برامج نصية و يتم تعبئة النموذجين: طراز DOM البرامج النصية و "نموذج" مخطط ". ميزات Visual Studio Premiumالتعامل مع كلا النموذجين و عندما تقوم بحفظ التغييرات إلى الكائنات قاعدة بيانات، يتم الدائمة هذه التغييرات خارج مرة أخرى في برامج نصية ل DDL.

مكونات التوافق مع البرامج الخارجية في ‏‫Database Edition

يوضح مخطط التالي المكونات التي تتفاعل إلى تتيح لك إلى قم بتوسيع ميزات "الإصدار من قاعدة بيانات".

الاتصالات بين المكونات الامتداد

إمكانية التوسعة في مكونات إصدار قاعدة البيانات

عند فتح أو إنشاء مشروع قاعدة بيانات أي مكون إدارة ملحق تحميل أي مسجَّل قاعدة البيانات موفري المخطط. عندما تقوم باستخدام ميزات معينة لقاعدة بيانات مخطط موفر (DSP)، الملحق المدير تحميل مكوّن الميزات والملحقات الخاصة بهم تدعم ذلك DSP. على سبيل المثال، عند استخدام إعادة تسمية إعادة بناء التعليمات البرمجية ميزات لإعادة تسمية الكائنات في SQL Server 2008قاعدة بيانات، ميزة إعادة بناء التعليمات البرمجية المحملة، مع الآخرين مع أنواع إعادة بناء التعليمات البرمجية و المساهمين ل SQL Server 2008.

الملحق المدير

عند تشغيل Visual Studio Premiumأو Visual Studio Ultimate، كل قاعدة بيانات مشاريع، موفري المخطط، والميزات، و ملحقات ميزة التعامل معها مفردة ExtensionManager. الملحق المدير التحميلات اشتقاق مثيل منفرد من DatabaseSchemaProviderلكل مشروع قاعدة بيانات. على سبيل المثال، عندما Visual Studio Premiumأو Visual Studio Ultimateيفتح Microsoft SQL Server 2005للمشروع، بملحق المدير تحميل مثيل Sql90DatabaseSchemaProvider(which it derived منDatabaseSchemaProvider).

مدير الملحقات تحميل ملحقات استناداً إلى نوع واجهة تطبيق بواسطة هذه الملحقات. على سبيل المثال، عند استخدام ميزة الاختبار وحدة قاعدة البيانات، يقوم المدير ملحق بإرجاع قائمة الملحقات المسجلة التي يورث TestConditionفئة الأساس، والملحقات التي تتوافق مع قاعدة بيانات مخطط موفر قاعدة بيانات مشروع.

ميزة توافق ملحق

إحدى ميزات، مثل analys التعليمة البرمجية ثابتة أو إعادة بناء التعليمات البرمجية هو، هو مكون من مكونات خاصة DSP والمكونات التي تدعم الجميع DSPs (DSP-agnostic مكونات). عندما تقوم بتعريف ملحق ميزة التصريح بتوافق مع DSP معينة أو مع DSP أساسية لهذا الملحق حتى الملحق هو تم تحميله فقط لأنواع المشاريع المناسب. على سبيل المثال، يمكن تعريف التي الخاص بك ملحق كانت متوافقة أما مع Sql90DatabaseSchemaProvider (لتقييد إلى SQL Server 2005مشاريع) أو مع SqlDatabaseSchemaProvider(the فئة الأساس forSQL Server 2005وSQL Server 2008DSPs). أيضا إمكانية تعريف ملحق إلى متوافقة مع DSPs متعددة، خاصة. كنت قد استخدم هذا الأسلوب إذا كنت غير متأكد من ما إذا كان قطع الإصدارات المستقبلية على الميزة الخاصة بك. إلى التصريح بميزة إلى يكون متوافقاً مع الجميع DSPs، التصريح بك متوافقاً مع DatabaseSchemaProviderclass. الأساسية

أمثلة

تعريف ملحق متوافق مع DSP واحد:

// SqlSchemaObjectDesigners is defined as compatible with all Sql 
// database services providers.  
[DatabaseSchemaProviderCompatibility (typeof(Sql90DatabaseSchemaProvider))]
internal class SqlSchemaObjectDesigners : ISchemaObjectDesigners
{
}

تعريف ملحق متوافق مع DSPs متعددة:

// Extension InconclusiveCondition is defined as compatible with all 
// SQL Server database services providers and Oracle database 
// services providers.
[DatabaseSchemaProviderCompatibility (typeof(SqlDatabaseSchemaProvider))]
[DatabaseSchemaProviderCompatibility (typeof(OracleDatabaseSchemaProvider))]
public sealed class InconclusiveCondition : TestCondition
{
}

قم بتعريف ملحق متوافق مع الجميع DSPs:

// Extension ReportingService is defined as compatible with all
// database services providers.
[DatabaseSchemaProviderCompatibility (typeof(DatabaseSchemaProvider))]
internal class ReportingService : IReportingService
{
}

قم بتعريف ملحق متوافقة مع أي DSPs:

// Extension ExecutionTimeCondition is defined as compatible with no
// database services providers.  That means if a feature
// has an ExtensionManager constructed with null, it will load
// those extensions defined as binding to 
// DspCompatibilityCategory.None
[DatabaseSchemaProviderCompatibility (DspCompatibilityCategory.None)]
public sealed class ExecutionTimeCondition : TestCondition
{
}

أنواع ملحقات ميزة

يمكنك إنشاء ملحقات الميزة التي تقوم بتحسين قدرات العديد من Visual Studio Premiumأو Visual Studio Ultimateالميزات. يصف الجدول التالي أنواع الملحقات التي يمكن إنشاء.

الميزة

نوع الملحق

الوصف

اختبار وحدات قواعد البيانات

شروط اختبار الوحدة

يمكنك إضافة cusإلىm assertions إلى النجاح أو الفشل من الاختبارات الخاصة بك. معظم وحدة الاختبار واجهات برمجة التطبيقات العامة لكنها لا تمثل يؤشر التوافق مع البرامج الخارجية. يتم استخدام واجهات برمجة التطبيقات هذه إلى قم بإنشاء قاعدة بيانات وحدة اختبارات التي تتم كتابتها في تعليمات برمجية التي تمت إدارتها، مثل #Visual Cأو Visual Basic. لمزيد من المعلومات، راجع قم بتعريف الشروط المخصصة لوحدة قاعدة بيانات الاختبارات.

إنشاء بيانات

مولدات بيانات

يمكنك استخدام واجهة برمجة تطبيقات التوافق مع البرامج الخارجية إلى إنشاء generaإلىrs بيانات cusإلىm إذا generaإلىrs بيانات تتوفر مع Visual Studio Premiumأو Visual Studio Ultimate. لمزيد من المعلومات، راجع قم بإنشاء بيانات اختبار خاصة بمخصص منشئ البيانات.

تحليل تعليمات برمجية في قاعدة بيانات

قواعد تحليل تعليمات برمجية

يمكنك تعريف قواعد تحليل تعليمات برمجية الخاصة بك إلى التحقق من وجود مشكلات معينة في تعليمات برمجية لقاعدة البيانات الخاصة بك. لمزيد من المعلومات، راجع إنشاء وتسجيل قواعد إضافى لتحليل قاعدة بيانات تعليمات برمجية.

إعادة تأهيل قاعدة بيانات

إعادة بناء التعليمات البرمجية الأهداف

يمكنك توسيع موجود إعادة بناء التعليمات البرمجية أنواع لتعمل تشغيل أهداف جديدة، مثل جديد ملف أنواع. لمزيد من المعلومات، راجع الإرشادات التفصيلية: توسيع قاعدة بيانات إعادة تسمية Refacإلىring إلى تشغيلها في ملفات نصية.

إعادة تأهيل قاعدة بيانات

أنواع إعادة بناء التعليمات البرمجية

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

قلب مكونات موفري مخطط قاعدة بيانات

موفر خدمة مخطط قاعدة بيانات (DSP) هو مؤلفة من ثلاث مجموعات من المكونات:

  • البرنامج النصي DOM — طراز كائن وخدمات الدعم التي صياغة برنامج نصي SQL تحكمية تحتوي على عبارات DML و كلاهما DDL.

  • طراز كائن مخطط طراز — وخدمات طراز الكائنات الموجودة في نسخة databكـe، الدعم مثل كـ الجداول وطرق العرض والإجراءات المخزنة.

  • خدمات تفاعل مستخدم — مجموعة من الخدمات التي تقوم بتمكين مكونات أساسية للوصول إلى موارد واجهة مستخدم، مثل كـ السلاسل التي تمثل أسماء الكائنات، والرموز التي تمثل أنواع الكائنات وفئات والتسلسلات الهرمية لعرض هذه الكائنات.

تقوم الوظائف الرئيسية DSP إلى تمكين معالجة برامج نصية ل DDL في إلى تمثيل كل من DOM برامج نصية ونموذج مخطط، و إلى تمكين دالة العكسية لإعادة إنتاج برامج نصية من تمثيلات طراز الثاني.

برنامج نصي DOM

يوفر DOM البرنامج النصي للتطبيق الذي يوزع برنامج نصي ل DDL في طراز كائن الذي يمثل البرنامج النصي. DOM برنامج نصي كما يوفر تطبيق إلى إعادة إنتاج البرامج النصية الأصلية من الطراز.

يوضح مخطط التالي كيفية انسياب بيانات من خلال DOM. برنامج نصي

تدفق بيانات من خلال برنامج نصي DOM

تدفق البيانات عبر Script DOM

محلل DOM برنامج نصي بترجمة برنامج نصي، قم بتخزينها في ملف نصي unstructured، في كائن يرث IScriptFragmentواجهة. تأخذ منشئ برنامج نصي في DOM برنامج نصي لكائن يرث IScriptFragmentواجهة و يعطي برنامج نصي. الأصلية في موفري مخطط قاعدة بيانات ل SQL Server، التي يتم تضمينها مع Visual Studio Premiumأو Visual Studio Ultimate، IScriptFragmentتجرد شجرة بناء جملة الخلاصة (AST) و دفق الرمز المميز.

توفر رموز مميزة تمثيل unstructured برنامج نصي. لدى كل رمز في المجموعة:

  • نوع الرمز المميز (مثل كـ كلمة أساسية أو سلسلة قيمة حرفية)

  • سلسلة الرمز المميز

  • المصدر ملف في حدث الرمز المميز

  • الإزاحة ضمن هذا الملف حدث الرمز المميز

أشجار بناء الجملة الخاص بمجرد (ASTs) بتوفير تمثيل مصنفة للبرنامج النصي. تمثل كل عقدة في AST دفعة من عبارات أو عبارة أو مكون من عبارة SQL (على سبيل المثال، تعبير). يتم استخدام ASTs إلى تحليل برامج نصية بعد أن تم تحليل. يتم أيضا استخدام ASTs برمجياً بنية برامج نصية.

"نموذج" مخطط "

تمثيل "مخطط طراز" هو طراز كائن يستند إلى واجهة نماذج مثيل قاعدة بيانات مباشرة. يتم ترتيب واجهات في اشتقاق التسلسل الهرمي الذي يشتمل ملخص مفرد الطبقة التي هو مشتركة بين الجميع DSPs، مع أي عدد من الطبقات التجريدية استهداف تفاصيل نموذج خاص بالمزيد. على سبيل المثال، ISql90Tableيرث واجهة ISqlTable، حيث يرث الواجهة الطبقة المجردة IDatabaseTable. "نموذج" مخطط "يأخذ في IScriptFragmentالكائنات ويترجم لهم إلى عناصر" مخطط طراز "وأيضا إجراء تحويل العكسي، من" عناصر الطراز المخطط "إلى IScriptFragmentالكائنات. يتكون "نموذج" المخطط "من بعض عدد تطبيقات" طراز مؤلف ". كل تطبيق بإنشاء نموذج من بعض غير ذلك الموارد في النظام. على سبيل المثال، ModelComposer برنامج نصي composes طراز من برنامج نصي الملفات في مشروع قاعدة بيانات.

البنية الأساسية "نموذج مخطط" ( ModelStoreو فئات الدعم الخاص به) يطبق المتكاملة مراجع DOM البرامج النصية مباشرة من عناصر الطراز. بما يمكن من بناء الكائنات، مثل كـ تخزين إجراءات، والتي تحتوي على برامج نصية إجبارية.

نموذج مخطط يحتوي على مجموعة من العناصر و التعليقات التوضيحية. وصف عناصر artifact الآن modeled (مثل كـ الجداول وطرق العرض، إجراءات مخزنة، مشغلات، أعمدة وهكذا). يتم استخدام التعليقات التوضيحية إلى إقرانه تحكمية من البيانات في الطراز. يتم استخدام التعليقات التوضيحية بمكونات أساسية لمشروع قاعدة بيانات، و يمكن أيضا استخدامها من قبل مميزات مشروع و ميزة ملحقات. كلاهما يمكن أن تكون العناصر والتعليقات التوضيحية المسماة أو مجهول.

عناصر الطراز

عناصر تتكون من خصائص و علاقات. تمثل خصائص بيانات أساسى مثل الأرقام والقيم المنطقية والسلاسل، ويتم استخدامها إلى التقاط التفاصيل الخاصة بالنموذج. تمثل علاقات المسمى و كتابة الاتصالات بين العناصر. ل مثال، ISqlTableعنصر يحافظ على علاقة نوع ISqlColumnالمسمى“ أعمدة ” الذي يقوم بربط الجدول باستخدام الأعمدة الخاصة به.

هناك ثلاثة أنواع أساسية من علاقات:

  • نظير-يمثل تبعية بواسطة عنصر واحد تشغيل عنصر آخر تشغيل نحو عشوائي. في SQL Server، قد تكون العلاقة بين طريقة عرض جدول أفضل modeled كـ علاقة نظير.

  • إنشاء-يمثل واحد العناصر التي تتكون من الآخر عناصر. في SQL Server، هو أفضل modeled العلاقة بين جدول وأعمدته كـ العلاقة composing. مبدأ الأساسي لعلاقة composing هو التي تم إنشاؤها العنصرين في نفس الوقت، كإجراء مفرد. عناصر لم يتم ترتيب تبعية، لإنشاء أو إزالته. ومع ذلك، الاتجاه تبعية الأصل للتابع هو الاحتفاظ بالطراز لتمكين تبعيات للاقتران. تشغيل سبيل المثال، إذا كان عمود تبعية من نوع معين، يعني التبعية للجدول الأصل تشغيل العمود composing به أن الجدول أيضا يعتمد تشغيل النوع.

  • هيكلية — يمثل هرمى. تختلف العلاقات ذات التسلسل الهرمي إنشاء علاقات لأن الاتجاه تبعية هو من فرع للأصل (بدلاً من طريقة غير ذلك حول). مثال في SQL Serverهو العلاقة بين مخطط وامتلاكه كائن مثل كـ جدول أو طريقة عرض. جدول يشترك في علاقة هيكلية مع به مخطط.

يوضح الرسم التخطيطي التالي ثلاثة أنواع من علاقات التي يمكن تمثيل في "نموذج" مخطط ".

علاقات الكائن في نموذج المخطط

علاقات الكائنات في نموذج المخطط

يقوم بتعريف كل علاقة في طراز ما إذا كان ذلك هو multi-relationship أو علاقة واحد. في الجميع الحالات، يمكنك المحافظة على عنصر علاقة فارغ. يمكن أن تكون نماذج طرز artifact حقيقية غير كامل.

عناصر هي تستند إلى واجهة دعم الميزات التالية في تطبيق مخزن:

  • عنصر قوي الكتابة (تعريف)

  • وراثة متعددة

    • إلى دعم الأجزاء DSP-agnostic وبصورة خاصة DSP للنظام

    • إلى وإلا دعم مشاركة“ خواص ” عبر التي لا أنواع العناصر

  • مرونة الإصدار و القابلية للتوسعة

تنفيذ الجميع فئات عنصر طراز العام IModelElementالواجهة. خصائص، علاقات، و يمكن الوصول إلى التعليقات التوضيحية باستخدام ModelStoreبيانات تعريف واجهة برمجة تطبيقات من هذا فئة. الواجهات، مثل IDatabaseTable، تخدم (مرتبط في وقت التحويل البرمجي) الوصول إلى خصائص و علاقات الموجودة في أبسط و طريقة أكثر maintainable.

تعليقات توضيحية بالطراز

مثل عناصر، تتألف التعليقات التوضيحية من الخصائص. أن عناصر، بعكس التعليقات التوضيحية لا يشارك في علاقات. بدلاً من ذلك، يتم إرفاق تعليقات توضيحية إلى عناصر أو إلى الطراز تخزين نفسه. تمت كتابة تعليق توضيحي s بشدة، ومثيل مفرد من تعليق توضيحي يمكن إرفاق العديد من العناصر بالإضافة إلى المخزن الطراز. تعليقات توضيحية مرفقة بنموذج تمثل التعليق التوضيحي حالة فيها هو“ العمومية ” للطراز.