DB2 exemplos simples - Types of constraints - Informational constraints



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 exemplos simples - Types of constraints - Informational constraints

Uma restrição informativa é um atributo de restrição que pode ser usado pelo compilador SQL para melhorar o acesso aos dados.
As restrições informativas não são impostas pelo gerenciador de banco de dados e não são usadas para verificação adicional de dados; em vez disso, eles são usados para melhorar o desempenho da consulta.

An informational constraint is a constraint attribute that can be used by the SQL compiler to improve the access to data.
Informational constraints are not enforced by the database manager, and are not used for additional verification of data; rather, they are used to improve query performance.

Você define restrições informativas usando a instrução CREATE TABLE ou ALTER TABLE.
Primeiro, você adiciona restrições e, em seguida, associa-as aos atributos de restrição, especificando se o gerenciador de banco de dados deve aplicar as restrições.
Para restrições de chave primária, restrições exclusivas e restrições de verificação, você pode especificar ainda que a restrição pode ser confiável.
Para restrições de integridade referencial, se a restrição não for aplicada, você pode especificar se a restrição pode ser confiável.
Uma restrição não aplicada e não confiável também é conhecida como restrição de integridade referencial estatística.
Você pode especificar se uma restrição de integridade referencial ou restrição de verificação deve ser usada para otimização de consulta.

You define informational constraints by using the CREATE TABLE or ALTER TABLE statement.
You first add constraints and then associate them with constraint attributes, specifying whether the database manager is to enforce the constraints.
For primary key constraints, unique constraints, and check constraints, you can further specify that the constraint can be trusted.
For referential integrity constraints, if the constraint is not enforced, you can further specify whether the constraint can be trusted.
A not-enforced and not-trusted constraint is also known as a statistical referential integrity constraint.
You can specify whether a referential integrity constraint or check constraint is to be used for query optimization.

Restrições informativas de RI (integridade referencial) são usadas para otimizar o desempenho da consulta, o processamento incremental de REFRESH IMMEDIATE MQT e tabelas de migração de dados.
Os resultados da consulta, os dados MQT e as tabelas de migração podem estar incorretos se as restrições informativas forem violadas.

Informational RI (referential integrity) constraints are used to optimize query performance, the incremental processing of REFRESH IMMEDIATE MQT, and staging tables.
Query results, MQT data, and staging tables might be incorrect if informational constraints are violated.

Por exemplo, a ordem em que as tabelas pai-filho são mantidas é importante.
Quando você deseja adicionar linhas a uma tabela pai-filho, deve primeiro inserir linhas na tabela pai.
Para remover linhas de uma tabela pai-filho, você deve primeiro excluir as linhas da tabela filho.br> Isso garante que não haja linhas órfãs na tabela filho em nenhum momento.
Caso contrário, a violação de restrição informativa pode afetar a exatidão das consultas que estão sendo executadas durante a manutenção da tabela, bem como a exatidão da manutenção incremental de dados MQT dependentes e tabelas temporárias.

For example, the order in which parent-child tables are maintained is important.
When you want to add rows to a parent-child table, you must insert rows into the parent table first.
To remove rows from a parent-child table, you must delete rows from the child table first.
This ensures that there are no orphan rows in the child table at any time.
Otherwise the informational constraint violation might affect the correctness of queries being executed during table maintenance, as well as the correctness of the incremental maintenance of dependent MQT data and staging tables.

Você pode criar uma chave primária não imposta ou restrição exclusiva para uma tabela organizada por coluna ou por linha.
Ao contrário de uma chave primária ou restrição exclusiva imposta, uma chave primária não imposta ou restrição exclusiva não cria um índice nos dados.
Especifique uma restrição informativa apenas se os dados da tabela forem independentemente conhecidos por estarem em conformidade com a restrição.
Como o gerenciador de banco de dados Db2® não impõe exclusividade para essas restrições, se os dados da tabela violarem a restrição não imposta, podem ocorrer resultados incorretos.
Você não pode fazer referência a restrições de chave primária não impostas em nenhuma definição de integridade referencial imposta.

You can create a not-enforced primary key or unique constraint for either a column-organized or row-organized table.
Unlike an enforced primary key or unique constraint, a not-enforced primary key or unique constraint does not create an index on the data.
Specify an informational constraint only if the table data is independently known to conform to the constraint.
Because the Db2® database manager does not enforce uniqueness for these constraints, if the table data violates the not-enforced constraint, incorrect results can occur.
You cannot reference not-enforced primary key constraints in any enforced referential integrity definitions.