لماذا هناك حاجة لوجهات النظر في SQL؟ ما هي طرق العرض VIEWS في قواعد البيانات؟ ولماذا هم بحاجة؟ إضافة حقل متوسط ​​محسوب

08.04.2019

يمكن معالجة طرق العرض في محرر الاستعلام عن طريق تنفيذ برامج SQL النصية التي تستخدم أوامر DDL CREATE وALTER وDROP. بناء الجملة الأساسي لإنشاء طريقة العرض هو كما يلي:

إنشاء عرض view_name AS SELECT_statement

على سبيل المثال، لإنشاء طريقة عرض v_Customer برمجيًا والتي تُرجع قائمة بالعملاء ومدينة إقامتهم، يجب عليك تشغيل الأمر التالي في نافذة الاستعلام.

إنشاء عرض.

حدد dbo.Customer.IdCust، dbo.Customer.FName، dbo.Customer.LName، dbo.City.CityName

من dbo.Customer INNER JOIN

dbo.City على dbo.Customer.IdCity = dbo.City.IdCity

ستؤدي محاولة إنشاء طريقة عرض موجودة بالفعل إلى حدوث خطأ. بمجرد إنشاء العرض، يمكن تحرير عبارة SELECT بسهولة باستخدام أمر ALTER:

ALTER view_name كما تم تعديله_SELECT_statement

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

لإزالة طريقة عرض من قاعدة البيانات، استخدم الأمر DROP:

إسقاط العرض view_name

الترتيب حسب البند والآراء

تعمل طرق العرض كمصدر بيانات للاستعلامات الأخرى ولا تدعم الفرز داخل نفسها. على سبيل المثال، تقوم التعليمة البرمجية التالية باسترداد البيانات من طريقة عرض v_Customer وتنظيمها بواسطة حقلي LName وFName. جملة ORDER BY ليست جزءًا من عرض v_Customer، ولكن يتم تطبيقها عليها عن طريق استدعاء عبارة SQL:

حدد IdCust، FName، LName، CityName

من dbo.v_Customer

الطلب حسب LName، FName

تنفيذ وجهات النظر

لا يمكن تنفيذ الأداء من تلقاء نفسه. يمكن تنفيذ عبارة SELECT التي تم إنشاء العرض منها، ولكن في هذا النموذج، من الناحية الفنية، بيان SQLليس تمثيلاً. تكون طريقة العرض مفيدة فقط كمصدر للبيانات في الاستعلام.

ولهذا السبب تقوم قائمة سياق العرض المفتوح في ManagementStudio تلقائيًا بإنشاء استعلام بسيط يسترد جميع الأعمدة من العرض. يعرض العرض النتائج فقط. ومع ذلك، فإن تشغيل لوحات مصمم الاستعلام الأخرى يسمح لك برؤية الاستعلام نفسه كما تم استخراجه من طريقة العرض.

ستعرض لوحة SQL طريقة العرض في عبارة FROM الخاصة ببيان SELECT. هذا هو النموذج الذي يشير به المستخدمون إلى طريقة العرض:

اختر * من v_Customer

التكليف بالعمل المستقل:قم بإنشاء طريقة عرض تقوم بإرجاع قائمة الطلبات، مع الإشارة إلى اسم العميل وعدد العناصر في كل طلب. وبالتالي، يجب أن تتضمن النتيجة السمات التالية: IdOrd، وOrdDate، وIdCust، وFName، وLName، وعدد أنواع المنتجات في الطلب.

المعمل رقم 7: برمجة T-SQL وبناء جملة T-SQL واصطلاحاتها

قواعد توليد المعرفات

كافة الكائنات في SQLServer لها أسماء (معرفات). من أمثلة الكائنات الجداول وطرق العرض والإجراءات المخزنة وما إلى ذلك. يمكن أن يصل طول المعرفات إلى 128 حرفًا، بما في ذلك الأحرف _@$# والأرقام. يجب أن يكون الحرف الأول أبجديًا دائمًا. تستخدم المتغيرات والجداول المؤقتة أنظمة تسمية خاصة. لا يمكن أن يحتوي اسم الكائن على مسافات ولا يمكن أن يكون نفس الكلمة الأساسية المحجوزة لـ SQLServer، بغض النظر عن حالة الأحرف المستخدمة. من خلال تضمين المعرفات في أقواس مربعة، يمكنك استخدام الأحرف المحظورة في أسماء الكائنات.

