امکانات و تفاوتهای نسخه های sql server

تفاوتهای نسخه های sql server بخش 2

توسط admin | گروه sql | 1396/03/13

نظرات 0

 امکانات اضافه شده به SQL

عملا تمام فروشندگان امکانات اضافه ای را SQL افزوده اند. این گونه امکانات اضافی ویژه همان نسخه بوده و عموما قابل استفاده در نسخههای دیگر نیستند. اما امکانات اضافی استاندارد مشهور توسط ANSI بررسی و مرور شده و گاهی اوقات به عنوان بخشی از استاندارد جدید پیاده سازی می‌شوند.
PL/ SQL که محصول شرکت اراکل می‌باشد و Travsact- SQL که توسط Sybase و میکروسافت SQL Server مورد استفاده قرار می‌گیرد، دونمونه از امکانات اضافی استاندارد هستند. هر دو ویژگی به طور نسبتا مفصل در مثالهای این فصل بررسی می‌شوند.
 
مثالهایی از امکانات اضافی برخی نسخه های SQL
PL/ SQL و Travsact- SQL از زبانها برنامه سازی نسل چهارم به شمار می‌آیند. هر دو در مقایسه با SQL که یک زبان غیر پروسیجرال است، پروسیجرال می‌باشند.
زبان غیر پروسیجرال SQL دستورات ذیل را دارد:
INSERT
UPDATE
DELETE
SELECT
COMIT
ROLLBACK
آن دسته از نسخه های SQL که امکانات اضافی دارند، علاوه بر دستورات فوق و توابع SQL استاندارد، موارد ذیل را نیز در بر می‌گیرند.
تعریف متغیرها
افزایش متغیرها
تعریف Cursor ها
تبدیل تاریخ ها
دستورات شرطی
عملگرهای جانشین
حلقه ها
trigger  ها
مدیریت خطا
رویه های ذخیره شده
 
این دستورات به برنامه ساز امکان می‌دهد تا در یک زبان محاوره ای کنترل بیشتری بر شیوه مدیریت داده ها داشته باشد.
توجه: SQL استاندارد اصولا یک زبان غیر پروسیجرال است، بدین معنا که دستورات برای سرویس دهنده بانک اطلاعاتی صادر می‌شود. سرویس دهنده بانک اطلاعاتی تصمیم می‌گیرد که دستور را چگونه به طور بهینه اجرا کند. زبانهای پروسیجرال نه تنها به برنامه ساز امکان می‌دهند که بازیابی یا پردازش داده ها را درخواست کند، بلکه برای سرویس دهنده دقیقا مشخص می‌کند که درخواست را چگونه اجرا کند.
 
Travsact- SQL
Travsact- SQL یک زبان پروسیجرال است، بدین معنا که چگونگی و محل پیدا کردن و پردازش داده ها توسط شما برای بانک اطلاعاتی مشخص می‌شود؛ SQL یک زبان غیر پروسیجرال است و بانک اطلاعاتی درباره شیوه محل انتخاب و پردازش داده ها تصمصیم می‌گیرد. برخی از قابلیت های مهم Travsact- SQL عبارتند از: تعریف متغیرهای محلی و عمومی، cursor ها، مدیریت خطا، triggerها، رویه ای های ذخیره شده، حلقه ها، عملگرهای جانشین، تبدیل تاریخ ها و گزارشهای خلاصه.
مثالی از یک دستور در ذیل نشان داده شده است:
 
IF (SELECT AVG (COST) FROM PRODUCTS_TBL) > 50
BEGIN
PRINT "LOWER ALL COSTE BY 10 PERCENT."
END
ELSE
PRINT "COSTS ARE REASONABLE."
END
 
تحلیل: دستور بالا یک دستور بسیار ساده در Travsact- SQL است. این دستور مشخص می‌کند که اگر میانگین در جدول PRODUCTS_TBL بزرگتر از 50 باشد، در آن صورت پیام "LOWER ALL COSTE BY 10 PERCENT." نمایش داده می‌شود. چنانچه کیانگین قیمت کمتر یا مساوی 50 باشد، پیام "COSTS ARE REASONABLE." نمایش داده می‌شود. 
به کاربرد دستور IF … ELSE برای ارزشیابی شرطهای مقادیر داده ها توجه کنید. دستور PRINT جدید است. این گزینه های اضافی تنها بخش بسیار ناچیزی از قابلیت های Travsact- SQL هستند.
 
