Desenvolvedor e Analista de Sistemas | IFPA

Mostrando postagens com marcador Banco de dados. Mostrar todas as postagens
Mostrando postagens com marcador Banco de dados. Mostrar todas as postagens

domingo, 6 de março de 2016

Padrões para Nomenclatura em um banco de dados

com 0 Comentário
1. INTRODUÇÃO
O objetivo deste documento é prover informações para formalizar a nomenclatura dos objetos de banco de dados, bem como apresentar regras para sua utilização evitando assim o hábito de existir diferentes nomenclaturas dentro da aplicação.
O documento apresenta os objetos de banco de dados com três itens:
Sintaxe, regras e exemplo. Isto para facilitar o entendimento do desenvolvedor.
2. BANCO DE DADOS
O nome do banco de dados deverá identificar o negócio que está sendo automatizado ou deverá refletir a sigla da aplicação.
Sintaxe:
{[a.. z]} _ xxxxxx , onde:
xxxxxx – indica o nome da aplicação que o banco de dados irá atender.
Para o nome da aplicação utilizar tudo em minúsculo com no máximo 25 caracteres de ‘a’ a ‘z’.
3. TABELAS
Exemplos:
tb_ordem_servico – Tabela de ordens de serviços
tb_pessoa – Tabela de pessoa física
tb_cliente – Tabela de clientes.
4. NOME DAS COLUNAS
IdentificaçãoDescrição do atributoTipo de dado utilizado
NMNome de coluna que irá armazenar valores “string”, ou seja, caracteres.(utilizar para nome próprio)String
NRNome de coluna que irá armazenar valores numéricos inteiros, para conteúdos significativos.Numérico
IEINDICAR SITUAÇÕES ESPECIAIS,
Nome de coluna que irá armazenar valores numéricos inteiros, utilizado em um dicionário de dados (Domínio)
Ex. 0 Aberto, 1 Fechado, 3 Cancelado
Numérico/String
DSNome de coluna que irá armazenar valores “string”, ou seja, caracteres que são descritivos.String (caracteres)
DTNome de coluna que irá armazenar valores do tipo dataData
HRNome da coluna que irá armazenar valores do tipo horaHora
VLNome de coluna que irá armazenar valores numéricos, ou seja, números que podem possuir casas decimaisNumérico
CDNome de coluna que irá armazenar valores numéricos inteiros, utilizado em atributos falsos.Numérico
STNome de coluna que irá armazenar valores do tipo caracteres com conteúdo pré-estabelecido. Ex. Coluna ST_Cliente pode ter seu conteúdo como sendo “A” ou “I” e nenhum outro valor a não ser esses estipuladosString
SGNome de coluna que irá armazenar siglas, EX. Coluna SG_ESTADO pode ter seu conteúdo como sendo as siglas de estados, SP, MG, GO, SC.String
Regras:
– Para siglas utilizar todas as letras em maiúsculo;
– Usar palavras no singular e sem acentuação;
– Usar nome que identifique e individualize o dado dentro da tabela;
– Dar nomes distintos para dados distintos;
– Utilizar o nome sempre no singular;
– Sempre acrescentar comentário sobre a informação da coluna
Exemplos:
Cd_pessoa – código da pessoa
nm_pessoa – nome da pessoa
dt_nascimento – data de nascimento
vl_salario – valor do salário
As informações da padronização do banco de dados foram criadas a partir de estudos e pesquisas em outros sistemas e na internet.
Esse slide de Alan James dá um exemplo mais dinâmico:
Mais informações »

Transformar Letras Minúsculas E Maiúsculas com MySQL

com 0 Comentário
Para quem utilizar MySQL e precisa transformar letras minúsculas em maiúsculas e o contrario também vai uma dica aqui:
LCASE(str), LOWER(str)
Retorna a string str com todos caracteres alterados para letra minúsculas de acordo com o conjunto
de caracteres atual (o padrão é ISO-8859-1 Latin1):
mysql> SELECT LCASE(‘MYSQL’);
-> ‘mysql’
UCASE(str), UPPER(str)
Retorna a string str com todos caracteres alterados para letra maiúsculas de acordo com o conjunto
de caracteres atual (o padrão é ISO-8859-1 Latin1):
mysql> SELECT UCASE(‘Hej’);
-> ‘HEJ’
se precisar fazer uma consulta apenas que fique tudo em maiúsculo pode usar o seguinte:
SELECT id, UCASE(nome) as nome, cpf, email, matricula, curso  FROM inscritos ORDER BY nome
 Fonte:

Mais informações »

terça-feira, 14 de julho de 2015

Importar banco de dados no MySQL pelo prompt do DOS

