This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Technology & Calculator Open Topic subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Computer Tech Support => Technology & Calculator Open Topic
Author Message
Arcane Wizard
`semi-hippie`


Super Elite (Last Title)


Joined: 02 Jun 2003
Posts: 8993

Posted: 11 Jun 2007 08:14:53 am    Post subject:

So for a college project we're starting to design the diagrams of a new database.

A problem revolves around a connection between contracts and persons, where both the Contract entity and the Person entity have various subtypes. ie EmployeeContract, Employee, etc. Initially we had these connected to eachother directly with a many to many relation which is acceptable for a conceptual database diagram.

[attachment=1703:attachment]

Some .net programmer who doesn't like databases gave a presentation about software architecture - because he worked on the first .net project in our country years ago or something - said it would be better to make it like this:

[attachment=1702:attachment]

Because if there'd be a new contract type then you'd have to add a table and the management of a company would never allow anyone to add tables to a database because of security reasons. I'm thinking that's pretty much bogus as he wouldn't explain why it's a problem any further and we get to determine database policy anyway. The main goal of the database is to be uniform for currently excisting companies that we're doing the project for as well as for future mergings with other companies, so the policy will contain all sorts of merging rules in which we can detail architecture maintainability or whatever to be just fine for adding a new contract type by table.

First of all I'd like to know if anyone sees any problems with adding tables to a critical company database at all - other than some idiot adding dozens of stupid tables causing the database to become unmanagable. Obviously there's not going to be thousands of contract types.

Secondly, security issues in adding tables through user software with the right priviliges from a thouroughly detailed policy detailing such actions? CREATE TABLE is more dangerous than INSERT? A new table and keeping a single join depth for getting any contract worse than 5 joins just to get a contract signee's name? Or are .net programmers simply insane?

The same applies to Person types, can you imagine needing a whole bunch of joins and subqueries and who knows what else just to get a person's wage?


Last edited by Guest on 11 Jun 2007 08:19:46 am; edited 1 time in total
Back to top
AlienCC
Creative Receptacle!


Know-It-All


Joined: 24 May 2003
Posts: 1927

Posted: 12 Jun 2007 01:48:47 am    Post subject:

To simplify the answer I agree your solution to the problem is correct while his is not, based soley on the information above.

Front-end programmers are typically horrible at database design. The reason behind it is quite simple. They usually learned programming before they learned anything about databases, and are stuck on the programmers mentality. Breaking things into as small of pieces as possible, and focusing only on little chunks of the problem at a time. With databases, you need to keep the whole big picture in your mind the entire time while designing so as to properly influence every aspect of the design for efficency toward what is needed. Leave it to the front-end programmers and you'll have all sorts of weird things going on like looping queries where none are needed, shoddy table design, etc. I've seen it before, and had to clean up after it on legacy projects. There is a reason why programmers are not DBA's.
Back to top
Arcane Wizard
`semi-hippie`


Super Elite (Last Title)


Joined: 02 Jun 2003
Posts: 8993

Posted: 12 Jun 2007 04:35:38 am    Post subject:

Thanks for your answer, I presented it to my team along with some more arguments like relational rules that may differ per type and we're all convinced his method is not the way to go.
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement