ERD یا Entity Relationship Diagram یک نمودار مفهومی برای نمایش ساختار دیتابیس است. این نمودار نشان میدهد که موجودیتها (Entities) چه هستند، چه ویژگیهایی دارند و چگونه با یکدیگر ارتباط برقرار میکنند. ERD معمولاً قبل از طراحی دیتابیس یا هنگام مستندسازی استفاده میشود تا ساختار دادهها شفاف و قابل فهم باشد.
ویژگیهای مهم ERD:
- نمایش موجودیتها (مثل User، Order، Product)
- نمایش فیلدهای هر موجودیت (مثل name، email، price)
- نمایش روابط بین موجودیتها (یکبهیک، یکبهچند، چندبهچند)
- ایجاد درک کامل از نحوه جریان دادهها در سیستم
- کمک به طراحی دیتابیس قبل از مرحله توسعه
- امکان بررسی ایرادات ساختاری قبل از پیادهسازی
- استفاده در مستندسازی پروژههای بزرگ
نمونههای رایج از روابط در ERD:
- One-to-One (یکبهیک): هر موجودیت دقیقاً با یک موجودیت دیگر در ارتباط است. مثال: یک کاربر → یک پروفایل
- One-to-Many (یکبهچند): یک موجودیت میتواند چندین موجودیت دیگر داشته باشد. مثال: یک کاربر → چند سفارش
- Many-to-Many (چندبهچند): چند موجودیت میتوانند با چند موجودیت دیگر مرتبط باشند. مثال: محصولات → دستهبندیها
نمونه تصویر ذهنی ساده از یک ERD (حالت متنی):
User ----------------< Orders
| id | id
| name | user_id
| email | total
(one-to-many)
نمونه ابزارهایی که برای ساخت ERD استفاده میشوند:
- Draw.io
- Lucidchart
- Dbdiagram.io
- MySQL Workbench
- SQL Server Management Studio
- ERDPlus
ERD در واقع نقشه معماری دیتابیس است و باعث میشود ساختار دادهها قبل از پیادهسازی کاملاً روشن و بدون ابهام باشد.