Effective Data Encoding

"The process of putting ambiguous or cumbersome data into short or easily entered digits" - Systems Analysis And Design, Kendall & Kendall

It must be made clear that we are talking about data encoding, not algorithm coding (i.e. writing an algorithm in a programming language).

I want to collect on this page answers to questions such as:


Why encode data?

Data is encoded for efficiency of storage, and efficiency of entry (notes that storage efficiency is applicable to any storage medium, a hard disk, or a price sticker). I think we can generalize and say that data is encoded for efficiency of usage.

-- AliMotaz


Example

Like "Net 30" for "The total of this invoice (product total plus taxes and shipping, minus discounts = net) is due to be paid in full within 30 days." Or, one might use "N30" in a computer system to avoid parsing "Net 30", "Net30", "net 30", etc.

I don't like this page's definition of encoding. The sentence in the above example is also an encoding. It puts a concept into bytes. "Why encode data?" is a silly question, since it implies that data would be data without being encoded. But if data is in the computer, it must be encoded, some way or another.

Quite right. The string, "The total of this invoice (product total plus taxes and shipping, minus discounts = net) is due to be paid in full within 30 days.", is encoded as a sequence of AsciiCode characters. (...or UniCode, depending on your rendering mechanism. ;-)

Perhaps this needs a topic name rethink. EffectiveAbbreviations?, MachineUsableAbbreviations?, etc.


The main reason I started this page is that I wanted to read more about data coding, as I read about it in the Kendall & Kendall systems analysis and design book. Unfortunately, the word coding, at least on this wiki, is used only to refer to coding programs, and program's code. I want to learn more about data coding but I can't find good material.

I don't know how appropriate it would be to just summarize what I learned from Kendalls' book in here, since 90% of what I know on the topic is the few pages I read in that book. But if I can't repeat what I learned, how can it become useful?

The book talks about data coding as a means for efficient data entry - a system user uses a code to refer to something or describe something. Data codes are not just reference, since they can carry information. For example, an employee code can be RND-1003-SA; this can be decoded to mean Systems analyst hired on October (10th month) 2003.

The book says codes can serve many purposes and have many types; a code can be use to

If you think of a code only as a relational database primary key, you will confuse yourself, since most designers will use separate columns to refer to many things, and will use a different mechanism to conceal information.

Still, as systems developers, you might be asked to code or encode (I am not sure encode is a better word, code seems fine) data.

I believe new ObjectOrientedProgramming approaches made data coding a less popular topic. [Less popular than what?] But still I find data coding a worthy topic, and a worthy mechanism to achieve a system objective.


EditText of this page (last edited July 5, 2005) or FindPage with title or text search