![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
#3
| |||
| |||
|
|
While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
#4
| |||
| |||
|
|
While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
#5
| |||
| |||
|
|
"dawn" <dawnwolthuis (AT) gmail (DOT) com> wrote in message news:1144166553.056367.149490 (AT) z34g2000cwc (DOT) googlegroups.com... While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub- values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn Dawn- B Faux wrote: Some implementations do a better job with access reporting on sub- values than others. However, in practice they have proven more useful in control records that will be manipulated by programs only, rather than reported on thru the report generator. [snip] |
#6
| |||
| |||
|
|
While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
#7
| |||
| |||
|
|
Dawn - Ken Simms, the fellow who initially put together the Basic system at pick systems, lost a big argument with Dick Pick. His notion was to implement "line item" as a data type, so that an attribute could be a list of these data. The implementation proposed was for incorporating the type into the retrieval language ("english") with a decimal notation, so attribute 3.2 was the 2nd line item in attribute 3. I don't know the complexity of the implementation throughout the system, including in his Basic system, but certainly it didn't seem high. The big objection was simply that it was aesthetically rude. It was an assault on the simplicity of the model. I thought the "line item" was a natural data type (a list) and in my coding structures built in all I needed for handling it. Very xml-ish for attribute values. Very simple code. Very natural modeling and design. Very stable migration and enhancement. and it solved most of the correlated attribute problems, at the cost, in my version, of reserving the '_' character as a delimiter. The line item elements could be viewed as sub-values logically (eg the price field of the order line), but didn't address the is-a-part-of recursion of values of bill of materials processing. Limiting the definition of 'multiple' to mean 'up to 3' never did make sense to me, and is possibly the greatest aesthetic rudeness in the mv model. And besides, as you are exploring, the frequency of needing a model for additional depth is low; the frequency of needing to describe values of things as lists of their constituents is very very high. There was a performance gain in the early machines, where picking up the line item elements in other files/tables was magnitudes slower than converting the element out of the the line item value. So, design with "line items" yes, with atomic attributes, no, not beyond the second value. I nearly never saw the practical need to have a 3rd level - a list of the elements of a line item element, but perhaps that reflected either a limit of my imagination or of the complexity of applications I designed. I really would prefer to refer to LoL data systems, rather MV data systems, as Lists of Lists is to me the central strength (along with the the character-delimited attributes). Or just V data systems (for Virtual), as constraints to the lists (type, sequence, integrity, ...) can be applied externally or not, as one desires, just as the physical representation does not limit the logical structure. -- Bill dawn wrote: While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
#8
| |||
| |||
|
|
Hi Bill It is a pity that Ken lost the argument. However people still try to do it unfortunately. Originally the 32k limit made it a disaster at places like Datamail in South Melbourne. Nowadays some banking systems for instance are a real mess to follow. The major problem in doing this is that the records just get bigger and bigger when they really should be in a sub file. An invoice is a natural for this line item approach however people go and try to use it for say a bank customer's transactions and the whole thing becomes a monster. Peter McMurray "Bill Cooke" <bcooke (AT) cookedata (DOT) com> wrote in message news:4432BB33.7A53ACA4 (AT) cookedata (DOT) com... Dawn - Ken Simms, the fellow who initially put together the Basic system at pick systems, lost a big argument with Dick Pick. His notion was to implement "line item" as a data type, so that an attribute could be a list of these data. The implementation proposed was for incorporating the type into the retrieval language ("english") with a decimal notation, so attribute 3.2 was the 2nd line item in attribute 3. I don't know the complexity of the implementation throughout the system, including in his Basic system, but certainly it didn't seem high. The big objection was simply that it was aesthetically rude. It was an assault on the simplicity of the model. I thought the "line item" was a natural data type (a list) and in my coding structures built in all I needed for handling it. Very xml-ish for attribute values. Very simple code. Very natural modeling and design. Very stable migration and enhancement. and it solved most of the correlated attribute problems, at the cost, in my version, of reserving the '_' character as a delimiter. The line item elements could be viewed as sub-values logically (eg the price field of the order line), but didn't address the is-a-part-of recursion of values of bill of materials processing. Limiting the definition of 'multiple' to mean 'up to 3' never did make sense to me, and is possibly the greatest aesthetic rudeness in the mv model. And besides, as you are exploring, the frequency of needing a model for additional depth is low; the frequency of needing to describe values of things as lists of their constituents is very very high. There was a performance gain in the early machines, where picking up the line item elements in other files/tables was magnitudes slower than converting the element out of the the line item value. So, design with "line items" yes, with atomic attributes, no, not beyond the second value. I nearly never saw the practical need to have a 3rd level - a list of the elements of a line item element, but perhaps that reflected either a limit of my imagination or of the complexity of applications I designed. I really would prefer to refer to LoL data systems, rather MV data systems, as Lists of Lists is to me the central strength (along with the the character-delimited attributes). Or just V data systems (for Virtual), as constraints to the lists (type, sequence, integrity, ...) can be applied externally or not, as one desires, just as the physical representation does not limit the logical structure. -- Bill dawn wrote: While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
#9
| |||
| |||
|
|
While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
#10
| |||
| |||
|
|
While I see a lot of reason to design with multivalues, including associated multivalues, up front in a project, I don't use sub-values. If I get to that point, I redesign into a separate table. My reasoning is that multivalues are conceptually easy and easy to report against, while sub-values are more difficult on both fronts. I can understand slipping in a sub-value, however, once a system is underway, if there is a real need and the cost of doing so seems low enough for the long haul. Do others design up front with sub-values? In what cases? Does anyone have any rule of thumb for when you use them or don't use them? These questions and more... Cheers! --dawn |
![]() |
| Thread Tools | |
| Display Modes | |
| |