
يكي از مهمترين بخش هاي هر بانك اطلاعاتي و يا بهتر بگم بزرگترين مزيت يك بانك اطلاعاتي نسبت به جدول هاي ساده امكان برقراري ارتباط بين جدول ها ي آن است.
مزيت هاي برقراري ارتباط بين جداول:
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) برمي گردد.
موفق باشيد
سلام
اگه با تبادل لينک موافقي منو با عنوان:سايت تفریح کلاب
لينک کن و در اين قسمت خبرم http://tafrihclubb.mihanblog.com/post/comment/1
کن تا با چه نامي لينکت کنم
یا خبر کنید لینکتون کنم سپس لینکمون کنید فرقی نداره
http://www.tafrihclub.com/
سايت تفریح کلاب
حد اکثر 4 ساعت بعد لینک خواهید شد
عالی مثل همیشه
با عرض سلام
وب پر محتوا وجالبی دارید
با تشکر