• Nenhum resultado encontrado

Thiago Hernandes de Souza

N/A
N/A
Protected

Academic year: 2021

Share "Thiago Hernandes de Souza"

Copied!
11
0
0

Texto

(1)
(2)

SQL Avançado e Teoria Relacional

Copyright

¤

Editora Ciência Moderna Ltda., 2013

Todos os direitos para a língua portuguesa reservados pela EDITORA CIÊNCIA MODERNA LTDA.

De acordo com a Lei 9.610, de 19/2/1998, nenhuma parte deste livro poderá ser reproduzida, transmitida e gravada, por qualquer meio eletrônico, mecânico, por fotocópia e outros, sem a prévia autorização, por escrito, da Editora.

Editor: Paulo André P. Marques

Produção Editorial: Aline Vieira Marques Assistente Editorial: Lorena Fernandes Capa: Carlos Arthur Candal

Diagramação: Tatiana Neves Copidesque: Eveline Vieira Machado

Várias Marcas Registradas aparecem no decorrer deste livro. Mais do que simplesmente listar esses nomes e informar quem possui seus direitos de exploração, ou ainda imprimir os logotipos das mesmas, o editor declara estar utilizando tais nomes apenas para fins editoriais, em benefício exclusivo do dono da Marca Registrada, sem intenção de infringir as regras de sua utilização. Qualquer semelhança em nomes próprios e acontecimentos será mera coincidência.

FICHA CATALOGRÁFICA

SOUZA, Thiago Hernandes de. SQL Avançado e Teoria Relacional

Rio de Janeiro: Editora Ciência Moderna Ltda., 2013.

1.

Programação de Computador – Programas e Dados 2. Ciência da Computação

I — Título

ISBN: 978-85-399-0428-0 CDD 005 004

Editora Ciência Moderna Ltda. R. Alice Figueiredo, 46 – Riachuelo

Rio de Janeiro, RJ – Brasil CEP: 20.950-150 Tel: (21) 2201-6662/ Fax: (21) 2201-6896 E-MAIL:[email protected]

(3)

Introdução

Nos dias atuais, uma das preocupações de programadores é o aprendizado de

novas tendências tecnológicas para área de TI (Tecnologia da Informação). Muitos

desses se deparam constantemente com reciclagens, especializações e foco em

linguagens que possam trabalhar fornecendo informações para o banco de dados

corporativo em que desenvolve incumbências.

Essa é uma realidade! Não obstante, uma parte da TI que tem sido pouco

explorada e enfocada para um resultado mais profissional e que flexibilize a

implementação a qualquer momento de uma aplicação é o banco de dados.

Um banco de dados, juntamente com suas teorias de otimização e

normalização, na verdade estão em segundo plano, tendo como objetivo principal o

desenvolvimento de trabalhos demandados e a grande ansiedade em colocá-los para

“funcionar”.

Com isso, bancos de dados mais complexos e que requeiram um maior fluxo

de dados e constantes processamentos de procedimentos armazenados e instruções

para atualização ou correção acabam se tornando: instáveis, lentos e duvidosos

para certas empresas. Além de propícios aos famosos “travamentos” e reinicialização

do SGBD.

Mesmo assim, pelo desconhecimento e até mesmo pela pouca ênfase na

Teoria Relacional, servidores estão cada vez mais sendo escolhidos pela

escalabilidade vertical. Esta, que trabalha com máquinas cada vez mais potentes

e que, mesmo assim, ao não conseguir atender a demandas, são trocados e

configurados constantemente para manutenção operacional com o objetivo de

rapidez e confiabilidade parcial.

A Teoria Relacional, aliada à escalabilidade horizontal, tende a reduzir gastos

com grandes e potentes servidores, devido à característica de distribuir processamentos,

demandas e demais tarefas pertinentes a um sistema de computador.

(4)

IV SQL Avançado e Teoria Relacional

Contudo, não basta! Se os mandamentos de Codd e as Formas Normais(FN)

não forem estabelecidos corretamente e pré-dispostos a receber adaptações e

implementações futuras, o grande responsável em manter, armazenar e disponibilizar

