The Data Model Resource Manual is published in three volumes. The English version of volumes one and two was published in 2001, and the Chinese translation was published in 2004. Sales of the Chinese version were very poor, so the Machinery Industry Press that published the book did not reprint it. The two books are currently out of print on the market. Photocopies can also be purchased on Taobao. You can print on demand at china-pub, but it is more expensive. Volume 3 was published at the beginning of this year in English. It will take a few years for the Chinese version to be read, or perhaps not at all. Fortunately, we now have the Internet and UnionPay cards. I bought a copy directly from amazon.com with my China Merchants Bank credit card in March or April this year, and it arrived more than 10 days later.
All three books have high ratings on amazon.com. Volumes 1 and 2 of the Chinese version have good reviews on Dangdang and Excellence, and people who have read it on some technical forums also have high reviews. I also think it is a set of books worth reading.
The first volume talks about some common data models, such as individuals and organizations, products, orders, order distribution, invoices, finance, human resources, etc. Volume 2 is the data model of some specific industries, which will be modified based on Volume 1, such as manufacturing, telecommunications, finance, insurance, medical care, tourism, e-commerce, etc. Volume 3 is somewhat similar to design patterns. The author classifies the abstraction levels of data models and conducts a detailed analysis of the data models designed at different abstraction levels for the various data models mentioned in Volume 1. Based on this It is easier to understand the author's design ideas in Volumes 1 and 2.
After reading these three volumes, there are three modules that I am still deeply impressed by, one is individuals and organizations, one is contact information, and the other is business rules.
Individuals and organizations are abstracted into parties. This benefit should be more obvious in our company's CRM. Our company's members include both organizations and individuals, and our company's agents also include both organizations and individuals. The current logic is that the member table is full of individuals and the agent table is full of organizations. In fact, there are many exceptions.
For contact information, Volumes 1 and 2 provide a relatively high level of abstraction model, which abstracts telephone, mobile phone, email, QQ, correspondence address, etc. into a "communication mechanism". If the level of abstraction is higher, the scalability will be better and the relationship with other entities will be simpler. For example, the party's contact mechanism only requires one table. Our company's membership table uses the lowest level of abstraction. There is a column directly called the BP machine number in the membership table. The new guest history project is more abstract.
Business rules can accommodate different business rules from different industries. After looking at this model, I found that the rateplan used in our company's hotel business and the freight rates used in the air ticket system can be represented by this business rule entity.