استكمال التعليمات

يتطلب معيار ANSISQL وضع فاصلة منقوطة في نهاية كل عبارة. وفي الوقت نفسه، عند البرمجة في T-SQL، فإن الفاصلة المنقوطة غير مطلوبة.

تعليقات

تسمح لغة T-SQL بنمطين من التعليقات: ANCI وC. يبدأ الأول بواصلتين وينتهي بنهاية السطر:

هذا تعليق بأسلوب ANSI من سطر واحد

يمكن أيضًا إدراج تعليقات نمط ANSI في نهاية سطر البيان:

حدد CityName – الأعمدة المراد استردادها

من المدينة - الجدول المصدر

حيث IdCity = 1؛ - حد الخط

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

ناقشت المقالات السابقة عبارات DDL وDML فيما يتعلق بالجداول الأساسية. بيانات الجدول الأساسييتم تخزينها على القرص. على عكس الجداول الأساسية، فإن طرق العرض الافتراضية غير موجودة فعليًا، على سبيل المثال. ولا يتم حفظ محتوياتها على القرص. وهذا لا ينطبق على ما يسمى طرق العرض المفهرسة، والتي سيتم مناقشتها لاحقا. الآراءهي كائنات قاعدة بيانات يتم إنشاؤها دائمًا من جدول أساسي واحد أو أكثر (أو طرق عرض أخرى) باستخدام معلومات بيانات التعريف. هذه المعلومات (بما في ذلك اسم طريقة العرض وكيفية استرداد الصفوف من الجداول الأساسية) هي كل ما يتم تخزينه فعليًا لطريقة العرض. ولهذا السبب، تُسمى طرق العرض أيضًا بالجداول الافتراضية.

إنشاء طريقة عرض

يتم إنشاء طريقة عرض من خلال بيان إنشاء عرض، والذي يكون بناء الجملة كما يلي:

إنشاء عرض view_name [(column_list)] AS اصطلاحات بناء جملة Select_statement

يجب أن تكون عبارة CREATE VIEW هي العبارة الوحيدة في الحزمة. (وهذا يعني أنه يجب فصل هذه التعليمات عن التعليمات الأخرى في المجموعة باستخدام تعليمات GO.)

تحدد المعلمة view_name اسم العرض الذي سيتم تعريفه، وتحدد المعلمة column_list قائمة بالأسماء التي سيتم استخدامها كأسماء أعمدة العرض. إذا تم حذف هذه المعلمة الاختيارية، فسيتم استخدام أسماء أعمدة الجداول التي تم إنشاء طريقة العرض منها. تحدد المعلمة Select_statement عبارة SELECT التي تسترد الصفوف والأعمدة من الجداول (أو طرق العرض الأخرى). مع خيار التشفيريحدد تشفير عبارة SELECT، وبالتالي زيادة أمان نظام قاعدة البيانات.

شرط التخطيطيربط العرض بمخطط الجدول الذي تم إنشاؤه بموجبه. عند تحديد هذه الجملة، يجب أن تكون أسماء كائنات قاعدة البيانات في عبارة SELECT مقسمة إلى جزأين، أي: في النموذج schema.db_object، حيث يكون المخطط هو المالك ويمكن أن يكون db_object جدولًا أو طريقة عرض أو وظيفة معرفة من قبل المستخدم.

ستفشل أي محاولة لتعديل بنية طرق العرض أو الجداول المشار إليها بواسطة طريقة عرض تم إنشاؤها بهذه الطريقة. قبل أن يتم تعديل هذه الجداول أو طرق العرض (باستخدام عبارة ALTER) أو حذفها (باستخدام عبارة DROP)، يجب حذف طريقة العرض أو إزالة جملة SCHEMABINDING منها.

عند إنشاء طريقة عرض تحددها المعلمة VIEW_METADATA، يمكن تحديث جميع أعمدتها (باستثناء الأعمدة التي تحتوي على نوع بيانات الطابع الزمني) إذا كان العرض يحتوي على مشغلات INSERT أو UPDATE INSTEAD OF.

لا يمكن أن تحتوي عبارة SELECT في طريقة العرض جملة الطلبالمعلمة BY أو INTO. بالإضافة إلى ذلك، لا يمكن تنفيذ الاستعلامات على الجداول المؤقتة.

يمكن استخدام طرق العرض لأغراض مختلفة:

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

    لإخفاء التفاصيل استعلامات معقدة. إذا كان تطبيق قاعدة البيانات الخاصة بك يتطلب استعلامات ذات عمليات ربط معقدة، فإن إنشاء طرق العرض المناسبة يمكن أن يبسط تلك الاستعلامات.

    للحد من القيم التي يتم إدراجها أو تحديثها إلى نطاق معين.

يوضح المثال أدناه كيفية إنشاء طريقة عرض:

يحدد الاستعلام الموجود في هذا المثال صفوفًا من جدول Works_on التي تفي بالشرط Job="Consultant". يتم تعريف view_Consultant بواسطة الصفوف والأعمدة التي يتم إرجاعها بواسطة هذا الاستعلام. يوضح الشكل أدناه جدول Works_on مع الصفوف المحددة في طريقة العرض view_Consultant المميزة باللون الأحمر:

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

استخدم SampleDb; اذهب إلى إنشاء عرض view_WithoutBudget AS SELECT Number, ProjectName FROM Project;

يحدد الاستعلام الموجود في هذا المثال كافة أعمدة جدول المشروع باستثناء عمود الميزانية المراد تضمينه في طريقة العرض view_WithoutBudget.

كما ذكرنا سابقًا، في الشكل العاملا تحتاج عبارة CREATE VIEW إلى تحديد أسماء أعمدة العرض. ومع ذلك، من ناحية أخرى، في الحالتين التاليتين، من الضروري تحديد أسماء الأعمدة بشكل صريح:

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

    إذا كان عمودين عرض أو أكثر لهما نفس الاسم في الجدول الأساسي.

يوضح المثال أدناه كيفية إنشاء طريقة عرض حيث يتم تحديد أسماء الأعمدة بشكل صريح:

استخدم SampleDb; انتقل إلى إنشاء عرض view_Count(projectNumber, countProject) AS SELECT ProjectNumber, COUNT(*) FROM Works_on GROUP BY ProjectNumber;

هنا يجب تحديد أسماء الأعمدة view_Count بشكل صريح لأن عبارة SELECT تحتوي على وظيفة مجمعة count(*)، الأمر الذي يتطلب تسمية كافة أعمدة طريقة العرض.

لا يتعين عليك إدراج الأعمدة بشكل صريح في عبارة CREATE VIEW إذا قمت بتطبيق رؤوس الأعمدة، كما هو موضح في المثال أدناه:

استخدم SampleDb; انتقل إلى إنشاء عرض view_Count1 AS SELECT ProjectNumber، COUNT(*) countProject FROM Works_on GROUP BY ProjectNumber؛

يمكن إنشاء طريقة عرض من طريقة عرض أخرى، كما هو موضح في المثال:

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

يمكن أيضًا إنشاء طرق العرض باستخدام Management Studio. للقيام بذلك، حدد قاعدة البيانات في Object Explorer الذي تريد إنشاء طريقة عرض فيه، وانقر فوقه انقر على اليمينقم بالماوس فوق عقدة طرق العرض وحدد عرض جديد من قائمة السياق التي تفتح. سيتم فتح محرر العرض، مما يتيح لك القيام بما يلي:

    حدد الجداول والصفوف الأساسية في تلك الجداول لإنشاء طريقة العرض؛

    قم بتسمية العرض وحدد الشروط في جملة WHERE للاستعلام المقابل.

تحرير أو حذف وجهات النظر

لتغيير تعريف طريقة العرض في Transact-SQL، استخدم العبارة تغيير العرض. يشبه بناء جملة هذا البيان بناء جملة عبارة CREATE VIEW المستخدمة لإنشاء طريقة عرض.

