کد خبر : 3254 تاریخ انتشار : یکشنبه 11 اکتبر 2009 - 14:27

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

Rate this post

5

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

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

1.مي توان با استفاده از چند جدول گزارش هايي را توليد كرد .

2. اشتباهات در ورود اطلاعات را كاهش داد.

3. تسريع در ورود و بازيابي اطلاعات

4.موجب ايجاد يكپارچگي خواهد شد.

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

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

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

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

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

عملگر هاي  join

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

نام جدول 2   cross join    نام جدول 1   from     فيلد هاي جدول اصلي  select

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

شرط on   نام جدول 2   iner join    نام جدول 1   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 مي شود.

جدول 1    from     نام فيلد ها   select

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

ايجاد view

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

روش اول:

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

روش دوم:

as نام ديد  create view

دستورات selelct

نكته1: تمامي دستورات( DDL(alter-drop-create كه روي جدول ها انجام مي شود براي ديد هاي نيز قابل انجام است.

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

نكته 3: استفاده از عبارت select into در ديدها غير مجاز است.

مثال:

ايجاد يك ديد از جدول دانش آموز فقط5ركورد مرتبط شده بر اساس شماره كه به 3 ختم نشوند.

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

مثال:

2نمره به نمره دانش آموزان درس رياضي در قالب 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) برمي گردد.

موفق باشيد

دسته بندی : آموزش ، برنامه نویسی
برچسب ها :
دیدگاهتان را بنویسید

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

reza در تاریخ 12 اکتبر 2009 گفته : پاسخ دهید

سلام
اگه با تبادل لينک موافقي منو با عنوان:سايت تفریح کلاب
لينک کن و در اين قسمت خبرم http://tafrihclubb.mihanblog.com/post/comment/1
کن تا با چه نامي لينکت کنم
یا خبر کنید لینکتون کنم سپس لینکمون کنید فرقی نداره
http://www.tafrihclub.com/
سايت تفریح کلاب
حد اکثر 4 ساعت بعد لینک خواهید شد

مسعود رضايي در تاریخ 12 اکتبر 2009 گفته : پاسخ دهید

عالی مثل همیشه

عباس در تاریخ 12 اکتبر 2009 گفته : پاسخ دهید

با عرض سلام
وب پر محتوا وجالبی دارید
با تشکر