20 February 2009

🛢DBMS: Deterministic Function (Definitions)

"A function that always generates the same outputs, given the same inputs." (Peter Gulutzan & Trudy Pelzer, "SQL Performance Tuning", 2002)

"A function is deterministic if it always returns the same output when presented with the same input." (Thomas Moore, "EXAM CRAM™ 2: Designing and Implementing Databases with SQL Server 2000 Enterprise Edition", 2005)

"A characteristic of a function that means the function always returns the same output when presented with the same input." (Thomas Moore, "MCTS 70-431: Implementing and Maintaining Microsoft SQL Server 2005", 2006)

"Deterministic functions return the same value each time they’re invoked with the same arguments." (Joseph L Jorden & Dandy Weyn, "MCTS Microsoft SQL Server 2005: Implementation and Maintenance Study Guide - Exam 70-431", 2006)

"Whether a function always returns the same output given the same inputs." (Marilyn Miller-White et al, "MCITP Administrator: Microsoft® SQL Server™ 2005 Optimization and Maintenance 70-444", 2007)

"A deterministic function is one which, given a specific set of inputs, will always produce the same result. The SQL Server decryption functions are an example of deterministic functions. SQL Server’s symmetric encryption functions, however, generate a random IV so the result is nondeterministic." (Michael Coles & Rodney Landrum, , "Expert SQL Server 2008 Encryption", 2008)

"Typically refers to functions such as deterministic functions. A deterministic function always returns the same result when called with the same input values. Indexed VIEWs require any functions used within the indexed VIEW to be deterministic. As a comparison, see nondeterministic." (Darril Gibson, "MCITP SQL Server 2005 Database Developer All-in-One Exam Guide", 2008)

"a computation situation in which the execution time of an action sequence is known precisely." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"Given the same inputs, a deterministic application will present the same (observable) results each and every time." (Clay Breshears, "The Art of Concurrency", 2009)

"A deterministic algorithm is an algorithm that behaves predictably. Given a particular input, a deterministic algorithm will always produce the same output. The definition of what is the “same” may be important due to limited precision in mathematical operations and the likelihood that optimizations including parallelization will rearrange the order of operations. These are often referred to as “rounding” differences, which result when the order of mathematical operations to compute answers differs between the original program and the final concurrent program. Concurrency is not the only factor that can lead to non-deterministic algorithms but in practice it is often the cause. Use of programming models with sequential semantics and eliminating data races with proper access controls will generally eliminate non-determinism other than the 'rounding' differences." (Michael McCool et al, "Structured Parallel Programming", 2012)

"Having a predictable value with a very narrow range of variance. As a result, deterministic values do not require the use of probability distributions to describe their behavior in business analysis methods or decisions and can usually be represented by a constant value." (Kenneth A Shaw, "Integrated Management of Processes and Information", 2013)

"A user-defined function with a result that is dependent on the values of the input arguments. Successive invocations with the same input values produce the same answer." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

No comments:

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
Koeln, NRW, Germany
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.