سؤال

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

وفقا الفيديو البرنامج التعليمي المحتوى سيتم تخزين البيانات في XML شظايا.

إلى جانب البيان أعلاه لم أجد إشارة في أي مكان آخر فيما يتعلق الاستخدام المحتوى الكلمات الرئيسية وانها ضمنا على المخطط والبيانات.

أود أن أعرف كيف شظايا يتم إنشاؤها وإدارتها سواء وكيف يمكن الاستعلام بشكل فردي.كذلك كيف شظايا ترتبط.التالي, عندما يتم تعديل مخطط XML جمع ما هو تأثير.

لا يوجد حل صحيح

نصائح أخرى

في الواقع أعتقد SQLServer 2005 XML هو جيد جدا موثقة.
المحتوى الافتراضي و يسمح لأي صالحة XML.الوثيقة هي أكثر تحديدا يعني أن بيانات XML يمكنك تخزين مسموح فقط لديها واحد من أعلى مستوى العقدة.

إنشاء:

CREATE TABLE XmlCatalog ( 
   ID INT PRIMARY KEY, 
   Document XML(CONTENT myCollection))

إدراج:

INSERT INTO XmlCatalog VALUES (2, 
'<doc id="123">
    <sections>
   <section num="1"><title>XML Schema</title></section>
   <section num="3"><title>Benefits</title></section>
   <section num="4"><title>Features</title></section>
    </sections>
</doc>')

حدد:

SELECT xCol.query('/doc[@id = 123]//section')   
FROM XmlCatalog   
WHERE  xCol.exist ('/doc[@id = 123]') = 1

...وهلم جرا.لغة الاستعلام يتجاوز أكثر أو أقل في مجموعة فرعية من xpath 1.0.

إذا كنت تعدل XSD يتم فحص على إدراج والتحديثات المخزنة داخل xml من كل عنصر.بقدر ما أفهم الدكتور سمح لها أيضا إضافة العديد من المخططات على عمود واحد بحيث إدخالات يمكن الرجوع إلى مخططات مختلفة.

تحرير:
حسنا, بعد قراءة أجزاء معينة من الوثائق أعتقد أنني أفهم ما هي مشكلتك.الإشارة ليست واضحة جدا على هذه النقطة ولكن بقدر ما أفهم فقط إدخالات مع واحد أعلى مستوى العقدة يمكن أن يكون منضما إلى XSD المخططات.
يرجع ذلك إلى حقيقة أن XSD-المخططات تتطلب واحد أعلى مستوى العقدة تحديد يستخدم XSD الملف لن يكون من الممكن التحقق من صحة الأجزاء التي تحتوي على أكثر من مستوى أعلى عنصر.انا لم اجرب ولكن اعتقد انه لا يمكن القيام به.
ومع ذلك يبدو أن تكون صالحة لتحديد محتوى العمود تعديل XSD و تخزين كل XML مع واحد أعلى مستوى العقدة الرجوع XSD وكذلك XML-شظايا التي تحققت wellformedness.شظايا يمكن الوصول إليها باستخدام لغة استعلام XPath تظهر في عبارة select أعلاه.
أنا لا يمكن أن أقول لكم الكثير عن تأثيرات الأداء.الإشارة يذكر أن XSDs يتم تخزين مضمنة لذلك هذا سوف تحتاج إلى بعض مساحة إضافية داخل ديسيبل.استعلامات XPath تحتاج إلى أن تنفذ أيضا.على الرغم من حقيقة أن xpath عادة ما تكون سريعة جدا أعتقد أنه يمكن أن تقلل الفهرسه لأنه يحتاج إلى أن يؤديها في كل صف للحصول على النتيجة.أن تكون على يقين من أنني أعتقد أن لديك للتحقق من خطة التنفيذ المحددة الخاصة بك الاستعلام اعتمادا على حجم وتعقيد المخزنة xml وكذلك تعبير xpath.

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