Objeto de Dados ou Entidade
É a representação genérica de um componente do mundo real, sobre o qual desejamos armazenar informações. Entidades são coisas significativas sobre a qual a organização deseja guardar dados podendo ser algo tangível ou intangível. Ex.: Cliente; Produto; Contrato de Operação.
Nomenclatura e Dicionarização
Cada um dos elementos (ou entidades) identificados e representados deverá ser definido claramente para que, associando-se seu nome, sua representação e sua definição, sejamos capazes de ter o completo entendimento do conceito que estes procuram transmitir. Ex: Cobertura: o que serve para cobrir.
A nomenclatura de objetos deve prever nomes breves e objetivos, que identifiquem facilmente o conteúdo da entidade. Estar no singular, pois a pluralidade decorre, naturalmente da cardinalidade. Ex: PESSOA, CLIENTE.
Atributo
Atributo é tudo o que se pode relacionar como próprio da entidade (propriedade) que de alguma maneira a qualifique e a distinga de outras, estes podem ser classificados e identificados como:
Atributos descritivos: atributo que seja capaz de demonstrar, ou representar, características formadoras, ou pertencentes, a um objeto. Ex: Data de nascimento, idade, sexo.
Atributos Nominativos: atributo que além de cumprirem a função de descritivos, também servem como definidores de nomes ou rótulos de identificação aos objetos aos quais pertencem. Ex: código do..., matrícula, número... .
Atributos Referenciais: atributo que não pertencem propriamente a entidade onde estão, mas fazem algum tipo de referência dessa entidade com outra entidade.
Relacionamento
Relacionamento são associações entre duas ou mais entidades distintas (instâncias) com um significado. Por exemplo:
O funcionário João trabalha no setor de tecnologia.
Os relacionamentos possuem características que os tipificam.
Cardinalidade: Indica a quantidade de ocorrências (sempre a maior possibilidade) de determinado relacionamento.sua representação é variável de acordo com a notação, por exemplo:
N : várias vezes
1 : apenas uma vez
0: não acontece
Opcionalidade: Analisa os relacionamentos pelo lado da obrigatoriedade das ocorrências de uma entidade se ligarem às ocorrências das outras. Podem ser de 3 tipos:
Opcional: quando as ocorrências das entidades que se relacionam são independentes das outras.
Contingente: a obrigatoriedade só acontece por um lado do relacionamento e somente uma entidade possui independência com relação a outra.
Mandatório: As ocorrências das entidades somente podem existir se ambas (dominante e dependente) existirem.
Existem várias bibliografias sobre as tipificações de relacionamentos, as mais comuns são:
Ternário: um único fato que relaciona três entidades, como na figura a seguir:
Auto-Relacionamento: Uma entidade por relacionar com ela mesma.
Especialização, Generalização e Agregação
Especialização é o processo de definição de um conjunto de subclasses (sub-tipos) de um tipo de entidade.
Generalização é o processo de definição de um tipo de entidade genérico (super-classe ou super-tipo) a partir de um conjunto de tipos de entidade.
Exemplo: . {SECRETARIA, ENGENHEIRO, TECNICO} é uma especialização de EMPREGADO ou EMPREGADO é uma generalização de {SECRETARIA, ENGENHEIRO, TECNICO}
Agregação é um pouco mais complicado. Permite que entidades de determinados tipos relacionadas entre si por meio de um relacionamento possam ser tratadas como um objeto agregado de mais alto nível.
Normalização
A normalização de dados é uma série de passos que se seguem no projeto de um banco de dados, que permitem um armazenamento consistente e um eficiente acesso aos dados em bancos de dados relacionais. Esses passos reduzem a redundância de dados e as chances dos dados se tornarem inconsistentes.
Diz-se que uma tabela num banco de dados relacional está numa certa forma normal se satisfaz certas condições. O trabalho original de Edgar F. Codd definiu três dessas formas, mas existem hoje outras formas normais geralmente aceitas. Damos aqui uma curta panorâmica informal das mais comuns. Cada forma normal listada abaixo representa uma condição mais forte que a precede na lista. Para a maioria dos efeitos práticos, considera-se que as bases de dados estão normalizadas se aderirem à terceira forma normal.
Primeira Forma Normal (ou 1FN): requer que todos os valores de colunas em uma tabela sejam atômicos (exemplo: um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira; A seguir temos imagens que exemplificam uma tabela não normalizada, em seguida, um exemplo das tabelas na Primeira Forma Normal:
Tabela não normalizada
Exemplo de tabela na Primeira Forma Normal, onde o endereço foi separado em várias colunas.
Tabela normalizada, ao remover a coluna telefone para outra tabela
Coluna telefone em uma tabela separada (Primeira Forma Normal)
Segunda Forma Normal (ou 2FN): requer que não haja dependência funcional não-trivial de um atributo que não seja a chave, em parte da chave candidata; A seguir temos exemplos de uma tabela não normalizada, juntamente com o respectivo exemplo na Segunda Forma Normal:
Tabela não normalizada
Tabelas na Segunda Forma Normal
Terceira Forma Normal (ou 3FN): uma tabela está na Terceira Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna não-chave depender de outra coluna não-chave. Na terceira forma normal temos de eliminar aqueles campos que podem ser obtidos pela equação de outros campos da mesma tabela; A seguir temos o exemplo de uma tabela não normalizada, e logo um exemplo da tabela na Terceira Forma Normal, ao remover a coluna subtotal que pode ser obtido através dos campos quant e valor_unit.
Tabela não normalizada
Tabela na Terceira Forma Normal
Forma Normal de Boyce-Codd (ou BCNF): requer que não exista nenhuma dependência funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave inteira e de nada mais que uma chave (excluindo dependências triviais, como A → A);
Quarta Forma Normal (ou 4FN): requer que não exista nenhuma dependência multi-valorada não-trivial de conjuntos de atributo em algo mais de que um superconjunto de uma chave candidata;
Quinta Forma Normal (ou 5FN ou PJ/NF): requer que não exista dependências de joins (associações) não triviais que não venham de restrições chave;
Domain-Key Normal Form (ou DK/NF): requer que todas as restrições sigam os domínios e restrições chave.
Fontes:
http://www.devmedia.com.br/modelagem-relacional/19614
http://homepages.dcc.ufmg.br/~laender/material/ibd-parte2.pdf
https://pt.wikipedia.org/wiki/Normalização_de_dados
http://www.luis.blog.br/normalizacao-de-dados-e-as-formas-normais.aspx
http://www.luis.blog.br/primeira-forma-normal-1fn-normalizacao-de-dados.aspx
http://www.luis.blog.br/segunda-forma-normal-2fn-normalizacao-de-dados.aspx
http://www.luis.blog.br/terceira-forma-normal-3fn-normalizacao-de-dados.aspx