In: Computer Science
What does relational closure mean, and what is its significance in application design?
Relational Closure
Every operation performed on a relational database operates on a table (or set of tables) and results in another table.
Application developers face a potential problem when using relational databases because of the set-at-a-time nature of SQL.
Most programming languages operate on data one record at a time.
When a program requires relational data, though, it must request
the data using SQL.
This creates an impedance mismatch. The program expects data to be
returned a single row at a time, but SQL returns data a set at a
time.
---
What techniques can be used to minimize deadlocks, and how?
You might rewrite the program to lock all required resources at the beginning of the transaction. However, such a technique is not likely to be possible for most applications.
A final method of avoiding deadlocks is to ensure that all database modifications occur in the same order for all programs in your shop. If the updates in every program are sequenced, deadlocks can be minimized or eliminated.
Perhaps you'll find a logical business order for updates that is reasonable to use for applications. If you don't, consider using an arbitrary policy such as modification in alphabetical order.
---
Compare and contrast performance problems with availability problems.
The major difference lies in the user's ability to access the database. It is possible to access a database suffering from poor performance, but it is not possible to access a database that is unavailable.
If performance suffers to such a great degree that the users of the database cannot perform their jobs, the database has become, for all intents and purposes, unavailable.
---
Describe three types of technology that can help alleviate availability issues in a database
--
all the best