RelaçãoRelação é a representação abstrata de um conjunto de objetos do mundo real. A Relação pode ser vista como uma tabela onde cada linha representa uma tupla e o nome de uma coluna é chamado de atributo. Os tipos de dados de cada coluna são chamados de domínios. Show
DomíniosUm domínio é um conjunto (possivelmente infinito em número) de valores definido e nomeado, do qual um ou mais atributos extraem seus valores. Os domínios podem ser definidos separadamente das entidades para permitir seu reuso e padronização. VisõesÉ um conjunto de entidades e domínios atribuídos (atributos) reunidos com algum propósito. AtributoAtributo é o elemento de dado que contém informação que descreve uma relação. Uma relação deve ter um atributo ou combinação de atributos que identificam cada ocorrência. Estes atributos formam a chave primária da relação. Relacionamentos de ConexãoRepresentam associações entre relações (entidades) onde a entidade-pai está associada a zero, uma, ou mais ocorrências da entidade-filho, e cada ocorrência de entidade-filho está associada a zero ou uma ocorrência da entidade-pai. Uma ocorrência específica de um relacionamento associa ocorrências específicas das entidades participantes. A cardinalidade do relacionamento deve também ser definida. O número de ocorrências da entidade-filho que podem estar associadas à entidade-pai no relacionamento pode ser especificado como:
A cardinalidade do relacionamento no sentido inverso também deve ser descrita. Relacionamentos identificadoresUm relacionamento identificador é aquele no qual uma ocorrência da entidade-filho deve estar associada a exatamente uma ocorrência da entidade-pai e não pode existir sem ela. Relacionamentos não-identificadoresCada ocorrência da entidade-filho pode ser identificada unicamente sem que se saiba qual a ocorrência da entidade-pai associada. Os relacionamentos não-identificadores podem ser obrigatórios ou opcionais. Chaves RelacionaisSuper-ChaveÉ um conjunto de um ou mais atributos que, tomados coletivamente, identifica unicamente cada tupla de uma relação. Chave CandidataÉ uma super-chave tal que nenhum subconjunto próprio é uma super-chave. Chave-primáriaEm uma visão completa, ou em uma visão baseada em chaves, toda relação deve eleger uma chave candidata principal chamada de chave primária. Dependências funcionais
Chave EstrangeiraÉ um atributo ou conjunto de atributos de uma relação que é chave candidata de alguma (possivelmente a mesma) relação. Um atributo migrado pode ser usado como parte ou toda a chave primária ou chave alternada, ou pode ser usada como atributo não-chave. Se todos os atributos da chave primária de uma entidade-pai são migrados como parte da chave primária da entidade-filho, então a associação é conhecida como relacionamento identificador. Se algum dos atributos da chave primária de uma entidade-pai não faz parte da chave primária da entidade-filho, então a associação é conhecida como relacionamento não-identificador. Restrições de integridade Integridade de Chave Toda tupla tem um conjunto de atributos que a identifica de maneira única na relação. Integridade de Entidade (Integridade existencial) Nenhum valor de chave primária poderá ser NULO. Integridade Referencial Se uma chave estrangeira existe na relação, então seu valor tem de ser obrigatoriamente nulo ou um valor da chave primária existente na relação correspondente. Restrições de integridadeIntegridade de ChaveToda tupla tem um conjunto de atributos que a identifica de maneira única na relação. Integridade de Entidade (Integridade existencial)Nenhum valor de chave primária poderá ser NULO. Integridade ReferencialSe uma chave estrangeira existe na relação, então seu valor tem de ser obrigatoriamente nulo ou um valor da chave primária existente na relação correspondente. Avançar para o conteúdo principal Não há mais suporte para esse navegador. Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes. Restrições de chave primária e chave estrangeira
Neste artigoAplica-se a: SQL Server 2016 (13.x) e posterior Banco de Dados SQL do Azure Instância Gerenciada de SQL do AzureChave primárias e estrangeiras são dois tipos de restrições que podem ser usadas para impor integridade de dados nas tabelas do SQL Server . Esses são objetos de banco de dados importantes. Restrições PRIMARY KEYGeralmente, uma tabela tem uma coluna ou uma combinação de colunas que contém valores que identificam exclusivamente cada linha na tabela. Essa coluna, ou colunas, é chamada de chave primária (PK) da tabela e impõe a integridade da entidade da mesma. Como as restrições PRIMARY KEY garantem dados exclusivos, elas são frequentemente definidas em uma coluna de identidade. Quando especificar uma restrição PRIMARY KEY para uma tabela, o Mecanismo de Banco de Dados impõe a exclusividade dos dados criando automaticamente um índice exclusivo para as colunas de chave primária. Esse índice também permite um acesso rápido aos dados quando a chave primária é usada em consultas. Se uma restrição de chave primária for definida em mais de uma coluna, os valores poderão ser duplicados em uma coluna, mas cada combinação de valores de todas as colunas na definição da restrição de chave primária deve ser exclusiva. Conforme mostrado na ilustração a seguir, as colunas ProductID e VendorID na tabela Purchasing.ProductVendor formam uma restrição de chave primária composta para esta tabela. Isso garante que cada linha na tabela ProductVendor tenha uma combinação exclusiva de ProductID e VendorID. Isso impede a inserção de linhas duplicadas.
Restrições FOREIGN KEYUma chave estrangeira (FK) é uma coluna ou combinação de colunas usada para estabelecer e impor um link entre os dados de duas tabelas, a fim de controlar os dados que podem ser armazenados na tabela de chave estrangeira. Em uma referência de chave estrangeira, cria-se um link entre duas tabelas quando a coluna ou as colunas que contêm o valor de chave primária para uma tabela são referenciadas pela coluna ou colunas de outra tabela. Essa coluna torna-se uma chave estrangeira na segunda tabela. Por exemplo, a tabela Sales.SalesOrderHeader tem um link de chave estrangeira para a tabela Sales.SalesPerson porque existe uma relação lógica entre os pedidos de vendas e os vendedores. A coluna SalesPersonID na tabela SalesOrderHeader corresponde à coluna de chave primária da tabela SalesPerson. A coluna SalesPersonID na tabela SalesOrderHeader é a chave estrangeira para a tabela SalesPerson. Criando essa relação de chave estrangeira, um valor para SalesPersonID não poderá ser inserido na tabela SalesOrderHeader se ele não existir na tabela SalesPerson. Uma tabela pode fazer referência a no máximo 253 outras tabelas e colunas como chaves estrangeiras (referências de saída). O SQL Server 2016 (13.x) aumenta de 253 para 10.000 o limite para o número de outras tabelas e colunas que podem fazer referência a colunas em uma tabela (referências de entrada). (Requer, no mínimo, o nível de compatibilidade 130.) O aumento tem as seguintes restrições:
Índices em restrições de chave estrangeiraDiferente das restrições de chave primária, a criação de uma restrição de chave estrangeira não cria automaticamente um índice correspondente. No entanto, a criação manual de um índice em uma chave estrangeira geralmente é útil pelos seguintes motivos:
Integridade referencialEmbora o propósito principal da restrição FOREIGN KEY seja controlar os dados que podem ser armazenados na tabela de chave estrangeira, ela também controla as alterações efetuadas nos dados da tabela de chave primária. Por exemplo, se a linha de um vendedor for excluída da tabela Sales.SalesPerson e a ID do vendedor for usada para pedidos de vendas na tabela Sales.SalesOrderHeader, a integridade relacional entre as duas tabelas será quebrada; os pedidos de vendas do vendedor excluído ficarão órfãos na tabela SalesOrderHeader sem um link para os dados na tabela SalesPerson. Uma restrição FOREIGN KEY impede essa situação. A restrição impõe a integridade referencial ao garantir que não possam ser feitas alterações na tabela de chave primária se essas alterações invalidarem o link para os dados na tabela de chave estrangeira. Se for feita uma tentativa de exclusão da linha em uma tabela de chave primária ou alteração de um valor de chave primária, a ação apresentará falha quando o valor de chave primária excluído ou alterado corresponder a um valor na restrição FOREIGN KEY de outra tabela. Para obter sucesso ao alterar ou excluir uma linha em uma restrição FOREIGN KEY, você precisa primeiro excluir os dados de chave estrangeira da tabela de chave estrangeira ou alterar os dados de chave estrangeira na tabela de chave estrangeira, o que vinculará a chave estrangeira aos diversos dados de chave primária. Integridade referencial em cascataUsando restrições de integridade referencial em cascata, é possível definir as ações que o Mecanismo de Banco de Dados executa quando o usuário tenta excluir ou atualizar uma chave para a qual apontam as chaves estrangeiras existentes. As ações em cascata a seguir podem ser definidas. NO ACTION CASCADE SET NULL SET DEFAULT CASCADE, SET NULL, SET DEFAULT e NO ACTION podem ser combinados nas tabelas que tenham relacionamentos referenciais entre si. Se o Mecanismo de Banco de Dados encontrar NO ACTION, parará e reverterá as ações CASCATA, SET NULL e SET DEFAULT. Quando uma instrução DELETE provoca uma combinação de ações CASCADE, SET NULL, SET DEFAULT e NO ACTION, todas as ações CASCADE, SET NULL e SET DEFAULT são aplicadas antes que o Mecanismo de Banco de Dados verifique se existe alguma NO ACTION. Gatilhos e ações referenciais em cascataAs ações referenciais em cascata acionam os gatilhos de AFTER UPDATE ou AFTER DELETE da seguinte maneira:
Próximas etapasA tabela a seguir lista as tarefas comuns associadas às restrições PRIMARY KEY e FOREIGN KEY.
Que tipo de integridade tem uma base de dados quando todas as suas linhas tem um identificador único chamado chave primária?Que tipo de integridade tem um banco de dados quando todas as suas linhas têm um identificador único chamado de chave primária? Sua empresa estará lidando com transações de mercado. Será solicitado que você verifique a identificação de cada cliente que está executando uma transação.
Quais são os dois métodos que ajudam à garantir à integridade dos dados?7. Quais são os dois métodos que ajudam a garantir a integridade de dados? (Escolher dois.) hashing verificações de consistência de dados Refer to curriculum topic: 2.2.2 Sistemas de integridade de dados incluem um dos dois métodos de integridade de dados.
Quais são os três tipos de informações confidenciais escolha três?Classificação da informação. Confidencial (o mais alto nível de confidencialidade). Restrita (médio nível de confidencialidade). Uso interno (o mais baixo nível de confidencialidade). Pública (todos podem ver a informação). Quais são os três estados de dados durante os quais os dados são vulneráveis?Os três estados de dados são dados em repouso, dados em movimento e em uso.
|