If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > General > Database Concepts & Design > limitations of current databases

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 05-25-09, 15:57
TheRaine TheRaine is offline
Registered User
 
Join Date: May 2009
Posts: 4
limitations of current databases

Just a question ive got to address with regards to limitations of current database technologies/practices in an application area such as online booking systems or online shopping systems

all i can come up with so far is query speed limitations due to referencial intergrity (if it is implemented) and storage of increasing amounts of data (also slowing the system down)

any ideas?
Reply With Quote
  #2 (permalink)  
Old 05-25-09, 16:14
Pat Phelan Pat Phelan is offline
Resident Curmudgeon
 
Join Date: Feb 2004
Location: In front of the computer
Posts: 12,605
There are quilte literally millions of possible limitations that impact design decisions, but without a better understanding of your question it is almost impossible for me to figure out how to help you. Please either rephrase or better define your question.

-PatP
__________________
In theory, theory and practice are identical. In practice, theory and practice are unrelated.
Reply With Quote
  #3 (permalink)  
Old 05-25-09, 17:34
dportas dportas is offline
Registered User
 
Join Date: Dec 2007
Location: London, UK
Posts: 732
I guess this is homework in which case it's supposed to be your own work.

What do you think are the limitations of referential integrity in today's DBMSs?
Reply With Quote
  #4 (permalink)  
Old 05-25-09, 18:35
TheRaine TheRaine is offline
Registered User
 
Join Date: May 2009
Posts: 4
Quote:
Originally Posted by dportas
I guess this is homework in which case it's supposed to be your own work.

What do you think are the limitations of referential integrity in today's DBMSs?
its not "homework" in the sense you might be thinking of

its more a research area, so im baisically looking for direction

by referential integrity limitations i was refering to complex sql queries being slower due to joins along with them being more complex

the question is literally: address some limitations of database techniques/concepts and practices that are used within a certain application area' (i just supplied 2 of the possible application areas)
Reply With Quote
  #5 (permalink)  
Old 05-25-09, 20:01
r937 r937 is offline
SQL Consultant
 
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,524
Quote:
Originally Posted by TheRaine
all i can come up with so far is query speed limitations due to referencial intergrity (if it is implemented) and storage of increasing amounts of data (also slowing the system down)
let me address both of these points after suggesting that database technologies don't have "limitations" in these areas nearly as much as those ideas you came up with

1. if you fail to implement relational integrity, you risk having bad data, and lemme tellya from over 35 years personal experience in information technology, users would rather have correct answers a little more slowly than wrong answers real fast (to say nothing of the increased development time as you attempt to do with application code what the database could be doing for you automatically)

2. if you can have a functional database application without storing increasing amounts of data, then you're really onto something -- just don't store any more data, and bob's your uncle

__________________
r937.com | rudy.ca
please visit Simply SQL and buy my book
Reply With Quote
  #6 (permalink)  
Old 05-26-09, 02:24
dportas dportas is offline
Registered User
 
Join Date: Dec 2007
Location: London, UK
Posts: 732
It seems to me that one of the principal limitations of SQL DBMSs is that they generally have inadequate or completely lacking support for referential integrity, multi-relvar constraints and constraints generally. Despite Rudy's apparent confidence I suspect that even in his databases (like many of mine for that matter) he is forced to compromise by not implementing many important constraints that ought to be present.

These are primarily logical and syntax issues but performance may also be a consideration. For example most of the leading DBMSs can't properly support constraints that are mandatory "in both directions", can't handle N-cardinality rules efficiently or at all and have no straightforward way to set up inclusion dependency or join dependency constraints. Furthermore, even where some workarounds might be available, the query optimisers in those products can't take advantage of such constraints to allow query re-writes and other optimisations.

Lack of integrity support is one of SQL's biggest failings - as evidenced by the number of products that have grown up to solve data quality problems and implement business rules in databases.
Reply With Quote
  #7 (permalink)  
Old 05-26-09, 06:22
TheRaine TheRaine is offline
Registered User
 
Join Date: May 2009
Posts: 4
Quote:
Originally Posted by r937
let me address both of these points after suggesting that database technologies don't have "limitations" in these areas nearly as much as those ideas you came up with

1. if you fail to implement relational integrity, you risk having bad data, and lemme tellya from over 35 years personal experience in information technology, users would rather have correct answers a little more slowly than wrong answers real fast (to say nothing of the increased development time as you attempt to do with application code what the database could be doing for you automatically)

2. if you can have a functional database application without storing increasing amounts of data, then you're really onto something -- just don't store any more data, and bob's your uncle

well my thinking behind what i said was under the impression that a different more effective approach might be to look at object relational database concepts (i believe the newer versions of oracle support these ideas)

another thought i had was discussing distributed databases, in terms of the different types of fragmentation that might help improve certain existing limitations (if not already used)
Reply With Quote
  #8 (permalink)  
Old 05-26-09, 09:21
mike_bike_kite mike_bike_kite is offline
vaguely human
 
Join Date: Jun 2007
Location: London
Posts: 2,519
Quote:
Originally Posted by TheRaine
all i can come up with so far is query speed limitations due to referencial intergrity (if it is implemented) and storage of increasing amounts of data (also slowing the system down)
Poor performance is usually more a combination of poor db design, poor indexing and crappy SQL - it's rarely anything inherently wrong with the RDBMS.
Quote:
Originally Posted by TheRaine
any ideas?
Handling searches on text fields where the word your searching for could be anywhere in the text is also difficult especially if the word is also misspelt.

Handling tree structures (say for product lines etc) is usually poor in most RDBMS systems.

Recording a history of change on records is also poor - it usually needs to be done manually and involves lots of compromise.

The biggest issue in my eyes though is maintenance - making any changes to the structure of a live database is always painful.
Reply With Quote
  #9 (permalink)  
Old 05-26-09, 09:25
dportas dportas is offline
Registered User
 
Join Date: Dec 2007
Location: London, UK
Posts: 732
Quote:
Originally Posted by TheRaine
well my thinking behind what i said was under the impression that a different more effective approach might be to look at object relational database concepts
Object Relational means the same as Relational, ie: the database supports types of arbitrary complexity. In principle I think the integrity constraint mechansim ought to be similar irrespective of type but there are probably limitations as to what can be indexed.

Or maybe you had in mind the idea of using object IDs and pointers in place of referential constraints. I don't believe that has any conceivable benefits but it has many and well-known disadvantages.
Reply With Quote
  #10 (permalink)  
Old 05-26-09, 12:18
TheRaine TheRaine is offline
Registered User
 
Join Date: May 2009
Posts: 4
Quote:
Originally Posted by dportas
Object Relational means the same as Relational, ie: the database supports types of arbitrary complexity. In principle I think the integrity constraint mechansim ought to be similar irrespective of type but there are probably limitations as to what can be indexed.

Or maybe you had in mind the idea of using object IDs and pointers in place of referential constraints. I don't believe that has any conceivable benefits but it has many and well-known disadvantages.
hm

yeah i was refering to object ids and pointers

from what ive been taught i was under the impression that in general this is the way databases are 'moving' as the object relational concept allows for inheritance and polymorphism

with regards to the OID's and pointers, my understanding is these simplify the process of table joins e.g.replacing a previously very complex set of joins and still obtaining the same results
Reply With Quote
  #11 (permalink)  
Old 05-26-09, 14:57
dportas dportas is offline
Registered User
 
Join Date: Dec 2007
Location: London, UK
Posts: 732
DBMSs with richer type support is certainly a trend and an all-round good thing. It doesn't fundamenally change the nature of a relational or SQL database though. Features like inheritence and polymorphism are just properties of the underlying type system on which the database is built and the relational model has always been agnostic about what data types actually get used within it.

OIDs and pointers are a different matter. The Relational Model was designed to banish pointers, addressing and other navigational structures precisely because of the serious limitations of those structures in systems that historically used them. The benefits of doing so include increased flexibility (you aren't limited only to pre-defined navigational paths), improved physical data independence and more options for optimising the database. The RM is also a mathematically based model, which makes it possible to analyse, derive solutions and prove correctness in that model.

Don't think about changing the model as a way of improving performance. Performance is ultimately determined by the way the model is implemented in software and hardware. I've already mentioned a few limitations of the current implementations.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On