Arquivo da categoria ‘SQL’

databasemodel1
Pode-se dizer que, em muitos aplicativos, atualmente, o banco de dados é a ‘alma’ do sistema. Acredito que grande parte dos softwares atualmente pode ser vista basicamente como ferramentas criadas para inserir, extrair e realizar algum processamento sobre dados de uma empresa ou órgão.

Durante o processo de desenvolvimento, estas manipulações sobre os dados podem ser muito dificultadas caso o banco de dados não tenha sido bem organizado ou não se tenha utilizado alguma metodologia para sua criação. Bem, no momento eu não estou falando sobre um banco de dados relacional e normalizado até a 3ª forma normal, mas sim da própria escolha dos nomes de tabelas e colunas do banco.

Quando você cria um banco de dados pequeno, com poucas tabelas, isso não parece um assunto muito importante, mas quando você precisa trabalhar com sistemas com centenas de tabelas, as coisas mudam. Poderá ser um suplício conseguir extrair alguma infomação de um banco que não segue nenhuma regra sobre a nomeação das tabelas, relacionamentos e colunas.

Por esse motivo resolvi criar um pequeno tutorial propondo uma metodologia para a criação de nomes de tabelas e colunas do banco de dados. Este tutorial foi feito com base na observação de práticas comuns em bancos de dados ‘bem feitos’ e na minha própria experiência como desenvolvedor.

Acredito que a utilização metodologias como essa irá reduzir os custos de desenvolvimento e manutenção do software, facilitando e tornando mais intuitiva a construção de queries SQL para inserção e extração de dados.

Um grande problema com a nomenclatura dos bancos de dados é que não há padrões, uma coisa que um desenvolvedor considera uma boa prática, outro pode achar algo ruim. É uma questão de gosto e costume. Meu principal objetivo com esse post é realizar uma discutição sobre o assunto e tornar o desenvolvimento mais rápido e intuitivo, portanto quero incentivar críticas ao modelo proposto e a colaboração com novas idéias.

Como já foi dito, o tutorial contém um apanhado de práticas comuns em bancos de dados, como a utilização de abreviaturas e prefixos, mais algumas adaptações minhas para tornar a localização dos dados e dos relacionamentos mais intuitiva.

Bem, vamos logo ao tutorial:
(mais…)

Anúncios

erro_vs2010

Depois da ideia de desinstalar TODO o meu Sql Server R2, devido a SAGA que passei com o report service…

Fiz aa desinstalação completa do Sql 2008 R2, e instalei o 2012.

Abri novamente o Visual Studio 2010 e me deparei com o erro:

“The ‘VSTS for Database Professionals Sql Server Data-tier Application’ package did not load correctly”

erro VSTS for Database

Atualizando o SQL ou instalar ferramentas de gerenciamento do SQL (e várias outras ações) pode quebrar o Visual Studio 2010 e causar esse erro.

Isso ocorre porque o SQL Express 2008 é parte da instalação do Visual Studio 2010 e  interferir com o esquema do SQL causa um erro.

Uma pesquisada, uma fuçada e a solução: (mais…)

erro_sqlserver

Você faz uma consulta e recebe o erro:

Msg 402, Level 16, State 1, Line 1
The data types text and varchar are incompatible in the equal to operator.

erro Ms402sql

E porque??

Você não pode usar colunas de texto em uma operação equivalente ( igual) em uma cláusula WHERE.

Se você estiver usando SQL Express ou SQL Server 2005, altere o tipo de coluna de texto para varchar (max) ou nvarchar (max)

Mas e se você não puder alterar a tabela???

Solução:

Se você precisa de uma solução rápida, você pode sempre fazer um CAST (campo AS nvarchar (max)) no SQL 2005.

Dependendo do tamanho do seu conteúdo, você poderia fazer um CAST (campo AS nvarchar (4000)) também.

Embora, mudar o tipo de coluna é a melhor solução a longo prazo.

 

erro_sqlserver

Os construtores de valor de tabela podem ser usados de uma de duas maneiras: diretamente na lista de VALUES de uma instrução INSERT … VALUES, ou como uma tabela derivada em qualquer lugar em que são permitidas tabelas derivadas. O número máximo de linhas que podem ser construídas inserindo linhas diretamente na lista de VALUES é 1000.

sql_Msg 10738

ERRO:

