Fórum Duvida no Interbase #40011
11/11/2003
0
como faco para incluir um campo a + na chave primaria.
exemplo.
- antes
data
hora
valor1
valor2
valor3
primary key(data, hora)
- Depois
empresa
data
hora
valor1
valor2
valor3
primary key(empresa, data, hora)
sds
Anderson
exemplo.
- antes
data
hora
valor1
valor2
valor3
primary key(data, hora)
- Depois
empresa
data
hora
valor1
valor2
valor3
primary key(empresa, data, hora)
sds
Anderson
Agaraujo
Curtir tópico
+ 0
Responder
Posts
11/11/2003
Afarias
como ´boa prática´ em bancos de dados, eu faria as seguintes sugestões (para serem seguidas em geral)::
1- não use campos q representam informação real como chave primária
2- não use chaves primárias compostas
mas, se realmete quer ir contras estas 2 práticasm, vc terá que::
1- adicionar o novo campo (NOT NULL) a tabela (se já não existe)
ALTER TABLE tabela ADD nome_campo tipo_campo not null;
2- dropar a chave primária existente
ALTER TABLE tabela DROP constraint nome_primary_key;
(claro q se existem chaves estrangeiras usando esta chave primária, estas terão de ser dropadas também)
3- criar a nova chave primária
ALTER TABLE tabela ADD CONSTRAINT pk_tabela PRIMARY KEY (campoA, campoB, campoC);
T+
1- não use campos q representam informação real como chave primária
2- não use chaves primárias compostas
mas, se realmete quer ir contras estas 2 práticasm, vc terá que::
1- adicionar o novo campo (NOT NULL) a tabela (se já não existe)
ALTER TABLE tabela ADD nome_campo tipo_campo not null;
2- dropar a chave primária existente
ALTER TABLE tabela DROP constraint nome_primary_key;
(claro q se existem chaves estrangeiras usando esta chave primária, estas terão de ser dropadas também)
3- criar a nova chave primária
ALTER TABLE tabela ADD CONSTRAINT pk_tabela PRIMARY KEY (campoA, campoB, campoC);
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)