يؤدي استخدام عبارة ALTER VIEW إلى تجنب إعادة تعيين الأذونات الموجودة في طريقة العرض. بالإضافة إلى ذلك، لا يؤثر تغيير طريقة العرض باستخدام هذا البيان على كائنات قاعدة البيانات التي تعتمد على طريقة العرض هذه. إذا قمت بتعديل طريقة عرض عن طريق حذفها أولاً (عبارة DROP VIEW) ثم إنشاء طريقة عرض جديدة بالخصائص المطلوبة (عبارة CREATE VIEW)، فإن كافة كائنات قاعدة البيانات التي تشير إلى طريقة العرض هذه لن تعمل كما هو متوقع، لأن على الأقل، الفترة الزمنية بين حذف طريقة العرض وإعادة إنشائها.

يظهر استخدام عبارة ALTER VIEW في المثال أدناه:

في هذا المثال، تقوم عبارة ALTER VIEW بتوسيع عبارة SELECT في view_WithoutBudget بشرط جديد في جملة WHERE.

إسقاط تعليمات العرضيزيل تعريف العرض المحدد فيه من جداول النظام. ويظهر تطبيق هذه التعليمات في المثال أدناه:

استخدم SampleDb; اذهب لإسقاط العرض view_Count;

عندما تقوم بحذف طريقة عرض باستخدام عبارة DROP VIEW، يتم أيضًا حذف جميع طرق العرض الأخرى المستندة إلى طريقة العرض المحذوفة، كما هو موضح في المثال أدناه:

استخدم SampleDb; اذهب للعرض المسقط view_Consultant;

هنا، تقوم عبارة DROP VIEW بإسقاط view_Consultant بشكل صريح، بينما تقوم ضمنيًا بإسقاط view_project_p2، الذي يعتمد على view_Consultant. ستؤدي الآن محاولة الاستعلام عن view_project_p2 إلى ظهور رسالة خطأ.

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

1) مفهوم التمثيل
طرق العرض هي كائنات قاعدة بيانات لا تحتوي على جداول خاصة بها، ولكن محتواها مأخوذ من جداول أو طرق عرض أخرى عن طريق تنفيذ استعلام.

2) خلق وجهات النظر
إنشاء عرض
[()]
مثل
تحقق من الخيار]

ملحوظات:
في خادم قاعدة البياناتيمكن تشفير نص العرض باستخدام خيار "التشفير" بعد اسم العرض.

3) إزالة وجهات النظر
إسقاط عرض الشلال|تقييد

ملحوظة:
يقيد– يجب ألا يكون هناك أي إشارة إلى العرض الذي سيتم حذفه في العرض والقيود، وإلا سيتم رفض الحذف.
كاساد- يعني حذف كافة الكائنات التي تشير إلى طريقة العرض هذه.

4) الكلمات الرئيسية
أ) العودية
يتم إنشاء تمثيل يتلقى القيم من نفسه.
ب) مع خيار الاختيار
يمنع تحديثات الجدول بناءً على طرق العرض إذا لم تنعكس البيانات التي تم تغييرها أو إضافتها في طريقة العرض.
ينطبق الحظر فقط على القيم التي لا تستوفي الشروط المحددة في جملة WHERE.
ج) محلي
تنعكس عناصر التحكم التي تتغير في الجداول الأساسية في العرض الحالي فقط.
د) متتالي
التحكم في ما إذا كانت التغييرات تنعكس في كل طرق العرض المحددة في طريقة عرض معينة.

5) القيود والميزات
1. يتم تحديد أسماء الأعمدة عادةً عند حساب بعض الأعمدة وبالتالي عدم تسميتها، وأيضًا عند وجود عمودين أو أكثر نفس الأسماءفي الجداول المقابلة في الاستعلام. دائما في InterBase.
2. في بعض أنظمة إدارة قواعد البيانات، لا يمكنك استخدام قسم ORDER BY، الذي يوفر الفرز.
3. يمكن توصيل طرق العرض بكل من الجداول الأساسية وطرق العرض الأخرى باستخدام الاستعلامات على كلا الكائنين.

