۱
subtitle
ارسال: #۱
  
تعریف کلید خارجی :
سلام
کسی میتونه یه تعریف از یکی از رفرنس ها در مورد کلید خارجی بنویسه اینجا :
تعاریف مدرسان و پارسه همخوانی دارن و اما با تعریف مقسمی همخوانی نداره و این عدم همخوانی در یکی از سوالات سراسری ۸۸ ایجاد مشکل میکنه یه جورایی.
ممنون میشم کسی از یه رفرنس مثل رانکوهی یا یه رفرنس دیگه تعریف کلید خارجی رو بگذاره
کسی میتونه یه تعریف از یکی از رفرنس ها در مورد کلید خارجی بنویسه اینجا :
تعاریف مدرسان و پارسه همخوانی دارن و اما با تعریف مقسمی همخوانی نداره و این عدم همخوانی در یکی از سوالات سراسری ۸۸ ایجاد مشکل میکنه یه جورایی.
ممنون میشم کسی از یه رفرنس مثل رانکوهی یا یه رفرنس دیگه تعریف کلید خارجی رو بگذاره
۲
ارسال: #۲
  
RE: تعریف کلید خارجی :
سلام. کتاب دکتر رانکوهی:
تعریف در عمل: ستون C از جدول T2 در این جدول، کلید خارجی است هرگاه در جدول T1، کلید اسلی باشد.
تعریف تئوریک: رابطه های R1 و R2 (نه لزوما متمایز) را در نظر می گیریم. هر زیرمجموعه از صفات رابطه ی R2 که مقدار معلومش با یک مقدار از کلید کاندید رابطه ی R1 برابر باشد، کلید خارجی در رابطه ی R2 است.
به بیان دیگر صفت Ai (ساده یا مرکب) از رابطه ی R که هر مقدار معلومش از میدانی باشد که حداقل یک کلید کاندید، Ai، از آن بگیرد، کلید خارجی R است. بدیهی است اگر صفات Ai و Aj هر دو در یک رابطه باشند باید دو نام متمایز داشته باشند. بنابراین با توجه به مفهوم میدان کاندید می گوییم کلید خارجی یک رابطه صفت ساده یا مرکبی است که از یک میدان کاندید (یا میدان اصلی) مقدار بگیرد و می تواند همنام یا ناهمنام با کلید کاندید باشد.
با توجه به آن چه گفته شد:
صفت(صفات) کلید خارجی باید هم میدان با صفت (صفات) کلید کاندید باشد(باشند) (و معمولاََ همنام با کلید کاندید است، و گاه لازم می شود که نام دیگری داشته باشد.)
بدیهی است اگر رابطه ی R1 فقط یک کلید کاندید داشته باشد، در تعریف بالا به جای کلید کاندید می توان کلید اصلی را به کار برد.
توجه داریم که رابطه می تواند کلید خارجی نداشته باشد. بنابراین اگر N تعداد کلیدهای خارجی یک رابطه باشد، داریم : [tex]N\ge0[/tex]
پاسخ سوال سال ۸۸:
رد گزینه ی ۱ غلط: کلید خارجی یک رابطه لزوماََ کلید کاندید رابطه نیست.
رد گزینه ی ۲: کلید خارجی حتما باید کلید کاندید رابطه ی دیگری باشد اما لزوماََ کلید اصلی آن نیست.
رد گزینه ی ۳: کلید خارجی می تواند ساده یا مرکب باشد.
گزینه ی ۴ پاسخ سوال است.
تعریف در عمل: ستون C از جدول T2 در این جدول، کلید خارجی است هرگاه در جدول T1، کلید اسلی باشد.
تعریف تئوریک: رابطه های R1 و R2 (نه لزوما متمایز) را در نظر می گیریم. هر زیرمجموعه از صفات رابطه ی R2 که مقدار معلومش با یک مقدار از کلید کاندید رابطه ی R1 برابر باشد، کلید خارجی در رابطه ی R2 است.
به بیان دیگر صفت Ai (ساده یا مرکب) از رابطه ی R که هر مقدار معلومش از میدانی باشد که حداقل یک کلید کاندید، Ai، از آن بگیرد، کلید خارجی R است. بدیهی است اگر صفات Ai و Aj هر دو در یک رابطه باشند باید دو نام متمایز داشته باشند. بنابراین با توجه به مفهوم میدان کاندید می گوییم کلید خارجی یک رابطه صفت ساده یا مرکبی است که از یک میدان کاندید (یا میدان اصلی) مقدار بگیرد و می تواند همنام یا ناهمنام با کلید کاندید باشد.
با توجه به آن چه گفته شد:
صفت(صفات) کلید خارجی باید هم میدان با صفت (صفات) کلید کاندید باشد(باشند) (و معمولاََ همنام با کلید کاندید است، و گاه لازم می شود که نام دیگری داشته باشد.)
بدیهی است اگر رابطه ی R1 فقط یک کلید کاندید داشته باشد، در تعریف بالا به جای کلید کاندید می توان کلید اصلی را به کار برد.
توجه داریم که رابطه می تواند کلید خارجی نداشته باشد. بنابراین اگر N تعداد کلیدهای خارجی یک رابطه باشد، داریم : [tex]N\ge0[/tex]
پاسخ سوال سال ۸۸:
رد گزینه ی ۱ غلط: کلید خارجی یک رابطه لزوماََ کلید کاندید رابطه نیست.
رد گزینه ی ۲: کلید خارجی حتما باید کلید کاندید رابطه ی دیگری باشد اما لزوماََ کلید اصلی آن نیست.
رد گزینه ی ۳: کلید خارجی می تواند ساده یا مرکب باشد.
گزینه ی ۴ پاسخ سوال است.
ارسال: #۳
  
