Programming Trends to Follow?

Network databases, various "4GL" products, keyed flat file with indexes and hierarchical data, known in IBM as VSAM.

What precisely you do mean when you say these things have died off? Do you mean that non-RDBMS persistence technologies are no longer commonly employed in the development of new software systems?
 
Last edited:
What precisely you do mean when you say these things have died off? Do you mean that non-RDBMS persistence technologies are no longer commonly employed in the development of new software systems?

If you want a database off the self to do a job that can scale well, most people will use an RDB these days.
 
Considering you aren't going to be doing anything sensible with an RDB without using normalisation, it just seemed to be a strange question.

I've found that more data-centric people tend to favor normalization, while process-oriented people like to have everything in denormalized flat files. I was just interested in knowing where you stood with that.

I have yet to see an ERP system where the tables are even in first normal form. I think it has something to do with the practice of using the transaction database for reporting.
 
Define sensible.

I have seen an early version of SAP use DB2 for the database, rather than IMS, which it originally used. All they did was transfer the IMS 'tables' into DB2 tables. No columns, no normalisation. They just used it to store hierarchical data. It was pretty stupid. That changed with the next Release, they normalised most of it for that.
 
I've found that more data-centric people tend to favor normalization, while process-oriented people like to have everything in denormalized flat files. I was just interested in knowing where you stood with that.

I have yet to see an ERP system where the tables are even in first normal form. I think it has something to do with the practice of using the transaction database for reporting.

SAP is the worlds largest, most popular and most complex ERP system. It is up to something like 30,000 tables now, most of it normalised. It could not work unless it was normalised, because the data is so complex. The transactional data is not in that many tables, but it would be in, about several thousand of them, at a quick guess.
 
OO and Relational theory are both datacentric. That is why OO is called Object Oriented. Relational Theory is based on a Mathematical Theory, though. Relational Theory also is concerned with process. It is really a matter of how the data is structured. The theoretical basis for an RDB is much sounder than OO.
 
I have seen an early version of SAP use DB2 for the database, rather than IMS, which it originally used. All they did was transfer the IMS 'tables' into DB2 tables. No columns, no normalisation. They just used it to store hierarchical data. It was pretty stupid. That changed with the next Release, they normalised most of it for that.

That sounds like a poor use of the technology. How does it follow from this that nothing sensible is done with an RDBMS without normalization?
 
It would, so games or web sites that don't need persistence will not need a database. However, IIRC, Microsoft has now made .Net languages able to process internal tables using SQL commands. A smart move. Relational theory is good for more than just persistance, IMHO.
 
It would, so games or web sites that don't need persistence will not need a database. However, IIRC, Microsoft has now made .Net languages able to process internal tables using SQL commands. A smart move. Relational theory is good for more than just persistance, IMHO.

Are you talking about LINQ? Very useful in working with aggragate lists. Personally, I don't like to use the SQL-like syntax, which was just added as window-dressing and doesn't behave much like SQL, anyway.

ETA: It looks something like this:

var widgetList = from widgetComponent wc in widgetComponents
where wc.IsReady()
select new widget(widgetComponent)
 
Last edited:
That sounds like a poor use of the technology. How does it follow from this that nothing sensible is done with an RDBMS without normalization?

If data integrity is more important than performance, then the more normalized, the better. If performance is more important than data integrity, then denormalized tables are often best.

Denormalized tables are useful in OLAP and other data warehousing technologies.
 

Back
Top Bottom