Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

5
  • 1
    It's funny. By removing all the connections from "app instance" to the other tables, you've created a properly normalized data model, which until you notice unresolvable performance problems, is the answer you are looking for. Database views can squash a normalized data model into something more easy to query. Commented Jul 10, 2019 at 12:30
  • 1
    What is the purpose of those references to the app instance table? Do you have different web app instances, and each manages its own set of data? Commented Jul 11, 2019 at 5:46
  • Moreover, what DBMS is used to run this system? Is it a heavyweight commercial one like Oracle, where creation of new database instances might cause a certain effort and cost? Or a lightweight like Sqlite? Commented Jul 11, 2019 at 5:49
  • 1
    The relationship between the "Sale" and "Item" is probably reversed. A "Sale" promotes zero, 1 or more "item(s)". Commented Jul 11, 2019 at 22:53
  • The idea behind sale and item in this design is that 1 kind of item can get sold many times. The design is a bit simplistic thanks @NoChance. Maybe a sale can consist of many items and a particular kind of item can be sold many times. Commented Jul 12, 2019 at 9:21