Duvida no Interbase
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
Curtidas 0
Respostas
Afarias
11/11/2003
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+
GOSTEI 0