Manage data integrity

Description

70-483 C# Flashcards on Manage data integrity, created by Thiago Russo on 21/05/2017.
Thiago Russo
Flashcards by Thiago Russo, updated more than 1 year ago
Thiago Russo
Created by Thiago Russo almost 7 years ago
4
0

Resource summary

Question Answer
Pq é necessário gerenciar a integridade de dados? Qdo dados inválidos ou com erro de digitação entram na aplicação pode ser que ela falhe, lançando exceptions. Isso é inconveniente para o usuário, mas pode ser pior se um dado não íntegro passa por tudo e é salvo no BD. Isso pode corromper os dados. Ex: operação de saque/transferência. Usuário faz um saque out transferencia de $ e por alguma falha (queda de energia por ex), o saque é realizado mas o valor não sai da conta.
Quatro tipos de integridade de dados ■ Integridade de Entidade (Entity integrity) ■ Integridade de Domínio ■ Integridade Referencial ■ Integridade definida pelo usuário
■ Integridade de Entidade (Entity integrity) Estado em q cada entidade (um registro de BD) deve ser unicamente identificável. Em um BD, isto é conseguido usando uma chave primária q identifica unicamente cada linha de dados. Ele pode ser gerado pela base de dados ou pela sua aplicação.
■ Integridade de Domínio Refere-se à validade dos dados que contém uma entidade. Isto pode ser sobre o tipo de dados e os valores possíveis que estão autorizados (um código postal válido, um número dentro de um determinado intervalo, ou um valor predefinido, por exemplo).
■ Integridade Referencial A relação que as entidades têm umas com as outras, tais como a relação entre um pedido e um cliente.
■ Integridade definida pelo usuário Compreende as regras de negócios específicas q vc precisa para fazer cumprir. Uma regra de negócios para uma loja de web pode envolver um novo cliente que não tem permissão para fazer um pedido acima de um determinado valor em dólar.
Exemplo de integridade de entidade e integridade referencial utilizando loja web Qdo se trabalha c/ uma loja de web, vc tem classes para, pelo menos, um pedido, um cliente, uma linha de pedido, e um produto. Vc precisa de integridade de entidade para garantir que cada entidade pode ser identificada exclusivamente. Pode fazer isso adicionando uma propriedade ID para cada entidade. O BD ajuda a gerar valores exclusivos para seus IDs qdo vc add entidades ao BD A integridade referencial é necessária para garantir q um relacionamento é mantido entre pedidos, linhas de pedidos, clientes e produtos. Restrições de chaves estrangeiras mostram q os relacionamentos são necessários e quais são opcionais.
Exemplo de integridade de domínio e integridade definida pelo usuário utilizando loja web Integridade de domínio tb entra em jogo. Vc tem tipos de dados específicos, como um DateTime (sua data do pedido e a data para envio). Alguns campos são obrigatórios, tais como o nome do cliente e a qtde de produtos que deseja encomendar. Integridade definida pelo usuário é outra questão. Ele n pode ser feita automaticamente pelo Entity Framework. Vc pode definir essas verificações no código ou escrever código personalizado q será executado pelo seu BD. Outra forma é usar triggers ou stored procedures.
exemplo de código que descreve as classes Customer e Address
exemplo do uso de um contexto Entity Framework para salvar um novo Customer no banco de dados
Saving a new customer to the database
Running manual validation
transações A transação ajuda a agrupar um conjunto de operações relacionadas em um BD, garantindo q essas operações são vistos como uma ação distinta. Se uma falhar, todas as demais falham e pode ser facilmente revertida. Vc tb pode entrar em problemas qdo os usuários trabalham simultaneamente com o mesmo conjunto de dados. Com transações, vc pode configurar seu BD para lançar uma exceção qdo há uma atualização conflitante. Em seu aplicativo, vc pode pegar essas exceções e escrever código que lida com o conflito. Poderia, por ex, permitir q o usuário escolha qual atualização deve ganhar ou deixar a última atualização ganhar. Isso ajuda a manter a integridade dos dados.
Show full summary Hide full summary

Similar

Porova teórica C# mod l
Cursos Professor Jonatã
Linguagem C#
Alex Araujo Furado
Prova teorica C# mo ll
Cursos Professor Jonatã
Entity framework - code first
José Fernandes
Flashcard Módulo 1 - XAMARIN LATINO AMERICA
Marcone Barbosa
Entity framework
José Fernandes
C# and ASP.NET
Kalebi Fiorentini
Linguagens de programação
Rodrigo Barbosa7452
Conceitos do ASP.NET CORE (Incompleto)
José Fernandes Rezende Neto
Dates and times .NET
Felipe Couto Viola
Fluxo Game UC 8
Lucas Coluzzo