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

التمثيل

إزالة

إعادة تسمية

يتغيرون

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

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

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

sp_rename 'اسم الكائن' 'NewObjectName'.

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

اسم إجراء عملية DROP.

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

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

المشاهدات لها الفوائد التالية:

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

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

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

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

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

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

الطلب

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

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

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

CREATE VIEW InfoEmployees ([Number]، [Last Name]، [تاريخ الميلاد]) AS

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

CONVERT (حرف (10) ، تاريخ الميلاد ، 104)

من الموارد البشرية

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

حدد * من المعلومات للموظفين

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

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

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

من المشتريات

عندما يكون عنوان PurchaseingWebServiceURL ليس فارغًا

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

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

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

حدد الاسم الأول + "" + الاسم الأخير باسم [اسم الشركة] ،

SalesOrderHeader.SalesOrderID كـ [رقم الطلب] ،

تحويل (المال ، المبلغ (سعر الوحدة * كمية الطلب * (1-UnitPriceDiscount)) ، 0) كـ [الإجمالي]

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

ON Contact.ContactID = SalesOrderHeader.ContactID)

INNER JOIN Sales.SalesOrderDetail

على SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID

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

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

SQL-أداء(عرض SQL) هو جدول افتراضي يتكون من جداول أو طرق عرض أخرى. لا تحتوي طريقة العرض على بياناتها الخاصة ، ولكنها تجمع بيانات من الجداول أو طرق العرض التي تحتوي عليها. يتم إنشاء طرق العرض باستخدام عبارات SELECT ولها استخدامات عديدة:

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

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

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

    1. فهارس SQL

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

    1. محفزات

المشغلات هي طرق يمكنك من خلالها ضمان تكامل قاعدة البيانات حتى لو تم استخدامها بواسطة تطبيقات متعددة.

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

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

لا تأخذ المشغلات أي معلمات ولا تُرجع القيم. يتم تنفيذها ضمنيًا ، أي ، يتم تشغيل المشغل فقط عند إجراء محاولة لتغيير البيانات.

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

الإجراء المخزن - وهو عبارة عن سلسلة من عبارات SQL للعمليات المترجمة المخزنة في قاعدة بيانات نظام SQL Server. يتم تجميع الإجراءات المخزنة مسبقًا ، لذا فهي أكثر كفاءة من الاستعلامات العادية. تعمل الإجراءات المخزنة مباشرة على الخادم وتتناسب بشكل جيد مع نموذج خادم العميل.

هناك نوعان من الإجراءات المخزنة: النظام والمعرفة من قبل المستخدم.

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

إجراءات مخزنة مخصصة تم إنشاؤها مباشرة من قبل المطورين أو مسؤولي قواعد البيانات.

يتم تحديد فائدة الإجراءات المخزنة بشكل أساسي من خلال سرعة تنفيذها العالية (مقارنة باستعلامات T-SQL العادية). بالإضافة إلى ذلك ، فهي وسيلة لتنظيم العمليات التي يتم إجراؤها بشكل متكرر. عند تشغيل إجراء مخزن لأول مرة ، هناك عدد من الخطوات.

    يتم تقسيم الإجراء إلى مكونات منفصلة بواسطة المحلل المعجمي للتعبيرات.

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

    يتم تخزين النص المصدر للإجراء في جدول نظام syscomments ، ويتم تخزين اسمه في جدول sysobjects.

    يتم إنشاء خطة تنفيذ استعلام أولية. تسمى هذه الخطة الأولية خطة تطبيعأو شجرة الاستعلام ويتم تخزينها في جدول النظام sysprocedures.

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

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

استخدام الإجراءات المخزنة له عدد من الفوائد الإضافية.

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

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

3. يمكن أن تأخذ الإجراءات المخزنة وسيطات عند تشغيلها وإرجاع القيم (في شكل مجموعات النتائج).

4. يمكن تشغيل الإجراءات المخزنة وفقًا لجدول (في وضع التنفيذ التلقائي) يتم تعيينه عند بدء تشغيل SQL Server.

5. يتم استخدام الإجراءات المخزنة لاسترداد البيانات أو تعديلها في أي وقت.

6. يتم استدعاء الإجراءات المخزنة ، على عكس المشغلات ، صراحة. أي عندما يتم الوصول إلى إجراء مباشرة من تطبيق أو برنامج نصي أو حزمة أو مهمة.

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

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

لنبدأ بنظرية صغيرة.

ما هي المشاهدات؟

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

