Sumário. Prefácio... ix



Documentos relacionados
Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

15 4 Operação Avançada do Sistema: Inclusão de Nota Fiscal e seus relacionamentos

Guia Mangá de. Bancos de Dados. Mana Takahashi Shoko Azuma Trend-pro Co., Ltd. novatec

Como incluir artigos:

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Gerenciamento de Contatos

Introdução ao Tableau Server 7.0

NOKIA. Em destaque LEE FEINBERG

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

Como funciona? SUMÁRIO

MODELO DE DADOS VS ESQUEMA

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Google Drive: Acesse e organize seus arquivos

Sistema de Controle de Cheques GOLD

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Microsoft Access Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Introdução aos critérios de consulta. Um critério é semelhante a uma fórmula é uma cadeia de caracteres que pode consistir em

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Guia de Início Rápido

César Cruz Proprietário [18/04]

NOME SEXO CPF NASCIMENTO SALARIO

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Faculdade Lourenço Filho - ENADE

RELATÓRIOS GERENCIAIS

LILDBI-Web. Objetivo: Aplicar as funcionalidades do LILDBI-Web para alimentação de bases de dados bibliográficas. Conteúdos desta aula

Prof. Marcelo Machado Cunha

Lição 1 - Criação de campos calculados em consultas

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Tutorial do ADD Analisador de Dados Dinâmico.

Disciplina: Unidade III: Prof.: Período:

INTRODUÇÃO. Diferente de Bando de Dados

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Análise de Ponto de Função

Tutorial USERADM Como inserir conteúdo no Portal Transparência

MÓDULO 5 Movimentações

Os desafios do Bradesco nas redes sociais

Omega Tecnologia Manual Omega Hosting

WF Processos. Manual de Instruções

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Manual Replicação Manual VPN

3 Dicas MATADORAS Para Escrever s Que VENDEM Imóveis

DATA WAREHOUSE. Introdução

Banco de Dados Microsoft Access: Criar tabelas

Daruma NFCe Conheça todos os passos para testar a NFCe Daruma

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Banco de Dados BrOffice Base

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Google Drive. Passos. Configurando o Google Drive

Algoritmos. Objetivo principal: explicar que a mesma ação pode ser realizada de várias maneiras, e que às vezes umas são melhores que outras.

Como instalar uma impressora?

Treinamento Sistema Condominium Módulo III

MANUAL DO ANIMAIL Terti Software

Manual UNICURITIBA VIRTUAL para Professores

OCOMON PRIMEIROS PASSOS

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Tarefa Orientada 14 Subconsultas

Bem-vindo ao tópico Múltiplas filiais.

Outlook Apresentação

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

APOSTILA DE EXCEL 2007

Manual do usuário. v1.0

Introdução a Banco de Dados

LINGUAGEM DE BANCO DE DADOS

Manual do Visualizador NF e KEY BEST

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

ENGENHARIA DA COMPUTAÇÃO

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de:

Como fazer contato com pessoas importantes para sua carreira?

Manual do Google agenda. criação e compartilhamento de agendas

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Montar planilhas de uma forma organizada e clara.

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

A seguir voce vai poder acompanhar, em 10 passos, como gerenciar o conteúdo das páginas pelas quais voce é responsável.

Manual Sistema Mó vel Msys Cómercial

MICROSOFT OFFICE EXCEL 2007

Como consolidar dados nas planilhas utilizando o comando CONSOLIDAR do Excel

Perguntas frequentes do Samsung Drive Manager

MANUAL SOLICITAÇÃO DE COMPRAS IMPLANTAÇÃO COMPRAS

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon

Manual de Utilização

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

Tarefa Orientada 13 Agrupamento e sumário de dados

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Técnicas de Normalização por Phaser

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Descubra aqui os benefícios de possuir um sistema de NF-e integrado com o software de gestão de empresas da Indústria da Construção.

Table of Contents. PowerPoint XP

Criação da Lista de Saída de Dados

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

Transcrição:

Sumário Prefácio................................................................. 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 estão duplicados.................................................. 16 Podem ocorrer conflitos nos dados........................................... 17 Dados são difíceis de atualizar............................................... 18 Um Banco de Dados - é a nossa solução!.......................................... 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................................................. 24 Bancos de Dados relacionais.................................................... 34 Tipos de modelos de dados..................................................... 39 Operações de extração de dados................................................. 39 Operações de conjunto..................................................... 39 Operações relacionais...................................................... 43 Questões.................................................................... 45 O Banco de Dados relacional vence!.............................................. 47 Resumo..................................................................... 48 Respostas................................................................... 48 3.......................................................................... 49 Vamos projetar um banco de dados!............................... 49 O modelo E-R................................................................ 50 Normalização de uma tabela.................................................... 56 O que é o modelo E-R?........................................................ 74 Como analisar um modelo E-R.................................................. 74 1º Caso: Relacionamento um-para-um........................................ 74 2º Caso: Relacionamento um-para-muitos..................................... 75 3º Caso: Relacionamento muitos-para-muitos.................................. 75 Questões................................................................ 76 Normalizando uma tabela...................................................... 78 Questões................................................................ 79 Passos para projetar um Banco de Dados.......................................... 81 Resumo.................................................................... 81 Respostas................................................................... 82

4.......................................................................... 85 Vamos aprender sobre SQL!......................................... 85 Uso de SQL.................................................................. 86 Pesquisa de dados usando um comando SELECT.................................... 93 Uso de funções de totalização................................................... 98 Junção de tabelas............................................................ 101 Criação de uma tabela........................................................ 103 Visão geral sobre SQL........................................................ 106 Pesquisa nos dados usando um comando SELECT.................................. 106 Criação de critérios........................................................... 107 Operadores de comparação................................................ 107 Operadores lógicos....................................................... 107 Padrões................................................................ 108 Pesquisas.............................................................. 108 Questões............................................................... 109 Funções de agregação numéricas............................................... 110 Totalização de dados com agrupamento...................................... 110 Questões............................................................... 111 Pesquisa de dados........................................................... 112 Uso de uma subconsulta.................................................. 112 Uso de uma subconsulta correlata........................................... 113 Questões............................................................... 114 Juntando tabelas............................................................ 114 Criação de uma tabela........................................................ 115 Inserção, atualização ou exclusão de linhas.................................... 116 Criação de uma visualização (View).......................................... 117 Questões............................................................... 118 Resumo.................................................................... 119 Respostas.................................................................. 119 5......................................................................... 125 Vamos usar um Banco de Dados!................................... 125 O que é uma transação?...................................................... 126 O que é uma trava (bloqueio)?.................................................. 131 Segurança de Bancos de Dados................................................. 138 Acelerando as coisas com indexação............................................. 143 Recuperação de desastres..................................................... 148 Propriedades das transações................................................... 153 Atomicidade............................................................ 153 Consistência............................................................ 154 Isolamento............................................................. 155 Durabilidade............................................................ 159 Quando um desastre ocorre.................................................... 161 Tipos de falhas.......................................................... 161 Pontos de checagem (checkpoints)........................................... 161 Questões............................................................... 162 vi SumÁRIO

Índices..................................................................... 162 Questões............................................................... 164 Otimização de uma consulta................................................... 164 Laços aninhados......................................................... 165 Fusão ordenada (sort merge)............................................... 166 Hash.................................................................. 166 Otimizador.............................................................. 167 Resumo.................................................................... 167 Respostas.................................................................. 167 6......................................................................... 169 os Bancos de Dados estão em todos os lugares!.............. 169 Banco de Dados em uso....................................................... 175 Bancos de Dados e a web..................................................... 177 Bancos de Dados distribuídos................................................... 183 Procedimentos armazenados e gatilhos........................................... 185 Bancos de Dados na Internet................................................... 194 Uso de procedimentos armazenados......................................... 196 Questões............................................................... 196 O que é um Banco de Dados distribuído?......................................... 197 Distribuição horizontal.................................................... 197 Distribuição vertical...................................................... 198 Particionamento de dados..................................................... 198 Particionamento horizontal................................................. 198 Particionamento vertical................................................... 199 Evitando inconsistências com efetivação em duas fases.............................. 199 Questões............................................................... 201 Replicação de Banco de Dados.................................................. 201 Somente leitura (Read-Only)............................................... 201 Replicação ativa em todos os servidores...................................... 202 Outras aplicações de Bancos de Dados........................................... 202 XML................................................................... 202 Bancos de dados orientado a objeto......................................... 203 Resumo.................................................................... 205 Repostas................................................................... 205 Apêndice Comandos SQL Usados com Frequência.......................... 207 Referências............................................................ 209 Índice................................................................... 211 Sumário vii

Bom, pelo menos ela parece inofensiva... Bom, acho que sim... sim... Não vamos falar de mim! Vocês abriram o livro para aprender sobre bancos de dados... Então vamos começar. certo? Para criar um banco de dados... Espere, espere!! Sei que é uma pergunta muito básica... Mas o que é um banco de dados? Ah, vocês não sabem o que é. Vocês estão lidando com vários valores e números, não? Sim, e temos muitos problemas... os valores e números sobre produtos, clientes e vendas Produto Ah, então é cada departamento por si, né. temos administrado criando arquivos por departamento. Culiente vendas sei, sei...

O que está acontecendo no reino? O Reino de Kod usa um sistema baseado em arquivos para gerenciar seus dados. Mas parece que o sistema tem alguns problemas. Quais são, exatamente? Vamos ver em detalhes. O Reino tem três departamentos: o de mercadorias, o de negócios internacionais e o de exportação. O de mercadorias mantém registro de todas as frutas produzidas no país, o de negócios internacionais é responsável pelos países estrangeiros que são parceiros de negócios do reino e o de exportação registra as quantidades de frutas que o reino exporta. Os dados estão duplicados A princesa Ruruna não está satisfeita com o sistema atual. Mas por quê? Cada departamento no reino gerencia seus dados independentemente. Por exemplo, o departamento de mercadorias e o de exportação criam cada um arquivos para gerenciar dados sobre frutas. Dessa forma, os dados são duplicados sem necessidade entre todos os departamentos. Cada um deles gasta tempo inserindo seus dados, e ocupa espaço desnecessário em seus discos rígidos, para só, depois imprimir formulários de checagem, e todo esse processo é um desperdício. Além disso, dados mantidos em um departamento em particular nunca são compartilhados eficientemente com os outros. Princesa Ruruna Os dados são duplicados. Depto. de Mercadorias Depto. de Negócios Internacionais Depto. de Exportação 16 Capítulo 1

Princesa Não posso acessar dados de vendas. banco de dados Ruruna Eu posso acessar dados de vendas. Depto. de Mercadorias Depto. de Negócios Internacionais Depto. de Exportação O novo sistema pode ter outros problemas também. O banco de dados pode ser usado por muitas pessoas ao mesmo tempo. Suponha que alguém no departamento de negócios internacionais e alguém no departamento de exportação 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 Depto. de Negócios Internacionais Depto. de Exportação Você também deve ter cuidado para não perder nenhum dado. Além disso, o sistema pode ficar fora do ar ou um disco rígido 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 É preciso estar preparado para falhas. 20 Capítulo 1

cada registro contém campos do mesmo tipo. Código do Produto Nome do Produto Preço Unitário Comentários Melão 800 g com sementes Morango 150 g Registro Maçã 120 g Limão Pinhão 200 g 100 g azedo com casca ah, Entendi. Caqui Pêssego 160 g 130 g Kiwi 200 g Alta qualidade campo Por exemplo, Código do Produto é um valor de três dígitos... E Nome do Produto tem dez caracteres ou menos. código do produto Então, em seguida, vamos pensar sobre o código do produto um pouco mais detalhadamente. código do produto nome do produto m e l ã o m o r a m a ç ã Hmmm... Registro... Campo... tanta coisa para decorar... l i m ã o p i n h ã o c a q u i aqui! Cain? 28 Capítulo 2

Além disso, algumas vezes um campo tem um papel importante no banco de dados. Papel importante? Sim. Por exemplo, Esse campo especial é chamado de chave (key). O código do produto no arquivo que você viu agora há pouco. Esse campo tem um papel importante: identificar os dados. chave primária Bom, eu sei alguma coisa sobre tabelas. Esse código é chamado de chave primária (primary key). prod. code Cód. produto Esse é um dos méritos do modelo de dados relacional. É fácil de entender se você já lida com dados usando uma tabela. Não sabia que existiam tantos termos. Mesmo pessoas que não sabem muito sobre bancos de dados podem trabalhar com dados. o que é um banco de dados relacional? 35

Diferença Diferença é uma operação que extrai linhas de apenas uma das tabelas. Por exemplo, uma operação de diferença pode extrair todos os produtos da primeira tabela que não estão incluídos na segunda. Os resultados dependem de qual tabela contém as linhas para extrair, de qual tabela inclui as linhas para subtrair. Nome do Produto Preço Unitário Nome do Produto Preço Unitário Maçã 120 G Pinhão 100 G Limão 200 G Caqui 350 G tabela de produto 1 tabela de produto 2 tabela de produto 1 tabela de produto 2 Maçã Limão Melão Morango Pinhão Caqui Maçã Limão Melão Morango Pinhão Caqui Intersecção Você também pode extrair produtos que estão inclusos em ambas as Tabelas de Produto 1 e 2. Essa operação é chamada de operação de intersecção. Aqui vemos o resultado da intersecção das Tabelas de Produto 1 e 2. Nome do Produto Melão Morango Preço Unitário 800 G 150 G tabela de produto 1 tabela de produto 2 Maçã Limão Melão Morango Pinhão Caqui o que é um Banco de Dados relacional? 41

Em primeiro lugar, pensamos que seria mais fácil criar um banco de dados... A Tica diz que o procedimento correto é criar um modelo e analisar o gerenciamento de exportação atual baseando-se nele. É uma lição meio longa... Kod Por favor sente-se. Obrigada. Se conseguíssemos entender as condições reais do Reino de Kod... Então temos que estudar algo novo. Bom, estão prontos? Usaremos um modelo de análise chamado... Modelo E-R! E de Entidade e R de Relacionamento. Entidade e relacionamento... E = Entidade R = Relacionamento Nem eu. E-R...? Não conheço esses nomes... 52 Capítulo 3

Esse é... um relatório que fazemos quando exportamos frutas para um país estrangeiro. Este relatório demonstra bem o estado atual das exportações. FluP Sim, de fato! Então, usamos os dados de todos os relatórios... Para criar uma tabela no banco de dados. Tabular!! VUsh Ainda não. Primeiro... vamos... Aqui está. Código Do Relatório DatA Código Dest. de Exp. nome Dest. de Exp. CÓDIGO DO PRODUTO Nome do produto PREÇO Unitário QuantiDADE 1101 5/3 12 Reino de Minami 101 102 Melão morango 800 g 150 g 1100 300 1102 1103 7/3 8/3 23 25 Império Alfa Reino de Ritol 103 104 maçã Limão 120 g 200 g 1700 500 1104 10/3 12 Reino de Minami 101 Melão 800 g 2500 1105 12/3 25 Reino de Ritol 103 104 maçã limão 120 g 200 g 2000 700 Tabela criada a partir dos relatórios de vendas 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 código. Código de Pedido Data Código do Cliente Nome do Cliente Código do Produto Nome do Produto Preço Unitário Código de Classificação do produto Nome de Classificação do Produto Quantidade Passos para projetar um Banco de Dados Você aprendeu como projetar um banco de dados! No entanto, você tem que fazer mais do que isso. É preciso projetar uma estrutura de arquivos detalhada dentro do banco de dados e desenvolver métodos para importar e exportar dados. De forma geral, pode-se dividir todo o projeto do banco de dados em três partes: esquemas conceitual, interno e externo. O esquema conceitual refere-se a um método que retrata o mundo real. Em outras palavras, é uma forma de determinar a estrutura lógica de um banco de dados. O esquema conceitual é realizado levando-se em consideração um entendimento do mundo real baseado no modelo E-R e normalização de tabelas. O esquema interno refere-se ao banco de dados visto de dentro de um computador. Isso quer dizer que é uma forma de determinar a estrutura física de um banco de dados. O esquema interno é projetado após a criação de um método para fazer pesquisas no banco de dados rapidamente. O esquema externo refere-se a um banco de dados como ele é visto pelos usuários ou aplicativos. O esquema externo é projetado após a criação de dados necessários para os aplicativos. Esquema interno Esquema Conceitual Esquema externo A Princesa Ruruna e o Cain criaram um banco de dados com foco no esquema conceitual neste capítulo. Eles estão no processo de melhoria do banco de dados. Agora que você completou o projeto básico de um banco de dados, vamos examinar seu uso no próximo capítulo. 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 três tipos: esquemas conceitual, interno e externo. vamos projetar um banco de dados! 81

Flap Aqui estou eu! Aí estão vocês!! Oh, um novo lugar para estudar! flip Está fresquinho aqui fora. Flap Então, chegamos em um ponto onde podemos projetar um banco de dados. A próxima coisa a fazer é estudar como utilizar o banco de dados que criamos. Finalmente... Hip, hip, hurra! Concordo com você. Quando usar o banco de dados, vocês têm que inserir ou recuperar dados, como já sabem. Para fazer isso, vamos usar SQL. Sql?? Hi hi! Parece difícil... 90 Capítulo 4

avg(preco_unitario) Não sabia que o preço médio era assim tão alto... Há muitas coisas sobre meu próprio país que eu não sei. A SQL também tem uma função que totaliza os valores dos dados recuperados.. 317,5 Exato. Não é ótimo? Então podemos obter outros dados além da média? Claro. Por exemplo... A quantidade de itens, sua soma, média, valores máximos e mínimos, todos podem ser obtidos especificando uma função de totalização. Funções de Totalização em SQL Função COUNT(*) COUNT(nome_coluna) COUNT(DISTINCT nome_coluna) SUM(nome_coluna) AVG(nome_coluna) MAX(nome_coluna) MIN(nome_coluna) Descrição Resulta na quantidade de linhas Resulta na quantidade de itens que não 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 média dos valores da coluna por todas as linhas Resulta no valor máximo na coluna Resulta no valor mínimo na coluna Assim... Uau! Vamos Aprender Sobre SQL! 99

Assim, você pode recuperar dados de relatório de vendas das tabelas, mesmo que elas estejam divididas. código do relatório Data código dest. de Exp. nome dest. de Exp. código do produto nome do produto preço Unitário Quantidade 1101 5/3 12 Reino de Minami 101 Melão 800 g 1100 1101 5/3 12 Reino de Minami 102 morango 150 g 300 1102 7/3 23 Império Alfa 103 maçã 120 g 1700 1103 8/3 25 Reino de Ritol 104 limão 200 g 500 1104 10/3 Reino de 12 101 Minami Melão 800 g 2500 1105 12/3 25 Reino de Ritol 103 maçã 120 g 2000 1105 12/3 25 Reino de Ritol 104 limão 200 g 700 Essa é a mesma tabela original. Nós a recriamos! Pode-se recuperar dados relativos a relatórios de vendas mesmo que se gerencie os produtos, destinos de exportacão e vendas independentemente. Isso é ótimo!! Uau!

Agora deixem eu começar. Clap, clap, clap Um dia, o Andy e a Becky acessaram o banco de dados ao mesmo tempo. banco de dados acesso Uhuuu! No banco de dados, o Andy leu a tabela de produto, especificamente as maçãs. Eu vejo 30 agora. 30 maçãs tá. Ele então acrescentou 10 ao estoque escrevendo uma operação de banco de dados. Vou adicionar 10. Terei 40 então. Enquanto isso, a Becky também leu o número de maçãs, 30, e acrescentou 10. Eu vejo 30 agora. 30 maçãs tem 30 agora! Isso está certo? Mas depois dessa operação, o banco de dados mostra o número atual de maçãs como 40. Terei 40 então. Vou adicionar 10. Vou adicionar 10. Terei 40 então. 40 maçãs 128 Capítulo 5