PL/ SQL
PL/ SQL محصوا اراکل است. همچون Travsact- SQL ، PL/ SQL نیز یک زبان پرسیجرال است. دستورات PL/ SQL به صورت بلوکهای منطقی سازماندهی می‌شوند. در هر بلوک سه قسمت وجود دارد که دو مورد از آنها اختیاری هستندو نخستین قسمت DECLARE است که اختیازی است. دومین قسمت PROCEDURE نام دارد. این قسمت دربرگیرنده دستورات اختیاری SQL است. این قسمت همان محل کنترل بلوک است. این قسمت یک قسمت اجباری ایت. قسمت سوم، EXCEPTION نام دارد. این قسمت تعیین می‌کند که برنامه خطاها و استثناهای تعریف شده کاربر را چگونه مدیریت کند. این قسمت نیز همچون قسمت نخست اختیاری است. عناوین مهم PL/ SQL عبارتند از: استفاده از متغیرها، ثابت ها، cursor ها، صفات مشخصات، حلقه ها، مدیریت استثناها، نمایش خروجیها برای برنامه ساز، کنترل تراکنشی، رویه های ذخیره شده، triggerها و package ها.
 
مثالی از یک دستور PL/ SQL در ذیل نشان داده شده است:
 
DECLARE
CURSOR EMP_CURSOR IS SELECT EMP_ID, LAST_NAME, FRIST_NAME, MID_INIT.
FROM EMPLOYEE_TAB;
BEGIN
OPEN EMP_CURDOR;
LOOP
FETCH EMP_CURSOR INTO EMP_REC;
EXIT WHEN EMP_CUPSOR&NOTEFOUND;
IF (EMP_REC. MID_INIT IS NULL) THEN
UPDATE EMPLOYEE_TBL
SET MID_INIT = 'X'
WHERE EMP_ID = EMP_REC. EMP_ID;
COMMIT;
END IF;
END LOOP;
CLOSE EMP_CURSORE;
END;
 
تحلیل: دو قسمت از سه قسمت ممکن در این مثال مورد استفاده قرار گرفته اند: قسمتهای DECLARE و PROCEDURE. نخست، cursor ی به نام EMP_CURSOR توسط یک پرس و جو تعریف می‌شود. دوم، متغیری به نام EMP_REC تعریف می‌شود که نوع داده آن همچون هر ستون cursor است. نخستین گام در قسمت PROCEDURE، بازکردن cursor است. پس بازشدن cursor هریک از رکوردهای آن با استفاده از دستور LOOP تا رسیدن به END LOOP پردازش می‌شوند. جدول EMPLOYEE_TAB باید برای تمامی سطرهای cursor به روز رسانده شود، چنانچه نام میانی یک کارمند تهی باشد. به روز رسانی سبب
تغییر نام میانی به 'X' می‌شود. تغییرات اعمال شده و cursor در پایان بسته می‌شود.
 
دستورات محاوره ای SQL
دستورات محاوره ای SQL دستوراتی هستند که پیش از اجرای کامل، یک متغیر، پارامتر یا نوعی داده را درخواست می‌کنند. فرض کنید یک دستور محاوره ای SQL دارید. دستور برای ایجاد کاربران یک بانک اطلاعاتی مورد استفاده قرار می‌گیرد. دستور ممکن است برای دریافت اطلاعاتی چون ID کاربر، نام کاربر، و شماره تلفن اعلام آمادگی کند. دستور ممکن است برای یک یا چند کاربر باشد و تنها یک مرتبه اجرا شود. در غیر این صورت هر کاربر باید به طور مجزا توسط دستور CRESTE USER ایجاد شود. دستور SQL ممکن است برای دریافت حقوق دستیابی نیز اعلام آمادگی کند. تمام نسحههای SQL دارای این گونه دستورات نیستند؛ می‌بایست نسخه مورد استفاده خود را مطالعه کنید. قسمتهای ذیل برخی از مثالهای SQL محاوره ای را با استفاده از اراکل نشان می‌دهند.
 
استفاده از پارامترها
پارامترها، متغیرهایی هستند که در SQL نوشته می‌شوند و در یک برنامه کاربردی قرار می‌گیرند. پارامترها را می‌توان در طی اجرا به یک دستور SQL ارسال نمود. و انعطاف پذیری بیشتری را در حین اجرای دستور برای کاربر فراهم نمود. بسیاری از نسخه های اصلی SQL استفاده از این پارامتها را فراهم می‌کنند. قسمتهای ذیل مثالهایی از ارسال پارامترها را برای اراکل و Sybase نشان می‌دهند.
 
