<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentários sobre: Identifying e non-identifying relationships</title>
	<atom:link href="http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/</link>
	<description>Encontre dicas, tutorias e empregos</description>
	<lastBuildDate>Wed, 08 Feb 2012 14:15:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: 1berto</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-2584</link>
		<dc:creator>1berto</dc:creator>
		<pubDate>Thu, 24 Jun 2010 23:12:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-2584</guid>
		<description>O post do Vicente também está correto, mas tem mais um aspecto sobre a relação de identidades e chaves artificiais.
Vamos supor que você estivesse modelando um sistema que precisasse atender a várias empresas e filiais destas empresas (ou seja uma situação prática envolvendo o exemplo que ele postou), fisicamente você poderia simplesmente criar um sequencia único para todas as filiais e ai não iria sentir falta da chave estrangeira (da empresa) na chave primária da filial. Mas para o negócio aquele seria um número &#039;burro&#039;, duas filiais de uma mesma empresa ficariam &#039;sem ligação&#039; nenhuma se você olhar somente a chave, você poderia ter por exemplo a filial 2045 e a 3197 pertencentes a mesma empresa.
Fazendo como ele falou (colocando um sequencial para cada filial) você tem um número mais &#039;real&#039;, a filial 01 de uma empresa seria a primeira a ter sido cadastrada, a 02 a segunda, etc, etc. Ou seja este sequencial que ele criou não é uma chave artificial.
Se não me engano a receita utiliza uma abordagem deste tipo, sendo que o CNPJ /0001 é sempre da matriz, o /0002 e seguintes são das filiais. Eu particularmente iria tentar primeiro criar uma chave com outros atributos (talvez endereço, entendendo que não podem haver duas filiais no mesmo endereço/complemento), mas isto é outra conversa, quanto ao assunto que está sendo discutido, o post dele está correto.</description>
		<content:encoded><![CDATA[<p>O post do Vicente também está correto, mas tem mais um aspecto sobre a relação de identidades e chaves artificiais.<br />
Vamos supor que você estivesse modelando um sistema que precisasse atender a várias empresas e filiais destas empresas (ou seja uma situação prática envolvendo o exemplo que ele postou), fisicamente você poderia simplesmente criar um sequencia único para todas as filiais e ai não iria sentir falta da chave estrangeira (da empresa) na chave primária da filial. Mas para o negócio aquele seria um número &#8216;burro&#8217;, duas filiais de uma mesma empresa ficariam &#8216;sem ligação&#8217; nenhuma se você olhar somente a chave, você poderia ter por exemplo a filial 2045 e a 3197 pertencentes a mesma empresa.<br />
Fazendo como ele falou (colocando um sequencial para cada filial) você tem um número mais &#8216;real&#8217;, a filial 01 de uma empresa seria a primeira a ter sido cadastrada, a 02 a segunda, etc, etc. Ou seja este sequencial que ele criou não é uma chave artificial.<br />
Se não me engano a receita utiliza uma abordagem deste tipo, sendo que o CNPJ /0001 é sempre da matriz, o /0002 e seguintes são das filiais. Eu particularmente iria tentar primeiro criar uma chave com outros atributos (talvez endereço, entendendo que não podem haver duas filiais no mesmo endereço/complemento), mas isto é outra conversa, quanto ao assunto que está sendo discutido, o post dele está correto.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: 1berto</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-2235</link>
		<dc:creator>1berto</dc:creator>
		<pubDate>Mon, 12 Apr 2010 07:56:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-2235</guid>
		<description>Isso é um debate curioso, na verdade as duas afirmações são 
praticamente a mesma coisa só que em termos físico e lógico...
Exceto por um pequeno detalhe chamado: Chaves primárias 
artificiais
O exemplo do Lucas de Cidade/Estado realmente é uma relação de 
identidade (prefiro o termo UF ao termo Estado) ou seja no 
contexto q ele colocou está incorreto, como apontou o Rodrigo.
O Rodrigo disse &quot;uma cidade PRECISA de um estado para ser 
únicamente identificável&quot;, do ponto de vista da lógica de negócio
pura está absolutamente correto... Então como o Lucas conseguiu
criar a tabela sem perceber a incorreção? Reparem... Ele criou
uma chave artificial
Quando você coloca uma chave única artificial você não &#039;acha&#039; a 
necessidade deste tipo de relação.
Isso de uma única coluna artificial como chave para a tabela por 
si dá um debate e tanto, o que importa quanto ao assunto que 
estamos discutindo é:
Se usar uma única coluna artificial como chave a análise da 
Relação de identidade fica no mínimo &#039;oculta&#039;. Se você entende
que precisa &#039;somente&#039; de um código para achar uma cidade, não
faz o menor sentido eu te dizer que você precisa do nome e da
UF...
Mas você pode usar uma segunda abordagem:
Uma tabela de UF poderia conter somente a sigla (dois chars), a
sigla é uma chave (não há dois estados com a mesma sigla, do ponto
de vista da lógica não há necessidade nenhuma de código aqui).
Na tabela de cidade você coloca o nome... OK, mas para poder ser
uma chave você precisa da sigla da UF para identificar univocamente 
uma cidade você precisa só do nome e da UF (Como apontou o Rodrigo).</description>
		<content:encoded><![CDATA[<p>Isso é um debate curioso, na verdade as duas afirmações são<br />
praticamente a mesma coisa só que em termos físico e lógico&#8230;<br />
Exceto por um pequeno detalhe chamado: Chaves primárias<br />
artificiais<br />
O exemplo do Lucas de Cidade/Estado realmente é uma relação de<br />
identidade (prefiro o termo UF ao termo Estado) ou seja no<br />
contexto q ele colocou está incorreto, como apontou o Rodrigo.<br />
O Rodrigo disse &#8220;uma cidade PRECISA de um estado para ser<br />
únicamente identificável&#8221;, do ponto de vista da lógica de negócio<br />
pura está absolutamente correto&#8230; Então como o Lucas conseguiu<br />
criar a tabela sem perceber a incorreção? Reparem&#8230; Ele criou<br />
uma chave artificial<br />
Quando você coloca uma chave única artificial você não &#8216;acha&#8217; a<br />
necessidade deste tipo de relação.<br />
Isso de uma única coluna artificial como chave para a tabela por<br />
si dá um debate e tanto, o que importa quanto ao assunto que<br />
estamos discutindo é:<br />
Se usar uma única coluna artificial como chave a análise da<br />
Relação de identidade fica no mínimo &#8216;oculta&#8217;. Se você entende<br />
que precisa &#8216;somente&#8217; de um código para achar uma cidade, não<br />
faz o menor sentido eu te dizer que você precisa do nome e da<br />
UF&#8230;<br />
Mas você pode usar uma segunda abordagem:<br />
Uma tabela de UF poderia conter somente a sigla (dois chars), a<br />
sigla é uma chave (não há dois estados com a mesma sigla, do ponto<br />
de vista da lógica não há necessidade nenhuma de código aqui).<br />
Na tabela de cidade você coloca o nome&#8230; OK, mas para poder ser<br />
uma chave você precisa da sigla da UF para identificar univocamente<br />
uma cidade você precisa só do nome e da UF (Como apontou o Rodrigo).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Lucas Renan</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-2051</link>
		<dc:creator>Lucas Renan</dc:creator>
		<pubDate>Thu, 11 Mar 2010 16:13:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-2051</guid>
		<description>Vicente,

você pode me passar uma referência bibliográfica para que eu possa atualizar o post?</description>
		<content:encoded><![CDATA[<p>Vicente,</p>
<p>você pode me passar uma referência bibliográfica para que eu possa atualizar o post?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Vicente Russo</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-2037</link>
		<dc:creator>Vicente Russo</dc:creator>
		<pubDate>Sat, 06 Mar 2010 14:11:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-2037</guid>
		<description>O comentário do rodrigo está correto. Qdo uma entidade não faz sentido se separada de outra, temos um relacionamento identificado. Neste caso, temos uma &quot;entidade fraca&quot;. Exemplo: Empresa possui Filial =&gt; Filial é uma entidade fraca de empresa, possuindo um relacionamento identificador. Assim, a chave primária de Filial provavelmente será composta pela chave primária de Empresa (a qual também será uma chave estrangeira) e um número que identifica da filial dessa empresa:

Empresa(idEmpresa, Nome, ...)
Filial(idEmpresa, idFilial, Endereço, ...)</description>
		<content:encoded><![CDATA[<p>O comentário do rodrigo está correto. Qdo uma entidade não faz sentido se separada de outra, temos um relacionamento identificado. Neste caso, temos uma &#8220;entidade fraca&#8221;. Exemplo: Empresa possui Filial =&gt; Filial é uma entidade fraca de empresa, possuindo um relacionamento identificador. Assim, a chave primária de Filial provavelmente será composta pela chave primária de Empresa (a qual também será uma chave estrangeira) e um número que identifica da filial dessa empresa:</p>
<p>Empresa(idEmpresa, Nome, &#8230;)<br />
Filial(idEmpresa, idFilial, Endereço, &#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Lucas Renan</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-1915</link>
		<dc:creator>Lucas Renan</dc:creator>
		<pubDate>Sat, 06 Feb 2010 00:51:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-1915</guid>
		<description>Rodrigo,

acredito que sua explicação tenha fundamento, até mesmo porque eu me basei em informações que achei na internet, então não posso garantir que o meu post está correto. Você poderia me passar alguma fonte confiável que contenha essa informação, para que eu possa atualizar o post?

valeu</description>
		<content:encoded><![CDATA[<p>Rodrigo,</p>
<p>acredito que sua explicação tenha fundamento, até mesmo porque eu me basei em informações que achei na internet, então não posso garantir que o meu post está correto. Você poderia me passar alguma fonte confiável que contenha essa informação, para que eu possa atualizar o post?</p>
<p>valeu</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rodrigo Furtado</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-1907</link>
		<dc:creator>Rodrigo Furtado</dc:creator>
		<pubDate>Thu, 04 Feb 2010 17:39:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-1907</guid>
		<description>Sua explicação está errada.

Ou pelo menos parcialmente correta.

O fato é que uma &quot;identifying relationship&quot; é uma relação onde uma tabela para existir precisa obrigatoriamente ter as informações da outra para ser unicamente identificável enquanto que uma relação &quot;non identifying não precisa&quot;.

Seu exemplo de relação entre a tabela cidade com estado por exemplo é um ótimo exemplo de uma &quot;identifying relationship&quot;(ao contrário do que você marcou) pois uma cidade PRECISA de um estado para ser únicamente identificável, uma vez que existem cidades com o mesmo nome em diferentes estados.

Um exemplo de uma relação &quot;non identifying&quot; seria de uma tabela de pedidos com uma tabela de descontos. Embora a tabela de pedidos precise de uma chave estrangeira para identificar um desconto que ela recebe, a mesma não deve ser primaria pois pode ocorrer do pedido não ter nenhum desconto (e mesmo assim o pedidoainda é totalmente válido e único).

Abraço!</description>
		<content:encoded><![CDATA[<p>Sua explicação está errada.</p>
<p>Ou pelo menos parcialmente correta.</p>
<p>O fato é que uma &#8220;identifying relationship&#8221; é uma relação onde uma tabela para existir precisa obrigatoriamente ter as informações da outra para ser unicamente identificável enquanto que uma relação &#8220;non identifying não precisa&#8221;.</p>
<p>Seu exemplo de relação entre a tabela cidade com estado por exemplo é um ótimo exemplo de uma &#8220;identifying relationship&#8221;(ao contrário do que você marcou) pois uma cidade PRECISA de um estado para ser únicamente identificável, uma vez que existem cidades com o mesmo nome em diferentes estados.</p>
<p>Um exemplo de uma relação &#8220;non identifying&#8221; seria de uma tabela de pedidos com uma tabela de descontos. Embora a tabela de pedidos precise de uma chave estrangeira para identificar um desconto que ela recebe, a mesma não deve ser primaria pois pode ocorrer do pedido não ter nenhum desconto (e mesmo assim o pedidoainda é totalmente válido e único).</p>
<p>Abraço!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: leandro silva</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-1624</link>
		<dc:creator>leandro silva</dc:creator>
		<pubDate>Wed, 16 Dec 2009 17:54:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-1624</guid>
		<description>nossa eu tambem tava com duvida quanto a isso vou muito borigado pela explicação

Parabens pelo site XD</description>
		<content:encoded><![CDATA[<p>nossa eu tambem tava com duvida quanto a isso vou muito borigado pela explicação</p>
<p>Parabens pelo site XD</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Lucas Renan</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-777</link>
		<dc:creator>Lucas Renan</dc:creator>
		<pubDate>Sat, 23 May 2009 02:29:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-777</guid>
		<description>uahuahauha

eu sempre tive dúvidas sobre esses relacionamentos.</description>
		<content:encoded><![CDATA[<p>uahuahauha</p>
<p>eu sempre tive dúvidas sobre esses relacionamentos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Guilherme</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-771</link>
		<dc:creator>Guilherme</dc:creator>
		<pubDate>Fri, 22 May 2009 13:29:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-771</guid>
		<description>Opa, agora apareceu a imagem aqui jauihauhua.</description>
		<content:encoded><![CDATA[<p>Opa, agora apareceu a imagem aqui jauihauhua.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Guilherme</title>
		<link>http://www.freelancersbrasil.com/identifying-e-non-identifying-relationships/comment-page-1/#comment-770</link>
		<dc:creator>Guilherme</dc:creator>
		<pubDate>Fri, 22 May 2009 13:29:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.freelancersbrasil.com/?p=329#comment-770</guid>
		<description>Massa o Post.

Essa imagem seria então do relacionamento de um relacionamento 1:n identificado e como ficaria um 1:n não identificado?</description>
		<content:encoded><![CDATA[<p>Massa o Post.</p>
<p>Essa imagem seria então do relacionamento de um relacionamento 1:n identificado e como ficaria um 1:n não identificado?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

