How to define a Data Model? Figuring out the way to actually store or transmit the information is the creative part of programming.
New Programming Languages, new Frameworks and Code Libraries, Services and Products with same old concepts will continue to appear and rise. If you have the knowledge and the core abstractions defined, you may have much easier life as developer. Every new shiny programming toy becomes just a new dress of an old idea.
What could be more abstract than the definition of the abstraction. After having figured out the code architecture structure and organization – the battle with the specific platforms by coders and programmers is more of a “doing the chores” work than of a creativity. This includes bug-fixing, the if-else use cases and the the small details in the logic workflow.
Data Model Object
- Name – plain and obvious property;
- Data Property Type – List with possible values are defined below;
Data Property Type:
- Array – it is a common construct in every programming language.
- Object – The core programming concept that wraps up the Data Models into Boxes.
- String – object defining character sequence.
- Boolean – a True or False Data Type / Flag
- Integer – whole number – usually stored in 32 bits/4 Bytes/ – https://www.w3schools.com/java/java_data_types.asp,
- Double – a number with a decimal part. Some Languages like Java have a shorter version (float)
- Long – a whole number with store of 8 bytes. It fills up most of the needs of a little bit bigger numbers.
- Big Integer or Big Decimal – These types are used for whole or a number with decimal part that do not fit in 8 bytes.
- Binary (or Byte Array) – In its core – it array of integers represented by numbers in a hexadecimal(16) number systems. In some transporting formats it is represented by their Base64 encoding.
I’ve included two more types – a composite and an undefined type – while processing data models and abstractions in some of my code:
- Dates – Some Platforms use Struct of Integers – to store every time measurement (seconds, minutes, hours, days, and so on). The more widespread implementation or a way of storing them is with Long number or a String. There is one tricky part about dates and it is – the Earth Time Zones. In their number representation – the convention is the long to be milliseconds sense 1970 – UTC. In the String case – many developers embed the time zone shift inside by using specified in the the format – place in the string.
- Generic Object – the same as Object, but not yet defined. In a data processing algorithm of mine – it has the use case – when I try to parse an empty array. I cannot decide the type of object (example – in some unknown JSON) that is inside a list – that contains zero elements, so I’ve included this “Undefined” Object.