词条 | Imieliński-Lipski algebra | ||||||||||||||||||||||||||||||||||||||||||||||||
释义 |
An Imieliński-Lipski algebras is an extension of relational algebra onto tables with different types of null values. It is used to operate on relations with incomplete information. Imieliński-Lipski algebras are defined to satisfy precise conditions for semantically meaningful extension of the usual relational operators, such as projection, selection, union, and join, from operators on relations to operators on relations with various kinds of "null values". These conditions require that the system be safe in the sense that no incorrect conclusion is derivable by using a specified subset F of the relational operators; and that it be complete in the sense that all valid conclusions expressible by relational expressions using operators in F are in fact derivable in this system. For example, it is well known that the 3-valued logic approach to deal with null values, supported treatment of nulls values by SQL is not complete, see Ullman book.[1] To show this, let T be:
Take SQL query Q SQL query Q will return empty set (no results) under 3-valued semantics currently adopted by all variants of SQL. This is the case because in SQL, NULL is never equal to any constant – in this case, neither to “Spring” nor “Fall” nor “Winter” (if there is Winter semester in this school). Indeed, regardless what semester Igor took the Networks class (no matter what was the unknown value of NULL), the selection condition will be true. This “Igor” will be missed by SQL and the SQL answer won’t be complete according to completeness requirements specified in Tomasz Imieliński, Witold Lipski, 'Incomplete Information in Relational Databases'.[2] It is also argued there that 3-valued logic (TRUE, FALSE, MAYBE) can never provide guarantee of complete answer for tables with incomplete information. Three algebras which satisfy conditions of safety and completeness are defined as Imielinski-Lipski algebras: the Codd-Tables algebra, the V-tables algebra and the Conditional tables (C-tables) algebra. Codd-tables AlgebraCodd-tables Algebra is based on the usual Codd's singe NULL values. The table T above is an example of Codd-table. Codd-table algebra supports projection and positive selections only. It is also demonstrated in [IL84 that it is not possible to correctly extend more relational operators over Codd-Tables. For example, such basic operation as join is not extendable over Codd-tables. It is not possible to define selections with Boolean conditions involving negation and preserve completeness. For example, queries like the above query Q cannot be supported. In order to be able to extend more relational operators, more expressive form of null value representation is needed in tables which are called V-table. V-Tables AlgebraV-tables algebra is based on many different ("marked") null values or variables allowed to appear in a table. V-tables allow to show that a value may be unknown but the same for different tuples. For example, in the table below Gaurav and Igor order the same (but unknown) beer in two unknown bars (which may, or may not be different – but remain unknown). Gaurav and Jane frequent the same unknown bad (Y1). Thus, instead one NULL value, we use indexed variables, or Skolem constants .[2]
V-Tables algebra is shown to correctly support projection, positive selection (with no negation occurring in the selection condition), union, and renaming of attributes, which allows for processing arbitrary conjunctive queries. A very desirable property enjoyed by the V-table algebra is that all relational operators on tables are performed in exactly the same way as in the case of the usual relations. Conditional Tables (C-Tables) AlgebraExample of conditional table (c-table) is shown below.
It has additional column “con” which is a Boolean condition involving variables, null values – same as in V-tables. over the following table c-table
Conditional Tables algebra, mainly of theoretical interest, supports projection, selection, union, join, and renaming. Under closed world assumption, it can also handle the operator of difference, thus it can support all relational operators. HistoryImieliński-Lipski algebras were introduced by Tomasz Imieliński and Witold Lipski Jr. in 'Incomplete Information in Relational Databases' [3] References1. ^{{cite book|author1=J.D. Ullman|authorlink=Jeffrey Ullman|title=Principles of Database Systems |year=1982|publisher= Computer Science Press, Potomac, MD.|edition=2nd}} 2. ^{{cite |title= Skolem constants |url=http://www.sds.lcs.mit.edu/spd/larch/LP/glossary/skolem.html }} 3. ^1 {{cite journal|first1 =T. | last1=Imieliński | authorlink= Tomasz Imieliński | first2 = W. | last2 = Lipski Jr. | title=Incomplete information in relational databases | journal=Journal of the ACM|volume=31|issue=4|date= 1984|pages=761–791|url=https://scholar.google.com/citations?view_op=view_citation&hl=en&user=fEYp6hEAAAAJ&citation_for_view=fEYp6hEAAAAJ:UxriW0iASnsC }} Further reading
4 : Relational model|Database theory|Databases|Types of databases |
||||||||||||||||||||||||||||||||||||||||||||||||
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。