O erro 10738 será retornado se o número de linhas exceder 1000 nesse caso. Para inserir mais de 1000 linhas, use um dos métodos a seguir: (mais…)

Dica

Para definir o tempo da Sessão podemos usar o Web.Config.
Por padrão a duração da Sessão é de 20min, neste exemplo o tempo de vida da Sessão foi definido em 1 hora.

<configuration>
  <system.web>
    <sessionState timeout="60"></sessionState>
  </system.web>
</configuration>

 

Dica

Veja as diferenças entre ambos, suas aplicações e exemplos de como usa-los.

ExecuteScalar – O objeto Command fornece o método ExecuteScalar que permite retornar um valor único de uma fonte de dados. Este método executa uma consulta e retorna a primeira coluna da primeira linha do conjunto de registros retornado. O conjunto de registros pode conter múltiplas linhas mas o método ExecuteScalar irá ignorá-las.

Exemplo: (mais…)

boasPraticas

JavaScript

Depois de alguns diversos casos de falta de padronização e com o apoio do amigo Marcelo Aguirre ( sim o irmão do Dedé que ta sempre por aqui)…

Retirei esta tabela do MSDN, e acho(e uso!) interessante essas regras pois ajudam a manter o código mais organizado !!!

Tá certo que nem todos os componentes são iguais e algums nem existam no java, mas muitos caem como uma luva, como o lbl(Label), btn(Button), txt(TextBox), frm(Form{na verdade é frame ne =P}) e etc …

Ta aí a tabelinha bonitinha das regras que ajudam a manter um código limpo. (mais…)

erro_sqlserver

Você faz um select simples pensando que vai obter o resultado até que surge o seguinte erro:

“The text data type cannot be selected as DISTINCT because it is not comparable”

Traduzindo: O tipo de dados texto não pode ser selecionado como DISTINCT, pois não é comparável

A solução também é simples. (mais…)

Identando Seus códigos.
  • Bom, depois de muito tempo sem postar releases/projetos,
    resolvi postar algo que pouca gente sabe…
  • primieiramente, pegue o polegar da mão direita e coloque no centro de sua testa
    fazendo 5 giros.todo mundo conhece as programações mais famosas,C#, PHP,JAVASCRIPT, DELPHI,CSS,C++ etc …
    mais o principal pouco sabem, é o que vamos utilizará aqui, tem na maioria das programações.

indentação (recuo, neologismo derivado da palavra em inglês indentation[1][2]) é um termo aplicado ao código fonte de um programa para indicar que os elementos hierarquicamente dispostos têm o mesmo avanço relativamente à posição (x,0).

Na maioria das linguagens a indentação tem um papel meramente estético, tornando a leitura do código fonte muito mais fácil (read-friendly), porém é obrigatória em outras. Python, Occam e Haskell, por exemplo, utilizam-se desse recurso tornando desnecessário o uso de certos identificadores de blocos (“begin” e/ou “end”).

A verdadeira valia deste processo é visível em arquivos de código fonte extensos, não se fazendo sentir tanto a sua necessidade em arquivos pequenos (relativamente ao número de linhas). Para qualquer programador, deve ser um critério a ter em conta, principalmente, por aqueles que pretendam partilhar o seu código com outros. A indentação facilita também a modificação, seja para correção ou aprimoramento, do código fonte.

Existem centenas de estilos de indentação, mas, basicamente, consiste na adição de tabulações no início de cada linha na quantidade equivalente ao número de blocos em que cada linha está contida.

  • Identando seu código
    – Para Identar seu código são usados o TAB (que mostra score) e o espaço.
    Como é um código mal identado? (mais…)

erro_sqlserver

Essa é velha, e eis que me deparo com ela novamente… então, nunca faz mal relembrar caso alguém passe por isso… O Management Studio 2008, por padrão, não permite que alterações sejam feitas pelo designer se alguma tabela tiver que ser recriada, retornando o erro.

“Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have eithermade changes to a table that can’t be re-created or enabled the optionPrevent saving changes that require the table to be re-created.”

Ou Traduzindo a mensagem de erro :

“Não é permitido salvar as alterações. As alterações feitas requerem que as tabelas a seguir sejam descartadas e recriadas.
Você alterou uma tabela que não pode ser recriada ou habilitou a opção Evitar salvar alterações que exijam recriação de tabela.”

E a solução: (mais…)