آموزش sql به زبان ساده و به صورت پروژه محور - جلسه سوم

شنبه 2 اسفند 1404

توی این جلسه شما دیتا تایپ ها در زبون برنامه نویسی SQL رو یاد میگیرید و دیگه بهتر و دقیق تر میتونید ساختار جداول در SQL رو درک کنید و به سادگی با دیتا تایپ ها کار کنید.

آموزش sql به زبان ساده و به صورت پروژه محور - جلسه سوم

توی جلسه قبلی  اولین دیتابیس پروژه‌مون رو ساختیم و همچنین جداول دیتابیسمون هم ساختیم و در ادامه ساخت جداول دیتابیس , به مبحث 

دیتا تایپ‌ها یا انواع داده رسیدیم. دیتا تایپ ها موضوع خیلی مهمی در زبون های برنامه نویسی هستن و هرچقدر انواع داده در زبون برنامه 

نویسیتون رو بیشتر و بهتر بشناسید و به اونا مسلط باشید , میتونید برنامه های کارامد تر و حرفه ای تری بنویسید.

 

توی این جلسه می‌خوایم ببینیم که اصلاً دیتا تایپ‌ها چی هستند و زبان برنامه نویسی SQL چه دیتا تایپ‌هایی داره.

 

دیتا تایپ ها در SQL : 

 

میخوام یک مقدار ساده‌تر صحبت کنیم.

 همونجور که متوجه شدیم ما توی دیتابیس , داده‌های خودمون رو ذخیره می‌کنیم. این داده‌های ما می‌تونن انواع مختلفی باشند. حالا منظور ما از نوع داده یا انواع داده چیه؟

 

 به عنوان مثال شما وقتی که اسم یک شخص رو ذخیره می‌کنید , اسم اون شخص یک رشته است. به این معنی که اسم اون شخص مجموعه‌ای از 

کلمات یا کاراکتر هاست. پس ما به مجموعه از کلمات یا کاراکتر ها , یک رشته می‌گیم.

 به عنوان مثال مثلاً وقتی یک نفر اسمش علی باشه جمع (ع  ل  ی) که میشه علی , مجموع این کلمات یا کاراکتر ها , میشه یک رشته.

 

 پس کلی‌تر بگیم :  ما به مجموعه‌ای از کاراکترها رشته می‌گیم.

 

فرض کنید شما می‌خواید سن یک نفر رو ذخیره کنید. سن یک نفر میشه یک عدد. مثلا ۱۹ یا ۳۰. پس ما یک نوع داده عددی هم داریم که مربوط به اعداده.

 

از طرف دیگه تاریخ و زمان هم داریم که مربوط به همون تاریخ وزمانه.

 

پس وقتی که ما میایم از لفظ دیتا تایپ یا نوع داده صحبت می‌کنیم , داریم راجع به عدد یا رشته یا تاریخ و زمان صحبت می‌کنیم. پس دیتا تایپ ها ,  به نوع داده های ما در برنامه هایی که مینویسیم , استفاده میکنیم , ربط دارن.

 

نکته‌ای که باید بدونید اینه که زبون‌های برنامه نویسی انواع داده ها رو دارند یعنی دیتا تایپ‌های مختلفی دارند. و SQL فقط سه نوع داده داره.

 یعنی یا یک نوع داده رشته هست یا عدد هست یا تاریخ و زمان.

 

به مثال زیر توجه کنید

 

CREATE TABLE CUSTOMERS (
	ID INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(255)
);

 

این جدولیه که ما برای مشتری‌هامون ساختیم. الان متوجه میشید که بعد از id , وقتی کلمه INT رو من گذاشتم یعنی دارم نوع اون داده رو مشخص می‌کنم یا وقتی که بعد از کلمه یا بهتر بگم بعد فیلد NAME ,  کلمه VARCHAR رو گذاشتم , یعنی دارم نوع داده NAME رو مشخص می‌کنم. یعنی اسامی مشتری‌های من یک رشته هست یا آیدی هر مشتری من یک عدد هست.

 