RE: تعریف کلید خارجی :
(۳۱ شهریور ۱۳۹۵ ۰۹:۰۷ ب.ظ)Pure Liveliness نوشته شده توسط: سلام. کتاب دکتر رانکوهی:ممنون.
تعریف در عمل: ستون C از جدول T2 در این جدول، کلید خارجی است هرگاه در جدول T1، کلید اسلی باشد.
تعریف تئوریک: رابطه های R1 و R2 (نه لزوما متمایز) را در نظر می گیریم. هر زیرمجموعه از صفات رابطه ی R2 که مقدار معلومش با یک مقدار از کلید کاندید رابطه ی R1 برابر باشد، کلید خارجی در رابطه ی R2 است.
به بیان دیگر صفت Ai (ساده یا مرکب) از رابطه ی R که هر مقدار معلومش از میدانی باشد که حداقل یک کلید کاندید، Ai، از آن بگیرد، کلید خارجی R است. بدیهی است اگر صفات Ai و Aj هر دو در یک رابطه باشند باید دو نام متمایز داشته باشند. بنابراین با توجه به مفهوم میدان کاندید می گوییم کلید خارجی یک رابطه صفت ساده یا مرکبی است که از یک میدان کاندید (یا میدان اصلی) مقدار بگیرد و می تواند همنام یا ناهمنام با کلید کاندید باشد.
با توجه به آن چه گفته شد:
صفت(صفات) کلید خارجی باید هم میدان با صفت (صفات) کلید کاندید باشد(باشند) (و معمولاََ همنام با کلید کاندید است، و گاه لازم می شود که نام دیگری داشته باشد.)
بدیهی است اگر رابطه ی R1 فقط یک کلید کاندید داشته باشد، در تعریف بالا به جای کلید کاندید می توان کلید اصلی را به کار برد.
توجه داریم که رابطه می تواند کلید خارجی نداشته باشد. بنابراین اگر N تعداد کلیدهای خارجی یک رابطه باشد، داریم : [tex]N\ge0[/tex]
پاسخ سوال سال ۸۸:
رد گزینه ی ۱ غلط: کلید خارجی یک رابطه لزوماََ کلید کاندید رابطه نیست.
رد گزینه ی ۲: کلید خارجی حتما باید کلید کاندید رابطه ی دیگری باشد اما لزوماََ کلید اصلی آن نیست.
رد گزینه ی ۳: کلید خارجی می تواند ساده یا مرکب باشد.
گزینه ی ۴ پاسخ سوال است.
خیلی لطف کردید. تعریفش واقعا خوب هست. انگار تست مستقیم از روی این کتاب طرح شده، هم این تست و هم تست های دیگه.
اینم بگم خدمت دوستان که تعریف پارسه و مدرسان به درد خودشون میخوره فقط.
من این تعریف رو پرینت میگرم حتما
۰
ارسال: #۴
  
RE: تعریف کلید خارجی :
(۳۱ شهریور ۱۳۹۵ ۰۸:۳۱ ب.ظ)samanbeigmiri نوشته شده توسط: سلام
کسی میتونه یه تعریف از یکی از رفرنس ها در مورد کلید خارجی بنویسه اینجا :
تعاریف مدرسان و پارسه همخوانی دارن و اما با تعریف مقسمی همخوانی نداره و این عدم همخوانی در یکی از سوالات سراسری ۸۸ ایجاد مشکل میکنه یه جورایی.
ممنون میشم کسی از یه رفرنس مثل رانکوهی یا یه رفرنس دیگه تعریف کلید خارجی رو بگذاره
در جواب سوال شما :
۱ - یک فیلد یا مجموعه ای از فیلدها در T1 می باشد که بطور اختصاصی ستونی از T2 را شناسایی می کند (Identification)
۲ - کلید خارجی در یک T2 تعریف میشود در حالی که به P.K از T1 اشاره دارد. (Refering)
۳ - بعنوان مثال Stu_tbl دارای P.K بنام Stu_id هستش در حالی که Stu_details یک F.K دارد که به Stu_id اشاره می کند (Refers) که باعث ارتباط Stu_tbl & Stu_details میشود.
۴ - جدولی که F.K را در خود دارد Child Table نامیده میشود و جدولی که C.K را در اختیار دارد Parent Table یا Referenced نام دارد.
۵ - یک R می تواند فاقد FK باشد پس اگر N تعداد FK از R باشد داریم : N>=0
۶ - FK برای نشان دادن ارتباطات صریح بین Entity ها و Instance های آنها بکار می رود.
۷ - علامت Fk خط چین زیر آن است.
۸ - Redundancy از معایب Fk است
۹ همچنین طول Ck طولانی میشود اگر FK جزه تشکیل دهنده آن باشد.
قطعه کد برای درک بهتر :
کد:
CREATE TABLE Supplier (
SupplierNumber INTEGER NOT NULL,
Name VARCHAR(20) NOT NULL,
Address VARCHAR(50) NOT NULL,
Type VARCHAR(10),
CONSTRAINT supplier_pk PRIMARY KEY(SupplierNumber),
CONSTRAINT number_value CHECK (SupplierNumber > 0) )
CREATE TABLE Invoices (
InvoiceNumber INTEGER NOT NULL,
SupplierNumber INTEGER NOT NULL,
Text VARCHAR(4096),
CONSTRAINT invoice_pk PRIMARY KEY(InvoiceNumber),
CONSTRAINT inumber_value CHECK (InvoiceNumber > 0),
CONSTRAINT supplier_fk FOREIGN KEY(SupplierNumber)
REFERENCES Supplier(SupplierNumber)
ON UPDATE CASCADE ON DELETE RESTRICT )
شاهد مثال :
کد:
SupplierNumber به ترتیب نقش کلید اصلی و کلید خارجی را ایفا میکند[/align]
۳
ارسال: #۵
  
