This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
magik-demo:user:school-example [2013/05/13 17:47] admin created |
magik-demo:user:school-example [2017/07/06 15:24] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | {{:magik-demo:magik-logo.jpg?900|}} | + | {{:magik-demo:magik_logo.png?nolink&500|}} |
| Line 12: | Line 12: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | The motivation for MAGIK comes from a project to create a school information system (SIS) that can give | + | In database applications such as information integration and decision support, |
| - | guarantees about the completeness of the school data. Typically, data in SIS is notoriously incomplete. | + | one is in interested in data sets that are complete, in the sense that the data |
| - | Consequently, the school management is not able use this data for the decision support. | + | represent all relevant facts that hold in the real world. In many situations, though, |
| + | it is only possible to guarantee partial completeness of the data, which means that | ||
| + | for certain aspects of the application domain the data are complete, but not for others. | ||
| + | In such a situation, one would like to know at least whether the available data are | ||
| + | sufficient to answer a given query completely, that is, whether the answers to the | ||
| + | query over the avalable data are the same as if the data set were complete. | ||
| + | |||
| + | An example is the management of school data in the province of Bolzano, which motivated | ||
| + | the work reported here. Data in the school information system of the province are often | ||
| + | incomplete because each school individually is responsible for inserting its data into | ||
| + | the system and because for certain kinds of data the contribution is optional. | ||
| + | Decision makers, however, need to know whether or not the statistics on which they base | ||
| + | the allocation of resources to schools are derived from complete data. | ||
| The problem statement that MAGIK solves is the following: | The problem statement that MAGIK solves is the following: | ||
| Given a collection of table completeness (TC) statements | Given a collection of table completeness (TC) statements | ||
| (meta-statements that states which parts of tables are certainly complete) | (meta-statements that states which parts of tables are certainly complete) | ||
| - | that hold over an instance | + | that hold over a database instance |
| D, we can ask whether they entail that for | D, we can ask whether they entail that for | ||
| - | a certain query Q the set of answers Q(D) is complete, that is, | + | a query Q the set of answers Q(D) is complete, that is, |
| - | whether Q(D) contains all answer records that one would expect if | + | whether Q(D) contains all answer records that one would expect |
| - | D were complete. | + | if D were complete (it contains all information). |
| - | In the following we will illustrate main reasoning featutes of MAGIK, by the means of examples. | + | In the rest we illustrate main reasoning featutes of MAGIK using the following |
| - | We consider the following toy schema: | + | toy schema: |
| <code sql> | <code sql> | ||
| pupil(name,level,code), | pupil(name,level,code), | ||
| Line 221: | Line 234: | ||
| Query Q4 returns a pupil if such a pupil learns French language. Each pupil will be returned at most once, considering ''DISTINCT'' command in the | Query Q4 returns a pupil if such a pupil learns French language. Each pupil will be returned at most once, considering ''DISTINCT'' command in the | ||
| - | ''SELECT''. In this case appearance of ''l2'' is absolute superfouls. | + | ''SELECT''. In this case appearance of ''l2'' is absolute superfouls. |
| On the other hand, query Q5 returns each | On the other hand, query Q5 returns each | ||