منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم مقالات SQL SERVER (http://vb4arb.com/vb/forumdisplay.php?fid=84)
+--- الموضوع : الحلقة الثانية: الجديد في السيكوال سيرفر 2012 (/showthread.php?tid=4783)

الصفحات: 1 2


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - كلكامش الألكتروني - 02-10-12

السلام عليكم اخواني واحبائي...
اعود اليكم اليوم لأكمال الحلقات حول السيكوال سيرفر 2012 وما جاء به من جديد التي تسر الصديق وتبغض العدو ^_^ لمتابعة الحلقة الاولى (http://vb4arb.com/vb/showthread.php?362-%CF%E6%C7%E1-%C7%E1%E6%DE%CA-%E6%C7%E1%CA%C7%D1%ED%CE-%C7%E1%CC%CF%ED%CF%C9-%C7%E1%E3%D6%C7%DD%C9-%C8%DC-sql-server-2012)

الكل يعلم ان السيكوال سيرفر في اتجاه Developer قد جاء بأنقلابات ثورية في مجال تعزيز الـ virtualization بالاضافة الى دعم Cloud Server من اجل تثبيت نفسها في سوق Cloud application

لنبدأ على بركة الله

1-SEQUENCE Object

لعل اول ميزة قد تجلب الانتباه والتي تم تسليط الضوء عليها كثيرآ من قبل مايكروسوفت هو SEQUENCE Object وهو عبارة عن كائن تسلسلي يستخدم من اجل انشاء سلسلة من القيم الرقمية استنادآ الى الخصائص التي حددت اثناء انشاءه, من ميزاته هو اننا نستطيع ان ننشأ هذا الكائن ويقوم بتوليد قيم بشكل تصاعدي او تنازلي وكذلك يمكننا من ان نقوم بأعداد هذا الكائن لكي يدور ويعيد نفسه من البداية عند وصوله للنهاية (اي يدور بنفس الحلقة التكرارية ) ,وعالعكس من خاصية Columns Identity فأنه لا يرتبط مع الجداول >>

الجميل بهذا الكائن الجديد أنه بأمكانك ان تقوم بأستدعاء القيمة الجديدة للمتسلسلة وان تتوقعها وذلك من خلال جملة NEXT VALUE FOR SeqNAme.

يجدر بالاشارة ان العلاقة بين هذا الكائن والجداول تتم عن طريق البرامج والتطبيقات

جملة انشاء هذا الكائن

كود :
CREATE SEQUENCE [schema_name . ] sequence_name
    [ AS [ built_in_integer_type | user-defined_integer_type ] ]
    [ START WITH <constant> ]
    [ INCREMENT BY <constant> ]
    [ { MINVALUE [ <constant> ] } | { NO MINVALUE } ]
    [ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ]
    [ CYCLE | { NO CYCLE } ]
    [ { CACHE [ <constant> ] } | { NO CACHE } ]
    [ ; ]

مثال حول انشاء هذا الكائن

كود :
CREATE SEQUENCE testSchema.eGilgameshSeq
START WITH 1
INCREMENT BY 1
MINVALUE 1
NO MAXVALUE
NO CYCLE;

لشرح الكود السابق نجد ان الكائن السلسلة يبدأ عند القيمة 1 ويزداد بمقدار واحد في كل مرة يتم استدعاء Next value for كما انه ليس هناك حد اقصى لهذا Sequence اي انه سوف يتكرر الى مالانهاية
مع الملاحظة ان القيمة التي ابتدأ بها (start with) هذا الكائن يجب ان تكون قيمة لا تكون اكبر او تساوي الـ MaxValue وبنفس الوقت يجب ان تكون أقل او تساوي الـ Minvalue, وفي حالة عدم ذكر قيمة الخاصية Start with فأنها سوف تأخذ القيمة الافتراضية والتي تساوي الـ minvalue

مثال ثاني

كود :
CREATE SEQUENCE  testSchema.eGilgameshSeq2
START WITH -10
INCREMENT BY 1
MINVALUE 1
MAXVALUE 10
CYCLE;

شرح المثال :نجد ان الكائن Sequence يبدأ بالقيمة -10 ويزداد بمقدار واحد وصولآ للقيمة 10 وكذلك في هذا المثال نجد ان الخاصية Cycle فعالة اي انه بمجرد ان تنتهي الدورة الاولى للـ Sequence سوف يعيد نفسه ولكن هذه المرة ليس من نفس المنطقة التي انطلق منها بل من قيمة الحد الادنى.....


ولاستخدام قيم الـ Sequence نقوم بأستخدام جملة"NEXT VALUE FOR " كما ذكرنا سابقآ كالمثال التالي


كود :
SELECT NEXT VALUE FOR  testSchema.eGilgameshSeq as IdentityFromSequence;

الكود الاخير يقوم بأسترجاع القيمة الحالية للكائن testSchema.eGilgameshSeq مهما كانت قيمته ومن ثم يقوم بزيادته حسب ما جاء في الـ Rule عندما انشئناه

اسلوب اخر لأستخدام هذا الكائن في جملة الـ Insert

كود :
INSERT testTable (myColumn)
VALUES (NEXT VALUE FOR testSchema.eGilgameshSeq);


كما يمكننا من اسناد قيمته لمتغير خاص كما في المثال التالي

كود :
SET @x=NEXT VALUE FOR testSchema.eGilgameshSeq;

يتبقى ان نشير الى فائدة الخاصية CACHE , فهي تقوم بزيادة فعالية وتحسين اداء التطبيقات التي تستخدم الكائن sequence وذلك من خلال تقليل عدد الـ disk IOs المستخدمة والمطلوبة لأنشاء وتوليد المتسلسلة الرقمية
على سبيل المثال، إذا تم اختيار CACHE من 50، SQL Server لايقوم بالاحتفاظ بـ 50 قيمة مخزنة بشكل مؤقت. بل انه يقوم فقط بتخزين القيمة الحالية وترك عدد من القيم الموجودة في ذاكرة التخزين المؤقت. هذا يعني أن كمية الذاكرة المطلوبة لتخزين ذاكرة التخزين المؤقت هو دائما عبارة عن two instances من نوع بيانات كائن التسلسل.


يجدر الاشارة الى أن هذا الكائن هو كائن مرتبط بالسكيما حاله حال العناصر الاخرى المتواجدة في السيكوال....
اي ان استخدام احد هذه الجمل CREATE SEQUENCE, ALTER,control يحتاج الى صلاحية (permission) في السكيما التي سوف يرتبط بها هذا الكائن وذلك عن طريق
اعطاء التخويل بالـ Database rule التالي

1-db_owner و db_ddladmin لكي يمكننا من استخدام Create ,Control,Alter
2-db_owner و db_datawriter لكي يمكننا من استخدام جملة "next value for " من اجل استدعاء القيمة الجديدة للـ Sequence .

وللمزيد من المعلومات حول هذا الكائن تفضل بزيارة الرابط
http://msdn.microsoft.com/en-us/library/ff878091(v=sql.110).aspx


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - عمر المستشار - 02-10-12

كائن ولا اروع عاشت الايادي شرح جميل


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - كلكامش الألكتروني - 02-10-12

إقتباس :كائن ولا اروع عاشت الايادي شرح جميل

حبيبي عمر مشتاقين قلبي
منور صديقي خلينا نسمع اخبارك الطيبة ^_^


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - كلكامش الألكتروني - 02-10-12

اتمنى لو يتم نقله لقسم مقالات السيكوال سيرفر


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - smss - 03-10-12

تم النقل الى القسم المناسب


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - كلكامش الألكتروني - 03-10-12

smss كتب :تم النقل الى القسم المناسب

اشكرك حبي ممنون منك


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - smss - 03-10-12

اى خدمة حبيبي _^_^//اتمني مواصل الدروس


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - كلكامش الألكتروني - 04-10-12

إقتباس :اى خدمة حبيبي _^_^//اتمني مواصل الدروس

نسأل الله دوام العافية والصحة فأنها الوحيدة التي تمنعنا من المواصلة
ان شاء الله على تواصل من اجل تحقيق الغاية المبتغاة من المنتدى


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - محمد الساعدي - 04-10-12

عودتنا اناملك الرائعة على مواضيعك الشيقة
تقبل مروري وتحياتي


الحلقة الثانية: الجديد في السيكوال سيرفر 2012 - كلكامش الألكتروني - 05-10-12

إقتباس :عودتنا اناملك الرائعة على مواضيعك الشيقة
تقبل مروري وتحياتي

لك مني خالص الود اخي محمد منور الموضوع نتمنى ان نرى ابداعك