8 Nomenclatura
Atenção ao nomear as colunas para evitar problemas de importação do arquivo do Excel para o MYSQL. O melhor é padronizar usando apenas maiúsculas, ou minúsculas, ou primeira letra maiúscula. Para o nome do campo também não é recomendado começar com número.
- Caracteres proibidos: @, #, ~, ^, <, >, =, !, espaço
- Caracteres permitidos: de A - Z de 0 a 9 e underline
Evitar caracteres especiais também no título do arquivo.
Caso use espaço no nome da coluna, deve fazer entre aspas, exemplo: ´nome da coluna´.
Recomenda-se que a primeira coluna seja “ID”, se tiver várias planilhas no mesmo arquivo, é melhor usar, por exemplo, o nome da tabela _id, exemplo: MEDICO_ID Assim, quando for cruzar, não ficam vários campos com o mesmo nome.
Outro aspecto importante, quando forem colunas derivadas, interessante ter nomes associados, por exemplo, data_de_nasc; data_de_nasc_ano.
A equipe pode criar abreviações padronizadas, como:
- NM = nome
- DT = data
- QT = quantidade
- NASC = nascimento
Ou adotar uma, por exemplo, a do DATASUS - (MAD – Metodologia de Administração de Dados)[http://datasus1.saude.gov.br/estrutura-mad/norma-mad-menu]
8.0.1 Regras gerais de nomenclatura do DATASUS
- O nome do objeto deve apresentar clareza, de forma a indicar a sua finalidade no negócio a que está vinculada. Não deve ferir a norma culta da língua portuguesa.
- O nome de um objeto de banco de dados deverá ser formado por uma ou mais palavras com todas as letras em maiúsculas e no singular, cada uma separada pelo caractere separador do underscore (_). A sequencia das palavras deve ser lógica de tal forma que dê um significado preciso em Português.
- Para a formação de cada palavra de um nome, deve-se sempre considerar a portabilidade entre SGBD´s, sendo assim utilize apenas os caracteres alfabéticos não acentuados e numéricos.
- Para o caso de abreviações, as seguintes regras devem ser observadas:
- Utilize abreviações ou siglas somente quando o nome completo ultrapassar o tamanho máximo estipulado e nestas situações, somente se for de aceitação e conhecimento geral do órgão;
- A palavra principal que compõe o nome de um elemento de dado não deve ser abreviada;
- Na abreviação de palavras, siga as regras definidas no item 4 deste documento.
- Palavras em outro idioma não serão permitidas. As exceções deverão ser tratadas caso a caso.
- Nome de qualquer tipo de objeto e colunas de tabelas deve possuir a formação Prefixo_NomeObjeto. O prefixo para o caso de tabelas e colunas define uma categorização para cada um, sendo que no caso de colunas não é indicado tipo e tamanho que deve estar associado, pois isso depende do negócio, mas é importante observar o bom senso nesse tipo de definição, por exemplo, para colunas cujo tamanho é de informações conhecidas como CPF ou CNPJ deve-se utilizar o tipo e tamanho de acordo com a definição existente.
SG_ABREVIATURA | TP_ABREVIADO | DS_CATEGORIA | DS_ABREVIATURA | DS_PADRAO |
---|---|---|---|---|
AU | campo | Coluna de Controle de Tabela de Auditoria | Coluna que é incluída na geração da tabela de auditoria de colunas utilizadas para armazenamento de informações de controle que permitem o rastreamento da operação na tabela origem. | AU_+[ NOME DA COLUNA] |
CO | campo | Código | Coluna cujo conteúdo expresse um código, cujo conteúdo não é obtido de uma sequence. Também é utilizada essa regra quando a coluna é uma FK, isto é, coluna herdada de outra tabela, e cuja PK é uma coluna CO_+SEQ_+[NOME DO ATRIBUTO] . | CO_+[NOME DA COLUNA] |
NU | campo | Número | Coluna cujo conteúdo é representado por algarismos, não significando, necessariamente, que o tipo do campo tenha que ser possuir datatype de natureza numérica. | NU_+[NOME DA COLUNA] |
ST | campo | Situação ou Status | Coluna cujo conteúdo expressa a situação ou o status do registro ou de algum atributo. | |
Deve ter uma lis | ta de valores a | trelada, que pode ser uma tabela de domínio | ou uma check constraint. | |
Obs.: Esta categ | oria de registr | o deve expressar um código, seja numérico ou | alfanumérico, nunca um conteúdo por extenso/ discursivo. ST_+[NOME DA COLUNA] | |
CO_SEQ | campo | Código com Sequence | Coluna cujo conteúdo expresse um código obtido de uma sequence. | |
O datatype deve | ser de natureza | numérica ou SERIAL (para o Postgres). | ||
A descrição de c | olunas desse ti | po deve ser: | ||
- Para sequence | específica para | a tabela: “Representa a chave primária sequ | encial da tabela, que é controlada pela sequence [NomeSequence] do banco de dados específica para a tabela. ” | |
- Para sequence | NÃO específica | para a tabela: “Representa a chave primária | sequencial da tabela, que é controlada sequence [NomeSequence] do banco de dados.” | |
- Para coluna co | m datatype SERI | AL no Postgres: “Representa a chave primária | sequencial da tabela, que é controlada pelo banco de dados através do dadatype desta coluna SERIAL.” CO_+SEQ_+[NOME DA COLUNA] | |
DT | campo | Data | Coluna cujo conteúdo expresse uma data do calendário civil. | DT_+[NOME DA COLUNA] |
DS | campo | Descrição | Coluna cujo conteúdo é livre e em forma discursiva independente do tipo e tamanho utilizado (texto). | DS_+[NOME DA COLUNA] |
QT | campo | Quantidade | Coluna cujo conteúdo expressa um quantitativo. | |
O datatype deve | ser de natureza | numérica. | QT_+[NOME DA COLUNA] | |
NO | campo | Nome | Coluna cujo conteúdo é de natureza alfanumérica e expressa um nome por extenso sendo composta de palavras, abreviaturas ou ambas. | NO_+[NOME DA COLUNA] |
TP | campo | Tipo | Coluna cujo conteúdo expressa o tipo do registro ou de algum outro atributo. Deve ter uma lista de valores atrelada, que pode ser uma tabela de domínio ou uma check constraint. | |
Obs.: Esta categ | oria de registr | o deve expressar um código, seja numérico ou | alfanumérico, nunca um conteúdo por extenso / discursivo. TP_+[NOME DA COLUNA] | |
SG | campo | Sigla | Coluna cujo conteúdo expressa uma Sigla representativa de algo. | |
O datatype deve | ser de natureza | alfnumérica. | SG_+[NOME DA COLUNA] | |
VL | campo | Valor | Coluna cujo conteúdo expressa um valor numérico. | |
O datatype deve | ser de natureza | numérica. | VL_+[NOME DA COLUNA] | |
IM | campo | Imagem | Coluna cujo conteúdo expresse uma binária como imagens, vídeo, audio, bem como qualquer outro tipo de multimidia ou dados em geral | IM_+[NOME DA COLUNA] |
QTD | campo | |||
CD | campo | |||
TB | tabela | Tabela de Sistema | Tabela utilizada para armazenar dados de aplicação. | TB_+[NOME DA TABELA] |
AU | tabela | Tabela Auditoria | Tabela utilizada para armazenar os dados das operações de usuários realizadas no esquema do padrão da GAAD. Exemplo de operações: insert, update, delete. | |
Para estas tabel | as a alimentaçã | o dos dados será feito por uma trigger e os | usuários possuirão somente priviliégio de SELECT (uso exclusivo da GAAD). AU_+[NOME DA TABELA ORIGEM,] onde o nome da tabela é com o prefixo da tabela origem, mas sem o caracter separador _ entre as palavras. Ultrapassando o tamanho máximo de caracteres para nome (30), a última palavra será truncada no | 30º caracter. |
RL | tabela | Tabela de Relacionamento (Associativa) | Tabela que resolve relacionamentos “N para N” entre duas tabelas. | RL_+[NOME DA TABELA1]+ _+[NOME DA TABELA2] |
TM | tabela | Tabela Temporária | Tabela utilizada em rotinas dos sistemas para armazenamento temporário de dados. | TM_+[NOME DA TABELA] |
TH | tabela | Tabela de Histórico | Tabela utilizada para armazenar os dados históricos de uma determinada funcionalidade, podendo ter vida útil para os dados. | TH_+[NOME DA TABELA] |
LOG | tabela | |||
TL | tabela | Tabela Log de Operações | Tabela utilizada para armazenar os dados das operações de usuários realizadas no esquema. Exemplo de operações: insert, update, delete. | |
Este tipo de tab | ela somente pod | e ser utilizado para log´s alimentados cuja | responsabilidade é da Equipe de Desenvolvimento de Sistemas. TL_+[NOME DA TABELA] |
8.1 phpMyAdmin
Aplicativo para administração do MySQL.
Outros exemplos são MySQL Workbench e DBeaver.
Para exportar os arquivos, os formatos mais amigáveis são ods e csv.
Na exportação em csv, cada tabela deve estar em um arquivo distinto. A vírgula é o separador mais comum. Por essa razão, deve-se evitar esse caractere no conteúdo.
Para abrir um csv em editores de planilha, basta usar o recurso “texto para colunas”, que está disponível na guia “Dados” do Excel. Escolher a opção delimitado, e depois selecione, vírgula.
No phpmyadmin, a planilha inteira é acolhida no formado ods, cada tabela correspondendo a uma aba, porém, há limitações de tamanho.
[https://demo.phpmyadmin.net/master-config/]
Lembre-se de situar-se. Sempre informe na consulta o banco de dados, a tabela e o campo.
8.2 Exercício
Vamos importar as planilhas do exercício anterior do MS-Excel para o MySQL usando phpMyAdmin conforme tutorial e fazer operações SELECT, UPDATE, INSERT e DELETE.
- Criar um banco de dados para a equipe (substituir o X pelo numero da bancada):
CREATE DATABASE aula_grupoX;
- Realizar uma consulta de cada operação
- Inserir o print da tela e as consultas realizaras como slides na apresentação dos exercícios.
- É permitido consultar à internet
- A equipe deve ser a mesma que montou as tabelas em Excel