Você está aqui: MS SQL Server ::: Dicas & Truques ::: Tipos de Dados |
|
Aprenda a usar o tipo de dados int do SQL ServerQuantidade de visualizações: 11489 vezes |
|
O tipo de dados int do SQL Server deve ser usado quando precisamos armazenar valores inteiros (sem a parte fracionária) na faixa que variará de -2^31 (-2.147.483.648) até 2^31-1 (2.147.483.647). Este tipo de dados requer 4 bytes (32 bits) para armazenar seus valores. Há, porém, algumas perguntas a serem respondidas e que o ajudarão a se decidir pelo uso deste tipo de dados ou outro que permite uma faixa menor ou maior de valores: a) O campo vai ser usado como chave primária em uma tabela de clientes? Depende muito do tamanho do seu negócio. Se o sistema vai ser usado em uma pequena locadora podemos deduzir que a quantidade de clientes não deverá ultrapassar 10.000 (o que pode ser armazenado no tipo de dados smallint). Mas, o mesmo pode ser dito em relação a uma rede de supermercados ou sistemas financeiros com abrangência nacional? b) O campo vai ser usado como chave primária em uma tabela de transações financeiras? Neste caso este campo é uma boa escolha (e já vá pensando em convertê-lo em bigint mais adiante). Não há nenhuma garantia que um sistema que hoje registra 5.000 transações financeiras mensais não estará realizando 100.000 no mês que vem. c) O campo vai ser usado, em uma tabela de produtos, como chave estrangeira para uma tabela de categorias? Depende muito da quantidade de categorias de produtos que o sistema possuirá. Mas, em geral, a quantidade de categorias não ultrapassa 1.000 (o que pode ser armazenado no tipo de dados smallint, ou quem sabe, um tinyint). Tendo dito isso, analise bem o uso do campo, afinal, 4 bytes para cada registro em uma tabela contendo milhões de registros fazem uma grande diferença. Veja no trecho de código Transact-SQL a seguir como podemos declarar uma variável do tipo int, definir um valor para ela e exibí-lo em uma consulta SELECT: -- vamos declarar uma variavel do tipo int DECLARE @valor int; -- vamos definir o valor para a variavel ...... Veja agora um comando SQL DDL para criar uma tabela chamada usuarios que contém dois campos do tipo int: CREATE TABLE [dbo].[usuarios] ( [id] int IDENTITY(1, 1) NOT NULL, [nome] varchar(150) COLLATE Latin1_General_CI_AS NOT NULL, [senha] varchar(20) COLLATE Latin1_General_CI_AS NOT NULL, ...... Aqui os campos do tipo int são: id (chave primária) e quant_acessos, que registrará quantas vezes o usuário acessou a aplicação. |
|
Link para compartilhar na Internet ou com seus amigos: | |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter a quantidade de elementos em um vetor (array ou matriz de uma dimensão) em PHPQuantidade de visualizações: 7706 vezes |
Em várias situações de programação em PHP nós precisamos contar, ou seja, obter a quantidade de elementos em um vetor, também chamado de array ou matriz unidimensional (de uma dimensão). Para isso nós podemos usar as funções count() ou sizeof(). Veja um exemplo completo de seu uso: <html> <head> <title>Estudos PHP</title> </head> <body> <?php $pessoas[0] = "Osmar J. Silva"; $pessoas[1] = "Salvador M. Andrade"; ...... Ao executar este código nós teremos o seguinte resultado: O vetor possui 3 elementos. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como embaralhar as palavras em uma frase ou texto usando C#Quantidade de visualizações: 11791 vezes |
Nesta dica mostrarei como podemos usar a linguagem C# para embaralhar, ou seja, exibir as palavras de uma string em ordem aleatória. Veja o código C# completo para o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { string frase = "Gosto de VB.NET, Java e C#"; // mostra a frase na ordem original Console.WriteLine("Ordem original: " + frase); // converte em um vetor de palavras string[] frase2 = frase.Split(' '); // vamos embaralhar 5 vezes Embaralhar(ref frase2, 5); // junta as partes da string novamente frase = String.Join(" ", frase2); // exibe o resultado Console.WriteLine("Embaralhada: " + frase); Console.WriteLine("\n\nPressione uma tecla para sair..."); ...... Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Gosto de VB.NET, Java e C# Embaralhada: VB.NET, C# Java de e Gosto |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter os tipos de dados suportados pelo MySQL e seus correspondentes JDBC usando o método getTypeInfo() da interface DatabaseMetaDataQuantidade de visualizações: 5805 vezes |
Em algumas situações precisamos obter os tipos de dados suportados pelo MySQL e mapeá-los para seus correspondentes JDBC. Esta não é uma tarefa fácil, mas que, com uma pequena ajuda dos recursos de reflexão do Java, pode ser realizada depois de algumas xícaras de café. O primeiro passo é obter os tipos de dados suportados pelo MySQL com uma chamada ao método getTypeInfo() da interface DatabaseMetaData. Os campos do ResultSet que nos interessam são TYPE_NAME e DATA_TYPE. TYPE_NAME traz o nome do tipo de dados no MySQL enquanto DATA_TYPE traz o tipo JDBC correspondente como um inteiro. Assim, o que temos que fazer é usar reflexão para obter todos os campos da classe java.sql.Types e efetuar um mapeamento entre os tipos. Veja o código completo para o exemplo: package estudosbancodados; import java.lang.reflect.Field; import java.sql.*; import java.util.HashMap; import java.util.Map; public class EstudosBancoDados{ static Map mapa; // usado para mapear os tipos JDBC public static void main(String[] args) { // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData DatabaseMetaData dbmd = conn.getMetaData(); // vamos obter os tipos de dados suportados por esta versão do MySQL // e seus correspondentes JDBC ResultSet tiposDados = dbmd.getTypeInfo(); while(tiposDados.next()){ System.out.println("MySQL: " + tiposDados.getString("TYPE_NAME") + " - JDBC: " + getJdbcTypeName(Integer.parseInt(tiposDados.getString("DATA_TYPE")))); } // vamos fechar o ResultSet tiposDados.close(); } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); ...... O resultado da execução deste código foi: MySQL: BIT - JDBC: BIT MySQL: BOOL - JDBC: BIT MySQL: TINYINT - JDBC: TINYINT MySQL: TINYINT UNSIGNED - JDBC: TINYINT MySQL: BIGINT - JDBC: BIGINT MySQL: BIGINT UNSIGNED - JDBC: BIGINT MySQL: LONG VARBINARY - JDBC: LONGVARBINARY MySQL: MEDIUMBLOB - JDBC: LONGVARBINARY MySQL: LONGBLOB - JDBC: LONGVARBINARY MySQL: BLOB - JDBC: LONGVARBINARY MySQL: TINYBLOB - JDBC: LONGVARBINARY MySQL: VARBINARY - JDBC: VARBINARY MySQL: BINARY - JDBC: BINARY MySQL: LONG VARCHAR - JDBC: LONGVARCHAR MySQL: MEDIUMTEXT - JDBC: LONGVARCHAR MySQL: LONGTEXT - JDBC: LONGVARCHAR MySQL: TEXT - JDBC: LONGVARCHAR MySQL: TINYTEXT - JDBC: LONGVARCHAR MySQL: CHAR - JDBC: CHAR MySQL: NUMERIC - JDBC: NUMERIC MySQL: DECIMAL - JDBC: DECIMAL MySQL: INTEGER - JDBC: INTEGER MySQL: INTEGER UNSIGNED - JDBC: INTEGER MySQL: INT - JDBC: INTEGER MySQL: INT UNSIGNED - JDBC: INTEGER MySQL: MEDIUMINT - JDBC: INTEGER MySQL: MEDIUMINT UNSIGNED - JDBC: INTEGER MySQL: SMALLINT - JDBC: SMALLINT MySQL: SMALLINT UNSIGNED - JDBC: SMALLINT MySQL: FLOAT - JDBC: REAL MySQL: DOUBLE - JDBC: DOUBLE MySQL: DOUBLE PRECISION - JDBC: DOUBLE MySQL: REAL - JDBC: DOUBLE MySQL: VARCHAR - JDBC: VARCHAR MySQL: ENUM - JDBC: VARCHAR MySQL: SET - JDBC: VARCHAR MySQL: DATE - JDBC: DATE MySQL: TIME - JDBC: TIME MySQL: DATETIME - JDBC: TIMESTAMP MySQL: TIMESTAMP - JDBC: TIMESTAMP |
R ::: Dicas de Estudo e Anotações ::: Variáveis e Constantes |
Regras para a escolha de nomes de variáveis na linguagem RQuantidade de visualizações: 1345 vezes |
A linguagem R, assim como quase todas as linguagens de programação, impõe algumas regras sobre os nomes que podemos escolher para nossos identificadores (variáveis, funções, nomes de classes, etc). Em R, nomes de variáveis devem seguir as seguintes regras: 1) Variáveis podem ter nomes curtos, tais como x, y, z, ou nomes mais descritivos, tais idade, valor_boleto, velocidade_total, etc. 2) Nomes de variáveis em R devem sempre começar com uma letra (ou o ponto) e pode ser uma combinação de letras, números, ponto (.) e underline (_). Se o nome da variável começar com um ponto (.), ele não poderá ser seguido por um número. 3) O nome de uma variável não pode começar com um número ou o caractere de underline (_). 4) Nomes de variáveis em R são case-sensitive, ou seja, há diferenciação de maiúsculas e minúsculas. Dessa forma, nome, Nome e NOME são três variáveis diferentes. 5) As palavras reservadas da linguagem (if, NULL, TRUE, FALSE, etc) não podem ser usados como nomes de variáveis, funções, nomes de classes e objetos. Veja a seguir exemplos de declaração e uso de variáveis em R: > x <- 10 [ENTER] > nome <- "Osmar" [ENTER] > pago <- TRUE [ENTER] > y <- x + 15 [ENTER] > x [ENTER] ...... |
Ruby ::: Dicas & Truques ::: Matemática e Estatística |
Como gerar um número inteiro aleatório em Ruby usando a função rand() do módulo KernelQuantidade de visualizações: 7369 vezes |
Nesta dica mostrarei como podemos usar o método rand() do módulo Kernel da linguagem Ruby para gerar um número randômico dentro de uma determinada faixa. No exemplo nós vamos gerar um número aleatório entre 0 e 6 (não incluído). Veja o código completo para o exemplo: # gera um número aleatório entre 0 e 5 numero = rand(6) ...... Ao executar este código Ruby nós teremos o seguinte resultado: O numero aleatório é: 5 |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |