All data is stored in 1's and 0's but dealing with bits is not something humans can readily understand. That is why there must be some level of abstraction. This is where schema comes into play being the abstract description of data. With all this, one can focus on the application.
Physical Data Level
The physical schema goes into the nitty gritty details of how data is stored. (tracks, cylinder, indices, etc) Early application used to deal in this level. That is how we got into problems like the Y2K bug as any changes to data structure becomes difficult to make. These details became intertwined with application code which made it more complex. So when the change needed to be made in the two digit representation of the year, it was quite a task.
Conceptual Data Level
Encapsulates information about the physical layer in a way like the Object Oriented way. Essentially hides the details and provides physical data separation. No need to ask questions like how many bytes in an int? Who cares! That's why there's a mapping of the conceptual and the physical data level.
External Data Level
The external schema specifies a view of the data in terms of the conceptual level (known as the View as well). In other words, it limits what a certain class of users can see sort of like a filter. It provides conceptual data independence and similar to the previously mentioned, there is a mapping of the external data with the conceptual schema. Applications are written in terms of the external schema.
0 comments:
Post a Comment