نحن نتحدث عن قواعد البيانات التي تستخدم لغة SQL ، وبناءً على ذلك ، يمكننا أن نستنتج أنه يمكن إنشاء VIEWS بهذه اللغة. هذا كائن شائع جدًا في قاعدة البيانات ، لذلك تتمتع جميع أنظمة DBMS بالقدرة على إنشاء طرق عرض في واجهة المستخدم الرسومية بالنقر فوق " إنشاء عرض" أو " قم بإنشاء طريقة عرض جديدة"، وأيضًا ، بالطبع ، باستخدام عبارة" CREATE VIEW ".

ولكن قبل تعلم كيفية إنشاء وجهات النظر ، دعنا نتحدث عن سبب الحاجة إليها وما هي الفوائد التي ستعطينا إياها.

لماذا هناك حاجة إلى العروض التقديمية؟

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

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

حدد * من TableName

كيف تنشئ طريقة عرض VIEWS؟

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

على سبيل المثال ، في PostgreSQL ، سيبدو استعلام إنشاء العرض بالشكل التالي:

قم بإنشاء عرض MyView باسم حدد المعرف والاسم والمؤسسة من work.TableName

  • إنشاء عرض - عرض أمر الإنشاء ؛
  • MyView - اسم وجهة نظرك المستقبلية ؛
  • حدد المعرف والاسم والمؤسسة من work.TableName - استعلام التحديد.

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

الصيغة الكاملة لأمر CREATE VIEW (في PostgreSQL) هي كما يلي:

إنشاء عرض اسم العرض [(قائمة_عمود)] AS select_statement CHECK OPTION]

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

هذا كل شيء بالنسبة لي ، وآمل أن يكون لديك الآن فكرة عن ماهية VIEWS ، وداعًا!

آخر تحديث: 08/14/2017

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

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

لإنشاء عرض ، استخدم الأمر CREATE VIEW ، الذي يحتوي على النموذج التالي:

إنشاء طريقة العرض view_name [(العمود_1 ، col_2 ، ....)] AS SELECT_expression

على سبيل المثال ، لنفترض أن لدينا ثلاثة جداول مرتبطة:

إنشاء منتجات الجدول (ID INT IDENTITY PRIMARY KEY ، ProductName NVARCHAR (30) NOT NULL ، الشركة المصنعة NVARCHAR (20) NOT NULL ، ProductCount INT DEFAULT 0 ، Price MONEY NOT NULL) ؛ إنشاء عملاء جدول (ID INT IDENTITY PRIMARY KEY، FirstName NVARCHAR (30) NOT NULL) ؛ إنشاء طلبات الجدول (Id INT IDENTITY PRIMARY KEY، ProductId INT NULL REFERENCES Products (Id) on Delete CASCADE، CustomerId INT NULL NULL REFERENCES customers (ID) on DELETE CASCADE، CreatedAdate not Null، ProductCount INT MONEY NEFAULT 1، Price ) ؛

الآن دعنا نضيف طريقة العرض التالية إلى قاعدة البيانات التي تحتوي على بيانات الجدول:

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

وهذا يعني أن طريقة العرض هذه ستُرجع بالفعل بيانات موجزة من ثلاثة جداول. وبعد إنشائها ، يمكننا رؤيتها في عقدة طرق العرض لقاعدة البيانات المحددة في SQL Server Management Studio:

الآن نستخدم طريقة العرض التي تم إنشاؤها أعلاه للحصول على البيانات:

حدد * من الطلباتالمنتجاتالعملاء

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

يمكن أن تحتوي طرق العرض على ما يصل إلى 1024 عمودًا ويمكن الوصول إلى ما يصل إلى 256 جدولًا.

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

لا يمكن أن يشتمل أمر SELECT المستخدم في طريقة العرض على عبارات INTO أو ORDER BY (ما لم يتم أيضًا استخدام عبارة TOP أو OFFSET). إذا كانت البيانات في طريقة العرض بحاجة إلى الفرز ، فسيتم استخدام عبارة ORDER BY في الأمر SELECT الذي يسترد البيانات من طريقة العرض.

أيضًا ، عند إنشاء طريقة عرض ، يمكنك تحديد مجموعة من أعمدتها:

إنشاء عرض الطلبات ، المنتجات ، العملاء 2 (تاريخ الطلب ، العميل ، المنتج) كطلبات محددة ، تم إنشاؤها ، العملاء ، الاسم الأول ، المنتجات ، اسم المنتج من الطلبات ، انضم إلى المنتجات الداخلية على الطلبات.

