ابزارهایی برای تحلیل و دیاگرام دیتابیس

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

قبلا برای اینکار روی کاغذ جداول را رسم می‌کردم و ارتباط جداول را مشخص میکردم که بسیار زمانگیر بود تا اینکه تصمیم گرفتم از ابزارهایی برای اینکار استفاده کنم. به معرفی چند ابزار میپردازم و یکسری لینک آموزشی برای اینکار را بهتون معرفی میکنم.

۱. SQL Database Modeler

SQL Database Modeler

یک ابزار آنلاین است که نسخه بتا آن عرضه شده است و استفاده از آن به صورت رایگان است. شما میتوانید مدل و ساختار جداول را با استفاده از بخش داشبورد پروفایل ایجاد کنید.

model database

در نهایت بعد از ایجاد دیاگرام دیتابیس میتوانید از منوی سمت پایین گزینه Forward Engineer – Generate SQL را بزنید تا دیتابیس مورد نظر را اکسپورت کنید و در پروژه خود استفاده کنید. محدودیتی که این وبسایت دارد این است که فقط Microsoft SQL Server  و  MySql  را پشتیبانی می‌کند.

۲. MySQL Workbench

MySql

یکی از ابزارهای بسیار قدرتمند برای دیتابیس‌های MySql است که از طریق وب‌سایت رسمی mysql.com می‌توانید به صورت رایگان آن را دانلود نمائید. ( نسخه Enterprise هم دارد که امکانات بیشتری را در اختیارمون قرار میدهد. )

با استفاده از این ابزار بعد از اینکه کانکشن لازم را ایجاد کردیم، از قسمت Files > New Model  میتوانیم مدل دیتابیس موردنیاز پروژه را ایجاد کنیم و بعد از وارد کردن نام دیتابیس بر روی گزینه Add diagram کلیک میکنیم تا به محیط ایجاد دیاگرام جداول دیتابیس هدایت شویم.

MySql Workbench

بعد از ایجاد دیاگرام جداول و مشخص نمودن ارتباط جداول کافی است تا از قسمت Database گزینه Forward Engineer را انتخاب می‌کنیم تا دیتابیس ما طبق دیاگرام مورد نظر ساخته شود و میتوانیم از طریق همین محیط و یا محیط phpmyadmin به آن دسترسی داشته باشیم و جداول را مشاهده کنیم.

ویدئوهای آموزشی نصب و کار با Mysql Workbench :

Create MySQL Database – MySQL Workbench Tutorial

MySQL Workbench Tutorial

Introduction to MySQL Workbench

۳. Navicat

Navicat

یکی دیگر از ابزارهای بسیار قدرتمندی که میخواهم بهش اشاره کنم، Navicat است که متاسفانه رایگان نیست. علاوه بر MySql سایر دیتابیس‌ها را نیز پشتیانی می‌کند. به راحتی می‌توانید دیاگرام یا مدل دیتابیس پروژه موردنظرتان را ایجاد کنید.

Navicat

یکی از قابلیت‌های فوق‌ العاده این ابزار ارائه مدل مفهومی دیتابیس است که به درک ساختار پروژه بسیار کمک می‌کند. این مدل علاوه بر اینکه برای متخصص و برنامه نویس قابل درکه برای مالک پروژه که دانش فنی نداشته باشد نیز قابل درک است و این می‌تواند یک زبان مشترک بین متخصص و کارفرما برای پیشبرد بهتر پروژه باشد.

conceptual modeling db

در صورتیکه با زبان‌های مدلسازی بصری همچون UML آشنایی داشته باشید این ابزار این قسمت را نیز پشتیبانی می‌کند.

Design data model database

مشاهده ویدئوهای آموزشی Navicat

ایمپورت / اکسپورت دیتابیس با command line

برای import یا export دیتابیس از دستورات زیر می توانیم توی command line استفاده کنیم.

ابتدا وارد مسیری که میخواهیم دیتابیس آنجا قرار گیرد ( معمولا دسکتاپ ) می شویم و سپس دستورات را اجرا میکنیم.

Export گرفتن از یک دیتابیس مشخص mysql :

mysqldump database_name > database_exportname.sql

database_name : نام دیتابیسی که داریم و می خواهیم آن را export  کنیم.

database_exportname : نامی که میخواهیم روی سیستم ذخیره کنیم.

نکته : برای اجرای دستور فوق احتمال بسیار زیاد خطای دسترسی داده شود که لازم است قبلش sudo  نوشته شود، به صورت زیر :

 sudo mysqldump database_name > database_exportname.sql

Import کردن یک دیتابیس مشخص mysql :

mysql database_name < database_exportname.sql

Export گرفتن از تمام دیتابیس‌های موجود mysql :

mysqldump --all-databases > all_databases_export.sql

در صورتی‌‌که ما exportی از همه دیتابیس‌ها داشته باشیم و بخواهیم از فایل export  شده فقط یکی از آن‌ها را import کنیم به صورت زیر اقدام میکنیم.

Import کردن یک دیتابیس mysql از لیست فایل export  شده همه دیتابیس‌ها :

mysql --one-database database_name < all_databases_export.sql
 psql -U USERNAME database_name < dbexport.pgsql

USERNAME : نام کاربری postgres

database_name :  نام دیتابیس ایجاد شده.

Export دیتابیس postgres :

pg_dump -U USERNAME database_name > dbexport.pgsql

postgres