6) معايير تحديث وجهات النظر
1. أن يعتمد على جدول واحد فقط. ومن المرغوب فيه أن تشمل المفتاح الأساسيالجداول.
2. ألا يحتوي على أعمدة ناتجة عن دوال التجميع.
3. لا يمكن أن تحتوي على مواصفات مميزة في تعريفها.
4. لا يمكن استخدام GROUP BY أو HAVING في تعريفها.
5. ألا يحتوي على استعلامات فرعية.
6. إذا تم تعريفه في عرض آخر، فيجب أن يكون قابلاً للتحديث.
7. لا يمكن أن يتضمن ثوابت أو سلاسل أو تعبيرات في قائمة حقول الإخراج. غير مسموح بإعادة ترتيب الحقول وإعادة تسميتها.
8. بالنسبة لبيان INSERT، يجب أن يتضمن أي حقول من طرق عرض الجدول الأساسي الأساسية التي تحتوي عليها لا القيود NULL، ولكن يمكن تعيين القيمة الافتراضية إلى قيمة أخرى.

7) أمثلة

1. إنشاء عرض موظفي لندن
كما حدد * من موظفي المبيعات حيث المدينة = "لندن"

2. إنشاء عرض SalesOwn
كما حدد SNum، SName، المدينة من SalesPeople

3. إنشاء عرض لأوامر الأسماء
كما حدد ONum، Amt، A.SNum، SName، CName
من الطلبات أ، العميل ب، موظفي المبيعات ج
حيث A.CNum=B.CNum وA.SNUM=C.SNum

أمثلة لمنع التحديثات:

1. قم بإنشاء عرض HighRating حسب تحديد CNum، التقييم

2. أضف سطرًا لا يراه العرض:
أدخل في القيم ذات التصنيف العالي (2018، 200)
3. نمنع إضافة خطوط خارج نطاق الرؤية:
إنشاء عرض HighRating AS تحديد CNum، التقييم
من العميل حيث التقييم = 300
مع خيار الاختيار
4. قم بإنشاء حساب جديد يسمح لك بالإضافة مرة أخرى:
إنشاء عرض MyRating AS SELECT * من HighRating

مثال على إنشاء طريقة عرض في قاعدة بيانات MS SQL Server باستخدام MS Visual Studio. إنشاء حقل محسوب

يصف هذا الموضوع العملية التفصيلية خطوة بخطوة لإنشاء طريقة عرض باستخدام مثال قاعدة بيانات Education.mdf، الموجودة في ملف محلي. تم تصميم قاعدة البيانات للعمل تحت سيطرة نظام إدارة قواعد البيانات (DBMS). مايكروسوفت SQLالخادم.

استخدام هذا المثال، يمكنك تعلم الإنشاء ملك التمثيلالبيانات التي يتم الحصول عليها من الجداول. بناءً على المشاهدات، يمكنك إنشاء تقارير لعرض نتائج البرنامج في شكل (ورقي) مناسب.

المهمة

دع قاعدة البيانات موجودة في ملف Education.mdf. تحتوي قاعدة البيانات على جدولين مرتبطين: الطالب والجلسة.

ترتبط الجداول ببعضها البعض بواسطة حقل ID_Book.

استخدام أدوات مايكروسوفت استوديو مرئيقم بإنشاء طريقة عرض باسم View1 والتي سيكون لها البنية التالية:

اسم الحقل طاولة
Num_Book طالب
اسم طالب
الرياضيات حصة
المعلوماتية حصة
فلسفة حصة
متوسط الحقل المحسوب

التنفيذ (تعليمات خطوة بخطوة)

1. قم بتحميل مايكروسوفت فيجوال ستوديو
2. قم بتوصيل قاعدة بيانات Education.mdf بقائمة قواعد البيانات الموجودة في الأداة المساعدة Server Explorer

لكي لا تضيع الوقت في تطوير وربط جداول قاعدة بيانات Education.mdf، يمكنك تنزيل قاعدة البيانات الجاهزة. بعد التنزيل والحفظ في مجلد معين، يجب أن تكون قاعدة البيانات متصلة بقائمة قواعد البيانات في الأداة المساعدة Server Explorer.

يتم تنفيذ ربط قاعدة البيانات بإحدى الطرق القياسية العديدة:

  • تحديد الأمر "الاتصال بقاعدة البيانات..." من قائمة "الأدوات"؛
  • تحديد الزر (الأمر) "الاتصال بقاعدة البيانات..." من الأداة المساعدة Server Explorer.

