آموزش SQl Server- جلسه پنجم

5

یکی از مهمترین بخش های هر بانک اطلاعاتی و یا بهتر بگم بزرگترین مزیت یک بانک اطلاعاتی نسبت به جدول های ساده امکان برقراری ارتباط بین  جدول ها ی آن است.

مزیت های برقراری ارتباط بین جداول:

۱٫می توان با استفاده از چند جدول گزارش هایی را تولید کرد .

۲٫ اشتباهات در ورود اطلاعات را کاهش داد.

۳٫ تسریع در ورود و بازیابی اطلاعات

۴٫موجب ایجاد یکپارچگی خواهد شد.

برای تعیین رابطه بین جداول باید از فیلد های مشترک استفاده کرد.فیلدی که براساس آن بین جداول ارتباط برقرار می شود در جدول اصلی کلید اصلی و در جدول فرعی کلید خارجی می نامیم.

روش اول برای ایجاد ارتباط:

باز کردن جدول در حالتDeisgn– راست کلیک  و انتخاب گزینه relationships

انتخاب گزینه new و انتخاب فیلد کلید اصلی از  هردو جدول اصلی و فرعی و انتخاب تنظیمات مناسب از گزینه های پایین پنجره

روش دوم برای ایجاد ارتباط:

عملگر های  join

cross join : توسط این نوع جوین لیستی از تمام رکورد های جدول فرعی تولید می شود به طوریکه هر رکورد جدول اصلی با رکورد جدول فرعی نظیر به نظیر ارتباط دارد.(ارتباط یک به یک)

نام جدول ۲   cross join    نام جدول ۱   from     فیلد های جدول اصلی  select

iner join :توسط این عملگر رکورد های از هر دو جدول طوری واکشی می شود که مقادیر غیر null مرتبط را نمایش می دهد.(نوعی ارتباط یک به چند)

شرط on   نام جدول ۲   iner join    نام جدول ۱   from     فیلد های جدول اصلی  select

مثال:(فیلد شماره  دانش آموزی به عنوان کلید اصلی در نظر گرفته شده است)

select   student .std_name,student.std_family   from

student   inerjoin   register   on

student.std_num = register . std_num

outer join

که شامل left,right,full می شود:

در این نوع جوین همه رکورد های مرتبط با جدول اصلی که در جدول فرعی وجود دارد حتی مقادیر null واکشی می شود.

left outer join : تمام رکورد های جدول اصلی را برمی گرداند و رکورد های مرتبط با جدول اصلی در جدول فرعی نمایش داده می شود و فیلدهایی که درجدول اصلی وجود دارد و در جدول فرعی وجود ندارد، null می شود.

right outer join :  تمام رکورد های جدول فرعی را برمی گرداند و رکورد های مرتبط با جدول اصلی در جدول فرعی نمایش داده میشود و فیلد های که در جدول اصلی وجود ندارد ولی در جدول فرعی وجود دارد، null   می شود.

full outer join: همه رکورد ها را برمی گرداند. در صورتی که یک رکورد از دو جدول نظیری نداشته باشد،null می شود.

جدول ۱    from     نام فیلد ها   select

شرط   on  جدول۲   left| right|full] outer join ]

ایجاد view

دید یا نما مجموعه ای از رکورد های بانک است که جهت دسترسی کابران بانک دسته بندی می شود. از مهمترین مزایای دید امنیت داده ها و عدم دسترسی کاربران غیر مجازبه داده  ها  و تسریع دسترسی به داده ها است. view یک جدول مجازی است.

روش اول:

بر روی شی view  در بانک اطلاعاتی راست کلیک کرده و گزینه new view را انتخاب می کنید.

روش دوم:

as نام دید  create view

دستورات selelct

نکته۱: تمامی دستورات( DDL(alter-drop-create که روی جدول ها انجام می شود برای دید های نیز قابل انجام است.

نکته ۲: استفاده از دستور orther by  و  compute by  در select تشکیل دهنده view غیر مجاز است مگر اینکه کلمه top را به کارببریم.

نکته ۳: استفاده از عبارت select into در دیدها غیر مجاز است.

مثال:

ایجاد یک دید از جدول دانش آموز فقط۵رکورد مرتبط شده بر اساس شماره که به ۳ ختم نشوند.

create view v_std as

select top 5 std_name,std _family , std_num

from student inerjoin register on

student.std_num = register.std_num

‘where   std_num  not like ‘%3

آشنایی با (transact sql  (t.s

مجموعه ای از دستورات sql   که همه با  هم اجرا می شوند یا لغو میشوند می تواند شامل if ، for،select و… باشد.

ساختار کلی:

نام   begin transaction

دستورات مورد نظر

commit transaction

مثال:

۲نمره به نمره دانش آموزان درس ریاضی در قالب t.s اضافه کنید.

begin transaction t1

update student set grade = grade+2

where std_num in

(‘select std_num from register where lessen_name=’math   )

commit transaction

در مقابل commit دستور rollback transaction رو داریم که همه دستورات مربوط به t.s را لغو می کند و بانک را به حالت قبل از اجرای آن برمی گرداند.

علاوه براین دو دستور(rollback و commit) دستور save transaction  را نیز داریم که یک نقطه ذخیره در داخل t.s تعیین می کند. بعد از این کلمه نام یک قسمت از برنامه را می آوریم.بعد از آوردن  کلمهsave transactiom معمولا با دستور rollback به نقطه ذخیره برمی گردیم.(به اولین نقطه)

begin transaction t1

.

.

.

save transaction 1

svae transaction 2

rollback transaction

commim transaction

بعد از رسیدن به rollback به اولین نقطه ذخیره (save transaction1) برمی گردد.

موفق باشید

برچسب‌ها :

توضیحات در مورد نویسنده :

مسعود رضایی هستم ، 23 ساله ، مدیر گروه نوجوان تک تمپ ، دانشجو ، علاقمند به طراحی وب سایت ، گرافیک و بازی های رایانه ای . هدف ما بالا بردن هنر گرافیک در بین هموطنان مان است .

Visit Masoud's Website



محصولات فروشگاه



<