Search for a Schema

Printer-friendly versionPDF version

So now that we have a backend, we need to store something in our backend. For that we need to have a schema for our domain. What is our domain ? Excellent question, not sure yet. But a customer and perhaps products he orders seem to be a good enough choice to begin with. I am currently working for a telecommunication company, so am seeing a lot of customers and orders. Thereby this should be no surprise. But aside this point, pretty much every webapp has customers and orders in some form. So we should have some good learning opputunity here.

My intial thinking was, well this is an old old problem. There is probably a standardised schema for a Customers object, Orders object and Products objectthat he may order. But I was in for a disappointment. The closest thing I found to an open schema was the following website with the customers schema:

There is a tutrial embedded somewhere in the page above that gives an overview of the schema.  It also links to Microsofts website where the whole starter schema can be found here. To my joy, all the schemas listed on the Microsofts Starter Schema website are under the "Microsoft Permissible License".  The Permissible word sounded just too good to be true. And my joy was short lived. Upon reading the EULA in the download, it turned out things aren't as permissive as they sound. I am permitted to use the sql files for the starter schemas, only if I use Microsoft products. That fairly seems to rule out Postgre DB that I have choosen. Anyways the source files are definitely copyrighted only to use with Microsft SQL Server product. But the idea, the database schema, on databaseanswers.org seems open for use and adaption. I didn't find a restriction on using the schema. And if indeed they are quoting industry standard schemas, than it is really an idea that can't be copyrighted from the industry that already widely exists. Why restrict people from using it. But I am no lawyer. I will be deriving my inspiration from the above schema. But it does mean writing a lot of sql from scratch. And no ready made model to quick start my project and save me some time re-inventing the Customer, Order and Produt wheel.

Since I am using Postgre as my database, I have already installed pgAdmin 4 and am ready for the tedium of defining a schema so we can move on to more meaty parts. But more on that in my next article.

By the way if anyone of you knows of some standardised schema definitions that permissible to adapt, do let me know in your comments.

Top level category:

Add new comment