اراکل
پارامترها را می‌توان در اراکل به یک دستور محاوره ای ارسال نمود.
 
SELECT EMP_ID, LAST_NAME, FRIST_NAME
FROM EMPLOYEE_TBL
WHERE EMP_ID = '&EMP_ID'
 
دستور SQL بالا شماره شناسایی کارمند، نام خانوادگی و نام کارمندی را برمی گرداند که ID وی وارد می‌شود.
 
SELECT *
FROM EMPLOYEE_TBL
WHERE CITY = '&CITY'
AND STATE = '&STATE'
 
دستور بالا برای دریافت شهر و ایالت اعلام امادگی می‌کند. پرس و جو، تمام داده های کارمندان ساکن در شهر و ایالت وارد شده را برمی گرداند.
 
Sybase
پارامترها را در Sybase می‌تواند به یک رویه ذخیره شده ارسال نمود.
 
CREATE PROC EMP_SEARCH
(EMP_ID)
AS
SELECT LAST_NAME, FRIST_NAME
FROM EMPLOYEE_TBL
WHERE EMP_ID = EMP_ID
دستور زیر را برای اجرای رویه تایپ نموده و پارامتری ارسال کنید:
SP_EMP_SEARCH "443679012"
 
خلاصه
در این مقاله امکانات اضافی که در بین نسخههای مختلف SQL وجود دارند، و سازگاری آنها با استاندارد ANSI بررسی شده است. پس از یادگیری SQL به آسانی می‌توانید دانش خود و – برنامه ها – را در سایر نسخه های SQL به کار برید. برنامه های SQL در نسخههای مختلف آن قابل اجرا هستند، بدین نعنا که بیشتر برنامه های SQL را می‌توان با قدری تغییر در بیشتر نسخههای SQL به کار برد.
در آخرین قسمت این فصل دو نسخه ای مورد بررسی قرار گرفتند که در نحصول سه شرکت مورد استفاده قرار می‌گیرند. Travsact- SQL توسط SQL Server و Sybase مورد استفاده قرار می‌گیرند و PL/ SQL توسط اراکل. نکته ای که باید به آن توجه داشت آن است که این دو نسخه ابتدا با استاندارد سازگار شده اند، و سپس برای بازدهی بیشتر به محصولات افزوده شده اند. این فصل برای آن است که شما را نسبت به ویژگیهای اضافی SQL آگاه سازد و اهمیت سازگاری محصولات شرکتها با استانداردهای ANSI SQL را بیاموزد.
اگر آنچه را که در این کتاب فراگرفته اید، به کارببرید – برنامه های خود را بنویسید، آزمایش کنید و دانش خود را فرونی بخشید. – در آن صورت یقینا در مسیر خبره شدن در SQL قرار خواهید گرفت. شرکتها داده های زیادی دارند و نمی‌توانند بدون وجود بانکهای اطلاعاتی عمل کنند. بانک های اطلاعاتی رابطه ای است، تصمیم فراگیری SQL یک تصمیم ایده آل است. موفق باشید.
 
پرسش و پاسخ
پرسش: چرا تفاوتهایی بین SQL وجود دارد؟
پاسخ: دلیل این امر، شیوه ذخیره سازی داده ها است. هدف فروشندگان، پیشی گرفتن در این رقابت و ایده های جدید است.
پرسش: آیا پس از فراگیری SQL استاندارد قادر به استفاده از نسخه های مختلف خواهم شد؟
پاسخ: آری، اما به خاطر داشته باشد که تفاوتهایی در بین نسخههای مختلف وجود دارد چارچوب اصلی کار با SQL در بیشتر نسخه ها یکسان است.
مدیریت کاربران بانک اطلاعاتی
در این فصل با یک یاز اساسی ترین اهداف هر بانک اطلاعاتی رابطه ای آشنا خواهید شد:مندیریت کاربران بانک اطلاعاتی . در این فصل با مفاهیم مربوط به ایجاد کاربران در SQL امنیت کاربر، کاربر در مقابل schema، پروفایل کاربر، صفات مشخصه کاربر، و ابزارهایی که کاربران به کار می‌برند، آشنا خواهید شد.
عناوین مهم این فصل عبارتند از:
انواع کاربران
مدیریت کابر
جایگاه کاربر در بانک اطلاعاتی
کاربر در مقابل schema
جلسات کاری کاربران
تغییر صفات مشخصه یک کاربر
پروفایل های کاربر
حذف کاربران از بانک اطلاعاتی
ابزارهای مورد استفاده کاربران
توجه: استانداردهای SQL از واژه شناسه مجوز (authID) برای شماره شناسایی کاربر بانک اطلاعاتی استفاده می‌کند. در بیشتر نسخههای اصلی SQL صرفه از واژه کاربران برای اطلاق به authIDها استفاده می‌شود. در این کتاب از واژگان کاربردی، کاربران بانک اطلاعاتی نامهای مابربری یا account کاربر برای این کار استفاده می‌شود. استاندارد SQL بیان می‌دارد که شناسه مجوز، نامی است که سیستم، کاربر بانک اطلاعاتی را با آن می‌شناسد.
 
