random

آخر الأخبار

random
جاري التحميل ...

لغة برمجة ترانزأكشن سيكوال

The Transaction-SQL Programming Language


SQL Programming Language


قام كل من المعهد الأمريكى القومى للمقايسات American National Standards Institute (ANSI) والمنظمة الدولية للمقايسات International Standards Organization (ISO) بوضع المواصفات القياسية للغة سيكوال SQL ، ويدعم سيكوال سيرفر كافة مدخلات المواصفة الدولية SQL-92 المنشورة بواسطة كل من ANSI و ISO عام 1992 .

أنواع عبارات ترانزأكشن سيكوال

الاستعلام Query هو طلب للبيانات المخزنة فى قاعدة بيانات سيكوال سيرفر ، تقوم كافة الاستعلامات بإرجاع النتائج لعبارات Select للمستخدم فى تنسيق أو ترتيب جدولى ، وتكون عبارة عن مجموعة من الصفوف والأعمدة .
كتابة وتنفيذ عبارات ترانزأكشن سيكوال Transaction-SQL عبارة عن واحدة من طرق الاستعلام فى سيكوال سيرفر ، وعند كتابة وتنفيذ ترانزأكشن سيكوال سنقوم باستخدام المصطلحات أو المفاهيم التالية :
·         لغة تعريف البيانات Data Definition Language (DDL) : هى عبارات تمكن من إنشاء الكائنات المختلفة فى قواعد البيانات مثل الجداول والمشاهد .
·         لغة التحكم فى البيانات Data Control Language (DCL) : هى عبارات تمكن من تحديد من سيتمكن فى مشاهدة البيانات أو معالجتها (منح الترخيصات) .
·         لغة معالجة البيانات Data Manipulation Language (DML) : هى عبارات تمكن من الاستعلام عن البيانات وتعديلها .

أولا: لغة تعريف البيانات Data Definition Language (DDL)

تستخدم لغة تعريف البيانات عبارات لتعريف قواعد البيانات وإنشاء الكائنات مثل الجداول Tables والمشاهد Views والإجراءات المخزنة Stored Procedures وغيرها من الكائنات ، كما تستخدم لإدارة كائنات قواعد البيانات .
تتضمن بعض عبارات لغة تعريف البيانات العبارات التالية :

·         CREATE OBJECT_NAME
·         ALTER OBJECT_NAME
·         DROP OBJECT_NAME

 يكون الوضع الافتراضى فى سيكوال سيرفر أن أعضاء أدوار sysadmin , dbcreator , db_owner , db_ddladmin من تنفيذ عبارات DDL .
تمكن عبارة Create من إنشاء الكائنات ، وتقوم عبارة Alter من تعديلها ، بينما تمكن عبارة Drop من إسقاط الكائنات أو حذفها .

مثال:

USE northwind

CREATE TABLE customer

    (cust_id int,

     company varchar(40),

     contact varchar(30),

     phone char(12) )

GO


يقوم المثال السابق بإنشاء جدول العملاء Customer فى قاعدة بيانات Northwind ، يحتوى هذا الجدول على أربعة حقول هى حقل كود العميل cust_id ونوعه ثابت رقمى ، وحقل الشركة company وهو نصى ، وحقل الاتصال contact وهو نصى ، وحقل التليفون phone وهو حقل نصى .

ثانيا : لغة التحكم بالبيانات Data Control Language (DDL)

تستخدم عبارات لغة التحكم بالبيانات لتغيير الترخيصات الخاصة بمستخدمى قواعد البيانات Database Users أو أدوارها Roles ، يوصف الجدول التالى عبارات هذه اللغة :
GRANT:

ينشيء إدخالات فى نظام الأمن تمنح ترخيص يمكن المستخدمين من التعامل مع البيانات أو تنفيذ عبارات ترانزأكشن سيكوال .
DENY:
ينشيء إدخالات فى نظام الأمن تمنح ترخيص يمكن المستخدمين من التعامل مع البيانات أو تنفيذ عبارات ترانزأكشن سيكوال.
REVOKE:
يقوم بإلغاء أو سحب الترخيصات الممنوحة أو الممنوعة.

يكون الوضع الافتراضى فى سيكوال سيرفر أن أعضاء أدوار sysadmin , dbcreator , db_owner , db_ddladmin من تنفيذ عبارات DCL .

أمثلة:

USE northwind

GRANT SELECT ON products TO public

GO


يقوم المثال التالى بمنح ترخيص التحديد على جدول المنتجات Products لدور قواعد البيانات Public .

USE Pubs

DENY SELECT, INSERT, UPDATE, DELETE

ON authors

TO Mary, John, Tom



يقوم المثال السابق بمنع المستخدمين Mary, John, Tom من إجراء عمليات التحديد والإدراج والتحديث والحذف على جدول Authors فى قاعدة بيانات Pubs .

USE Pubs
REVOKE SELECT, INSERT, UPDATE, DELETE
ON authors
TO Mary


يقوم المثال السابق بسحب ترخيص المنع الممنوح للمستخدم Mary من إجراء عمليات التحديد والإدراج والتحديث والحذف على جدول Authors فى قاعدة بيانات Pubs .
لاحظ أنه لا يمكن للمستخدم إجراء عمليات التحديد والإدراج والتحديث والحذف إلا إذا كان ممنوح Grant ترخيص لإجراء هذه العمليات أو يتم منحه هذه الترخيصات.

ثالثا: لغة معالجة البيانات

Data Manipulation Language (DML)

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

·         SELECT
·         INSERT
·         UPDATE
·         DELETE

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

مثال:

USE northwind

SELECT categoryid, productname, productid, unitprice 

FROM products

GO


يستخدم المثال السابق لعرض (تحديد) بيانات أعمدة كود الفئة واسم المنتج وكود المنتج وسعر الوحدة من جدول المنتجات Products فى إطار قاعدة بيانات Northewind .

عن الكاتب

Ahmed Shahen

التعليقات


اتصل بنا

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

جميع الحقوق محفوظة

دورات تكنولوجيا المعلومات والتسويق الإلكتروني