تغيير العرض

يتم استخدام الأمر ALTER VIEW لتغيير العرض. هذا الأمر له نفس بناء الجملة تقريبًا مثل CREATE VIEW:

ALTER VIEW view_name [(column_1، col_2، ....)] AS SELECT_expression

على سبيل المثال ، دعنا نغير عرض OrdersProductsCustomers الذي أنشأناه أعلاه:

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

حذف مشاهدة

لإسقاط عرض ، يسمى أمر DROP VIEW:

إسقاط عرض الطلباتالمنتجاتالعملاء

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

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

عرض التعريف

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

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

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

إنشاء وتعديل التمثيلات في معيار اللغة والتنفيذ في MS SQL Server هي نفسها ويتم تمثيلها بالأمر التالي:

<определение_просмотра>:: = (إنشاء | تغيير) عرض اسم الملف الشخصي [(اسم_العمود [، ... ن])] AS SELECT_statement

ضع في اعتبارك الغرض من المعلمات الرئيسية.

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

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

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

مثال 10.1.تظهر في تمثيل العملاء من موسكو.

تكوين طريقة عرض:

إحضار البيانات من طريقة عرض:

حدد * من العرض 1

يتم الوصول إلى العرض باستخدام عبارة SELECT كما لو كانت جدولًا عاديًا.

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

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

لنقم بتشغيل الأمر:

أدخل INTO view1 VALUES (12، "Petrov"، "Samara")

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

لمثل هذا التمثيل ، سيتم رفض إدخال القيمة أعلاه من قبل النظام.

وبالتالي ، يمكن تعديل طريقة عرض بأوامر تعديل DML ، لكن التعديل الفعلي لا يؤثر على العرض نفسه ، ولكن على الجدول الأساسي.

يتم حذف العرض باستخدام الأمر:

اسم عرض DROP VIEW [، ... n]

تحديث البيانات في المشاهدات

لا يمكن تعديل جميع طرق العرض في SQL. عرض قابل للتعديلتحددها المعايير التالية:

  • على أساس جدول أساسي واحد فقط ؛
  • يحتوي على المفتاح الأساسي لهذا الجدول ؛
  • لا يحتوي على DISTINCT في تعريفه ؛
  • لا تستخدم GROUP BY أو HAVING في تعريفها ؛
  • إذا أمكن ، لا يستخدم الاستعلامات الفرعية في تعريفه ؛
  • لا يستخدم الثوابت أو تعبيرات القيمة بين حقول الإخراج المحددة ؛
  • يجب تضمين كل عمود جدول يحتوي على سمة NOT NULL في الفحص ؛
  • لا تستخدم عبارة الاستعراض SELECT الدالات التجميعية (الإجمالية) أو روابط الجدول أو الإجراءات المخزنة أو الوظائف المعرفة من قبل المستخدم ؛
  • يستند إلى استعلام واحد ، لذلك لا يُسمح بالاتحاد.

إذا كانت طريقة العرض تفي بهذه الشروط ، فيمكن تطبيق عبارات INSERT و UPDATE و DELETE عليها. الاختلافات بين و التوكيلاتالقراءة فقط ليست عشوائية. الأغراض التي تستخدم من أجلها مختلفة. من وجهات نظر قابلة للتعديليتم التعامل معها بشكل أساسي بنفس الطريقة تمامًا كما هو الحال مع الجداول الأساسية. في الواقع ، لا يمكن للمستخدمين حتى التعرف على ما إذا كان الكائن الذي يطلبونه هو جدول أساسي أو طريقة عرض ، أي إنه في الأساس إجراء أمني لإخفاء الأجزاء الحساسة أو غير ذات الصلة من الجدول. وجهات النظر في الوضع<только для чтения>تسمح لك بتلقي البيانات وتنسيقها بشكل أكثر عقلانية. إنهم ينشئون ترسانة كاملة من الاستعلامات المعقدة التي يمكن تنفيذها وتكرارها مرة أخرى ، وتخزين المعلومات الواردة. يمكن بعد ذلك استخدام نتائج هذه الاستعلامات في استعلامات أخرى ، مما يؤدي إلى تجنب المسندات المعقدة وتقليل فرصة حدوث أفعال خاطئة.

إنشاء view2 as SELECT Client.LastName، Client.Company، Trade.Number من Client INNER JOIN Trade on Client.ClientId = Trade.ClientID مثال 10.3. طريقة عرض غير قابلة للتعديل ببيانات من جداول مختلفة.

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

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