RE: تعریف کلید خارجی :
ضمن سپاس مجدد من با بررسی پاسخ کاربر گرامی Pure Liveliness که از کتاب رانکوهی هست با تعاریف لازم تکلیف این کلید خارجی رو یک سره میکنم با پاره ای از توضیحات از کتب مختلف.(دوس دارم این پاسخ برای بعد بمونه به همین دلیل تکمیل میکنم)
طبق تعریف کلید خارجی داریم : هر زیر مجموعه از صفات رابطه ی R2 که مقدار معلومش با یک مقدار از کلید کاندید رابطه ی R1 برابر باشد کلید خارجی در رابطه ی R2 است.
دقت کنید که در اینجا گفته است کلید کاندید : چیزی که از کلید کاندید میشود استخراج کرد دو کلید هست :
۱)کلید اصلی : کلید کاندیدی که توسط DBA مشخص میشود
۲)کلید فرعی (Alternatiive Key OR Secondary Key) : کلید کاندیدی است که برای کاربرد های خاص به کار میرود.
نکته : اگر یک رابطه دارای n کلید کاندید باشد یکی از آن ها کلید اصلی و n-1 کلید دیگر کلید فرعی هستند.
یه مثال :
[tex]R1(\ast A\: ,\: B\: ,\: C\: ,\: D\: ,\: E)[/tex]
و
[tex]R2(A\: ,\: B\: ,\: l\: ,\: D\: ,\: K)[/tex]
حال طبق تعریف رانکوهی علاوه بر کلید اصلی( که با *A مشخص شده)کلید B و D در رابطه ی R2 کلید خارجی میباشند. پس لزوما احتیاجی نیست که برای کلید خارجی بودن حتما کلید در رابطه دیگر کلید اصلی باشد.بلکه کلید فرعی بودن نیز کافیست.
تاکید بر همین نکته علت رد گزینه ی دوم در تست سراسری ۸۸ است.
سایر گزینه ها به صراحت در تعریف کلید خارجی در بالا وجود دارد.
طبق تعریف کلید خارجی داریم : هر زیر مجموعه از صفات رابطه ی R2 که مقدار معلومش با یک مقدار از کلید کاندید رابطه ی R1 برابر باشد کلید خارجی در رابطه ی R2 است.
دقت کنید که در اینجا گفته است کلید کاندید : چیزی که از کلید کاندید میشود استخراج کرد دو کلید هست :
۱)کلید اصلی : کلید کاندیدی که توسط DBA مشخص میشود
۲)کلید فرعی (Alternatiive Key OR Secondary Key) : کلید کاندیدی است که برای کاربرد های خاص به کار میرود.
نکته : اگر یک رابطه دارای n کلید کاندید باشد یکی از آن ها کلید اصلی و n-1 کلید دیگر کلید فرعی هستند.
یه مثال :
[tex]R1(\ast A\: ,\: B\: ,\: C\: ,\: D\: ,\: E)[/tex]
و
[tex]R2(A\: ,\: B\: ,\: l\: ,\: D\: ,\: K)[/tex]
حال طبق تعریف رانکوهی علاوه بر کلید اصلی( که با *A مشخص شده)کلید B و D در رابطه ی R2 کلید خارجی میباشند. پس لزوما احتیاجی نیست که برای کلید خارجی بودن حتما کلید در رابطه دیگر کلید اصلی باشد.بلکه کلید فرعی بودن نیز کافیست.
تاکید بر همین نکته علت رد گزینه ی دوم در تست سراسری ۸۸ است.
سایر گزینه ها به صراحت در تعریف کلید خارجی در بالا وجود دارد.
۰
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close