آموزش برنامه نویسی اندروید 2020: کار با دیتابیس - بخش اول

Full Transcript — Download SRT & Markdown

00:37
Speaker A
به نام خدا در خدمتتون هستم با فصل پنجم دوره آموزش مقدماتی تا متوسط زبان برنامه نویسی اندروید.
00:45
Speaker A
تو این فصل می خوایم مبحث ذخیره سازی اطلاعات در اندروید رو توضیح بدیم، یکی از مباحثی که قطعاً توی برنامه های کاربردی حتماً حتماً شما نیاز دارین که ازشون استفاده کنید.
00:57
Speaker A
ما برای ذخیره سازی اطلاعات توی اندروید به چند روش می تونیم اقدام کنیم، اولین روشی که می خوایم توضیح بدیم روش دیتابیسه که تقریباً اکثر برنامه های کاربردی نیاز دارن که دیتابیس داشته باشن.
01:44
Speaker A
و اطلاعاتی که با حجم زیاد هست رو داخل اونا ذخیره کنن، حالا مباحث بعدی هم وجود داره که بعداً یکی یکی بهشون می پردازیم، امروز می خوام درباره دیتابیس و پایگاه داده صحبت کنم.
02:10
Speaker A
بگم که چه زمان از اینها استفاده می کنیم و در واقع اصلاً پایگاه داده چیه، دیتابیس چی هستش رو چه ارزشی رو به ما میده.
02:24
Speaker A
ببینید قبل از اینکه دیتابیس به وجود بیاد و سیستم های مدیریت پایگاه داده به وجود بیان.
02:40
Speaker A
یه سیستم فایلینگ بود که می تونستن داده ها رو ذخیره کنن، در واقع به این ترتیب اتفاق می افتاد که ما وقتی توی یک برنامه نیاز داشتیم داده های خودمون رو ذخیره کنیم.
03:12
Speaker A
می اومدیم اونها رو داخل چندین فایل قرار می دادیم، مثلاً در نظر بگیرین شما قرار بود که یک اپلیکیشن بسازین برای نگهداری اطلاعات کتابخونه.
03:27
Speaker A
خب می اومدین چیکار می کردین؟ داخل یک فایل اطلاعات مربوط به اعضا رو نگهداری می کردیم، مثلاً می گفتم علی رضایی، مهدی عباسی و الی آخر.
04:05
Speaker A
یکی یکی می اومدم چیکار می کردم؟ اطلاعات رو داخل یک فایل ذخیره می کردم، حالا این اطلاعات می تونست شامل چندین به اصطلاح فیلد از هر فردی باشه، مثلاً نام، نام خانوادگی، آدرس، تلفن و الی آخر.
04:43
Speaker A
این می شد چی؟ اطلاعات مربوط به اعضا، بعد می اومدیم تو یک فایل دیگه اطلاعات کتاب ها رو ذخیره می کردیم، مثلاً می اومدیم می گفتیم کتاب اندروید، کتاب دیتابیس و انواع کتاب ها رو هم این شکلی کتاب های کتابخونه رو داخل اون نگهداری می کردیم.
05:17
Speaker A
و نهایتاً تو یک فایل دیگه می اومدیم امانت داری رو نگهداری می کردیم، مثلاً می گفتیم این فرد این کتاب رو از این تاریخ تا این تاریخ به امانت برد، یعنی عملاً سیستم فایلینگ بود که می تونست برای ما ذخیره سازی اطلاعات رو انجام بده.
05:44
Speaker A
خب این روش روش بدی نبود، می تونست خیلی کارها برای من انجام بده، اما مشکلات خیلی خیلی زیادی وجود داشت برای اینکه خیلی وقتا نمی تونست پاسخگوی همه کارهای ما باشه.
06:10
Speaker A
مثلاً چه مشکلی؟ مثلاً شاید بارزترین مشکلی که به سیستم فایلینگ میشه گرفت اینه که.
06:19
Speaker A
ما اگر چندین اپلیکیشن داشته باشیم و یا چندین کاربر داشته باشیم که در لحظه نیاز داشته باشن به این فایل دسترسی داشته باشن.
06:46
Speaker A
تو سیستم فایلینگ امکان پذیر نبود، یعنی چی؟ فرض کنید الان در نظر بگیرید مثلاً اطلاعات حساب بانکی خودتون رو ببینید، در هر لحظه چندین نرم افزار دارن با اطلاعات حساب بانکی شما کار می کنن.
07:35
Speaker A
مثلاً خود شما با اپلیکیشن اندرویدی وصل میشین به حساب بانکیتون، از این ور کارمند بانک از طریق یه دونه ویندوز اپلیکیشن داره متصل میشه به همون حساب و شاید یه کسی دیگه ای داره از طریق وب، وب اپلیکیشن یا نرم افزار تحت وب بانک متصل میشه.
08:20
Speaker A
پس در هر لحظه امکان داره چندین نفر به این فایل اختصاصی، به این فایل خاص دسترسی داشته باشن یا با این فایل خاص دسترسی داشته باشن.
08:41
Speaker A
تو سیستم فایلینگ نمی شد این کارا رو درست کرد، مدیریت کرد، بعد می اومدن چیکار می کردن؟ می گفتن خب باشه، اگر قراره یک فایل توسط چندین اپلیکیشن استفاده بشه، بیایم ازش کپی بگیریم.
09:09
Speaker A
یعنی این فایل رو یه کپیشو می دادن به اپلیکیشن اندرویدی که من بهش وصل بشم، یه فایلشو می دادن به اون یکی، یه فایلشو می دادن به اون یکی و هر بخشی اگر قرار بود با این فایل کار کنه، می اومد چیکار می کرد؟ یه نسخه مجزا از این فایل رو داشت.
09:40
Speaker A
حالا چه اتفاقی افتاده؟ فرض کنید اطلاعات اعضای سیستم یا اطلاعات کتاب های سیستم چند نسخه ازش داریم، چند تا کپی از این فایل داریم و این فایل توسط چندین نفر دارن تغییر می کنن، ادیت میشه.
10:13
Speaker A
یه کتاب به کتابخونه اضافه میشه، اپراتور مسئول کتابخونه اون کتاب رو این انتها اضافه می کنه، مثلاً سی پلاس پلاس رو اضافه می کنه.
10:30
Speaker A
تو نسخه فایل خودش اینو اضافه می کنه و قطعاً بقیه افرادی که این فایل رو در اختیار دارن این یه دونه رو نمی بینن، یا مثلاً میاد میگه این دیتابیس به هر صورت مثلاً اشتباه شده، باید جدا از هم نوشته می شده.
11:00
Speaker A
خب چه مشکلی پیش میاد؟ اون یکی که یه فایل دیگه داره دسترسی به این نداره و عملاً ناسازگاری اطلاعات رخ میده.
11:20
Speaker A
و حتماً خیلی اتفاق های بد و بدتری رخ می داد و عملاً سرعت کار کردن با این سیستم ها خیلی پایین بود.
11:40
Speaker A
به همین خاطر سیستم مدیریت پایگاه داده اومد تا جایگزین سیستم فایلینگ بشه، به همین خاطر ما دیگه سیستم فایلینگ رو گذاشتیم کنار.
12:00
Speaker A
البته نه اینکه کامل کنار بذاریم، تو کارهای دیگه ازش استفاده می کنیم، اما اگر قراره اطلاعات موجودیت ها، موجودیت های یک سیستم رو نگهداری کنیم.
12:30
Speaker A
دیگه سیستم فایلینگ به درد ما نمی خوره، اینا رو میارم پایین و یک سیستم جدید بهتون معرفی می کنم به نام دی بی ام اس.
12:50
Speaker A
دیتابیس منجمنت سیستم، اگر اینجا رو دقت کنید می بینید که.
13:00
Speaker A
دی بی ام اس یا دیتابیس منجمنت سیستم، سیستم مدیریت پایگاه داده اومد می دونید چیکار کرد؟ گفت من میام وای میستم سر راه تمام اپلیکیشن ها و کاربرها و دیتاها میشن پشت سر من.
13:40
Speaker A
حالا اگر کسی یا اپلیکیشنی با دیتا کار داشت، با این دیتاها کار داشت، یعنی می خواست اطلاعاتی رو ذخیره کنه توی دیتابیس یا ازش برداره، باید از من بخواد که این کارو انجام بدم.
14:20
Speaker A
شبیه مثلاً منشی یه دکتر، به جای اینکه همه بتونن مستقیماً دکتر رو ببینن، اون میاد سر راهش قرار می گیره و باعث میشه که این تداخل اطلاعات، ناسازگاری اطلاعات، عدم دسترسی همزمانه از بین بره.
15:00
Speaker A
چه اتفاقی می افته؟ حالا این سیستم می تونه در سرعت خیلی بالایی بیاد و چیکار کنه؟ بیاد دسترسی بده به هر کدوم از اطلاعات و توسط هر کاربر یا هر اپلیکیشنی.
15:20
Speaker A
اینجوریه که شما الان وقتی که یک پولی رو تو اپلیکیشن خودتون انتقال میدین، می بینیم بلافاصله توسط یه اپراتور یا کاربر دیگه دریافت میشه.
15:50
Speaker A
و اینکه همزمان تو می تونی متصل بشی، اون یکی هم می تونه متصل بشه و هر تغییری که شما مثلاً اگر هزار تومن شما از پولت کم کنی، برای همه این دیده میشه و این ناسازگاری دیگه وجود نداره.
16:20
Speaker A
اما این دی بی ام اس ها چیا هستن؟ یه سری نرم افزارن که توسط شرکت های مختلف نوشته شدن.
16:30
Speaker A
بذار بگم که دی بی ام اس ها مثل چی هستند؟ ببینید بچه ها سیستم های دی بی ام اس.
16:40
Speaker A
اس یا سیستم مدیریت پایگاه داده زیادی تا الان طراحی شده، مثل چی؟ مثل اکسس، مثل اس کیو ال سرور، مثل مای اس کیو ال، مثل اس کیو لایت.
17:00
Speaker A
می بینید اینها در واقع می دونید چه کمکی به ما دادن و خیلی سیستم های دیگه ها فکر نکنید همینا هستن.
17:20
Speaker A
یه عالم مثل اوراکل و از این دسته سیستم های مدیریت پایگاه داده توسط شرکت های مختلف در سال های مختلف این نرم افزارها تولید شدن.
17:40
Speaker A
و همچنان دارن تولید هم میشن، در واقع فقط ارتقا پیدا می کنن و امکاناتشون بیشتر میشه، اینها توانایی نگهداری داده رو دارن.
18:00
Speaker A
و توانایی مدیریتش هم دارن، یعنی می تونن توی خودشون، البته اونها می دونین پشت پرده داخل یه سری فایل، اما میگیم توی خودشون.
18:20
Speaker A
توی خودشون داده ها رو نگهداری کنن و مدیریتش هم کنن، اوکی؟ حالا هر کدوم از اینها، هر کدوم از اینها توانایی نگهداری اطلاعات رو دارن.
18:40
Speaker A
حالا من برنامه نویس اگر قراره برنامه نویسی رو بلد باشم با هر زبانی که بلدم، مثلاً یکی سی شارپ بلده، یکی پی اچ پی بلده، یکی جاوا بلده.
19:00
Speaker A
یکی اندروید بلده، حالا این اندروید و جاوا حالا هرچی و هر زبان دیگه ای اگر بلد هستیم، باید علاوه بر اینکه یکی از این زبان ها رو توش متخصصیم.
19:20
Speaker A
باید بیایم چیکار کنیم؟ یکی از سیستم های مدیریت پایگاه داده هم تا حدودی یاد بگیریم، درسته تو شرکت های بزرگ اینها توسط افراد متفاوت از شماست.
19:40
Speaker A
برنامه نویس ها دارن انجام میشن، اما یه برنامه نویس باید در حد نیازش بتونه با یکی از اینها خوب کار کنه، حالا با کدوم کار کنه؟
20:00
Speaker A
اینه که بخوایم بگیم ما می تونیم اطلاعات هر کدوم از این زبان ها رو توی هر کدوم از این دیتابیس ها نگهداری کنیم.
20:20
Speaker A
یعنی اونجوری نیست که حتماً بگیم مثلاً کسی می خواست سی شارپ کار کنه، حتماً باید اس کیو ال سرور بلد باشه، نه اصلاً اینجوری نیست.
20:40
Speaker A
می تونه کسی که اپلیکیشن خودش رو با سی شارپ طراحی می کنه، اطلاعاتش رو توی مای اس کیو ال نگهداره، این امکان پذیر هست ها.
21:00
Speaker A
پس هر کدوم از اینها از این زبان ها که ما بهشون میگیم هاست لنگویج، ببینید اچ ال، زبان های سطح میزبان.
21:20
Speaker A
هر کدوم از زبان های سطح میزبان که شما باهاشون کار می کنید، می تونن با هر دی بی ام اس ای کار کنن، اما معمولاً برای هر کدوم از اینها.
21:40
Speaker A
یکی از اینها رونق و رواج بیشتری داره، یعنی اکثریت افراد از اون استفاده می کنن، حالا چرا؟
22:00
Speaker A
اون شاید دستورات ارتباطیه که خیلی آسونه و با هم سازگارن، مثلاً کسی که سی شارپ کار می کنه.
22:20
Speaker A
ترجیح میده با یکی از این دو تا دیتابیس کار کنه، با یکی از این دو تا دی بی ام اس کار کنه.
22:40
Speaker A
اونی که پی اچ پی کار می کنه، سعی می کنه از مای اس کیو ال استفاده کنه، اونی که از جاوا استفاده می کنه.
23:00
Speaker A
یا از مای اس کیو ال استفاده می کنه یا از مثلاً اوراکل استفاده می کنه، اونی که اندروید کار می کنه.
23:20
Speaker A
معمولاً از اس کیو لایت استفاده می کنه، نه اینکه نشه تو اونای دیگه هم ذخیره کنه ها، حالا چرا اندروید کارا از اس کیو لایت استفاده می کنن؟
23:40
Speaker A
آیا اس کیو لایت خیلی قویه؟ اصلاً اینجوری نیست، اگه بخوایم حساب کنیم قطعاً اوراکل از همه اینا قوی تره، اس کیو ال سرور از اینا قوی تره.
24:10
Speaker A
اما اس کیو لایت ارزشش به اینه که می تونه دیتابیس های با حجم پایین ذخیره کنه، یعنی اینکه میزان فضای اشغال شده توسط این دیتابیس خیلی کمتر از دیتابیس های دیگه است.
24:40
Speaker A
و خیلی هم راحت داخل اندروید کلاس هایی براش نوشته شده که شما می تونید باهاشون کار کنید، به همین خاطر.
25:00
Speaker A
اگر من قراره داده ای رو داخل اپلیکیشن لوکال، یعنی داخل گوشی کاربر ذخیره کنم، ترجیح میدم به جز اس کیو لایت از چیز دیگه ای استفاده نکنم.
25:20
Speaker A
البته اینو بگم ها، خیلی از اپلیکیشن ها هستن که اپلیکیشن های موبایلی منظورم اندرویدی که داده های خودشون رو خارج از گوشی کاربر ذخیره می کنن.
25:40
Speaker A
اونها می تونن روی هر کدوم از اینها ذخیره کنن، مثلاً مای اس کیو ال، مثلاً اس کیو ال سرور، مثل چی؟ مثلاً اپلیکیشن اینستاگرام.
26:00
Speaker A
اپلیکیشن اینستاگرام حجم زیادی از داده رو تو گوشی شما نشون میده، اما واقعیتش اینه که بالای ۹۹ درصد.
26:20
Speaker A
شاید ۹۹ و ۹ دهم درصد از اطلاعات داخل یک سرور، داخل یه کامپیوتری خارج از گوشی شماست و اون می تونه توسط هر کدوم از اینها پیاده سازی شده باشه.
26:40
Speaker A
اما اون بخشی از دیتاش که داخل گوشی شما ذخیره میشه که به صورت آفلاین هم شما می تونید ببینینش، حتماً داخل یه اینجور دیتابیسی ذخیره شده.
27:00
Speaker A
خب پس ما الان یاد گرفتیم و فهمیدیم که هر کس یک زبان برنامه نویسی بلد باشه، باید یه دی بی ام اس هم بلد باشه.
27:20
Speaker A
ما که اندروید بلدیم، باید اس کیو لایت کار کردن رو بلد باشیم، خب این اولین نکته، اما نکته دوم اینکه ببینید اینا یه دسته نرم افزارن.
27:40
Speaker A
اینم یه دسته زبانن، قراره اینا با هم کار کنن، قراره با هم حرف بزنن، این سی شارپه می خواد به این اس کیو ال سرور بگه داده منو بگیر ذخیره کن.
28:00
Speaker A
دوباره می خواد بگه که داده منو برو از اونجایی که ذخیره کردی بیارش، داده ای که بهت دادم رو برو دیلیتش کن، داده ای رو که بهت دادم رو برو آپدیتش کن.
28:20
Speaker A
درسته؟ پس کلی اینا با هم کار دارن، خب اینکه به زبان خودش، اینا هم به زبان خودشون، اینا چطوری با هم صحبت می کنن؟
28:40
Speaker A
چطوری این می تونه به این بگه؟ دیدین ما تو مجامع بین المللی کشورهای مختلف با زبان های مختلف داریم.
29:00
Speaker A
به خاطر اینکه اینا بتونن با هم صحبت کنن، اومدن چیکار کردن؟ اومدن گفتن یک زبان مشترک درست می کنیم، انتخاب می کنیم.
29:20
Speaker A
بعد میگیم آقا هر کس می خواد تو مجامع بین المللی بیاد، دیگه نمی تونه به زبان خودش بگه، فقط باید انگلیسی صحبت کنه و انگلیسی شد زبان بین المللی.
29:40
Speaker A
برای اینها هم یک زبان بین المللی ساخته شد به نام اس کیو ال، استراکت کوئری لنگویج.
30:00
Speaker A
یک زبان پرس و جوی ساخت یافته، گفتن آقا ما یک زبان اس کیو ال داریم، اختراع کردند و گفتن هر کس از اینا با اینا کار داشت یا بالعکس با این زبان با هم صحبت کنه.
30:20
Speaker A
زبان اس کیو ال، حالا من و شمایی که می خوایم کار کنیم، باید چی بلد باشیم؟ زبان اس کیو ال رو بلد باشیم.
30:40
Speaker A
اوه یعنی من باید یه زبان برنامه نویسی جدید یاد بگیرم؟ بله، خیلی سخته؟
31:00
Speaker A
قطعاً اگر بخوایم ریشه ای و خیلی اساسی باهاش کار کنیم، بله، شاید یه دوره خیلی گسترده ای نیاز داشته باشه.
31:20
Speaker A
اما من برنامه نویس قراره در سطح در حد نیازم بلد باشم، قراره در حد اینکه بتونم چهار تا جمله به این بگم بلد باشم.
31:40
Speaker A
به همین خاطر از بین کل دستوراتی که اس کیو ال داره، حالا ما میگیم دستور در واقع کلماتی که می تونیم با اینا صحبت کنیم.
32:00
Speaker A
چند تا دستورش با قالبش رو ما باید بلد باشیم، یکیش دستور سلکته، یکیش دستور اینسرته، یکیش دستور دیلیته، یکیش هم دستور آپدیته.
32:20
Speaker A
یعنی ما از زبان اس کیو ال و یه دونه دیگه هم بگم، یه دونه هم کریت تیبله، این چهار این پنج تا دستور رو ما بیشتر نیاز نداریم.
32:40
Speaker A
فعلاً علی الحساب، ان شاء الله شما یه روزی حرفه ای میشین و یواش یواش میرین به سمت اینی که این زبان اس کیو ال رو خیلی خوب یاد بگیرین.
33:00
Speaker A
حتماً ما هم توی به اصطلاح وبسایت درسمن، دوره اس کیو ال سرور، در واقع اس کیو ال رو تو محیط اس کیو ال سرور خیلی جامع و کامل به زودی منتشر می کنیم و شما می تونید از اون هم استفاده کنید.
33:20
Speaker A
اما فعلاً این براتون کافیه، خب این دستورات رو یکی یکی بررسی خواهیم کرد، اما قبل از اینکه بریم سراغ این دستورات.
33:40
Speaker A
یه مفهومی رو باید یاد بگیریم، شاید بعضی از شماها که دارین این ویدیو رو می بینین، درسی به نام پایگاه داده رو توی رشته مهندسی نرم افزار پاس کرده باشین.
34:00
Speaker A
و متوجه اینکه پایگاه داده چیه، اما یه عده ای از شما اصلاً شاید این رو یاد نگرفته باشن، اصلاً درسی به نام پایگاه داده نداشته باشن.
34:20
Speaker A
خب ما یه سری مفاهیم داریم که اینها خیلی مهمن، این مفاهیم رو باید بلد باشیم، اما نه خیلی زیاد ازش.
34:40
Speaker A
ببینید می خوام بگم که نگران نباشید اگه این مفاهیم رو بلد نیستین، قرار نیست که بگین اح من دیگه نمی تونم دیتابیس یاد بگیرم.
35:00
Speaker A
من این بخش از اندروید رو یاد نخواهم گرفت، اصلاً اینجوری نیستش، با با کمک همدیگه اون بخش های مورد نیاز شما رو براتون توضیح میدیم.
35:20
Speaker A
پس فعلاً اینها رو داشته باشین، قراره اینها هم به زودی یاد بگیریم، اما قبل از اینکه اینها رو یاد بگیریم، می خوایم یه چیزی براتون بگم.
35:40
Speaker A
می خوام یه سری مفاهیم پایگاه داده براتون بگم، بگم که ببینید اگر یه روزی یه نفر اومد گفت من یه اپلیکیشن می خوام.
36:00
Speaker A
از کجا شروع کنیم؟ آیا تا گفت می خوام اپلیکیشن برام بنویسی، من سریع برم اندروید استودیو رو باز کنم؟
36:20
Speaker A
سریع یه دونه نیو پراجکت بزنم، یه پروژه جدید بزنم و شروع کنم؟ چیو شروع کنم؟
36:40
Speaker A
مگه قرار نیست اول تحلیلش کنیم؟ اول فکر کنیم ببینیم چه داده هایی قراره ذخیره بشه؟
37:00
Speaker A
چه کاری قراره انجام بدم؟ و اون میشه تحلیل به اصطلاح پروژه خودم، میام یه سری کلمه الان بهتون بگم.
37:20
Speaker A
اینا رو باهاشون کار دارید یا می شنوینشون، نترسین ازشون، یه کلمه ای به اسم مثلاً بذار اینو ببرمش بالا.
37:40
Speaker A
اینجا می نویسم، محیط عملیاتی، محیط عملیاتی چیه؟ اصلاً تو تو سیستم پایگاه داده، تو درس اصلاً میگیم پایگاه داده.
38:00
Speaker A
خب یه کلمه هست به اسم محیط عملیاتی، محیط عملیاتی چیه؟ هیچ، همون جایی که ما می خوایم براش برنامه بنویسیم.
38:20
Speaker A
مثلاً از شهرداری میان میگن یه اپلیکیشن می خوایم یه کاری برامون انجام بده، محیط عملیاتی میشه شهرداری، از تاکسیرانی میان میگن می خوایم.
38:40
Speaker A
محیط عملیاتی میشه تاکسیرانی، از کتابخونه میان میگن یه یه اپلیکیشن می خوایم مثلاً برای فروش فروشمون، میشه چی؟
39:00
Speaker A
یعنی کتابخونه میشه محیط عملیاتی، انبارداری دیجی کالا، ثبت نام دانشگاه، ثبت نام مثلاً یارانه.
39:20
Speaker A
هر چیزی مثل این میشه یک محیط عملیاتی، پس این سخت نبود، قبوله؟ بریم سراغ چی؟ کلمه بعدی که خیلی مهمه بلد باشید.
39:40
Speaker A
موجودیت، این کلمه رو هم خوبه بدونید چیه، موجودیت می دونید چیه؟ من میگم هر شی، شخص یا پدیده در محیط عملیاتی رو بهش میگن موجودیت.
40:00
Speaker A
سخت شد؟ نه راحته، گوش بدین، ببینید توی محیط عملیاتی اطلاعات هر چیزی رو قراره نگهداری کنیم.
40:20
Speaker A
اون چیز بهش میگن موجودیت، مثلاً تو کتابخونه قراره اطلاعات کتاب ها نگهداری بشه، پس کتاب یه موجودیته.
40:40
Speaker A
قراره اطلاعات اعضا نگهداری بشه، پس اعضا هم یک موجودیته، قراره اطلاعات اموال هم نگهداری بشه.
41:00
Speaker A
پس اموال کتابخونه هم یه موجودیته، تو سیستم دانشگاه اطلاعات اساتید رو نگهداری می کنیم، پس استاد یک موجودیته.
41:20
Speaker A
دانشجوها رو هم نگهداری می کنیم، پس دانشجو هم یک موجودیته، نمیگیم فلان دانشجو، میگیم کلاً دانشجو.
41:40
Speaker A
استاد، درس، گروه های درسی، انتخاب واحد، ثبت نام، اینها میشن موجودیت یا شبه موجودیت که حالا نمی خوایم سختش کنیم.
42:00
Speaker A
پس آقا اگر به شما اپلیکیشنی پیشنهاد داده شد، شاید سخت ترین بخش اینه که تشخیص بدید چه موجودیت هایی از این سیستم رو می خواین اطلاعاتش رو نگهداری کنید.
42:20
Speaker A
درسته؟ بعد از اینکه اونا رو هم تشخیص دادیم، میریم سراغ صفت های خاصه یا راحتش کنیم، صفت های موجودیت ها.
42:40
Speaker A
یعنی چی؟ یعنی اگر شما اومدی تو سیستم تو محیط عملیاتی دانشگاه، موجودیتی به نام استاد رو پیدا کردی.
43:00
Speaker A
بگو قراره از یه استاد چه صفت هاییشو نگهداری کنی؟ مثلاً میگی من قراره نامشو نگهداری کنم، نام خانوادگیشو نگهداری کنم.
43:20
Speaker A
آدرسشو نگهداری کنم، تلفنشو نگهداری کنم، و و و و و، این صفت ها کارفرما بهت میگه ها.
43:40
Speaker A
اون کسی که اپلیکیشن بهت داده، ازش می پرسی، میگی شمایی که می خوای برای دانشجو بنویسی، برای استادها چه اطلاعاتی ازشون می خوای ذخیره کنی؟
44:00
Speaker A
اونا میشن صفت های خاصه، میگه می خوام اسم استاد رو داشته باشیم، فامیلشو داشته باشیم، کد ملیشو می خوایم.
44:20
Speaker A
مدرک تحصیلیشو می خوایم، آدرسشو می خوایم، تلفن ثابت ازش می خوایم، موبایل ازش می خوایم، به اینها تک تکشون میگن صفت خاصه.
44:40
Speaker A
صفت خاصه، حالا متوجه شدین چی شد؟ صفت های خاصه رو که نوشتیم، حالا دیگه یه خورده با هم دیگه تشخیص دادیم چی شده.
45:00
Speaker A
حالا ارتباط بین موجودیت ها می مونه و و و و یه عالم کار دیگه، بدون شک که اینها به نظر من.
45:20
Speaker A
برای شمایی که شروع کار هستین، سخت و ترسناک به نظر میاد، اما بهتره که چیکار کنید؟
45:40
Speaker A
بهتره که فعلاً نگران این موضوع نباشین و فعلاً شروع کنید، بعدش می دونین چیه؟
46:00
Speaker A
بعد از اینکه اینها رو نوشتم برای هر محیط عملیاتی رو کاغذ، نمیرم سریع پروژه شروع کنم، اینها رو وقتی تشخیص دادم.
46:20
Speaker A
حالا وقتش شده که چیکار کنم؟ حالا وقتش شده که برم برای هر موجودیتی یه جدول بسازم.
46:40
Speaker A
چون سیستمی که من باهاش کار می کنم، سیستم پایگاه داده رابطه ای بهش میگن که بر اساس جدول کار می کنه.
47:00
Speaker A
یعنی چی؟ یعنی اینکه یه جدول می سازم، اسم استادامو می ریزم توش، یه جدول می سازم، اسم دانشجوها رو می ریزم توش.
47:20
Speaker A
یه جدول می سازم، اسم درس ها رو می ریزم توش، رو کاغذ هم همین کارو می کردیم ها بچه ها، یعنی اگر منو مسئول کتابخونه می کردن.
47:40
Speaker A
قطعاً می اومدم یه کاغذ برمی داشتم، یه جدول با خط کش می کشیدم، اسم اعضا رو می نوشتم، هر کس عضو کتابخونه می شد اسمشو می نوشتم.
48:00
Speaker A
مثلاً نامش، نام خانوادگیش، یه چند تا ستون دیگه که همون ستونا صفت خاصه ان، و هر موجودیتی یک یه جدول داره.
48:20
Speaker A
بعد یه جدول هم درست می کردم برای کتاب ها، پس موجودیت کتاب یه جدول داره که صفتش چیه؟
48:40
Speaker A
نام کتاب، نویسنده کتاب، تاریخ انتشارش، نمی دونم نسخه چندمه، قیمتش و و الی آخر، اینا میشن ستون هاش.
49:00
Speaker A
درسته؟ ما تو سیستم های مدیریت پایگاه داده ای که الان براتون توضیح دادیم، امکان ساخت جداول وجود داره، پس دقیقاً ما هم همین کارو انجام میدیم تو اینجا.
49:20
Speaker A
همون کاری که رو کاغذ بوده، حالا می خوایم بیاریم اینجا، نگاه کنید، مثلاً من با ورد، اینجا یه جدول می سازم.
49:40
Speaker A
به فرض مثال اینجوری، میام اینجا می نویسم، بذار اینجا می نویسم، می نویسم نام کتاب، درسته؟ نام نویسنده، قیمت.
50:00
Speaker A
چاپ یا انتشارات، و و الی آخر، همه ستون ها، خب ببینید این اینا اینا دقیقاً اینا به اینا میگن چی؟
50:20
Speaker A
صفت خاصه یا فیلد، ببینید به هر کدوم از اینها میگن فیلد، این کلمه ها، هر ستون از این جدول میشه فیلد.
50:40
Speaker A
ما اینجا جدول چی داریم؟ اینجا جدول ما هستش چی؟ جدول کتاب، خوبه؟ این جدول کتابه.
51:00
Speaker A
اینها هم فیلدهاش هستن، اما می دونین ما یکی از مسائلی که خیلی برامون مهمه اینه که.
51:20
Speaker A
باید ستونی پیدا کنیم تو جدولمون، ستون یا ستون هایی که منحصر به فرد باشه داده های داخلشون، یعنی چی؟
51:40
Speaker A
ببین من شاید یه کتاب سی پلاس پلاس داشتم، برای یه نویسنده با یه قیمت و با یه انتشارات دیگه، دوباره یه خورده پایین تر شاید یه کتاب دیگه دقیقاً با نام سی پلاس پلاس هم بود.
52:00
Speaker A
قبول دارید که نام کتاب منحصر به فرد نیست، یعنی امکان داره ما دو تا سه تا ۱۰ تا کتاب با یه نام داشته باشیم.
52:20
Speaker A
و در بازیابی اطلاعات سیستم شک کنه که چیو می خواد برای ما بیاره، یا حتی نویسنده، ما یه نویسنده می بینی ۲۰ تا کتاب داره.
52:40
Speaker A
یا قیمت، امکان داره دو تا کتاب هم قیمت باشن، یا انتشارات، امکان داره چندین کتاب از یک انتشارات باشن.
53:00
Speaker A
پس قبول دارین که هر کدوم از این ستون ها امکان داره در گذر زمان اطلاعاتی که داره توش قرار می گیره تکراری باشه با قبلی هاش.
53:20
Speaker A
به همین خاطر میان چیکار می کنن؟ یه صفت اضافه می کنن به سیستم، مثلاً میگن کد کتاب، دیدین کتابخونه ها؟
53:40
Speaker A
هر کتابی که وارد میشه یه کد بهش میدن، یک، دو، سه، چهار و الی آخر، می بینید که دقیقاً این ستون از جدول دیگه تکراری نیست.
54:00
Speaker A
مثل شماره دانشجویی شما، مثل شماره دانش آموزی، مثل کد ملی، مثلاً ثبت احوال اومد کد ملی رو داد.
54:20
Speaker A
پست اومد کد پستی رو داد، درسته؟ کد کارمندی، کد درس، اگه دقت کرده باشین هر موجودیتی وقتی وارد سیستم میشه.
54:40
Speaker A
یه کد منحصر به فرد می گیره، این سی پلاس پلاسه، اینم سی پلاس پلاس بود، حالا با یه نویسنده خاص.
55:00
Speaker A
مثلاً این این نویسنده اش، قیمتش، انتشاراتشه، درسته؟ این یکی نویسنده اش، قیمتش، انتشاراتشه.
55:20
Speaker A
درسته هم نامن، اما خیالمون راحته که چی؟ کدشون با هم فرق می کنه، وقتی میگیم سی پلاس پلاس کد یک.
55:40
Speaker A
با سی پلاس پلاس کد چهار دیگه قاطی نمیشن، به این فیلد یا همون صفت خاصه که معمولاً وقتی داریم می نویسیمشون.
56:00
Speaker A
خط زیرشون می کشیم، میگن کلید اصلی، کلید اصلی جدول، یعنی معیار و کلید سرچ کردن ما، جستجو کردن ما میشه این.
56:20
Speaker A
پس یادمون باشه، حالا بیشتر از این دیگه فرصت نیست من می خوام توضیح بدم، واقعاً هم مبحثمون مربوط به این درس نیستش.
56:40
Speaker A
خواستم فقط کلاً بگم، حالا منی که می خوام پایگاه داده رو رسم کنم و طراحی کنم و در نهایت برم با یکی از اون دی بی ام اس ها.
57:00
Speaker A
داخل یکی از اینها پیاده سازیش کنم، باید اول جداولم رو اینجوری بکشم رو کاغذ، حالا من دیگه رو کاغذ نکشیدم به خاطر اینکه می خواستم شما ببینید.
57:20
Speaker A
بعد کلیدهاشو فیلدهاشو تعیین کنم، فیلد اصلی یا کلید اصلیشم مشخص کنم، بعد بچه ها می دونین چیه؟
57:40
Speaker A
به یه سطر از جدوله میگیم رکورد، رکورد این درس، این کتاب، اصلاً سی پلاس پلاس.
58:00
Speaker A
نویسنده اش مثلاً جعفرنژاد قمی، قیمتش ۳۰ هزار تومن، انتشاراتش انتشارات ناقوس، می دونید چی میشه؟
58:20
Speaker A
این یه سطر جدول من میشه رکورد، خوبه؟ و ما هیچ دو تا رکوردی نداریم که همه اطلاعاتشون یکی باشه، چون اصلاً منطقی نیستش.
58:40
Speaker A
با این تفاسیر الان من فیلدهام رو مشخص می کنم، جدولم رو خالی مشخص می کنم، بعد میام چیکار می کنم؟
59:00
Speaker A
میام میرم توی به اصطلاح این نرم افزارها، یکی از این نرم افزارها اینها که ما گفتیم از چی استفاده می کنیم؟
59:20
Speaker A
اس کیو لایت و جداولمون رو اونجا طراحی می کنیم، خب به خاطر اینکه ویدیومون خیلی طولانی نشه.
59:40
Speaker A
یه استراحت می کنیم، برمی گردیم، اس کیو لایت استودیو رو باز می کنم و بهتون میگم که چطوری می تونید توش جدول بسازید.
60:00
Speaker A
حتی فیلدهاشو مشخص کنید و آماده سازی کنید برای استفاده داخل پروژهتون، خسته نباشید.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →