Transações com banco de dados
Uma transação é um conjunto de operações realizadas no banco de dados. Esse
conjunto de operações deve ter sua integridade garantida por meio de quatro
propriedades:
1. Atomicidade – Execução da transação por completo ou o aborto da mesma.
Impede que a transação seja executada pela metade. É o famoso “Tudo ou
nada”.
2. Consistência – Validação dos dados usados na transação, ou seja, no final da
transação, cada campo deve ter valores válidos dentro de seu domínio de dados
(tipo de dados – número, texto, data, etc...), assim como válidos também para
seus relacionamentos.
3. Isolamento – Cada transação deve ter acesso privado aos dados que necessita
para acontecer. Imagine que uma transação A esteja alterando o valor de um
campo e uma transação B faça a leitura do valor desse campo nesse momento.
Neste intervalo de tempo o valor do campo pode variar prejudicando a operação
B.
4. Durabilidade – Garante que, no caso de erro na execução da transação, os
campos voltarão ao seu estado inicial.
Essas propriedades são comumente chamadas de ACID.
==================================================================
Introdução à Modelagem de Dados – Modelo Conceitual, Lógico e Físico
O banco de dados é formado por muitas tabelas e sua principal finalidade é garantir
a integridade dos dados armazenados.
Projetar uma solução em banco de dados é representar todas as informações
manipuladas por uma organização no seu dia-a-dia. Transcrever essas tarefas,
informações, dados e regras de utilização é um processo demorado, exige um forte
padrão de análise e documentação das metodologias utilizadas.
Projetar um banco de dados significa estruturar a solução que mais tarde será
implementada em um SGBD.
O SGBD é uma ferramenta computacional que apenas formalizará as regras
definidas no projeto da solução de banco de dados.
Observe a seguir, algumas regras que devem ser seguidas na definição do modelo
de dados:

Determinar qual a finalidade do banco de dados que está sendo modelado
 Isso é importante para a definição de quais dados serão armazenados.

Dividir o problema em várias tabelas  Dividir em quantas tabelas forem
necessárias, de forma que representem um conjunto de dados semelhantes ao
mundo real, definindo um formato específico para cada campo.

Determinar os relacionamentos  Gerar as chaves primárias e estrangeiras
de cada tabela, de forma que a integridade dos dados seja mantida.

Refinar o modelo criado  Validar e comparar os resultados obtidos com os
valores do mundo real.
Problemas mais comuns em um projeto de banco de dados:

Número excessivo de campos nas tabelas  Certifique-se de que os campos
definidos para uma tabela dizem realmente respeito ao assunto e são
necessários dentro do contexto.

Campos que normalmente não são cadastrados  Isso é um grande indício
de que essas informações estão no lugar errado e devem ser melhor
estruturadas.

Várias tabelas com os mesmos campos  Isso gera redundância de
informações.

Tabelas sem chaves primárias e estrangeiras  Analise cada dado de forma
separada, identificando a função de cada um dos dados armazenados, de forma
a encontrar as chaves primárias e estrangeiras.
Nota: A solução proposta deve refletir o mesmo funcionamento atual, de forma mais
rápida, precisa e automática, pois, o cliente espera que a solução agilize as tarefas
executadas diariamente e garantam a integridade dos dados.
Cardinalidade

Cardinalidade  Indica o número máximo e mínimo de relacionamentos que
podem ocorrer entre as tabelas. As cardinalidades se classificam em máxima e
mínima:
o Cardinalidade Mínima: define se o relacionamento entre duas tabelas é
obrigatório ou não.
Exemplo:
Analisando a figura, é possível perceber que uma UF(Unidade Federativa) pode
ser cadastrada sem que haja uma Cidade para ela.
o Cardinalidade Máxima: define a quantidade máxima de ocorrências
entre as entidades que participam de um relacionamento.
Exemplo:
Analisando a figura acima, podemos perceber que uma UF pode ter várias
cidades para ela. Por outro lado, a cardinalidade máxima de cidade para UF continua
1(um), ou seja uma cidade deve pertencer a uma única UF (Unidade Federativa).
Modelagem de Dados
Normalmente, em banco de dados, trabalha-se com três níveis de abstração,
conhecidos como modelo conceitual, modelo lógico e modelo físico.
O três níveis de abstração estão hierarquicamente organizados da seguinte forma:
1. O modelo conceitual trata os conceitos fundamentais abstraídos do mundo
real, e não depende da arquitetura do banco de dados, é usado para
compreensão do problema;
2. O modelo lógico está ligado ao tipo de banco de dados (orientado a objetos,
objeto-relacional, relacional ou hierárquico, por exemplo);
3. O modelo físico está diretamente ligado ao banco de dados escolhido
(PostgreSQL, MySql, Oracle, Sybase).
Para entender melhor a definição de cada modelo, acesse o link abaixo:
http://sis4.com/brModelo/monografia/monografia.htm#_Toc102163880
Download

Propriedades ACID