-2

Question, I am using Oracle 10g and my client wants me to create a Dynamic Database. Are there instructions that I can use to create one? What is the difference between a Relational Database and a Dynamic Database?

Thanks Wayne

Wayne
  • 11
  • 1
  • 1
  • why don't you ask your client what does he want? – Javier Nov 19 '09 at 15:02
  • 4
    The "dynamic" term is vague here. Do you want dynamic content into it? Do you want the schema to be dynamic (which I would not recommend)? Plus as far as I know, Oracle is a relational database so there is no point in asking the distinction between dynamic vs. relational database (it's like comparing "fruit" to "apple"). What is your client wanting from a "dynamic" database? – Percutio Nov 19 '09 at 15:31
  • All databases are dynamic. Just assure your client that you will be using a "robust multi-table dynamic database with cross-data query support". It might cost a little extra, but you'll use only the best for your client. – Jeremy Stein Nov 19 '09 at 17:05
  • I do know they want Dynamic Content. They are also interested in correlating the data. The term dynamic databse is relatively new to me. I had a meeting with another division to gather requirements they kept using Dynamic Database. I have a schema they used, with Fact and DIM but that usually relates to a datawarehouse type of database.. so was confused. – Wayne Nov 20 '09 at 17:50

2 Answers2

2

You should find out what your customer means by "Dynamic Database". Don't assume that they are clueless; they might have a specific requirement in mind when they use that term. Once you have figured out what they mean, then you will know if they are just looking for buzzword compliance or if this is an important requirement that you must understand and comply with.

Josh Yeager
  • 3,763
  • 1
  • 25
  • 29
  • They are wanting 'I do believe' Dyanamic Content. They want the data to be correlated as well. There is another division that claims to have a dynamic database. – Wayne Nov 20 '09 at 17:45
  • It sounds to me like they want to be able to add data to the database at any time and then display it to their users. You can use a standard "relational" database for that - I don't think that "Dynamic Database" is a separate technology. – Josh Yeager Nov 24 '09 at 17:33
0

Josh Yeager is probably right, but there another possible alternative here: that the customer wants the ability to change the schema of their database at any time.

Traditional Relational DBMSs (ie: the kind you use SQL with: Oracle, MS SQL Server, MySQL, etc) are fairly bad at this (or rather they do not have this as a design goal). You have to script the change in a specific way, apply it to the table (which can be time consuming on big databases), change the dependent code to support the new schema, have a plan to deal with preexisting data, etc.

If (and this is a really big IF: check with your client first) they want to be able to change the schema more frequently, then consider going to a "document" or "schemaless" database such as CouchDB or MongoDB. These sorts of databases assume that the data is heterogeneous (ie: different "records" contain different "fields" in the normal course of operations). In the same ballpark are XML-based data stores. These are a whole other paradigm compared to things like Oracle, but they may be well suited to your problem.

Also, there's an interesting article on using a RDBMS for schemaless data, though it seems like a lot of work to make an RDBMS work against itself.

Craig Walker
  • 49,871
  • 54
  • 152
  • 212