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

Gurzi

Ligação sem chave primária

6 mensagens neste tópico

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:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

cumps...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

cumps...

Não se forem uniqueidentifieres :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora