HamidReza Ireh

حمیدرضا ایره

HamidReza Ireh

حمیدرضا ایره

۳۹ مطلب با موضوع «DataBase» ثبت شده است

بعنوان تعریف می‌توان اینگونه بیان نمود که تراکنش یک واحد کاری منطقی است که عملی را بر روی پایگاه داده انجام می‌دهد. عموما تراکنش‌ها دنباله ای از عملیات پایگاه داده هستند که رویه هم رفته انجام یک کار یا وظیفه را بر عهده دارند. نکته مهمی که در مورد تراکنش‌ها مطرح می‌شود اینست که آنها باید به گونه ای مدیریت شوند که پایگاه داده را از یک وضعیت سازگار و درست (consistent) به وضعیت سازگار دیگری ببرند. به بیان دیگر اگر تراکنش از چند عملیات تشکیل شده باشد، پس از پایان اجرای تمامی عملیات مربوط به تراکنش نباید در داده‌های پایگاه داده هیچ تناقضی با قوانین پایگاه داده (integrity rules) بوجود بیاید. مزیت استفاده از تراکنش نیز همین مسئله است که به توسعه دهنده نرم افزار این اطمینان را می‌دهد که صحت و درستی پایگاه داده در اثر اجرای دستورات او از بین نخواهد رفت. علاوه بر آن اگر در حین اجرای یکی از دستورات خللی ایجاد گردد، پایگاه داده دوباره به وضعیت سازگار قبلی خود باز گردانده خواهد شد. نسل‌های اولیه سیستم‌های مدیریت پایگاه داده فاقد پیاده سازی تراکنش بودند و بهمین دلیل توسعه دهندگان کار بسیار مشکلی در شبیه سازی این واحد‌های یکپارچه منطقی داشتند. خوشبختانه اکثر DBMS‌های امروزی این مفهوم مهم را پشتیبانی می‌کنند و نیازی به نگرانی در مورد پیاده سازی آن نیست. تنها کاری که لازم است انجام گیرد کسب مهارت در زمینه استفاده از آنهاست.

مقدمه
SQL Server، با هر تقاضا به عنوان یک واحد مستقل رفتار می‌کند. در وضعیت‌های پیچیده ای که فعالیت‌ها توسط مجموعه ای از دستورات SQL انجام می‌شود، به طوری که یا همه باید اجرا شوند یا هیچکدام اجرا نشوند، این روش مناسب نیست. در چنین وضعیت هایی، نه تنها تقاضاهای موجود در یک دنباله به یکدیگر بستگی دارند، بلکه شکست یکی از تقاضاهای موجود در دنباله، به معنای این است که کل تقاضاهای موجود در دنباله باید لغو شوند، و تغییرات حاصل از تقاضاهای اجراشده در آن دنباله خنثی شوند تا بانک اطلاعاتی به حالت قبلی برگردد.

این دستور برای ویرایش یا تغییر عناصر است.
مثلاً با این دستور می توان یک ستون از جدولی را حذف کرد یا محتویات داخل SELECT را تغییر داد.
مثال: می خواهیم Query بنویسیم که 3 ستون به جدول Sales اضافه کند.

ALTER Table Sales
ADD PCategory nvarchar(20),
Column1 int,
Column2 decimal(18,3)

Rule یکی از امکانات جالب SQLserver میباشد که با استفاده از آن می توانیم داده های ثبت شده در بانک را اعتبار سنجی نمود. Rule ها تراکنش هایی از دستورات SQL که عموما متشکل از جملات شرطی هستند تشکیل شده است که وظیفه بالابردن اطمینان از صحت اطلاعات وارد شده را دارد.
یک Rule می تواند به فیلد خاص و یا نوع داده ای تعریف شده توسط کاربر اختصاص یابد تا محدودیتهایی را در ورود اطلاعات به فیلد خاصی اعمال کند . از جمله Rule هایی که در برنامه های فارسی کاربرد فراوانی دارد Rule تاریخ شمسی است که بازه هایی از روز و ماه و سال را که کاربر مجاز به ورود آنهاست را تعیین می کند و بدیهی است که مقادیر نامطلوب برای بانک هیچ گاه به بانک وارد نخواهند شد.
 

Trigger ها نوع خاصی از Stored Procedure ها هستند که مستقیما توسط کاربر قابل اجرا نیستند . هنگامی که یک Trigger  ساخته می شود  در زمان تغییر خاصی روی کل جدول و یا ستون خاصی از آن رویه ذخیره شده در Trigger  فراخوانی می شود .
یک Trigger در پاسخ به جملات INSERT, UPDATE, DELETE فراخوانی می شود . و می تواند پرس و جویی از جدول های دیگر ویا دستورات مرکب SQL  باشد. اگر Server با مشکلی مانند پر شدن محل ذخیره داده مواجه شود تمام تراکنش به طور خودکار بازگشت داده می شود .

unique در دستورات SQL باعث میشود که فیلد مورد نظر در database یکتا شناخته شود.
primery key  و unique در واقع تضمین یکتا بودن فیلد مورد نظر در جدول ما میشود.
در یک primery key  به طور خودکار دستور  unique  وجود دارد.
نکته: در یک جدول پایگاه داده ای شما میتوانید چندین unique  را داشته باشید اما فقط یک  primery key  میتوانید داشته باشید.