473,902 Members | 4,610 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

The stupidest design I ever saw

This is a continuation of the old theme, now featuring xml.

<tree>
<node id=0 parent_id=null label='A'>
<node id=1 parent_id=0 label='B'>
<node id=2 parent_id=0 label='C'>
...
</tree>

Apr 5 '06
44 2832

Vadim Tropashko wrote:
Neo wrote:
The folks who wrote this apparently have no idea that graph is defined by the set of nodes and edges between them. They wrap their naive understanding what the graph is into XML cludgy syntax and claim it to be a superior solution.

.
What is the better solution? Could you show it (possibly using the
vehicle classes above)?


To what kind of problem? Do you really insist on vehicle classification
in the first place? You may want spend some time on Bruce Jacobs site
where he advocates that classification system for data management
problems is a poor solution in general.


Could you provide a URL for his site? Thanks. --dawn

Apr 6 '06 #21

dawn wrote:
Vadim Tropashko wrote:
Neo wrote:
> The folks who wrote this apparently have no idea that graph is defined by the set of nodes and edges between them. They wrap their naive understanding what the graph is into XML cludgy syntax and claim it to be a superior solution.
.
What is the better solution? Could you show it (possibly using the
vehicle classes above)?


To what kind of problem? Do you really insist on vehicle classification
in the first place? You may want spend some time on Bruce Jacobs site
where he advocates that classification system for data management
problems is a poor solution in general.


Could you provide a URL for his site? Thanks. --dawn


http://www.geocities.com/tablizer/oopbad.htm#overeng

Keep in mind that his site is more obnoxious than dbdebunk, and he
certainly fails short of being able to actually deliver a promised
table-oriented language, but some parts are worth reading.

Apr 6 '06 #22
Marshall Spight wrote:
Joseph Kesselman wrote:
Mikito Harakiri wrote:
<node id=0 parent_id=null label='A'> Whatever that is, it isn't XML. XML attribute values must be quoted.


Exactly. Once you put quotes around the attribute values, the
design becomes really good, because text based formats are
flexible and nice. You can just put in whatever you want. That's
the right way to manage structured data. "Traditiona l" databases
are no good, because tables are flat, and the real world is tree
structured. There are lots of structures that you can't express
as a single table, like a linked list.

Another advantage of text formats is that anyone can write a parser
for them.

Up to here I actually took this seriusly.
You want as many parsers as possible; that way the
market can decide on what variations of the format are acceptable.

Troll! You almost got me! :-)

Volker
Apr 6 '06 #23

Mikito Harakiri wrote:
Andy's posting history doesn't leave any doubt that he is serious.
8-) I hear the Pope has a bit of thing about heresy too.

Anyway, the link to RDF turned out to be informative.


Can I please ask a couple of things of people posting to this thread

If you're a c.d.t regular and you x-post into c.t.x, then please post
some links back to context. I get the feeling I've fallen into an old
argument here and I don't know what the background is.

Secondly, if you look at RDF stuff, then look at the W3C documentation
pack from early 2004.
http://www.w3.org/RDF/
The docs before this date were unfriendly and unclear (to say the
least) and the Feb2004 rewrite was a damn good bit of work - it's worth
reading the right version. Anything older than this (particularly last
century) is quite probably very misleading.
Now, let battle commence!

Apr 6 '06 #24
Congrats on the book!!

Apr 6 '06 #25

Marshall Spight wrote:
Marshall Spight wrote:

Once you put quotes around the attribute values, the
design becomes really good,


To everyone who asked: yes, I was joking.


Wheeew! It's not that I don't enjoy discussions about "the real world"
but I like to keep the math folks and those living in the real world
apart. smiles --dawn

Apr 6 '06 #26
Neo
> > > table Nodes (id number, ... -- content)
table Edges (tail number, head number, ...)
How do I use the above schema to model the vehicle classes shown in the
RDF example given earlier? I still don't see it.


No, you first please demonstrate that the above classification serves
some useful purpose.


It may serve the purpose of allowing a large car dealership to narrow
down the list of vehicles to offer based on a general category
specified by a customer (ie mini-van, economy, economy/luxury,
utility/hybrid, etc).
Bruce Jacobs advocates that classification system for data management
problems is a poor solution in general.
While I accept that implementation by a particular methodology may have
limitations or problems (ie as in multiple inheritance in OOP), are you
saying that classification, by itself, is a poor solution to data
management? If so, why would human being rely on it so much? For
example, if someone tells me thing X is a helicopter, it allows me to
infer many characteristics . Next, if they tell me it is also a jet, it
allow me to infer additional prominent characteristics and doubts some
of the minor ones. For instance, I can now assume that it not only
hovers but flies very fast, but less certain about it's cockpit/cabin
environment. After learning more details, I might classify thing X
predominantly in a new class (ie UFO?) but still keep it as a minor one
in the old ones. I agree that various classes should not be arranged in
a hierarchy (as in the earlier XML/RDF example) and that each thing
simply belongs to 0 to many classes. In addition, human's data
management system probably include weighting factors as to how strongly
a thing belongs in a particular class and also for properties and
methods associated with a class.
Surprisingly, it's not easy to express this or parts explosion kind of
query in XQuery (which is allegedly a superior tool for graph/tree
related problems). You can compare XQuery solution ... with SQL ...


Thanks for presenting the two solutions.

