Documentação de Padronização do Banco de Dados para o TCSC
Coordenador | @DANIEL MORO |
---|---|
Participantes | @GABRIEL DA CRUZ OLIVEIRA |
Data | Nov 21, 2024 |
Status | planejamento |
Nesta página |
Regras gerais para todos os objetos
Limite de caracteres: 128 caracteres, conforme especificação do SQL Server.
Escrita: Todos os nomes devem ser compostos por letras minúsculas, e a segunda palavra começando com letra Maiúscula, exemplo, 'nomeUsuario'. Isso garante legibilidade e independência de autor.
Caracteres permitidos: Apenas caracteres alfabéticos (letras) são permitidos, sem acentuação, sem números, espaços ou caracteres especiais.
Prefixos: Quando necessários, os prefixos (como sigla do sistema) devem ser separados por underscore.
Máximo de cinco palavras para definir o nome do objeto, além dos prefixos.
Nome dos objetos no Banco de Dados
Sistemas
Sigla: O sistema será identificado por uma sigla de no mínimo duas e no máximo três letras, representando as palavras mais significativas para o sistema. A palavra "sistema" não será utilizada.
Exemplos:
eSiPROC - Sistema de Processos eletrônicos Interno
CA - Sistema de Contas Anuais
LRF - Sistema de Lei de Responsabilidade Fiscal
Banco de Dados
O nome do banco de dados será a sigla do sistema.
Exemplos:
ACP, Sfinge_gp, Editor_TCE, SGI
Tipo de objetos
As abreviações para os tipos de objetos são as seguintes:
Objeto | Abreviação |
---|---|
Stored Procedures | PR |
Views | VW |
Trigger | TR |
Funções | FN |
User Data Types | UD |
Default | DF |
Constraint Check | CK |
Constraint Foreign Key | FK |
Constraint Unique Key | UQ |
Constraint Primary Key | PK |
Entidades / Tabelas
Os nomes das entidades e tabelas devem ser escritos no singular, refletindo a funcionalidade da tabela.
Não deve ser incluída a abreviação do tipo de objeto.
Exceção: Tabelas compartilhadas entre sistemas terão o prefixo do sistema que mantém os dados. Tabelas gerais terão a abreviação "TAB".
Exemplos:
Servidor (tabela servidor do sistema ACP)
TAB_tipoUnidade (tabela geral de tipo de unidade);
Atributos / Campos
Os nomes dos atributos devem ser compostos no singular, utilizando letras minúsculas, e as palavras devem ser separadas por underscores.
Os nomes dos atributos não podem conter o nome da entidade ou tabela.
A classe do atributo será representada por abreviações conforme a tabela abaixo.
Classe | Descrição | Exemplo |
---|---|---|
Código | Valor numérico autoincremento | Identificador |
Data | Data (dia, mês, ano). | dataFuncionamento |
Descrição | Texto livre representando uma descrição. | observacoesDetalhes |
Hora | Hora, minuto e segundo. | horaInicio |
Indicador | Flag ou status binário (SIM ou NÃO). | IndicativoOutrasOpcoes |
Nome | Texto alfanumérico para nomes. | nomeUnidade |
Número | Valor numérico identificador. | numeroProcesso |
Quantidade | Quantidade de algo. | quantidadeEntrada |
Sigla | Sigla ou abreviação. | sgUnidade |
Valor | Valor numérico geral. | valorPreco |
Stored Procedures
Os nomes das stored procedures devem seguir este formato:
Prefixo do sistema + Tipo de objeto (PR) + Entidade/tabela + Operação a ser realizada.
Exemplo: eSIPROC_PR_CLIENTE_INCLUI, LRF_PR_DEMONSTRATIVO_municipioAtualiza
As stored procedures de administração do banco terão o prefixo ADM.
Exemplo: ADM_PR_BackupFullBases
Observação: Deve-se procurar criar Stored Procedures pequenas, com poucas funcionalidades, de modo a eliminar situações como executar comandos variados de acordo com o valor de um parâmetro de entrada.
Triggers
O nome das triggers deve seguir o formato:
Prefixo do sistema + Tipo de objeto (TR) + Entidade/tabela associada + Operação realizada.
Exemplo: eSIPROC_TR_INTERESSADO_NOVO_DELETE, eSiproc_TR_sessaoUpdate
Funções
Os nomes das funções devem ser compostos da seguinte maneira:
Prefixo do sistema + Tipo de objeto (FN) + Funcionalidade da função.
Exemplo: eSIPROC_FN_calculaCPF
Constraints
Default
O nome da constraint será composto por:
Abreviação do tipo (DF) + Nome da Tabela onde se esta criando a definição da constraint
Exemplo: DF_Servidor
Check
A constraint Check será nomeada conforme:
Abreviação do tipo (CK) + Nome do atributo.
Exemplo: CK_tipoCargo
Primary Key
A constraint Primary Key será nomeada conforme:
Prefixo PK + Nome da tabela.
Exemplo: PK_Servidor
Foreign Key
A constraint Foreign Key será nomeada conforme:
Prefixo FK + Nome da tabela filha + Nome da tabela pai + Coluna de referência da tabela filha.
Exemplo: FK_Servidor_Lotacaocd_lotacao
Tipo de Dados Utilizados no SQL Server
O TCE/SC utiliza os seguintes tipos de dados no SQL Server para garantir consistência e precisão nas tabelas:
Tipo de Dados | SQL Server |
Numérico | Tinyint, Int, Smallint, Bigint |
Texto | Varchar(n) |
Data | Date, Datetime |
Binário | BIT (0, 1, NULL) |
Valor Monetário | Decimal(n,m) |
Caractere | Char(1) |
Auditoria e Segurança
As tabelas de auditoria devem seguir o padrão de colunas como:
tipoOperacao (Tipo da operação realizada, valores A-Alteração, E-Exclusão, I-Inclusão)
dataOcorrencia (Data e hora da operação)
numeroMatricula_aud (Identificador do auditor ou responsável pela operação)
Exemplo de tabela de auditoria:
Create table dbo.Auditoria (
tipoOperacao varchar(10),
dataOcorrencia datetime,
numeroMatricula_aud sysname not null
)