نمیدونم هنوز درس اصول طراحی پایگاه های داده، توی دانشگاه تدریس میشه یا نه! اما جز درس هایی هست که خیلی ها دوستش ندارن، مثل درس های: طراحی الگوریتم و طراحی کامپایلر!
این درس هارو چون یکم سخت یا یه جوری هستند، عموما خیلی ها جدی نمیگیرن یا توی خیلی از دانشگاه ها درست تدریس نمیشه و فقط نمره میگیرید و رد میشید.
اما اصول و نکات مهم طراحی دیتابیس، جز موارد مهمی هست که روی Performance و سرعت برنامه، سایت و ... تاثیر داره و برنامه نویس باید درک خوبی از این مباحث داشته باشه.
جدا از مباحث پیکربندی خود سرور دیتابیس، یه سری نکات توی همه دیتابیس ها مثل PostgreSQL, MySQL/MariaDB, SQL Server, Oracle و ... ثابت و مشترک هست.
عموما خیلی از برنامه نویس ها، خیلی به ساختار افزونگی دیتا، کلید های خارجی و یا حتی ایندکس گذاری اهمیتی نمیدن.
اگر ساختار جداول رو ساده میسازید که فقط دیتا رو، Inser/Update/Delete میکنین، بهتره مباحث زیر رو هم کنارش به عنوان حداقل دانش مربوط به Database، جهت ارتقا کارتون یاد بگیرید و ازشون استفاده کنید.
اولین و مهمترین گزینه Index گذاری هست که توی سرعت نوشتن، خوندن و حذف، اهمیت بالایی داره و چندین برابر سرعت اجرای Query هارو افزایش میده و سرعت گشتن و فیلتر کردن رو افزایش میده.
مورد بعدی، استفاده از کلید های خارجی و ارتباطات جداول با هم هست.
مباحث مرتبط با Join ها.
مباحث مرتبط با Transaction ها.
طراحی پایگاه داده مباحث زیاد داره، اما این موارد فوق رو اگر یاد بگیرید و استفاده کنید، ساختار پایگاه داده شما چندین سطح بالاتر میره، پس سعی کنید این مباحث رو یاد بگیرید و ازشون استفاده کنین تا کیفیت کارتون بهتر بشه.
پیروز و سربلند باشید. با تشکر فراوان، امین محمودی 15 مرداد ماه 1405