Beruflich Dokumente
Kultur Dokumente
Prefcio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 O que um Banco de Dados? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Por que precisamos de Bancos de Dados? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 O que est acontecendo no reino? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Os dados esto duplicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Podem ocorrer conflitos nos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Dados so difceis de atualizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Um Banco de Dados - a nossa soluo! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Como usar um Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 O que um banco de dados relacional? . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Terminologia de Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bancos de Dados relacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de modelos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operaes de extrao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operaes de conjunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operaes relacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O Banco de Dados relacional vence! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Respostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 34 39 39 39 43 45 47 48 48
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Vamos projetar um banco de dados! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 O modelo E-R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalizao de uma tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O que o modelo E-R? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como analisar um modelo E-R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Caso: Relacionamento um-para-um . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Caso: Relacionamento um-para-muitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Caso: Relacionamento muitos-para-muitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalizando uma tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passos para projetar um Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Respostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 56 74 74 74 75 75 76 78 79 81 81 82
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Vamos aprender sobre SQL! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Uso de SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Pesquisa de dados usando um comando SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Uso de funes de totalizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Juno de tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Criao de uma tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Viso geral sobre SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Pesquisa nos dados usando um comando SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Criao de critrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Operadores de comparao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Operadores lgicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Padres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Pesquisas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Funes de agregao numricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Totalizao de dados com agrupamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Pesquisa de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Uso de uma subconsulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Uso de uma subconsulta correlata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Juntando tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Criao de uma tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Insero, atualizao ou excluso de linhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Criao de uma visualizao (View) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Respostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Vamos usar um Banco de Dados! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 O que uma transao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O que uma trava (bloqueio)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Segurana de Bancos de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acelerando as coisas com indexao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recuperao de desastres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Propriedades das transaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Atomicidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Consistncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isolamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Durabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quando um desastre ocorre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de falhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pontos de checagem (checkpoints) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 131 138 143 148 153 153 154 155 159 161 161 161 162
vi
SumRIO
ndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Otimizao de uma consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laos aninhados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fuso ordenada (sort merge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Otimizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Respostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 os Bancos de Dados esto em todos os lugares! . . . . . . . . . . . . . . 169 Banco de Dados em uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bancos de Dados e a web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bancos de Dados distribudos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedimentos armazenados e gatilhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bancos de Dados na Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de procedimentos armazenados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O que um Banco de Dados distribudo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Distribuio horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Distribuio vertical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Particionamento de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Particionamento horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Particionamento vertical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evitando inconsistncias com efetivao em duas fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Questes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replicao de Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Somente leitura (Read-Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replicao ativa em todos os servidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outras aplicaes de Bancos de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bancos de dados orientado a objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Apndice Comandos SQL Usados com Frequncia . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 175 177 183 185 194 196 196 197 197 198 198 198 199 199 201 201 201 202 202 202 203 205 205
Sumrio
vii
No vamos falar de mim! Vocs abriram o livro para aprender sobre bancos de dados...
certo?
Espere, espere!!
Ah, vocs no sabem o que . Vocs esto lidando com vrios valores e nmeros, no?
Produt o
Cu l ie nte
sei, sei...
Os dados so duplicados.
Depto. de Mercadorias
Depto. de Negcios
Internacionais
Depto. de Exportao
16
Captulo 1
Princesa Ruruna
banco de dados
Depto. de
Mercadorias
Depto. de Negcios
Internacionais
Depto. de Exportao
O novo sistema pode ter outros problemas tambm. O banco de dados pode ser usado por muitas pessoas ao mesmo tempo. Suponha que algum no departamento de negcios internacionais e algum no departamento de exportao tentem alterar o nome de uma fruta ao mesmo tempo - o primeiro de Ma para M, e o segundo de Ma para MA. Se eles fizerem isso, o que acontecer com o nome do produto? Para um banco de dados que ser usado por muitas pessoas, esse tipo de problema deve ser considerado.
Princesa Ruruna
m?
banco de dados
ma?
Depto. de
Mercadorias
Internacionais
Depto. de Negcios
Depto. de Exportao
Voc tambm deve ter cuidado para no perder nenhum dado. Alm disso, o sistema pode ficar fora do ar ou um disco rgido pode falhar, fazendo com que dados sejam corrompidos. O banco de dados precisa ter mecanismos para recuperar-se desses tipos comuns de falhas.
banco de dados
20
Captulo 1
Cdigo do Produto
Preo Unitrio 800 g 150 g 120 g 200 g 100 g 160 g 130 g 200 g
Registro
ah, Entendi.
Alta qualidade
campo
cdigo do produto
Ento, em seguida, vamos pensar sobre o cdigo do produto um pouco mais detalhadamente.
Hmmm... Registro... Campo... tanta coisa para decorar...
nome do produto
mel o m or a m a l i mo p i n h o c aq u i
aqui!
in Ca
28
Captulo 2
Alm disso, algumas vezes um campo tem um papel importante no banco de dados.
Papel importante?
chave primria
o d. Cpr
to de odu d.ro pc
Mesmo pessoas que no sabem muito sobre bancos de dados podem trabalhar com dados.
35
Diferena
Diferena uma operao que extrai linhas de apenas uma das tabelas. Por exemplo, uma operao de diferena pode extrair todos os produtos da primeira tabela que no esto includos na segunda. Os resultados dependem de qual tabela contm as linhas para extrair, de qual tabela inclui as linhas para subtrair. Nome do Produto Ma Limo
tabela de produto 1
Ma Limo
Melo Morango
Pinho Caqui
Ma Limo
Melo Morango
Pinho Caqui
Interseco
Voc tambm pode extrair produtos que esto inclusos em ambas as Tabelas de Produto 1 e 2. Essa operao chamada de operao de interseco. Aqui vemos o resultado da interseco das Tabelas de Produto 1 e 2. Nome do Produto Melo Morango
tabela de produto 1
Ma Limo
Melo Morango
Pinho Caqui
Em primeiro lugar, pensamos que seria mais fcil criar um banco de dados...
A Tica diz que o procedimento correto criar um modelo e analisar o gerenciamento de exportao atual baseando-se nele.
Por favor sente-se.
E de Entidade e R de Relacionamento.
Ko d
Obrigada.
Modelo E-R!
Entidade e relacionamento...
E = de ida nt E
Nem eu.
Rela R = cion a me
nto
E-R...?
52
Captulo 3
Esse ... um relatrio que fazemos quando exportamos frutas para um pas estrangeiro.
FluP
Tabular!!
VUsh
vamos...
Aqui est.
Cdigo Do Relatrio DatA
Cdigo Dest. de Exp. nome Dest. de Exp. CDIGO DO PRODUTO
PREO QuantiDADE Unitrio 800 g 150 g 120 g 200 g 800 g 120 g 200 g 1100 300 1700 500 2500 2000 700
1101
5/3
12
Reino de Minami Imprio Alfa Reino de Ritol Reino de Minami Reino de Ritol
101 102
23 25 12
1105
12/3
25
57
Q9 A tabela a seguir representa um sistema de recebimento de pedidos. Normalize-a na terceira forma normal. Suponha que os produtos sejam classificados por cdigo. Cdigo de Pedido Cdigo do Cliente Nome do Cliente Cdigo do Produto Nome do Produto Preo Unitrio Cdigo de Classificao do produto Nome de Classificao do Produto
Data
Quantidade
Esquema interno
Esquema Conceitual
Esquema externo
A Princesa Ruruna e o Cain criaram um banco de dados com foco no esquema conceitual neste captulo. Eles esto no processo de melhoria do banco de dados. Agora que voc completou o projeto bsico de um banco de dados, vamos examinar seu uso no prximo captulo.
Resumo
Um modelo E-R usado para analisar entidades e relacionamentos. Relacionamentos entre entidades podem ser um-para-um, um-para-muitos e muitospara-muitos. Os dados em uma tabela devem ser normalizados antes que possam ser usados para criar um banco de dados relacional. O projeto de um banco de dados pode ser dividido em trs tipos: esquemas conceitual, interno e externo.
vamos projetar um banco de dados! 81
flip
Flap
Finalmente...
A prxima coisa a fazer estudar como utilizar o banco de dados que criamos.
Quando usar o banco de dados, vocs tm que inserir ou recuperar dados, como j sabem.
Sql??
Hi hi!
Parece difcil...
90
Captulo 4
A SQL tambm tem uma funo que totaliza os valores dos dados recuperados..
)oirati n u_ocerp(gva
5 ,71 3
Exato.
No timo?
A quantidade de itens, sua soma, mdia, valores mximos e mnimos, todos podem ser obtidos especificando uma funo de totalizao.
Funo
COUNT(*) COUNT(nome_coluna) COUNT(DISTINCT nome_coluna) SUM(nome_coluna) AVG(nome_coluna) MAX(nome_coluna) MIN(nome_coluna)
Descrio Resulta na quantidade de linhas Resulta na quantidade de itens que no forem nulos na coluna Resulta na quantidade de itens distintos na coluna Resulta na soma dos valores da coluna em todas as linhas Resulta na mdia dos valores da coluna por todas as linhas Resulta no valor mximo na coluna Resulta no valor mnimo na coluna
Assim...
Uau!
99
Assim, voc pode recuperar dados de relatrio de vendas das tabelas, mesmo que elas estejam divididas.
cdigo do relatrio
preo Unitrio
Quantidade
12 12 23 25 12 25 25
Reino de Minami Reino de Minami Imprio Alfa Reino de Ritol Reino de Minami Reino de Ritol Reino de Ritol
Pode-se recuperar dados relativos a relatrios de vendas mesmo que se gerencie os produtos, destinos de exportaco e vendas independentemente.
Isso timo!!
Uau!
banco de dados
acesso
Uhuuu!
t.
Terei 40 ento.
Enquanto isso, a Becky tambm leu o nmero de mas, 30, e acrescentou 10.
30 mas
Eu vejo 30 agora.
tem 30 agora!
Mas depois dessa operao, o banco de dados mostra o nmero atual de mas como 40.
Terei 40 ento.
Terei 40 ento.
40 mas
128
Captulo 5
Cdigo produto 101 102 103 104 201 202 301 302
preo Unitrio 10000 g 12500 g 8000 g 6000 g 9000 g 12400 g 5000 g 6000 g
Os preos. Os preos!
Iss o um q ca m e l u e ro o !!
Ah, no!!!
Como pode?!
O pessoal do Departamento de Mercadorias pode pesquisar, inserir, atualizar e excluir dados do produto. O pessoal do Departamento de Negcios Internacionais pode pesquisar e inserir dados do produto, mas no pode atualiz-los ou exclu-los. O pessoal do Departamento de Exportao pode pesquisar dados do produto, mas no pode inserir, atualizar ou excluir.
Banco de dados
Depto. de Mercadorias
Depto. de Exportao
SIM SIM NO NO
SIM NO NO NO
No vamos apenas restringir o nmero de usurios - vamos tambm configurar permisses para cada usurio que puder acessar o banco de dados.
Essa uma boa oportunidade para voc considerar casar comigo, e...
Dessa forma, podemos evitar problemas e o banco de dados ainda pode ser compartilhado.
V UP
142
Captulo 5
Por exemplo?
web?
m Co
Alis, vou compr-lo.
pr
ad
o.
Chegou! Legal!
Ento... voc no tem que fazer uma lista de ttulos e ir at uma livraria!
Maravilhoso!
177
Ti-ca! Ti-ca!
Isso significa que o sistema do banco de dados como um todo no vai cair, mesmo se a falha ocorrer em alguns servidores no sistema.
no cho
Falha
Mas lembrem-se: necessrio certo cuidado para lidar com o seu banco de dados dessa forma.
Nossa!
Por exemplo? Alm disso, todos os servidores devem ser atualizados apropriadamente caso ocorra qualquer problema na rede. Quando uma transao efetivada, voc deve garantir consistncia em todo seu banco de dados distribudo.
184
Captulo 6
<produtos> <fruta> <codigo_produto>101</codigo_produto> <nome_produto>Melo</nome_produto> <preco_unitario>800</preco_unitario> </fruta> <fruta> <codigo_produto>102</codigo_produto> <nome_produto>Morango</nome_produto> <preco_unitario>150</preco_unitario> </fruta> <fruta> <codigo_produto>103</codigo_produto> <nome_produto>Ma</nome_produto> <preco_unitario>120</preco_unitario> </fruta>
</produtos>
Ruruna Kod Banco de dados orientado a objeto Perfil reino de Kod Princesa
203