دلیل کاربران هستند
کاربردان دلیل فصل هستند. فصل طراحی، ایجاد، پیاده سازی و نگهداشت هر بانک اطلاعاتی. زمانی که بانک اطلاعاتی طراحی می‌شود، نیازهای کاربران در نظر گرفته می‌شوند و هدف پایانی در پیاده سازی یک بانک اطلاعاتی، قرار دادن بانک اطلاعاتی در دسترس کاربران است؛ و کاربران نیز به نوبه خود از بانک اطلاعاتی که شما و احتمالا بسیاری از اشخاص دیگر در تولید آن دست داشته اند بهره مند می‌شوند.
یک دیدگاه متداول نسبت به کاربران آن است که اگر کاربر وجود نمی‌داشت، هیچ گاه عملی برروی بانک اطلاعاتی صورت نمی‌گرفت. اگرچه این امر گویای حقیقت است، با این وجود بانک اطلاعاتی برای ذخیره سازی داده ها ایجاد می‌شود تا کاربران بتوانند کارهای روزمره خود را انجام دهند.
اگرچه مدیریت کاربر وظیفه ضمنی مدیر بانک اطلاعاتی است، اما اشخاص دیگر نیز اغلب در فرآیند مدیریت کاربر شرکت دارند. مدیریت کاربر در چرخه حیات یک بانک اطلاعاتی ضروری است و در نهایت از طریق کاربرد مفاهیم و دستورات SQL مدیریت می‌شود، گرچه شیوه انجام این کار در نسخههای مختلف SQL متفاوت است.
 
انواع کاربران
انواع مختلفی از کاربران بانک اطلاعاتی مطرح هستند:
اشخاص مسئول وارد کردن داده ها
برنامه سازان
مهندسین سیستم
مدیران بانک اطلاعاتی
تحلیل گران سیستم
تولید کنندگان
آزمایش کنندگان
مدیریت
کاربر نهایی
هریک از انواع کاربران مذکور مجموعه وظایف (و مشکلات) خاص خود را دارند و تمام آنها برای ادامه کارهای روزانه و امنیت کارها ضروری هستند. به علاوه هر نوع کاربر سطوح مختلفی از دستبابی را در اختیار داشته و جایگاه خاص خود را در بانک اطلاعاتی دارد.
 
چه کسی کاربران را مدیریت می‌کند؟
کارکنان مدیریت یک شرکت مسئول مدیریت روزانه کاربران هستند؛ با این وجود، مدیر بانک اطلاعاتی با اشخاص منصوب شده دیگر در نهایت مسئوا مدیریت کاربران در بانک اطلاعاتی هستند.
مدیر بانک اطلاعاتی  معمولا ایجاد account های کاربری، نقشها، حقوق دستبابی، پروفایل ها و نیز حذف account های کاربری را مدیریت می‌کند. چون این کار در یک محیط بزرگ و فعال می‌تواند وظیفه دست و پاگیری شود، برخی از شرکتها یک مدیر امنیت  داردن که مدیر بانک اطلاعاتی را در فرآیند مدیریت کاربر یاری می‌رساند. مدیر امنیت در صورت انتصاب، معمولا مسئول کارهای کاغذی بوده و نیزهای کاری یک کاربر را ره مدیر بانک اطلاعاتی انتقال داده و به آگاهی مدیر بانک اطلاعاتی می‌رساند که کاربر چه وقت به بانک اطلاعاتی نیاز ندارد.
تحلیل گر سیستم ، یا مدیر سیستم معمولا مسئول امنیت سیستم عامل است و کاربران را ایجاد و حقوق دستیابی مناسبی را به آنها اختصاص می‌دهد. مدیر امنیت می‌تواند تحلیل گر سیستم را، همچون مدیریت بانک اطلاعاتی یاری کند.

 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر