آموزش MySQL – بخش چهارم – Flag ها در MySQL

در این درس می خواهیم در مورد Flag ها در MySQL صحبت کنیم. در درس قبل یاد گرفتیم که چگونه یک جدول را در دیتابیس اضافه کنیم. اگر به یاد داشته باشید زمان ساختن جداول در بخش زیر گفتیم که عبارات PK ، NN و UQ را مانند شکل تیک بزنید.

 

آموزش MySQL - بخش چهارم - Flag ها در MySQL

 

حال می خواهیم به دلیل اهمیت این بخش، Flag های کابردی  را به اختصار توضیح دهیم.

 

PK – Primary Key

هنگامی که یک جدول را می سازید باید برای هر سطر از دیتابیس یک کلید اصلی تعریف کنید. این بدین معناست که ما هر ردیف از دیتابیس را با یک مشخصه غیر تکراری به صورت نحصر بفرد در می آوریم. مثلا در دنیای واقعی شماره ی کارت ملی شما یک کد چند رقمی و اختصاصی فقط برای شماست. عملا شماره ی کارت ملی شما یک Primary Key جهت معرفی شما می باشد.

در مثال قبل ما یک شماره ی اختصاصی به نام ID را به هر دوست خود اختصاص دادیم . این شماره از عدد ۱ شروع میشد. PK میتواند از تایپ های دیگر دیتابیس باشد. مثلا می توان آن را از نوع TEXT انتخاب کرد. باید توجه کنید اطلاعاتی که برای PK انتخاب میکنید باید غیر تکراری باشد.

به این توجه کنید زمانی که یک Column را به عنوان PK تعریف میکنید Flag مربوط به NN نیز به صورت اتوماتیک تیک می خورد.

 

NN – Not Null

از این Flag زمانی استفاده میکنیم که بخواهیم در هر سطر یا Row از دیتابیس حتما اطلاعات مربوط به فیلدهای خاصی وارد شوند. این بدین معناست که زمان وارد کردن اطلاعات نمی توان گزینه هایی که تیک NN دارند را خالی گذاشت. همانطور که گفته شد اگر فیلدی به عنوان Primary Key باشد حتما باید در آن اطلاعات وجود داشته باشد پس به صورت پیش فرض Not Null می باشد.

در جدول Friends این موضوع برای ما اهمیت داشت که کد فردی یا ID و نام First Name و نام خانوادگی Family Name موقع وارد کردن اطلاعات خالی نباشند. پس این فیلد ها را بصورت NN تعریف کردیم.

اگر به عنوان مثال زمان وارد کردن اطلاعات فیلد نام را خالی بگذارید با خطای زیر مواجه خواهید شد.

آموزش MySQL - بخش چهارم - Flag ها در MySQL

 

 

UQ – Unique Index

اگر بخواهیم اطلاعاتی که مربوط به یک فیلد بصورت منحصر بفرد باشد و نتوان آن را بصورت تکراری وارد کرد این Flag را تیک میزنیم.

در جدول Friends ما این تیک را برای ID وارد کردیم چون می خواستیم هر عدد تنها به یک نفر اختصاص داده شود.

 

UN – Unsigned

زمانی ک فیلد را بصورت عددی تعریف میکنید مثلا INT ، می توانید با انتخاب این گزینه آن را بصورت بدون علامت تعریف کنید. یعنی فقط اعداد مثبت در آن قابل تعریف باشند.

اگر کاربر اعداد منفی را در این فیلد وارد کند با پیغام خطا مواجه خواهد شد.

 

ZF – Zerofill

فرض کنید فیلد عددی خود را در دیتابیس بصورت INT(5) تعریف کرده اید. اگر Flag مربوط به ZF را زمان تعریف برای این فیلد انتخاب کرده باشید به اندازهی طول تعریف  شده پشت عدد شما ۰ وارد میشود.

مثلا اگر در این فیلد عدد ۴ را وارد کنید بصورت ۰۰۰۰۴ ذخیره خواهد شد.

 

AI – Auto Increment

زمانی که یک فیلد عدد دارید میتوانید به انتخاب این Flag از MySQL بخواهید که این فیلد را بصورت اضافه شونده و اتوماتیک پر کند. معمولا برای ساختتن Primary Key مانند ID عددی از آن استفاده می شود.

در مثال ما ID عملا یک عدد اضافه شونده است که با این تعریف میتوان Flag مربوط به AI را تیک زد.

 

 

 

در آموزش بعدی به مبجث جداول مرتبط به هم و Foreign key بحث خواهیم کرد.

 


آموزش MySQL

آموزش MySQL – بخش اول – نصب و راه اندازی

آموزش MySQL – بخش دوم – Schema و Table

آموزش MySQL – بخش سوم – MySQL Workbench

آموزش MySQL – بخش چهارم – Flag ها در MySQL

آموزش MySQL – بخش پنجم – جداول تو در تو با Foreign Key

 

 

 

هرگونه کپی برداری از مطالب و عکس ها با ذکر منبع و قرار دادن لینک این سایت بلامانع است.