How To Draw ER Diagram Using ChatGPT

In this story, you’ll be learning all about entity relationship diagrams or ERDs. we are going to start off by discussing a high-level overview. and then together we’ll dive in and build an example together,

complete with entities, attributes, relationships, and cardinality. By the end of this story, you will be able to build an entire Entity Relationship Diagram from scratch.
Before we start! 🦸🏻♀️
If you like this topic and you want to support me:
- Clap my article 50 times; that will really help me out.👏
- Follow me on Medium and subscribe to get my latest article🫶
- If you prefer video tutorials, please subscribe to my YouTube channel where I started to convert most of my articles to visual demonstrations.
Have you ever wondered how Amazon can keep track of so many different orders, customers, and products?

the answers to these questions lie within the creation of a database, which in other words, is a collection of information that is organized so data can be easily stored, managed, updated, and retrieved. Now there is a lot of moving information in a database and understanding how the many elements of a database interact with each other can be difficult to grasp.
Engineers need a visual way to understand how all the separate elements are related to each other and how they are working together. to show this, they build Entity Relationship Diagrams.
What is an ER diagram?
An Entity Relationship Diagram (ERD) is a visual representation of different entities within a system and how they relate to each other. It is a tool used to design and model relational databases and shows the logical structure of the database. for example, classroom, course, department and person may be described using ER diagrams in the following way:

So let’s talk about how you are going to make these ER diagrams, you can draw them out with pen and paper, but it’s going to be easier for you to use a diagramming tool. Thanks to ChatGPT
In this Story, I am going to use an easy-to-use tool called ChatGPT and you can too.
Let’s Try out
Please create an ER diagram that meets the following conditions:
・It holds general data of the retail industry
・Each table contains multiple data items (columns)
・It is structured in a star schema for easy data analysisOutput
+-------+
| Sales |
+-------+
|
+-----------+-----------+
| |
+--------+ +---------+
| Time | | Product |
+--------+ +---------+
| |
+--------+ +---------+
| Store | | Customer|
+--------+ +---------+If it’s a shape that can be expressed in text, it seems to draw a diagram! I will continue to ask you to add data items. (The following output will be described by extracting only the part of the figure.)
Please add data items to each table.and draw the ER diagramOutput
+-------+
| Sales |
+-------+
| sale_id (PK) |
| time_id (FK) |
| product_id (FK)|
| store_id (FK) |
| customer_id (FK)|
| sale_amount |
| sale_quantity |
+--------------+
|
+-----------+-----------+
| |
+--------+ +---------+
| Time | | Product |
+--------+ +---------+
| time_id (PK) | product_id (PK) |
| date | product_name |
| year | product_category |
| quarter | product_price |
| month | manufacturer |
| day | brand |
+-----------------------+----------------+
| |
+--------+ +---------+
| Store | | Customer|
+--------+ +---------+
| store_id (PK) | customer_id (PK) |
| store_name | customer_name |
| region | customer_gender |
| address | customer_age |
+-----------------------+----------------+Added an item. Due to the increase in the number of items, the layout of the table has become a little difficult to see. Therefore, I will ask you to output in PlantUML (a format that expresses various diagrams such as UML in text).
Please output the above in PlantUML.Output
@startuml
!define Table(name,desc) class name as "desc" << (T,#FFAAAA) >>
!define primary_key(x) <b><u>x</u></b>
!define foreign_key(x) <u>x</u>
Table(Sales, "Sales") {
+ primary_key(sale_id)
+ foreign_key(time_id)
+ foreign_key(product_id)
+ foreign_key(store_id)
+ foreign_key(customer_id)
--
sale_amount
sale_quantity
}
Table(Time, "Time") {
+ primary_key(time_id)
--
date
year
quarter
month
day
}
Table(Product, "Product") {
+ primary_key(product_id)
--
product_name
product_category
product_price
manufacturer
brand
}
Table(Store, "Store") {
+ primary_key(store_id)
--
store_name
region
address
}
Table(Customer, "Customer") {
+ primary_key(customer_id)
--
customer_name
customer_gender
customer_age
}
Sales -- Time
Sales -- Product
Sales -- Store
Sales -- Customer
@endumlBy preparing the execution environment of PlantUML, you can make a diagram from the above text.

conclusion:
I asked ChatGPT to create an ER diagram. Even though I can’t print the figure directly, I found it very useful to generate text that can be illustrated. On the other hand, there are many cases where the idea of ”generally this should be done” is not understood, and I felt the need to make the request more specific.
📻 Stay tuned for more details on trending AI-related implementations and discussions on my personal blog and if you are not a medium member and you would like unlimited articles to the platform. Consider using my referral link right here to sign up — it’s less than the price of a fancy coffee, only $5 a month! Dive in, the knowledge is fine!
🧙♂️ We are AI application experts! If you want to collaborate on a project, drop an inquiry here, stop by our website, or book a consultation with us.
📚Feel free to check out my other articles:
Level Up Coding
Thanks for being a part of our community! Before you go:
- 👏 Clap for the story and follow the author 👉
- 📰 View more content in the Level Up Coding publication
🔔 Follow us: Twitter | LinkedIn | Newsletter
🧠 AI Tools ⇒ Become a prompt engineer