os dados para estatísticas e consultas empresariais, o banco de dados, não vai passar de

um “sofrimento” e “dor de cabeça” para uma corporação, tendo que conviver com

momentos de “pico” e, consequentemente, a famosa “lentidão” de sistemas.

(5)

V Sumário

Sumário

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

SQL (Structured Query Language) e Teoria Relacional ... 1

Capítulo 2

Capítulo 2

Capítulo 2

Capítulo 2

Capítulo 2

Valor e Variável ... 3

Capítulo 3

Capítulo 3

Capítulo 3

Capítulo 3

Capítulo 3

Características do Emprego do Banco de Dados ... 5

Capítulo 4

Capítulo 4

Capítulo 4

Capítulo 4

Capítulo 4

Linguagens do Banco de Dados ... 7

Capítulo 5

Capítulo 5

Capítulo 5

Capítulo 5

Capítulo 5

Interfaces do SGBD ... 9

Capítulo 6

Capítulo 6

Capítulo 6

Capítulo 6

Capítulo 6

Ambiente dos Sistemas de Banco de Dados ... 11

6.1 Módulos Componentes do SGBD ... 11

Capítulo 7

Capítulo 7

Capítulo 7

Capítulo 7

Capítulo 7

Utilitários do Sistema do Banco de Dados ... 13

Capítulo 8

Capítulo 8

Capítulo 8

Capítulo 8

Capítulo 8

Arquiteturas para SGBD ... 15

(6)

VI SQL Avançado e Teoria Relacional

Capítulo 9

Capítulo 9

Capítulo 9

Capítulo 9

Capítulo 9

Projeto de Banco de Dados e afim com o modelo relacional ... 17

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 10

0

0

0

0

Modelo Entidade-Relacionamento ... 19

10.1 Generalização ... 19 10.2 Especialização ... 20 10.3 Relacionamentos ... 20 10.4 Condicionalidade ... 20 10.5 Expressão do Relacionamento ... 21

Capítulo 11

Capítulo 11

Capítulo 11

Capítulo 11

Capítulo 11

Relacionamentos Especiais ... 23

11.1 Relacionamentos entre Múltiplas Entidades ... 23

11.2 Modelo Lógico Relacional ... 23

11.2.1 Principais Vantagens da Abordagem Relacional ... 24

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 12

2

2

2

2

Regras de Codd ... 25

12.1 Chaves e Índices ... 26

12.2 Regras de Integridade no Modelo Relacional ... 27

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 13

3

3

3

3

Derivação do Modelo E-R para o Modelo Relacional ... 29

13.1 Conversão do Modelo Conceitual no Modelo Lógico Relacional ... 29

13.2 Generalizações ... 31

13.3 Normalização ... 31

13.4 Sentido de Cima para Baixo (TOP-DOWN) ... 31

(7)

VII Sumário

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 14

4

4

4

4

Anomalias ... 33

Capítulo15

Capítulo15

Capítulo15

Capítulo15

Capítulo15

Primeira Forma Normal (1FN) ... 35

15.1 Variação Temporal e a Necessidade de Histórico ... 35

15.2 Dependência Funcional ... 36

15.3 Dependência Funcional Total (Completa) e Parcial ... 36

15.4 Dependência Funcional Transitiva ... 37

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 16

6

6

6

6

Segunda Forma Normal (2FN) ... 39

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 17

7

7

7

7

Terceira Forma Normal (3FN) ... 41

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 1

Capítulo 18

8

8

8

8

Cláusulas SQL ... 43

18.1 Operadores Lógicos ... 43 18.2 Operadores Relacionais ... 44 18.3 Funções de Agregação ... 44

18.4 Sistemas de Banco de Dados que usam SQL ... 44

Capítulo 19

Capítulo 19

Capítulo 19

Capítulo 19

Capítulo 19

Praticando com SQL ... 47

19.1 Criação das Entidades/Tabelas do Banco de Dados ... 51

19.2 Realizando INSERTs nas Tabelas ... 55

19.3 Trabalhando com SELECT ... 66

19.4 Trabalhando com JOINs ... 67