إنشاء طريقة العرض 4 (الرمز ، الاسم ، النوع ، السعر ، الضريبة) كما حدد رمز العنصر ، الاسم ، النوع ، السعر ، السعر * 0.05 من العنصر مثال 10.5. تمثيل قابل للتعديل مع الحسابات.

مزايا وعيوب التمثيلات

محرك العرض هو أداة DBMS قوية تسمح لك بإخفاء الهيكل الحقيقي لقاعدة البيانات عن بعض المستخدمين من خلال تحديد طرق العرض. أي عرض التنفيذيجب أن يضمن أن حالة العلاقة الممثلة تتطابق تمامًا مع حالة البيانات التي تم تعريف التمثيل عليها. عادة ، يتم تقييم طريقة العرض في كل مرة يتم استخدامها. عندما يتم إنشاء طريقة عرض ، تتم كتابة المعلومات المتعلقة بها في دليل قاعدة البيانات باسمها الخاص. سيتم عرض أي تغييرات في البيانات بشكل كافٍ في طريقة العرض - وهذا هو اختلافها عن استعلام قاعدة بيانات مشابه جدًا. في نفس الوقت ، الطلب<мгновенную фотографию>يجب تكرار البيانات وعند تغيير آخر استعلام إلى قاعدة البيانات. وجود تمثيلات في قاعدة البيانات ضروري لضمان الاستقلال المنطقي للبيانات. إذا كان النظام يضمن الاستقلال المادي للبيانات ، فلن تؤثر التغييرات في البنية المادية لقاعدة البيانات على تشغيل برامج المستخدم. يعني الاستقلال المنطقي حقيقة أنه عند تغيير بنية البيانات المنطقية ، لا تتأثر برامج المستخدم أيضًا ، مما يعني أن النظام يجب أن يكون قادرًا على حل المشكلات المرتبطة بنمو قاعدة البيانات وإعادة هيكلتها. من الواضح أنه مع زيادة كمية البيانات المخزنة في قاعدة البيانات ، يصبح من الضروري توسيعها عن طريق إضافة سمات أو علاقات جديدة - وهذا ما يسمى نمو قاعدة البيانات. تتضمن إعادة هيكلة البيانات الاحتفاظ بنفس المعلومات ولكن مع تغيير موقعها ، على سبيل المثال ، عن طريق إعادة ترتيب السمات في العلاقات. لنفترض أن هناك نسبة ما ، لسبب ما ، يجب أن تقسم على اثنين. يؤدي ضم العلاقات الناتجة في طريقة العرض إلى إعادة إنشاء العلاقة الأصلية ، مما يترك انطباعًا لدى المستخدم بأنه لم تتم إعادة هيكلة. بالإضافة إلى حل مشكلة إعادة الهيكلة ، يمكن استخدام طريقة عرض لعرض نفس البيانات من قبل مستخدمين مختلفين وبطرق مختلفة. بمساعدة طرق العرض ، يتمتع المستخدم بالقدرة على الحد من كمية البيانات لسهولة الاستخدام. أخيرًا ، تتيح لك آلية العرض إخفاء البيانات العامة التي لا تهم المستخدمين.

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

استقلالية البيانات

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

ملاءمة

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

تحسين أمن البيانات

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

تقليل التكاليف

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

وسائل الراحة الإضافية

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

إمكانية التخصيص

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

ضمان سلامة البيانات

إذا تم تحديد جملة WITH CHECK OPTION في عبارة CREATE VIEW ، فسوف يضمن DBMS عدم إدخال أي من الصفوف التي لا تفي بعبارة WHERE في استعلام التعريف في الجداول المصدر لقاعدة البيانات. تضمن هذه الآلية سلامة البيانات في العرض.

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

ومع ذلك ، فإن استخدام طرق العرض في بيئة SQL لا يخلو من عيوبه.

خيارات ترقية محدودة

في بعض الحالات ، لا تسمح لك طرق العرض بإجراء تغييرات على البيانات التي تحتوي عليها.

القيود الهيكلية

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

انحطاط الأداء

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



استمرار الموضوع:
شبابيك

ناتاليا كوماروفا ، 05/28/2009 (25/03/2018) عندما تقرأ منتدى أو مدونة ، تتذكر مؤلفي المشاركات بالاسم المستعار و ... من خلال صورة المستخدم ، ما يسمى الصورة الرمزية ....