com 0 Comentário
Uma das coisas que me deixa mais tranqüilo para programar é criar um ambiente de testes na minha própria máquina ou em um servidor local.
Com essa prática não temos o risco de causar problemas nos sites que os usuários finais utilizam.
Para copiar os arquivos que estão sendo utilizado online basta utilizar um programa de FTP, porém para copiarmos os dados de um banco de dados precisamos fazer o back-up e então importar esse arquivo. Gosto muito da praticidade do phpMyAdmin, além dele ser amplamente utilizado nos painéis de gerenciamento (CPanel, Plesk etc).
Um grande problema é quando precisamos importar arquivos muito grandes, o que demanda maior processamento e as vezes acaba demorando mais do que nossa paciência agüenta! Por isso gostaria de compartilhar uma prática que utilizo nesses casos.
Ao invés de importar diretamente pelo phpMyAdmin, faço a importação via command prompt do Windows (isso mesmo DOS).
Vou listar os passos para essa operação de importação do banco de dados via prompt de comando do Windows.
Utilizo na minha máquina Windows XP com o XAMPP, conforme instalação no post sobre servidores (veja aqui).
1) Iniciar > Executar > cmd
Isso server para abrir o terminal. Outro modo é abrir o programa diretamente pelo seu executável, o caminho dele normalmente é c:\WINDOWS\system32\cmd.exe
2) Digite o comando: c:\xampp\mysql\bin
Isso vai te levar para o diretório local de instalação do MySQL.
3) Digite o comando: mysql -u root -p
Isso vai iniciar o MySQL, a seguir você deve digitar a senha de administrador (root) do banco de dados.
4) Se estiver tudo correto vai aparecer no prompt algo assim: mysql>
Dentro do prompt você pode utilizar os mesmos comandos que utiliza na programação, como por exemplo:show databases;
Uma dica valiosa é o comando para alteração do charset, muitas vezes você vai importar o SQL e a acentuação ficará com problemas para resolver essa questão utilize o comando: mysql> charset utf8;
Para concluir a importação você precisa selecionar o banco de dados desejado e dar o comando para importação, são os seguintes:
mysql> use nomedo_db;
mysql> source d:/nomedoarquivo_db.sql;
Com essas operações você consegue importar um arquivo grande em poucos segundos. Importante lembrar que você utilize a opção DROP TABLE quando for fazer a exportação, assim as tabelas ficarão exatamente ao que está online.
Mais informações »

sexta-feira, 16 de janeiro de 2015

Alterar o valor do auto_increment no MySQL

com 0 Comentário
Quando for preciso começar o ID (em auto increment) de uma tabela por um número específico, ou seja, se você quizer que os IDs dos clientes comecem por 1000, ao invés de zero, ou qualquer outro numero, ou até mesmo modificar esse valor depois que já existem registros na tabela, basta fazer da seguinte forma:

ALTER TABLE users AUTO_INCREMENT = 10


Fontes:
http://www.electrictoolbox.com/reset-auto-increment-value-mysql/ http://stackoverflow.com/questions/1405393/finding-the-next-available-id-in-mysql
Mais informações »

Como conseguir o próximo número do AutoIncrement no MySQL

com 0 Comentário
Esta query retorna na coluna Auto_increment o valor do proximo número.
SHOW TABLE STATUS LIKE 'nometabela'

Mais informações »

quarta-feira, 24 de dezembro de 2014

Funções de Data e Hora DATE_FORMAT() no MySQL

com 0 Comentário

Definição e Uso

A função DATE_FORMAT () é usado para exibir os dados de data / hora em diferentes formatos.
Sintaxe
DATE_FORMAT(date,format)
Onde data é uma data válida e formato especifica o formato de saída para a data / hora.
Os formatos que podem ser utilizados são:
FormatoDescrição
%aAbbreviated weekday name
%bAbbreviated month name
%cMonth, numeric
%DDay of month with English suffix
%dDay of month, numeric (00-31)
%eDay of month, numeric (0-31)
%fMicroseconds
%HHour (00-23)
%hHour (01-12)
%IHour (01-12)
%iMinutes, numeric (00-59)
%jDay of year (001-366)
%kHour (0-23)
%lHour (1-12)
%MMonth name
%mMonth, numeric (00-12)
%pAM or PM
%rTime, 12-hour (hh:mm:ss AM or PM)
%SSeconds (00-59)
%sSeconds (00-59)
%TTime, 24-hour (hh:mm:ss)
%UWeek (00-53) where Sunday is the first day of week
%uWeek (00-53) where Monday is the first day of week
%VWeek (01-53) where Sunday is the first day of week, used with %X
%vWeek (01-53) where Monday is the first day of week, used with %x
%WWeekday name
%wDay of the week (0=Sunday, 6=Saturday)
%XYear of the week where Sunday is the first day of week, four digits, used with %V
%xYear of the week where Monday is the first day of week, four digits, used with %v
%YYear, four digits
%yYear, two digits


Exemplo

O script a seguir usa a função DATE_FORMAT () para visualizar diferentes formatos. Nós vamos usar o NOW () função para obter a data / hora atual:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

O resultado seria algo parecido com isto:
Nov 04 2008 11:45 PM
11-04-2008
04 Nov 08
04 Nov 2008 11:45:34:243
Mais informações, acesse o site do MySQL
http://ftp.nchu.edu.tw/MySQL/doc/refman/4.1/pt/date-and-time-functions.html
Mais informações »

domingo, 19 de outubro de 2014

