# Re: Constraints and Functional Dependencies

Date: Tue, 06 Mar 2007 15:36:48 GMT

Message-ID: <kUfHh.7019$PV3.63097_at_ursa-nb00s0.nbnet.nb.ca>

Marshall wrote:

> On Feb 28, 9:20 am, Bob Badour <bbad..._at_pei.sympatico.ca> wrote: >

*>>Marshall wrote:*

*>>*

*>>>For myself, I completely fail to see the point of possreps.*

*>>*

*>>Data independence.*

*>>*

*>>Consider a Complex number type. It has two possible representations:*

*>>cartesian and polar.*

*>>*

*>>Consider the following chart of performance characteristics for*

*>>combinations of operations and representations:*

*>>*

*>> | Cart | Polr |*

*>>-----------------*

*>>+ | Fast | Slow |*

*>>-----------------*

*>>* | Slow | Fast |*

*>>-----------------*

*>>*

*>>Consider three similar relations that have a Complex attribute. The*

*>>first application mostly uses the attribute for addition. The second*

*>>application mostly uses the attribute for multiplication. The third uses*

*>>the attribute for a balanced mix of operations.*

*>>*

*>>The first application will perform better if the dbms physically stores*

*>>the attribute in cartesian coordinates. The second application will*

*>>perform better if the dbms physically stores the attribute in polar*

*>>coordinates. The third application performs better if it avoids*

*>>unecessary conversions.*

*>>*

*>>Now, suppose it is the same relvar in all three cases and a dba has to*

>>achieve specific performance goals. How does the dba do that without

>>disrupting any of the applications.

> > > My problem with this examples has always been the limitations > of floating point numbers. Consider (1,1). It is exactly representable > in cartesian form, but not in polar form; the radius is sqrt(2), an > irrational.

However, (1,1) is not the exact value but a range of values ([1-epsilon,1+epsilon],[1-epsilon,1+epsilon]) Similarly, the polar representation will be a range of values that includes sqrt(2).

> However, I had not considered: "How does the dba do that without > disrupting any of the applications" previously; I'll have to think > about that some more.

Data independence always boils down to a variant of the above question. Logical independence boils down to "How does the dba address the different views of the data that multiple evolving applications have without disrupting any of the applications?" and physical independence boils down to "How does the dba balance the different performance requirements of multiple evolving applications without disrupting any of them?"

*>>Finally, consider a Video data type where each conversion results in a
*

>>loss of picture quality. What is the best way to support multiple

>>players and formats?

> > In the case of lossy compression, I feel strongly that it is a logical > matter, and cannot be abstracted away. The choice of compression > ratios and algorithms needs to be under user/application control, > not dba control.

If that is the case, you will naturally prefer a system that stores the Video either in its original format or in a lossless format and that allows the user or application to request it in any format. ie. in any possible representation. Received on Tue Mar 06 2007 - 16:36:48 CET