دوستان سلام
یک سوال درباره mysql داشتم
زمانی که داریم داخل جدول FOREIGN KEY تعریف می کنیم یک قسمت داره Constraint name
این Constraint name برای چی هست و کاربردش چیه؟
تصویر بخش مورد نظر پیوست شد.Capture.JPG
دوستان سلام
یک سوال درباره mysql داشتم
زمانی که داریم داخل جدول FOREIGN KEY تعریف می کنیم یک قسمت داره Constraint name
این Constraint name برای چی هست و کاربردش چیه؟
تصویر بخش مورد نظر پیوست شد.Capture.JPG
سلام اینو بخون :
https://stackoverflow.com/questions/...-naming-scheme
ممنون دوست عزیز
حقیقت انگلیسی سرچ زدم ولی خوب نفهمیدم، میشه واسم توضیح بدی لطفا. که اصلا چی هست و کاربردش چیه؟
یک اسم دیگه برای فیلد هست؟ چون ما که داخل جدول اسم برای اون ستون گذاشتیم، مثلا تو همین عکس بالا که فرستادم:
جدول حاضر جدول product هست و برای قسمتی که دسته بندی محصول رو میخواد نشون بده یک فیلد درست کردم به نام cat_id که foreign key هست و اشاره میکنه به فیلد id در جدول category.
دیگه چه دلیلی داره که بیام براش یک اسم دیگه انتخاب کنم. حالا به فرض اینکه اینجا اسمش رو طبق همین استانداردی که تو لینک ارسالی شما توضیح داده انتخاب کردم. بعد زمان کوئری زدن باید از کدوم اسم استفاده کنم؟
This gives you an 'at a glance' view of which tables are involved in the key, so it makes it easy to see which tables a particular one (the first one named) depends on (the second one named). In this scenario the complete set of keys would be:
این قسمت به شما یک میده که در نگاه اول متوجه بشی چه فیلدی از چه جدولی با کدام کلید خارجی در ارتباط هست.
The standard convention in SQL Server is:
FK_ForeignKeyTable_PrimaryKeyTable
So, for example, the key between notes and tasks would be:
FK_note_task
And the key between tasks and users would be:
FK_task_user
سعی کنید زبان رو یاد بگیرید خیلی توی پیشرفت کارتون تاثیر میزاره خیلی هم یادگیری زبان سخت نیست یک چند ترم کلاس برو پیشنهاد میدم اگر میتونی حتما کلاس برو برای شروع حداقل 10 ترم برو البته اگر برات مقدور هست اگر نه که خودت توی خونه میتونی سی دی آموزشی بگیری و کار کنی ولی جو کلاس یه چیز دیگست
بهرحال یکی دو سال روی زبانت کار کن خودت تفاوت رو احساس میکنی
کلاس آموزش ربان خوب برو نه ازز اینا که سر هر کوچه یکی گذاشتند
موفق باشید
ممنون دوست عزیز
کلاس زبان رفتم والا ولی این مورد رو درک نکردم، الان یعنی این FOREIGN KEY Constraint name هیچ کاربرد خاصی نداره پس، صرفا برای این استفاده میشه که در یک نگاه بفهمی که این فیلد مربوط به چه کلیدی از چه جدولی هست، یعنی در حد یکجور کامنت حساب میشه کلا!؟ بعد آخه اجباری هم هست، چیزی که برای من سواله این هست که این رو خود کاربر هم میتونه تو نام گزاری هاش در نظر بگیره دیگه احتیاجی به این حرف ها نیست. این بود که فکر کردم شاید کاربرد بیشتری داره و من متوجه نشدم.
خیر بیشتر از دید در نگاه اول دلیل فنیش این هم هست
The FOREIGN KEY constraint is used to prevent actions that would destroy links between tables.
The FOREIGN KEY constraint also prevents invalid data from being inserted into the foreign key column, because it has to be one of the values contained in the table it points to.
منبع :
https://www.w3schools.com/sql/sql_foreignkey.asp
این لینک هم بد نیست یه نگاه بنداز :
https://dev.mysql.com/doc/refman/5.6...eign-keys.html