SQL e Teoria Relacional

Como escrever códigos SQL precisos

SQL e Teoria Relacional Esgotado
× SQL e Teoria Relacional

SQL e Teoria Relacional

VER AMOSTRA

Autor:

ISBN impresso: 978-85-7522-433-5
Ano: 2015
Páginas: 536
Preço: R$ 97,00

7 opiniões | Opine sobre este livro

Descrição do livro

O SQL é repleto de dificuldades e armadilhas para os descuidados. Você pode evitá-las se compreender a teoria relacional, mas apenas se souber colocar a teoria em prática.

Neste livro esclarecedor, o autor C. J. Date explica a teoria relacional em profundidade e demonstra por meio de numerosos exemplos e exercícios como você pode aplicá-la diretamente no seu uso de SQL.

Esta edição inclui material novo sobre consultas recursivas, novos operadores de atualização e tópicos como operadores agregados, agrupamentos e desagrupamentos e atualização de views. Se você tem uma experiência de modesta à avançada em SQL, aprenderá a lidar com uma série de dilemas SQL comuns:

  • Por que a nomenclatura correta das colunas é tão importante?

  • Nulos em seu banco de dados estão fazendo com que você receba respostas erradas. Por quê? O que você pode fazer quanto a isso?

  • É possível escrever uma consulta SQL para encontrar funcionários que nunca estiveram no mesmo departamento por mais de seis meses de cada vez?

  • SQL suporta “comparações quantificadas”, mas é melhor evitá-las. Por quê? Como você as evita?

  • Restrições são de importância crucial, mas a maioria dos produtos SQL não oferece suporte adequado a elas. O que você pode fazer para resolver essa situação?

A teoria e a prática dos bancos de dados evoluiram muito desde que o modelo relacional foi desenvolvido há mais de 40 anos. O livro SQL e Teoria Relacional aproveita décadas de pesquisa para apresentar a abordagem mais atualizada de SQL disponível.

Ver menos ▲

Sumário

