1. Criar chave primária clusterizada (PRIMARY KEY CLUSTERED):
- A criação de uma chave primária clusterizada em uma tabela do SQL Server envolve a definição de uma coluna ou conjunto de colunas únicas que servem como chave primária e, ao mesmo tempo, determinam a ordem física dos dados na tabela, otimizando a performance de consultas.
2. Adicionar coluna de data (ALTER TABLE, ADD, DATETIME2):
- Para adicionar uma coluna de data a uma tabela existente, utiliza-se o comando ALTER TABLE. O tipo de dado DATETIME2 é frequentemente usado para armazenar valores de data e hora com maior precisão.
3. Definir restrição da coluna (CONSTRAINT):
- Restrições são condições aplicadas a uma ou mais colunas de uma tabela. Ao usar a palavra-chave CONSTRAINT, pode-se definir restrições, como chaves estrangeiras, únicas, de verificação, entre outras.
4. Definir valor padrão da coluna (DEFAULT):
- Ao criar ou modificar uma tabela, é possível definir um valor padrão para uma coluna. Esse valor será usado se nenhum valor for explicitamente fornecido durante a inserção de dados.
5. Ocultar coluna (HIDDEN):
- A opção HIDDEN é utilizada para ocultar uma coluna em consultas padrão. Ela é útil quando a coluna não precisa ser exibida frequentemente, mas ainda é necessária para operações internas.
6. Informar ao sistema de versionamento as colunas de vigência do dado (PERIOD):
- O SQL Server permite a implementação de sistema de versionamento usando a cláusula PERIOD, que informa quais colunas representam o período de validade dos dados. Essa funcionalidade é útil para rastrear alterações ao longo do tempo.
7. Gerar script de criação de tabela (CREATE TABLE):
- O comando CREATE TABLE é usado para criar uma nova tabela no SQL Server. Pode-se especificar as colunas, tipos de dados, restrições e outros detalhes durante a criação da tabela.
8. Habilitar sistema de versionamento (SYSTEM_VERSIONING, HISTORY_TABLE):
- A habilitação do sistema de versionamento no SQL Server envolve a utilização da cláusula SYSTEM_VERSIONING ao criar uma tabela. Também é necessário especificar uma tabela de histórico (HISTORY_TABLE) para armazenar as versões anteriores dos dados.
9. Alterar os registros por intervalo de códigos (UPDATE, BETWEEN):
- O comando UPDATE com a cláusula BETWEEN permite alterar registros dentro de um intervalo específico de códigos.
10. Pesquisar registros por data específica (FOR SYSTEM_TIME, AS OF):
- A pesquisa de registros por data específica é realizada utilizando `FOR SYSTEM_TIME AS OF`, que permite consultar dados em um ponto específico no tempo.
11. Pesquisar registros por intervalo de datas (FOR SYSTEM_TIME, FROM/TO, BETWEEN):
- A consulta de registros em um intervalo de datas específico é feita usando `FOR SYSTEM_TIME FROM/TO` ou `BETWEEN` para especificar o período desejado.
12. Pesquisar por todos os registros (FOR SYSTEM_TIME, ALL):
- Utilizando `FOR SYSTEM_TIME ALL`, é possível pesquisar todos os registros, incluindo versões anteriores, em um sistema de versionamento temporal.
13. Excluir todos os registros sem WHERE (DELETE):
- O comando `DELETE` sem uma cláusula `WHERE` apaga todos os registros de uma tabela, o que deve ser usado com extrema precaução, pois resultará na perda total dos dados.