(8)

VIII SQL Avançado e Teoria Relacional

19.6 Funções de Agregação ... 74

19.7 Operador Relacional LIKE ... 77

19.8 >, <, >=, <= e BETWEEN ... 79

19.9 GROUP BY, ORDER BY e HAVING ... 80

19.10 WHERE ... 85

19.11 Processamento Condicional com CASE ... 86

19.12 Encapsulamento ... 87

Capítulo 20

Capítulo 20

Capítulo 20

Capítulo 20

Capítulo 20

Aprofundando no SQL ... 89

Capítulo 2

Capítulo 2

Capítulo 2

Capítulo 2

Capítulo 21

1

1

1

1

Otimização ... 97

21.1 Erros Comuns na Definição das Entidades ... 98

21.2 Chaves Primárias Compostas ... 99

21.3 UPDATE e DELETE ... 100

21.4 Integridade Relacional Referencial ... 101

21.5 Campos Calculados ... 102

Capítulo 22

Capítulo 22

Capítulo 22

Capítulo 22

Capítulo 22

Permissões para os Usuários ... 107

22.1 Permissão para Todos os Objetos do Banco de Dados “academicosqlavancado” .. 107

22.2 Excluindo as Permissões para Todos os Objetos do Banco de Dados “academicosqlavancado” ... 108

22.3 Permissão por Tabelas ... 108

22.4 Excluindo a Permissão por Tabelas ... 109

Capítulo 23

Capítulo 23

Capítulo 23

Capítulo 23

Capítulo 23

Praticando um Pouco Mais ... 111

(9)

IX Sumário

23.2 Considerações Finais da Performance com o SQL ... 121

23.2.1 Aperfeiçoando a definição de QUERIES (QUERY) ... 123

23.2.2 Dicas para a normalização das entidades e a integridade dos dados ... 124

Capítulo 2

Capítulo 2

Capítulo 2

Capítulo 2

Capítulo 24

4

4

4

4

Prática Final Avançada - Banco de Dados Normalizado para uma Empresa de

Ônibus ...127

24.1 Diagrama E-R (Entidade-Relacionamento) Conceitual ... 127

24.2 Criando o Banco de Dados ... 129

24.2.1 Tabelas ... 133 24.2.2 Indexes ... 142 24.2.3 Triggers ... 144 24.2.4 Functions ... 146 24.2.5 Views ... 147 24.2.6 Procedures ... 149

(10)
(11)

SQL (Structured Query Language)

e Teoria Relacional

1

Capítulo

A teoria relacional é geralmente incrompreendida por diversos

programado-res de banco de dados ou DBAs (

Database Administrators). Com isso, a grande

mai-oria dos profissionais da área de banco de dados não sabe o quanto é importante a

compreensão desse tópico.

Na verdade, o que muitos profissionais de TI (Tecnologia da Informação) não

sabem é que o modelo relacional é o fundamento para a criação de qualquer banco

de dados bem estruturado e de alta disponibilidade. Ou seja, é o alicerce para o bom

uso da linguagem SQL em qualquer cenário ou metamodelo de dados.

Toda parte relacional envolve consistentemente os registros, a diferença entre a

relação de valores e a relação de variáveis, a importância de nomes de atributos e as

regras cruciais para a integridade de

constraints.

Constraint é um fator elementar que tem como principal objetivo referenciar

as entidades.

Referências

Documentos relacionados

Quero ir com o avô Markus buscar a Boneca-Mais-Linda-do-Mundo, quero andar de trenó, comer maçãs assadas e pão escuro com geleia (17) de framboesa (18).... – Porque é tão

Com relação ao CEETEPS, o tema desta dissertação é interessante por se inserir no Programa de Educação de Jovens e Adultos (PROEJA), sob a tutela da Coordenação de

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

E) CRIE NO SEU CADERNO UM TÍTULO PARA ESSA HISTÓRIA EM QUADRINHOS.. 3- QUE TAL JUNTAR AS SÍLABAS ABAIXO PARA FORMAR O NOME DE CINCO SUGESTÕES DE PRESENTE PARA O DIA