Sumário

  • Sobre o autor
  • Prefácio à primeira edição
  • Prefácio à segunda edição
    • Preparando o cenário
  • O modelo relacional é muito mal-compreendido
  • Algumas observações sobre terminologia
  • Princípios, não produtos
  • Uma revisão do modelo original
  • Modelo versus implementação
  • Propriedades de relações
  • Relações de base versus relações derivadas
  • Relações versus relvars
  • Valores e variáveis
  • Observações de encerramento
  • Exercícios
    • Tipos e domínios
  • Tipos e relações
  • Comparações de igualdade
  • Atomicidade de valores de dados
  • O que é um tipo?
  • Tipos escalares versus tipos não escalares
  • Tipos escalares em SQL
  • Verificação de tipo e coerção em SQL
  • Collations em SQL
  • Tipos de linhas e tabelas em SQL
  • Observações de encerramento
  • Exercícios
    • Tuplas e relações, linhas e tabelas
  • O que é uma tupla?
  • Linhas em SQL
  • O que é uma relação?
  • Relações e seus corpos
  • Relações são n-dimensionais
  • Comparações relacionais
  • TABLE_DUM e TABLE_DEE
  • Tabelas em SQL
  • Nomenclatura de colunas em SQL
  • Observações de encerramento
  • Exercícios
    • Sem duplicatas, sem nulos
  • O que há de errado com as duplicatas?
  • Duplicatas: questões adicionais
  • Evitando duplicatas em SQL
  • O que há de errado com os nulos?
  • Evitando nulos em SQL
  • Uma observação sobre junções externas
  • Observações de encerramento
  • Exercícios
    • Relvars de base, tabelas de base
  • Atualizações ocorrem em nível de conjunto
  • Atribuição relacional
  • Mais sobre chaves candidatas
  • Mais sobre chaves estrangeiras
  • Relvars e predicados
  • Relações versus tipos
  • Exercícios
    • SQL e álgebra relacional I: os operadores originais
  • Algumas preliminares
  • Mais sobre fechamento
  • Restrição
  • Projeção
  • Junção
  • União, intersecção e diferença
  • Quais operadores são primitivos?
  • Formulação de expressões, um passo de cada vez
  • O que significam expressões relacionais?
  • Avaliação de expressões de tabela em SQL
  • Transformação de expressão
  • A dependência de nomes de atributos
  • Exercícios
    • SQL e álgebra relacional II: operadores adicionais
  • União exclusiva
  • Semijunção e semidiferença
  • Extensão
  • Relações de imagem
  • Divisão
  • Operadores de agregação
  • Um bis das relações de imagem
  • Sumarização
  • Um bis da sumarização
  • GROUP, UNGROUP e atributos valorados de relação
  • Consultas “e se”
  • Uma nota sobre recursão
  • E quanto a ORDER BY?
  • Exercícios
    • SQL e restrições
  • Restrições de tipo
  • Restrições de tipo em SQL
  • Restrições de bancos de dados
  • Restrições de bancos de dados em SQL
  • Transações
  • Por que a verificação de restrições de bancos de dados deve ser imediata
  • Mas algumas verificações não têm de ser postergadas?
  • Restrições e predicados
  • Questões miscelâneas
  • Exercícios
    • SQL e visões
  • Visões são relvars
  • Visões e predicados
  • Operações de recuperação
  • Visões e restrições
  • Operações de atualização
  • Para que servem as visões?
  • Visões e instantâneos
  • Exercícios
    • SQL e lógica
  • Por que precisamos da lógica?
  • Proposições simples e compostas
  • Predicados simples e compostos
  • Quantificação
  • Cálculo relacional
  • Mais sobre quantificação
  • Algumas equivalências
  • Observações de encerramento
  • Exercícios
    • Uso de lógica para formular expressões SQL
  • Algumas leis de transformação
  • Exemplo 1: Implicação lógica
  • Exemplo 2: Quantificação universal
  • Exemplo 3: Implicação e quantificação universal
  • Exemplo 4: Subconsultas correlacionadas
  • Exemplo 5: Nomenclatura de subexpressões
  • Exemplo 6: Mais sobre nomenclatura de subexpressões
  • Exemplo 7: Lidando com ambiguidade
  • Exemplo 8: Utilizando COUNT
  • Exemplo 9: Consultas de junção
  • Exemplo 10: Quantificação UNIQUE
  • Exemplo 11: Comparações ALL ou ANY
  • Exemplo 12: GROUP BY e HAVING
  • Exercícios
    • Tópicos variados em SQL
  • SELECT *
  • Tabelas explícitas
  • Qualificação de nome
  • Variáveis de intervalo
  • Subconsultas
  • Expressões “possivelmente não determinísticas”
  • Conjuntos vazios
  • Uma gramática BNF simplificada
  • Exercícios
    • O modelo relacional
  • O modelo relacional versus outros modelos
  • A significância da teoria
  • O modelo relacional definido
  • Variáveis de bancos de dados
  • Objetivos do modelo relacional
  • Alguns princípios de bancos de dados
  • O que resta ser feito?
    • Diferenças entre a SQL e o modelo relacional
    • Uma abordagem relacional às informações faltantes
  • Decomposição vertical
  • Decomposição horizontal
  • O que significam as entradas sombreadas?
  • Restrições
  • Consultas
  • Mais sobre predicados
  • Exercícios
    • Uma gramática da Tutorial D
    • Sumário de recomendações
    • Respostas aos exercícios
  • Capítulo 1
  • Capítulo 2
  • Capítulo 3
  • Capítulo 4
  • Capítulo 5
  • Capítulo 6
  • Capítulo 7
  • Capítulo 8
  • Capítulo 9
  • Capítulo 10
  • Capítulo 11
  • Capítulo 12
  • Apêndice C
    • Sugestões para leitura adicional
Ver sumário completo ▼

Opinião dos leitores

Jose R M

Este é um bom livro, recomendo sem dúvidas, muito explicativo.

Rodrigo C L

Mais um ótimo livro que estou lendo para ter o melhor aproveitamento de um banco de dados. Além de conhecer a Novatec e a qualidade de seus livros, este livro também foi recomendado pela Microsoft no Training Kit 70-461 e está sendo ótimo para esclarecer muitas dúvidas.

Geraldo H N

O autor dispensa comentários. Imprescindível para iniciantes e profissionais.

Cicero T P L F

O nome do autor é tudo!

Ver todas ▼