Dúvida SQL

Oi gente sei que o fórum é sobre java mas se alguém puder ajudar eu agradeço. Estou fazendo um trabalho da faculdade e preciso criar os seguintes índices:

Um índice primário sobre a tabela empregado. A chave de busca deve ser o atributo salário. a taxa de preenchimento de nós folhas e nós internos deve ser de 80%

Um índice secundário para a tabela empregado sobre o atributo matr

Empregado(matr, nome, salario, data_admissao, lotacao)

O primeiro eu criei dessa forma: CREATE CLUSTERED INDEX Index_emp ON Empregado (salario) WITH FILLFACTOR = 80 mas não sei se está certo.

qual banco vc usa???

vc procurou no google antes de postar aki?!?!?!?!

SQL

Caro amigo, SQL é a linguagem utilizada pelos bancos de dados para efetuarmos querys em bancos. O banco de dados é outra coisa, a exemplo Oracle, MySQL, SQL Server… Portanto, nosso amigo questionou qual o banco de dados que você utiliza para podermos auxiliar.

SQL SERVER

Dá uma olhada no seguinte link, acho que tem o que você precisa:
MSDN - Create Index (Transact-SQL)

Esse é um índice do mssqlserver cuja sintaxe somente se aplica ao mesmo. As partes ‘proprietárias’ desse sql são:

  • CLUSTERED: é um índice que retorna a sua busca da forma mais rápida (consulta), mas que é o mais pesado de atualização;
  • WITH FILLFACTOR = 80: isso é para gerenciar o crescimento do índice. Isso pode variar se sua tabela é muito rapidamente ou não. Se seu fillfactor for pequeno e tiver muitas inserções nessa tabela do BD, o SGBD vai o tempo todo ficar aumentando o seu espaço de índice, e isso é pouco performático. Mas se os inserts forem poucos e você criar um fillfactor mega grande, então estará deixando mais lento a sua tabela para cada gravação e ocupando mais espaço desnecessariamente.

Imagino que você não tenha escrito isso à mão (dado seu completo desconhecimento da matéria), mas sim pego isso de um script de exportação de um query analyser (ou equivalente) da vida. Você precisa só da sintaxe básica CREATE INDEX… deixe o resto para os DBA’s que sabem (ou deveriam saber) como otimizar o seu banco. Para um trabalho de escola, criar o índice te basta.

abraços,

otávio