Algumas das dificuldades de quem começa os estudos de BD é entender as suas relações, que permitem que você organize uma consulta e possa ver os dados de uma nova maneira, o que dá o nome de Banco de Dados de “Relacional”.
Existem três tipos de relacionamentos e cada um deles tem o seu nome de acordo com os registros dos relacionamentos que estão acontecendo.
Vejamos cada um deles:
1-para-1
Ocorre quando um registro de uma tabela tem uma, e apenas uma contraparte em uma outra tabela. Este tipo de relacionamento é muito raro de acontecer, já que é muito mais simples e eficiente agrupar os registros é uma única tabela.
1-para-N
É o tipo de relacionamento mais comum de acontecer. Eles ocorrem quando um registro de uma tabela se relaciona com vários registros de uma outra tabela, mas que cada registro da segunda tabela só corresponde com um registro da primeira tabela. Uma tabela de categorias tem os seus registros e a tabela de produtos também, onde cada produto pertence a uma única categoria, mas nunca um produto pertencerá a várias categorias. Veja o exemplo da figura abaixo:
N-para-M
Este ocorre quando um registro de uma tabela corresponde a um ou mais registros da segunda tabela e cada registro da segunda tabela corresponde a um ou mais registros da primera. Um exemplo simples, seria de uma tabela de professores e cursos, porque cada professor pode ensinar em mais de um curso e cada curso pode ter mais de um professor. Neste caso, devemos criar uma nova tabela, onde irá reduzir para um relacionamento 1-para-N entre as duas tabelas iniciais.
Auto-Relacionamento
Quando falamos de relacionamento, entende-se que sejam duas ou mais tabelas fazendo suas relações, mas no caso de um auto-relacionamento utilizamos apenas uma tabela, onde ela irá se relacionar com ela mesma.
Suponha que temos uma tabela com os seguinte dados:
- id_empresa; (PK)
- empresa_nome;
- empresa_id_pai; (FK)
Neste caso, sempre que inserir um registro numa tabela que tem uma FK, a FK só é validada caso todos os elementos que compõem a FK (no caso dela ser composta) tenham valores diferentes de nulo. No exemplo acima, se inserir um registro nessa tabela sem “empresa_id_pai”, a FK não vai ser validada.
Caso exista valor, o auto-relacionamento indica que o ID informado em EmpresaPaiID deve existir na tabela Empresa, campo EmpresaID (conforme definido na FK). Na prática, implementa a regra “só podem ser cadastradas empresas filhas caso a pai esteja cadastrada).
Grande abraço pessoal!
No primeiro caso não seria N para 1 ao invés de 1 para N?
*No segundo caso
Muito bom, DIEGO !! Achei tão bom o seu artigo que coloquei no WIKIPÉDIA …
Mas, infelizmente um tal de YANGUAS que vive a me perseguir por tudo o que faço de melhorias no WIKIPÉDIA, prefere que NÃO tenha nada no verbete, e ficar com picuinhas técnicas, do que aceitar as tuas importantes conclusões.
Ou seja, para ele, esse tal de YANGUAS, tudo o que vc escreveu NÃO tem valor nenhum !!!
Vê se pode ?!? Esse cara ainda vive no século passado, e quer ainda ser editor de um WIKIPÉDIA onde deve ficar registrado a INTELIGÊNCIA COLETIVA da humanidade !!
Ah! já ia esquecendo, DIEGO … foi referente ao verbete 1:1
OBRIGADO,