نتيجة لذلك، سيتم فتح نافذة المعالج التي تحتاج فيها إلى تكوين قاعدة البيانات.

أرز. 1. طرق إضافة/ربط قاعدة البيانات

يتم تنفيذ عملية تكوين قاعدة البيانات بشكل تسلسلي مع التحسينات. يتم فتح النوافذ التي يتم فيها تحديد الإعدادات المناسبة.

وصف تفصيلي لكيفية ربط قاعدة البيانات مثل مايكروسوفت SQL Server في Microsoft Visual Studio، الوارد في الموضوع:

بعد الاتصال، ستبدو نافذة الأداة المساعدة Server Explorer كما هو موضح في الشكل 2.

أرز. 2. الأداة المساعدة Server Explorer مع قاعدة بيانات Education.mdf المتصلة

3. إضافة عرض جديد (عرض). إضافة أمر عرض جديد

يتيح لك نظام Microsoft Visual Studio إنشاء تمثيلات البيانات (طرق العرض). تعرض طرق العرض نفسها بيانات الجدول فقط بتنسيق سهل القراءة. فهي ليست بيانات الجدول مباشرة (الجداول). في حالتنا، نحتاج إلى إنشاء عرض يتوافق مع حالة المهمة.

يتم إنشاء العرض باستخدام أمر "إضافة عرض جديد"، والذي يتم استدعاؤه من قائمة السياق(الشكل 3).

أرز. 3. الأمر "إضافة عرض جديد..."

نتيجة لذلك، سيتم فتح نافذة "إضافة جدول"، حيث تحتاج إلى تحديد الجداول التي سيتم استخدام بياناتها في العرض (الشكل 4).

أرز. 4. تحديد الجداول التي سيتم استخدامها في الاستعلام

بالنسبة لحالتنا، نحن بحاجة إلى تحديد كلا الجدولين.

ونتيجة لذلك، ستظهر نافذة Microsoft Visual Studio كما هو موضح في الشكل 5.

أرز. 5. نافذة مايكروسوفت Visual Studio بعد إنشاء العرض

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

بالنسبة لحالتنا، يظهر اختيار الحقول في الشكل 6.

أرز. 6. اختيار الحقول للعرض

كما يتبين من الشكل 6، يتم عرض عرض في الجزء السفلي من النافذة لغة SQL، التي أنشأها النظام

يختار dbo.Student.Num_Book، dbo.Student.Name، dbo.Session.Mathematics، dbo.Session.Informatics، dbo.Session.Philosophy من
4. قم بإضافة متوسط ​​الحقل المحسوب

لإنشاء حقل محسوب متوسط، تحتاج إلى تغيير نص استعلام SQL للعرض في الأسفل (انظر الشكل 6، الجزء السفلي). على سبيل المثال:

يختار dbo.Student.Num_Book, dbo.Student.Name, dbo.Session.Mathematics, dbo.Session.Informatics, dbo.Session.Philosophy, (dbo.Session.Mathematics + dbo.Session.Informatics + dbo.Session.Philosophy)/ 3.0 ك متوسط من dbo.Session INNER JOIN dbo.Student ON dbo.Session.ID_Book = dbo.Student.ID_Book

تتم إضافة متوسط ​​الحقل المحسوب، وهو الوسط الحسابي (الشكل 7).

أرز. 7. إضافة حقل متوسط ​​محسوب

5. قم بتشغيل استعلام SQL لعرض العرض

في أسفل النافذة، يوضح الشكل 7 نتيجة تنفيذ استعلام SQL للعرض. يتم تنفيذ الاستعلام عن طريق استدعاء الأمر "Execute SQL" من قائمة "Query Designer" أو عن طريق الضغط على الزر ‘!’ ، كما هو مبين في الشكل 8).

أرز. 8. اتصل لتشغيل استعلام SQL

6. حفظ العرض

بعد استدعاء الأمر

ملف->حفظ الكل

سيتم فتح نافذة "اختيار اسم" (الشكل 9)، والتي تحتاج فيها إلى تحديد اسم المضيف الجديد هذا التقديم. في حالتنا يمكننا ترك الاسم ( View1 ) الذي يقترحه النظام افتراضيًا.

