Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Gurzi

Ligação sem chave primária

Recommended Posts

Gurzi

Tenho uma tabela que não tem chave primária.. Não me perguntem porquê mas aqui trabalha-se com o conceito uniqueidentifier, ou melhor ainda , existem cerca de dez tabelas, só numa delas é que o campo ordergroup_id é chave primária e as outras todas elas são unique identifier sem mais nenhum atríbuto( não são unique nem nada).

Acontece que numa dessas tabelas, existe um campo chamado order_number , e eu preciso disso para outra tabela que criei.

Mas como consigo relacionar essa order_number com a minha tabela ? Esse order_number na minha tabela é uma chave estrangeira, ou melhor, devia ser, visto que não consigo tornar order_number da outra tabela uma chave estrangeira porque o MS SQL SERVER diz-me que ao não existir uma chave primária não é possível criar uma chave estrangeira.

Alguem tem ideias ??

I hope so :P   :wallbash:

Share this post


Link to post
Share on other sites
Rui Carlos

a ideia que tenho é simples, tornar o atributo chave primária :P

Não me perguntem porquê mas aqui trabalha-se com o conceito uniqueidentifier [...]

pelos menos tu devias perguntar por que carga d'água é que não estás a usar chaves primárias...

Share this post


Link to post
Share on other sites
Gurzi

a ideia que tenho é simples, tornar o atributo chave primária :P

Não me perguntem porquê mas aqui trabalha-se com o conceito uniqueidentifier [...]

pelos menos tu devias perguntar por que carga d'água é que não estás a usar chaves primárias...

Ora bem, descobri agora uma coisa que não tinha reparado.. Afinal não é chave primária mas é uma uniqueidentifier sem constrains e sem relationships mas é UNIQUE com index e com a opcção Create as clustered e um fill factor de 90% ( nem sei o que isto é mas ok)

Só que em algumas das outras tabelas como por exemplo a dos addresses a ordergroup_id repete-se porque existe uma morada para billing e outra para shipping.

Share this post


Link to post
Share on other sites
Cypher

Tabelas sem chave primaria ... so significa uma coisa... Redundancia de info....

cumps...

Share this post


Link to post
Share on other sites
Gurzi

Tabelas sem chave primaria ... so significa uma coisa... Redundancia de info....

cumps...

Não se forem uniqueidentifieres :)

Share this post


Link to post
Share on other sites
Knitter

Uniqueidentifieres?!, não vou comentar o uso :)

Mas só uma nota, se não dá para fazer isso na parte do motor faz na aplicação. Não perdi muito tempo a pensar no problema, e estou um pouco a atirar para o ar, mas se o MSSQL não te deixa fazer o que queres, faz as relações na aplicação.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.