Nossa Tabela de Produtos. Código produto nome produto preço Unitário 101 102 103 104 201 202 301 302 Melão Morango Maçã Limão Pinhão Caqui Pêssego Kiwi 10000 g 12500 g 8000 g 6000 g 9000 g 12400 g 5000 g 6000 g O que tem de errado com ela? Os preços. Os preços! Os preços? Os valores na coluna de preço unitário estão todos bagunçados! Isso é que é um melão caro!! Ah, não!!! Como pode?!

O pessoal do Departamento de Mercadorias pode pesquisar, inserir, atualizar e excluir dados do produto. O pessoal do Departamento de Negócios Internacionais pode pesquisar e inserir dados do produto, mas não pode atualizá-los ou excluí-los. O pessoal do Departamento de Exportação pode pesquisar dados do produto, mas não pode inserir, atualizar ou excluir. Banco de dados Depto. de Mercadorias Depto. de Negócios Internacionais Depto. de Exportação PESQUISAR INSERIR ATUALIZAR EXCLUIR SIM SIM SIM SIM PESQUISAR INSERIR ATUALIZAR EXCLUIR SIM SIM NÃO NÃO PESQUISAR INSERIR ATUALIZAR EXCLUIR SIM NÃO NÃO NÃO Não vamos apenas restringir o número de usuários - vamos também configurar permissões para cada usuário que puder acessar o banco de dados. Ah, sim... deixando isso de lado, o que eu queria dizer é... Essa é uma boa oportunidade para você considerar casar comigo, e... Ah, mas espere...! Dessa forma, podemos evitar problemas e o banco de dados ainda pode ser compartilhado. VUP 142 Capítulo 5

Bancos de Dados e a web Por exemplo? Um sistema de banco de dados ligado à web. web? No mundo todo, as pessoas podem comprar várias coisas em páginas na web. Uau, eu estava querendo este livro. Aliás, vou comprá-lo. Comprado. Chegou! Legal! Isso parece tão fácil! Por exemplo, você pode comprar qualquer livro que quiser... navegando numa página da web. Então... você não tem que fazer uma lista de títulos e ir até uma livraria! Eu apoio totalmente um sistema assim! lista de compras do Rei Maravilhoso! Vamos ver, qual o próximo? Os bancos de dados estão em todos os lugares! 177

Muitos servidores oferecem proteção extra contra falhas, também! Ti-ca! Ti-ca! Isso significa que o sistema do banco de dados como um todo não vai cair, mesmo se a falha ocorrer em alguns servidores no sistema. n o c h ã o Nossa! Falha Mas lembrem-se: é necessário certo cuidado para lidar com o seu banco de dados dessa forma. Por exemplo? Quando uma transação é efetivada, você deve garantir consistência em todo seu banco de dados distribuído. Além disso, todos os servidores devem ser atualizados apropriadamente caso ocorra qualquer problema na rede. 184 Capítulo 6

<?xml version="1.0"?> <produtos> <fruta> <codigo_produto>101</codigo_produto> <nome_produto>melão</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> Bancos de dados orientado a objeto Um banco de dados relacional armazena dados em formato de texto em tabelas. No entanto, ele pode ser inadequado quando se lida com certos tipos de dados. É aí que entra um banco de dados orientado a objeto (BDOO). O método orientado a objeto utiliza objetos - conjuntos de dados e instruções sobre como esses dados devem ser usados. Você pode ocultar os dados e expor apenas as operações sobre os dados para lidar com o objeto como um componente independente. Essa técnica é chamada de encapsulamento. Em um banco de dados orientado a objeto, cada objeto é representado com um identificador. Às vezes, um objeto é também chamado de instância. Em um banco de dados orientado, você pode também gerenciar objetos compostos - um objeto definido dentro de outro. Isso significa, por exemplo, que você pode armazenar dados que consistem em uma imagem com texto como um único objeto. O banco de dados orientado a objeto permite gerenciamento flexível de dados complexos. Banco de dados orientado a objeto Perfil Ruruna Kod reino de Kod Princesa os bancos de dados estão em todos os lugares! 203