أرز. 9. نافذة لتحديد اسم للعرض

7. قم بعرض العرض في نافذة Server Explorer

بعد حفظ العرض، ستظهر نافذة الأداة المساعدة Server Explorer كما هو موضح في الشكل 10. وكما يتبين من الشكل، يتم عرض View1 في نافذة Server Explorer.

التمثيل

إزالة

إعادة تسمية

يتغير

إدارة الإجراءات المخزنة

لتغيير إجراء موجود، استخدم تغيير البيان PROC، معلمات هذا الأمر هي نفس معلمات أمر إجراء الإنشاء.

للقيام بذلك، تحتاج إلى استخدام إجراء خاص مخزن في النظام:

sp_rename 'ObjectName' 'NewObjectName'.

لحذف إجراء مخزن، استخدم أمر Transact‑SQL:

اسم إجراء إسقاط PROC.

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

يتم تنفيذ العرض كاستعلام محفوظ، على أساسه يتم الاختيار من جداول قاعدة البيانات المختلفة.

التمثيلات لديها المزايا التالية:

· التأكد من سرية المعلومات، لأن اسمح لك بالعرض فقط معلومات ضروريةوإخفاء حقول معينة؛

· تبسيط عرض البيانات، لأنه يعمل المستخدم مع العرض كجدول واحد، يتم إنشاؤه بناءً على اختيار البيانات من عدة جداول؛

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

يوفر MS SQL Server طرق مختلفةإنشاء طرق العرض: باستخدام أدوات Transact-SQL وفي الأداة المساعدة للإدارة استوديو الإدارة.

لإنشاء طريقة عرض، استخدم الأمر CREATE VIEW، ولأعضاء الدور الحق في تنفيذها مسؤول النظام، db_owner، db_dlladmin:

إنشاء عرض اسم العرض [(الحقل [،...ن])]

عينات الاستعلام

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

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

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

إنشاء عرض معلومات الموظفين ([الرقم]، [اسم العائلة]، [تاريخ الميلاد]) AS

حدد BusinessEntityID، JobTitle + "(" + معرف تسجيل الدخول + ")"،

تحويل (شار (10)، تاريخ الميلاد، 104)

من HumanResources.Employee

لعرض محتويات الإسقاط، يتم تنفيذ الاستعلام التالي:

اختر * من InfoEmployees

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

إذا تم تحديد شرط لاختيار السجلات في كود استعلام التحديد، فيُقال أن الجدول يخضع لـ مرشح أفقي. على سبيل المثال، يوفر العرض التالي إمكانية الوصول إلى معلومات حول الشركات المصنعة التي لديها خدمات عبر الإنترنت لطلب منتج:

إنشاء عرض عبر الإنترنت

من المشتريات.البائع

حيث لا يكون عنوان URL الخاص بـ PurchasingWebService خاليًا

يمكن تحديد أمر SELECT بأي تعقيد في طلب التحديد، ولكن يُحظر استخدام الأقسام ترتيب حسبوالتي يمكن استخدامها لاحقًا عند استرداد البيانات من العرض الذي تم إنشاؤه. من المستحسن أيضًا إنشاء طرق العرض استنادًا إلى الجداول التي تحتوي على صلة داخلية فقط.

على سبيل المثال، لنقم بإنشاء طريقة عرض تعرض التكلفة الإجمالية لكل طلب، مع الإشارة إلى العميل ورقمه:

إنشاء عرض معلومات الطلبات

حدد الاسم الأول + "" + اسم العائلة كـ [ اسم الشركة],

SalesOrderHeader.SalesOrderID كـ [ رقم الأمر],

تحويل (المال، مجموع(UnitPrice*OrderQty*(1-UnitPriceDiscount)),0) إلى [الإجمالي]

من (الشخص. جهة الاتصال الداخلية، الانضمام إلى Sales.SalesOrderHeader

على Contact.ContactID=SalesOrderHeader.ContactID)

الانضمام الداخلي للمبيعات. تفاصيل طلب المبيعات

ON SalesOrderHeader.SalesOrderID=SalesOrderDetail.SalesOrderID

المجموعة حسب SalesOrderHeader.SalesOrderID، الاسم الأول + " " + اسم العائلة

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