No SQL Server, a integridade referencial baseia-se nas relacoes entre chaves estrangeiras e chaves primarias ou entre chaves estrangeiras e chaves exclusivas, por meio de restricoes FOREIGN KEY e CHECK. A integridade referencial assegura que os valores chave permanecam consistentes em todas as tabelas. Esse tipo de consistencia requer que nao haja referencias a valores nao existentes e que se um valor chave e alterado, todas as referencias a ele sao consistentemente alteradas em todo o banco de dados. Quando uma integridade referencial e aplicada, o SQL Server impede que os usuarios facam o seguinte: Adicionar ou alterar linhas a uma tabela relacionada se nao houver nenhuma linha associada na tabela primaria. Alterar valores em uma tabela primaria que causa linhas orfas em uma tabela relacionada. Excluir linhas de uma tabela primaria se houver linhas relacionadas correspondentes. 2.5 DISTRIBUICAO Segundo Date (2000, p. 536), um sistema distribuido e qualquer sistema que envolva multiplas localidades conectadas juntas em uma especie de rede de comunicacao, nas quais o usuario de qualquer localidade pode acessar os dados armazenados em outro local. Cada localidade, por sua vez pode ser considerada como um sistema de banco de dados em si, que tem seu proprio banco de dados e sua propria funcao DBA, seus proprios terminais e usuarios, o seu proprio armazenamento local e o seu proprio CPU, rodando o proprio DBMS local (em geral). O mesmo tambem tem seu proprio gerenciador DC local, com a responsabilidade (entre outras) de controlar a troca de mensagens com outras localidades integrantes do sistema distribuido. Em um ambiente de banco de dados distribuidos, uma transacao pode acessar dados gravados em mais de um local (site), sendo neste caso denominada uma transacao distribuida. Cada transacao e dividida em sub-transacoes, uma para cada site no qual estao armazenados os dados que a transacao acessa. (BELL; GRIMSON, 1992). No processamento das informacoes, uma transacao e uma serie de operacoes tratadas como uma unica unidade atomica: todas as operacoes ocorrem, ou nenhuma operacao ocorre. Por exemplo, uma serie de operacoes de insercao e atualizacao em um banco de dados pode ser confirmada como uma transacao. Em situacoes nas qual uma transacao envolva somente um unico recurso, o proprio gerenciador de recursos (neste caso, o banco de dados) pode gerenciar a transacao inteira. Em algumas situacoes, as operacoes em uma transacao atualizam os dados em varios computadores em rede. Esse processo e chamado de transacao distribuida. 3 IHC - INTERFACE HOMEM-COMPUTADOR E o que mais queremos: tornar nosso cotidiano mais simples. Sermos capaz de realizar toda e qualquer tarefa com o minimo de esforco. Encontrar procedimentos que estejam em sintonia com nossa experiencia. Queremos um contexto conhecido para sermos bem sucedido em nossas atividades, mas tambem queremos desafios para saciar nossas curiosidades independente do padrao de comportamento. Nosso cotidiano e repleto de situacoes que nos levam a buscar entender produtos que foram desenvolvidos por alguem que nao conhecemos que nao nos conhece. Mas como este outro alguem chegou a conclusao de que eu conseguiria usar tal produto? Estudos deste tipo podem ser encontrados na grande area