Apr 6 '06 #27
Neo wrote:
No, you first please demonstrate that the above classification serves
some useful purpose.


It may serve the purpose of allowing a large car dealership to narrow
down the list of vehicles to offer based on a general category
specified by a customer (ie mini-van, economy, economy/luxury,
utility/hybrid, etc).


Just an attribute/column would suffice.
Bruce Jacobs advocates that classification system for data management
problems is a poor solution in general.


While I accept that implementation by a particular methodology may have
limitations or problems (ie as in multiple inheritance in OOP), are you
saying that classification, by itself, is a poor solution to data
management? If so, why would human being rely on it so much? For
example, if someone tells me thing X is a helicopter, it allows me to
infer many characteristics . Next, if they tell me it is also a jet, it
allow me to infer additional prominent characteristics and doubts some
of the minor ones. For instance, I can now assume that it not only
hovers but flies very fast, but less certain about it's cockpit/cabin
environment. After learning more details, I might classify thing X
predominantly in a new class (ie UFO?) but still keep it as a minor one
in the old ones. I agree that various classes should not be arranged in
a hierarchy (as in the earlier XML/RDF example) and that each thing
simply belongs to 0 to many classes. In addition, human's data
management system probably include weighting factors as to how strongly
a thing belongs in a particular class and also for properties and
methods associated with a class.


IMO the formal concept analysis folks nailed the right approach to
categorization theory. There are two sets: formal objects and formal
attributes. Check up the "Formal Concept Analysis in Information
Science" article by Uta Priss -- it is written for general audience.

Apr 6 '06 #28
Neo
> > > please demonstrate that the above classification
serves some useful purpose.
It may serve the purpose of allowing a large car dealership to narrow
down the list of vehicles to offer based on a general category
specified by a customer (ie mini-van, economy, economy/luxury,
utility/hybrid, etc).


Just an attribute/column would suffice.


Would you consider such a solution to be normalized/flexible?
Check up the "Formal Concept Analysis in Information Science"
article by Uta Priss


Thanks.

Apr 6 '06 #29
On Wed, 05 Apr 2006 19:06:00 -0700, Vadim Tropashko wrote:
I have two chapters about trees and graphs in my book.
http://www.rampant-books.com/book_20...ing_styles.htm


Interesting. Please post a message in this group when the book has been
published.

--
Greetings from Troels Arvin

Apr 7 '06 #30

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

22
2149
by: Nunaya | last post by:
We have developed two objects called "customer" and "salesrep". For simplicity, assume that these two objects will talk directly to a database. The database has three tables: customers, customersalesreps (allows multiple salesreps to be associated with a customer), and salesreps. The customer object has business rules that allow manipulation of customer information (add,update,delete,select,etc). The salesrep object has business rules...
4
1612
by: Merlin | last post by:
Hi Imagine the following classes (A class diagram will help) BASE, A, B, C, D, E, F, G. A, B, C, D, G inherit from BASE. E, F inherit from D.
8
3777
by: Ash | last post by:
Hello all, I am hoping this is the appropriate newsgroup for a C++ interface design question. I am trying to design an interface for a subscriber to register/deregister handlers for various events. The callbacks specified by the subscriber will be called when the events get trigerred in a different thread. Each event has different kinds of data associated with it. To achieve this I have the following: // The following describes the...
7
1428
by: chrisn | last post by:
Do real developers use the design view? Thought it would be interesting to start a debate on this subject. According to all the MCP materials (yes, I know a bit mickey mouse), the design view is the way to build your ASP.NET pages. Problem is: - it generates goddam awful HTML, certainly not standards-based. - use of absolute positioning and tables for layout.
20
1545
by: Brad Pears | last post by:
I am completely new to vb .net. I am using visual Studio 2005 to redo an Access 2000 application into a .net OO application using SQL Server 2000 - so a complete rewrite and re-thinking of how this app will work. I have NEVER done any OO programming at all although I have used OO techniques in programs of course - just never actually designed the classes etc... So I am just a tad nervous in re-writing this Access application as it is...
17
4871
by: roN | last post by:
Hi, I'm creating a Website with divs and i do have some troubles, to make it looking the same way in Firefox and IE (tested with IE7). I checked it with the e3c validator and it says: " This Page Is Valid XHTML 1.0 Transitional!" but it still wouldn't look the same. It is on http://www.dvdnowkiosks.com/new/theproduct.php scroll down and recognize the black bottom bar when you go ewith firefox(2.0) which isn't there with IE7. Why does...
2
1149
by: John | last post by:
Hi there, I am writing a simple program that will connect to database. Database has 2 tables, let's call them father and child. This is one to many relationship. I would like to create corresponding classes for each table. Each class would have functions Insert, Edit, Delete I would like to find some information how to properly design my classes. I used to program in php and delphi.
23
2455
by: JohnH | last post by:
I'm just recently come to work for an auto brokerage firm. My position involves performing mysterious rites, rituals and magick in order to get information out of their access database. This is due to the fact that the "designer" they hired had an unfortunate ability to tink around with a program far beyond her reach. She had no concept of any of the principles of database design, so what i'm left with is a junkpile. The only reason I...
7
1716
by: Darko | last post by:
Isn't JS the stupidest language? <script> function x() { var i = 2; alert( "i = " + i ); if ( i == 2 ) { var i = 3; alert( "i = " + i );
0
9845
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10870
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10981
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9673
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
8047
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5893
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
6085
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4725
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4306
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.