حالا کامل‌تر و با جزئیات بیشتر دیتا تایپ‌ها رو بررسی بکنیم :

 

گفتیم که زبون برنامه نویسی sql سه نوع داده اصلی داره : رشته - عددها - تاریخ و زمان.

هر کدوم از این نوع داده‌ها , انواع داده خاص خودشون رو دارند که ما الان به ترتیب اونا رو به شما معرفی می‌کنیم.

 

نکته : 

در کل ما یک زبون برنامه نویسی sql داریم و تعدادی سیستم مدیریت دیتابیس داری که از زبون برنامه نویسی sql استفاده میکنند.

 هر کدوم از این سیستم‌های مدیریت دیتابیس(DBMS) طبق نیازمندی خودشون , زبون SQL رو شخصی‌سازی یا کاستومایز می‌کنند. مثلاً توی 

انواع داده , یک سیستم مدیریت دیتابیس مثل MYSQL میاد داخل نوع INT یا عددی یک نوع شخصی خودش رو می‌سازه.

 

خوب حالا بیایم انواع داده داخل SQL رو بررسی بکنیم :

 

INT یا اعداد :

 

SMALLINT

این یک نوع داده int هست که تعداد ارقامی که میتونه نگه داره نسبت به خود INT کمتره.

 

INT

INT یک نوع داده عددی هست که تعداد ارقام بیشتری رو نسبت به SMALLINT نگه داری میکنه.

 

DECIMAL(2,10)

DECIMAL یک نوع عددی از نوع اعشاری هست که برای نگه داری مقدار پول استفاده میشه. دقت داشته باشید که اگر میخواهید مقدار پول رو نگه دارید بهتره به جای INT یا SMALLINT از DECIMAL استفاده کنید. 

DECIMAL(۲,10) یعنی یک عدد اعشاری که حداکثر ۲ رقمه و ۱۰ اعشار میتونه داشته باشه.

 

REAL

REAL هم برای اعداد اعشاریه اما  بیشتر برای محاسبات علمی یا زمانی که یک مقدار درصد خطا در محاسبه مشکلی نداشته باشه , استفاده میشه.

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

 

FLOAT

FLOAT هم مثل REAL هست اما نسبت به REAL میتونه حجم بیشتری از اعداد رو ذخیره کنه.

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

 

BOOLEAN

BOOLEAN میتونه ۲ مقدار داشته باشه. یا ۱ یا ۰.

 از این نوع داده برای درست بودن یا نادرست بودن یا داده هایی که ۱ یا ۰ برای اونا کافی باشه , استفاده میشه.

فرض کنید میخواهید یک امکان در برنامه خود قرار بدید که ادمین برنامه کامپیوتری بتونه یک محصول رو فعال یا غیر فعال کنه(محصول در برنامه نمایش داده بشه یا نمایش داده نشه).

 برای این کار میتونید یک فیلد به اسم STATUS داشته باشید که نوع داده اون BOOLEAN باشه. وقتی STATUS مقدار ۱ داشته باشه در برنامه نمایش داده بشه و وقتی که 0 باشه در برنامه نمایش نده. مانند مثال زیر.

 

CREATE TABLE CUSTOMERS (
	ID INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(255),
	STATUS BOOLEAN
	
);

 

 

STRINGS یا رشته ها :

 

CHAR(10)

CHAR یک نوع داده رشته ای هست که ۱۰ در پرانتز تعداد کاراکتری هایی که میشه ذخیره بشه رو مشخص میکنه. کاراکتر ها در CHAR ثابت هستن یعنی اگر دیتایی که ذخیره میکنید ۳ کاراکتر باشه اما نوع داده (char(10)) که مشخص کرده اید 10 کاراکتر باشه , نوع CHAR همون 10 کاراکتر فضا رو اشغال میکنه.