Relacionamento de Tabelas INNER JOIN - MySQL

com 0 Comentário
O MySQL INNER JOIN cláusula corresponde linhas em uma tabela com linhas de outras tabelas e permite consultar as linhas que contêm colunas de ambas as tabelas.

O MySQL cláusula INNER JOIN uma parte opcional da instrução SELECT . Parece imediatamente após o DE cláusula.

Antes de usar o MySQL cláusula INNER JOIN, você tem que especificar os seguintes critérios:
  • Primeiro, você tem que especificar a tabela principal que aparece na DE cláusula.
  • Em segundo lugar, você precisa especificar a tabela que você quer se juntar com a mesa principal, que aparece no INNER JOIN cláusula. Teoricamente, você pode participar de uma mesa com muitas mesas. No entanto, para melhor desempenho de consulta, você deve limitar o número de mesas para participar.
  • Em terceiro lugar, você precisa especificar a junção condição ou predicado. A juntar a condiçãoaparece após a palavra-chave ON da INNER JOIN cláusula. A juntar-se a condição é a regra para linhas correspondentes entre a mesa principal e as outras mesas.

A sintaxe da cláusula MySQL INNER JOIN é a seguinte:

1
2
3
4
5
6
SELECT column_list
FROM t1
INNER JOIN t2 ON join_condition1
INNER JOIN t3 ON join_condition2
...
WHERE where_conditions;

Vamos simplificar a sintaxe acima, assumindo que estamos a unir duas tabelas T1 e T2 usando oINNER JOIN cláusula.

Para cada registro no T1 tabela, o MySQL INNER JOIN cláusula compara com cada registro do T2 mesa para verificar se ambos satisfazer a juntar condição . Quando a juntar-se a condição é correspondida, ele irá retornar esse registro que combinam colunas em um ou ambos os T1 e T2tabelas.

Observe que os registros em ambos T1 e T2 tabelas têm de ser adaptadas com base na junçãocondição . Se nenhuma correspondência encontrada, a consulta retornará um conjunto vazio.

A lógica é aplicada se juntar mais de 2 mesas.

O diagrama de Venn ilustra como o MySQL INNER JOIN obras cláusula.


Evite erro coluna ambíguo em MySQL INNER JOIN

Se você juntar várias tabelas que possuem o mesmo nome da coluna, você tem que usar a tabela de qualificação para se referir a essa coluna no SELECIONAR cláusula para evitar erro de coluna ambíguo.Por exemplo, se ambos T1 e T2 tabelas têm a mesma coluna chamada C ; no SELECIONARcláusula, você tem que se referir a C coluna usando a tabela de qualificação como T1.C ou t2.c .

Para economizar tempo de digitação tabela eliminatórias, você pode usar aliases de tabela na consulta.Por exemplo, você pode dar o verylongtablename mesa um alias T e se referem a suas colunas usando t.column vez de verylongtablename.column .

Exemplos de como usar MySQL cláusula INNER JOIN

Vamos dar uma olhada em duas tabelas: produtos e productlines tabelas no banco de dados da amostra.

Agora, se você quiser obter
  • O código do produto e nome do produto do produto mesa.
  • O texto de descrição das linhas de produtos da productlines mesa . 

Você precisa selecionar os dados de ambas as tabelas e linhas jogo comparando o productlinecoluna do produto tabela com o productline coluna da productlines tabela como a seguinte consulta:

1
2
3
4
5
SELECT productCode,
       productName,
       textDescription
FROM products T1
INNER JOIN productlines T2 ON T1.productline = T2.productline;

MySQL INNER JOIN - Produtos de Dados Exemplo
MySQL INNER JOIN com a cláusula GROUP BY

Podemos obter o número do pedido, status de pedidos e vendas totais das ordens e OrderDetailstabelas usando o INNER JOIN com a cláusula GROUP BY da seguinte forma:

1
2
3
4
5
6
SELECT T1.orderNumber,
       status,
       SUM(quantityOrdered * priceEach) total
FROM orders AS T1
INNER JOIN orderdetails AS T2 ON T1.orderNumber = T2.orderNumber
GROUP BY orderNumber

MySQL INNER JOIN com GROUP BY
Neste tutorial, você aprendeu como usar MySQL INNER JOIN para consultar dados de várias tabelas.Você também aprendeu a usar a tabela qualificador para evitar erro de coluna ambíguo em MySQL INNER cláusula JOIN.
Mais informações »

Mudando uma coluna da tabela de lugar do Banco de Dados - MySQL

com 0 Comentário
Caros amigos, você que precisou fazer alguma alteração na coluna de uma tabela no seu banco de dados, e necessite que ela fique próxima a outra coluna, irei mostrar um código do Banco de dados MySQL compatível com a versão 5.6 (que por sua vez também é compatível com algumas versões anteriores).

  1. ALTER TABLE `escoladb`.`escola`   
  2. CHANGE COLUMN `INEP` `INEP` VARCHAR(8) NULL DEFAULT NULL AFTER `bairro`; 


Abracs!
Mais informações »

Total de visualizações