Aprendendo SQL
Dominando os Fundamentos de SQL
Descrição do livro
Atualizado para os mais recentes sistemas de gerenciamento de banco de dados – incluindo MySQL 5.1, Oracle 11g e Microsoft SQL Server 2008 – este guia introdutório irá habilitar você a trabalhar com SQL rapidamente. Independentemente de precisar escrever aplicações de banco de dados, realizar tarefas administrativas ou gerar relatórios, Aprendendo SQL auxiliará você a dominar todos os fundamentos de SQL.
Cada capítulo apresenta uma lição independente sobre um conceito-chave de SQL, com várias ilustrações e exemplos comentados. Exercícios no final de cada capítulo permitem praticar as habilidades aprendidas.
Com este livro você irá:
- Passar rapidamente pelo básico de SQL e aprender inúmeras funcionalidades avançadas.
- Usar instruções de dados SQL para gerar, manipular e recuperar dados.
- Criar objetos de banco de dados, como tabelas, índices e restrições, usando instruções de esquema SQL.
- Aprender como os conjuntos de dados interagem com as consultas e entender a importância das subconsultas.
- Converter e manipular dados usando funções nativas SQL e usar lógica condicional em instruções de dados.
Conhecimento em SQL é obrigatório para quem interage com dados. Com Aprendendo SQL, você aprenderá rapidamente como colocar todo o poder e flexibilidade dessa linguagem a seu serviço.
“Se você decidiu aprender SQL, arregace as mangas e deixe Aprendendo SQL ser o seu parceiro de aprendizado. Ler os capítulos bem organizados e completar os conjuntos de exercícios práticos que aparecem ao longo do caminho prepararão você para criar suas próprias soluções em banco de dados. Os bancos de dados estão em todo lugar – com este livro, você pode aproveitar a abordagem efetiva de trabalho com SQL do Sr. Beaulieu.”
--Roy Owens, Desenvolvedor de banco de dados, CBORD Group, Inc.
Ver menos ▲Sumário
- Prefácio
- CAPÍTULO 1 • Uma breve introdução
- Introdução aos bancos de dados
- Sistemas de banco de dados não-relacional
- O modelo relacional
- Um pouco de terminologia
- O que é SQL?
- Classes de instruções SQL
- SQL: uma linguagem não-procedural
- Exemplos em SQL
- O que é MySQL?
- O que vem em seguida
- Introdução aos bancos de dados
- CAPÍTULO 2 • Criando e populando um banco de dados
- Criando um banco de dados MySQL
- Usando a ferramenta de linha de comando mysql
- Tipos de dados do MySQL
- Dados do tipo caractere
- Dados de texto
- Dados numéricos
- Dados temporais
- Criação de tabelas
- Passo 1: Projeto
- Passo 2: Refinamento
- Passo 3: Construindo instruções de esquema SQL
- Povoando e modificando tabelas
- Inserindo dados
- Atualizando dados
- Exclusão de dados
- Quando boas instruções se dão mal
- Chaves primárias não-únicas
- Chave estrangeira não-existente
- Violações dos valores das colunas
- Conversões de data inválidas
- Esquema bank (bank schema)
- CAPÍTULO 3 • Introdução a consultas
- Funcionamento das consultas
- Cláusulas de consulta
- Cláusula select
- Aliases de colunas
- Removendo duplicatas
- Cláusula from
- Tabelas
- Vínculos de tabela
- Definindo aliases de tabela
- Cláusula where
- Cláusulas group by e having
- Cláusula order by
- Ordenação ascendente versus ordenação descendente
- Ordenação por meio de expressões
- Ordenando por meio de referências numéricas
- Teste seu conhecimento
- CAPÍTULO 4 • Filtragem
- Avaliação de condições
- Usando parênteses
- Usando o operador not
- Construindo uma condição
- Tipos de condições
- Condições de igualdade
- Condições de intervalo
- Condições de adesão
- Condições de correspondência
- Null: aquela palavra de quatro letras
- Teste seu conhecimento
- Avaliação de condições
- CAPÍTULO 5 • Consultando múltiplas tabelas
- O que é uma junção?
- Produto cartesiano
- Junções internas
- A sintaxe ANSI de junção
- Juntando três ou mais tabelas
- Usando subconsultas como tabelas
- Usando a mesma tabela duas vezes
- Autojunções
- Junções equivalentes versus não-equivalentes
- Condições de junção versus condições de filtro
- Teste seu conhecimento
- O que é uma junção?
- CAPÍTULO 6 • Trabalhando com conjuntos
- Introdução à teoria dos conjuntos
- Teoria dos conjuntos na prática
- Operadores de conjunto
- Operador union
- Operador intersect
- Operador except
- Regras das operações de conjunto
- Ordenando resultados de consultas compostas
- Precedência das operações de conjunto
- Teste seu conhecimento
- CAPÍTULO 7 • Geração, conversão e manipulação de dados
- Trabalhando com strings
- Geração de strings
- Manipulação de strings
- Trabalhando com dados numéricos
- Realizando funções aritméticas
- Controlando a precisão numérica
- Tratando dados sinalizados
- Trabalhando com dados temporais
- Trabalhando com fusos horários
- Gerando dados temporais
- Manipulando dados temporais
- Funções de conversão
- Teste seu conhecimento
- Trabalhando com strings
- CAPÍTULO 8 • Agrupamentos e agregações
- Conceitos de agrupamento
- Funções de agregação
- Grupos implícitos versus grupos explícitos
- Contando valores distintos
- Usando expressões
- Como nulls são tratados
- Gerando grupos
- Agrupamento por uma coluna
- Agrupamento por múltiplas colunas
- Agrupamento por meio de expressões
- Gerando resumos (rollups)
- Condições de filtro de grupo
- Teste seu conhecimento
- CAPÍTULO 9 • Subconsultas
- O que é uma subconsulta?
- Tipos de subconsultas
- Subconsultas não-correlatas
- Subconsultas de linhas múltiplas e coluna única
- Subconsultas de múltiplas colunas
- Subconsultas correlatas
- Operador exists
- Manipulação de dados usando subconsultas correlatas
- Quando usar subconsultas
- Subconsultas como fontes de dados
- Subconsultas em condições de filtro
- Subconsultas como geradoras de expressões
- Resumo das subconsultas
- Teste seu conhecimento
- CAPÍTULO 10 • Junções revisitadas
- Junções externas
- Junção externa esquerda versus junção externa direita
- Junções externas de três tabelas
- Autojunções externas
- Junções cruzadas
- Junções naturais
- Teste seu conhecimento
- Junções externas
- CAPÍTULO 11 • Lógica condicional
- O que é lógica condicional?
- Expressão case
- Expressões case pesquisadas
- Expressões case simples
- Exemplos de expressões case
- Transformações de conjuntos-resultados
- Agregação seletiva
- Verificando a existência
- Erros de divisão por zero
- Atualizações condicionais
- Tratando valores null
- Teste seu conhecimento
- CAPÍTULO 12 • Transações
- Bancos de dados multiusuários
- Locking
- Granularidade dos bloqueios
- O que é uma transação?
- Iniciando uma transação
- Finalizando uma transação
- Pontos de gravação de transações
- Teste seu conhecimento
- Exercício 12.1
- Bancos de dados multiusuários
- CAPÍTULO 13 • Índices e restrições
- Índices
- Criação de índices
- Tipos de índices
- Como os índices são usados
- O lado negativo dos índices
- Restrições
- Criação de restrições
- Restrições e índices
- Restrições em cascata
- Teste seu conhecimento
- Índices
- CAPÍTULO 14 • Views
- O que são views?
- Por que usar as views?
- Segurança de dados
- Agregação de dados
- Escondendo a complexidade
- Juntando dados particionados
- Views atualizáveis
- Atualizando views simples
- Atualizando views complexas
- Teste seu conhecimento
- CAPÍTULO 15 • Metadados
- Dados sobre dados
- Information_schema
- Trabalhando com metadados
- Scripts de geração de esquemas
- Verificação de implantação
- Geração dinâmica de SQL
- Teste seu conhecimento
- APÊNDICE A • Diagrama ER do banco de dados de exemplo
- APÊNDICE B • Extensões do MySQL para a linguagem SQL
- Extensões para a instrução select
- Cláusula limit
- Cláusula into outfile
- Instruções insert/update combinadas
- Atualizações e exclusões ordenadas
- Atualizações e exclusões em múltiplas tabelas
- Extensões para a instrução select
- APÊNDICE C • Soluções dos exercícios
Sobre o autor
Alan Beaulieu projeta, constrói e implementa aplicações de banco de dados personalizadas há pelo menos 15 anos. Ele possui sua própria empresa de consultoria, que se especializou em projetar bancos de dados Oracle e em dar suporte a serviços nas áreas financeira e de telecomunicação. Alan é formado pela Cornell University School of Engineering.… Ver perfil completo ▶
Livros relacionados
Opinião dos leitores
Marco A A S
Ótimo livro e ajudou muito aos alunos que iniciam nesta área.
Jorge L
Excelente obra! Ótima didática introdutória. Parabéns ao autor, à O'Reilly e à editora Novatec, por proporcionar a nós brasileiros o acesso a estas obras!
Silvano S da C
Muito bom.
Jackson O
Um ótimo livro para quem deseja aprender a criar banco de dados em SQL. Recomendo.






