As noted in part 1 of this series, I will be building an application specifically to explore building APIs. To get started, I’ll want to build a back-end database. The application we’ll be simulating is a car dealership. Customers can list a car for sale, or look through cars they might buy.
We want to keep things very simple, so we will create a single table for now: Car
Car will have six columns
- id (int primary key)
- make (varchar 50)
- model (varchar 50)
- model_year (int)
- price (decimal)
- deleted (int)
By marking id as primary key you ensure two things: no two cars will have the same id, and each added row will have an incremented value. The deleted column allows us to have “soft” deletes — that is, we mark a row deleted but do not remove it from the table.
We can now insert a few rows:
insert into car (make, model, model_year, price, deleted) values ('Subaru', 'Imprezza', 2024 ,35500, 0), ('Subaru','Outback',2024,42000, 0), ('Prius','C',2022,25000, 0)
Note: I highly recommend the book SQL Pocket Guide (O’Reilly, Alice Zhao) for looking up how to do all the SQL operations I’ll show in these blog entries.
With this table, we can create endpoints for the CRUD (Create Read Update Delete) operations and more (e.g., obtaining a list of available vehicles).
In the next post, we’ll build our first endpoint to get a list of available cars.