اگر تعداد کاراکتر هایی که میخواهید ذخیره کنید بیش از ۳ کاراکتره , بهتره از نوع VARCHAR استفاده کنید.

 

VARCHAR(255)

VARCHAR یک نوع رشته ای هست که برای ذخیره رشته ها استفاده میکنیم. تفاوتش با CHAR , متغییر بودن تعداد رشته هایی هست که ذخیره میکنه و مثل CHAR طول ثابت نداره. مثلا وقتی یک رشته ۱۰ کاراکتری رو ذخیره میکنید , VARCHAR همون ۱۰ کاراکتر فضا رو اشغال میکنه.

 

TEXT

TEXT هم یک نوع داده یا دیتا تایپ رشته ای هست که برای متن های طولانی مثل متن یک مقاله استفاده میشه.

 

 

نوع داده DATE &TIME : 

 

DATE

DATE یک نوع داده DATE & TIME هست که برای ذخیره کردن یک تاریخ مثل ۲۰۲۶/۱۰/۱۲ استفاده میشه.

 

TIME

TIME یک نوع داده DATE & TIME هست که برای ذخیره کردن یک زمان مثل 22:10:50 استفاده میشه.

 

DATETIME

DATETIME یک نوع داده DATE & TIME هست که برای ذخیره کردن یک تاریخ به همراه زمان مثل ۲۲:۱۰:۵۰ ۲۰۲۶/۱۰/۱۲ استفاده میشه.

 

خوب دوستان این معرفی دیتا تایپ‌ها در SQL بود که من خیلی ساده اونا رو به شما آموزش دادم. ما دیتا تایپ های بیشتری هم داریم اما تا اینجا به شما آموزش دادم که هم ساده باشه و هم شما راحت تر و بهتر اونا رو یاد بگیرید و مسلط بشید. 

 

حالا که دیتاتایپ ها رو یاد گرفتید وقتشه جدول مشتری ها رو عمیق تر بررسی کنیم :

 

CREATE TABLE CUSTOMERS (
	ID INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(255),
	STATUS BOOLEAN
	
);

 

توی خط اول که من به SQL گفتم برای من یک جدول بساز و اسم جدول من CUSTOMERS (مشتریان) باشه و یک پرانتز باز کردم و داخل پرانتز فیلدها یا  دیتاهایی که می‌خوام از مشتریانم بگیرم و ذخیره کنم رو قرار دادم.

 توی خط دوم برای هر مشتری یک ID تعریف کردم و نوع آیدی رو INT قرار دادم یعنی یک نوع عددی.

 توی خط بعدی قراره که من اسم مشتری هامو ذخیره کنم که نام مشتری‌های من از نوع VARCHAR(255) است.

توی خط بعدی فیلد STATUS گذاشتم برای نمایش یا عدم نمایش محصول در برنامه است و دیتا تایپ اونو BOOLEAN قرار دادم.

الان دیگه خیلی راحت‌تر ساختار یک جدول رو متوجه میشید .

 

توی جلسه بعدی میخوایم راجع به محدودیت‌هایی که می‌تونیم برای جداولمون قرار بدیم صحبت کنیم. این محدودیت‌ها باعث میشه که ما دیتاهامون از یک ساختار درست و دقیق پیروی بکنند.

 

تمرین :

 

یک جدول به اسم CUSTOMERS2 بسازید , علاوه بر فیلد هایی که الان گفتیم , فیلد قیمت و توضیحات داشته باشه.

توجه کنید که قیمت محصول یک مقدار پولیه و توضیحات محصول یک متن بلند مثل مقاله است.

 

خوب دوستان آموزش ما تا اینجا به اتمام رسید. احیاناً اگر سوالی داشتید , می‌تونید تو بخش کامنت‌ها با من در میون بگذارید تا من بتونم شما رو راهنمایی کنم.

رضا محمدزاده

نویسنده 5 مقاله در برنامه نویسان
  • Sql
  • 20 بازدید
  • 0 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید

نظرات کاربران

برای درج نظر باید وارد سایت شوید