SQL e a Teoria dos Conjuntos

Ola pessoal.

Montar uma cláusula SQL pode ser um tormento para o iniciante ou experiente. Um está aprendendo e o outro tem dificuldade quando existe maior complexidade.
Isso não deveria causar tantas dificuldades, mas causam. Razão? As pessoas esquecem do importante fato da teoria dos conjuntos ser a base para o surgimento de um banco de dados relacional.
Se você nunca viu SQL na vida ou está começando agora, estude teoria dos conjuntos primeiro. Caso a dificuldade persista eu posso fazer um “por onde começar – SQL” basta avisar nos comentários.
Então você conhece SQL, mas se enrola, estude teoria dos conjuntos. Irá perceber a diferença.
Quando você quer unir duas tabelas (conjuntos)? Union (união);
Quando você quer saber o que as duas tabelas (conjuntos) têm em comum? Inner join (intersecção).

Vejam o link abaixo com uma explicação visual mostrando que as consultas estão ligadas a teoria dos conjuntos.

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

Abraço!

{jcomments on}

 

Anúncios

MariaDB 5.2 gamma é lançado

Os desenvolvedores do MariaDB liberaram o primeiro Release Candidate da versão 5.2, que é derivado do MySQL 5.1.50. Conhecido como 5.2.2 gamma, o programa foi melhorado para otimizar a performance do motor do banco de dados. Um código semelhante pode ser encontrado no último RC do MySQL 5.5, lançado recentemente.

O plug-in concept para a autenticação de módulos dá ao MariaDB maior velocidade do que o seu antecessor. Entretanto, a função ainda está em desenvolvimento e só deve ser lançada para clientes comerciais do MySQL.

Continuar lendo “MariaDB 5.2 gamma é lançado”

Turbinando consultas SQL com o uso de índices.

Recentemente estava trabalhando com algumas consultas em SQL um SGBD, e percebi que estavam muito lentas, então resolvi melhorar a performance das minhas consultas. Vou demostrar aqui o uso de índices para aumentar a velocidade das consultas. Usarei o MySQL nesse artigo mais nada impede que essa técnica seja usada em outros tipo de SGDB, não irei ensinar instalar o MySQL, poderei elabora um artigo demostrando a instalação caso haja pedidos, agora mãos a obra.

Continuar lendo “Turbinando consultas SQL com o uso de índices.”

Conceitos Fundamentais em Sistemas de Banco de Dados

 

Objetivo: Conceitos Fundamentais em Sistemas de Banco de Dados.

Requisitos: Ser esforçado, dormir pouco, trabalhar muito, estudar bastante e claro ter conhecimento básico em BD.

 

Boa Tarde bitmasters!!!

Seguinte, então pessoal venho por meio deste abordar alguns Conceitos Fundamentais em Sistemas de Banco de Dados. OK!?

Então, vamos começar com aquela perguntinha básica, o que seria um Banco de Dados?

Bom, basicamente falando com meu humilde conhecimento, diria que é um conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários, ou seja, nada mais nada menos que uma lista telefônica ou uma planilha de controle de estoque de uma empresa qualquer. Partindo disso a gente vai para a idéia de um SGBD, logo então perguntaríamos o que seria um SGBD? Diria eu que uma coleção de programas (software) que permitem aos usuários criar e manter um banco de dados, ou seja, é um software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos. Alguns exemplos bem conhecidos dos navegantes da área de T.I. são: Oracle, DB2, Microsoft SQL Server, MySQL, PostgreSQL, Sybase, Interbase, etc.

Sabendo de ‘tudo’ isso então, já poderemos nos entender um pouco melhor.

Mas, aí, naquele momento reflexo (de reflexão, hahaha), eu penso qual o objetivo de usar um SGBD? Qual Vantagem? Aí que vem a resposta:

O Objetivo de um SGBD basicamente é isolar os usuários dos detalhes mais internos do banco de dados (ou seja, a abstração de dados). Digo ainda que prover independência de dados às aplicações (estrutura física de armazenamento) e à estratégia de acesso também seria um objetivo de um SGBD, OK?! Eu sei, não disse nenhuma vantagem ainda, calma bitmasters. Ao meu ponto de vista, um SGBD tem enorme vantagem sobre um BD comum, podem até mostrar algumas desvantagens de um SGBD, (poucas) mas, ninguém pode dizer que as vantagens do SGBD sobre um BD comum são irrelevantes, ou até insignificantes.

Vantagens de um SGBD:

·        Suporte para múltiplas visões dos dados;

·        Compartilhamento de dados (controle de concorrência);

·        Processamento de transação multiusuários;

·        Controle de redundância (redundância = armazenar o mesmo dado várias vezes);

·        Restrição de acesso não autorizado;

·        Backup e restauração (restauração de falhas de hardware ou de software);

·        Redução do esforço humano (desenvolvimento e utilização);

·        Rapidez na manipulação e no acesso à informação.

 


Por isso, hoje em dia, eu diria que um sistema gerenciador de banco de dados (SGBD) é uma necessidade para qualquer empresa, então, logo precisamos de pessoas especializadas no quesito para saber Modelar, Criar, Manusear, e dar Manutenção a esse bichinho aí. Portanto, agora sabendo basicamente o que é um SGBD, poderemos começar a entrar nesse plano cheio de informações e dúvidas, digo que o primeiro passo não seria o passo mais ‘interessante’ ou o mais ‘legal’, chame como quiser a MODELAGEM DE BANCO DE DADOS, a maioria das pessoas odeiam, mas, que fique gravado aqui que é também muito importante, alguns dizem, a mais importante, pois, uma modelagem mal feita pode acarretar na perca total do trabalho no fim de todo projeto. Agora então, que venha a Modelagem, (hehe) já estou preparando algo legal pra gente se interessar nessa arte haha. Abraço a todos bitmasters e até a próxima.