Você está na página 1de 16

SISTEMAS DE

BANCO DE DADOS
Peter Rob Carlos Coronel
Projeto, implementao e gerenciamento
VII
PARTE I CONCEITOS DE BANCOS DE DADOS
Descrio de aplicao: a revoluo relacional 3
Captulo 1 Sistemas de banco de dados 4
Dados versus Informaes 4
Introduo aos bancos de dados e ao SGBD 6
Por que o projeto do banco de dados importante 11
Razes histricas: arquivos e sistemas de arquivos 11
Problemas de gerenciamento de dados do sistema de arquivos 15
Sistemas de banco de dados 20
Resumo 28
Questes de reviso 28
Problemas 29
Captulo 2 Modelos de dados 31
Modelagem e modelos de dados 31
Importncia dos modelos de dados 32
Blocos bsicos de construo de modelos de dados 33
Regras de negcio 34
Evoluo dos modelos de dados 36
Graus de abstrao de dados 51
Resumo 57
Questes de reviso 57
Problemas 58
PARTE II CONCEITOS DE PROJETOS

Descrio de aplicao: A modelagem de bancos de dados ajuda as comunidades 65


Captulo 3 Modelo de banco de dados relacional 66
Uma perspectiva lgica dos dados 67
Chaves 70
Regras de integridade 76
Operadores do conjunto relacional 78
Dicionrio de dados e catlogo de sistemas 84
Relacionamentos dentro do banco de dados relacional 86
Nova abordagem redundncia de dados 94
ndices 97
Regras de Codd para bancos de dados relacionais 98
Resumo 100
SUMRIO
VIII
Questes de reviso 100
Problemas 102
Captulo 4 Modelagem entidade-relacionamento (ER) 112
Modelo entidade-relacionamento (ER) 112
Desenvolvimento de um diagrama ER 136
Desafios de projetos de banco de dados: conflito de objetivos 145
Resumo 148
Questes de reviso 149
Problemas 151
Captulo 5 Normalizao das tabelas de banco de dados 162
Tabelas de banco de dados e normalizao 162
Necessidade de normalizao 163
Processo de normalizao 166
Aprimoramento do projeto 175
Consideraes sobre chaves surrogates 179
Formas normais de nvel superior 181
Normalizao e projeto do banco de dados 186
Desnormalizao 190
Resumo 194
Questes de reviso 196
Problemas 197
Captulo 6 Modelagem de dados avanada 207
O Modelo entidade-relacionamento estendido 207
Agrupamento de entidades 214
Integridade de entidades: seleo de chaves primrias 215
Casos de projetos: banco de dados flexvel 220
Lista de verificao de modelagem de dados 226
Resumo 228
Questes de reviso 228
Problemas 229
SISTEMAS DE BANCO DE DADOS
IX
PARTE III PROJETO E IMPLEMENTAO AVANADOS
Descrio de aplicao: utilizao de consultas para marcar pontos 239
Captulo 7 Introduo linguagem SQL 240
Introduo SQL 240
Comandos de definio de dados 243
Comandos de manipulao de dados 258
Consultas de seleo 265
Comandos avanados de definio de dados 276
Consultas de seleo avanadas 284
Tabelas virtuais: criando uma visualizao 294
Juno de tabelas de banco de dados 296
Resumo 302
Problemas 303
Captulo 8 SQL Avanada 314
Operadores do conjunto relacional 314
Operadores de juno de SQL 321
Subconsultas e consultas correlacionadas 331
Funes da SQL 344
Sequncias Oracle 352
Visualizaes atualizveis 356
SQL procedural 359
SQL embutida 383
Resumo 389
Questes de reviso 390
Problemas 391
Captulo 9 Projeto de banco de dados 396
Sistema de informao 396
Ciclo de vida do desenvolvimento de sistemas (CVDS) 398
Ciclo de vida do banco de dados (CVBD) 402
Estratgias de projetos de banco de dados 429
Projeto centralizado vs. descentralizado 430
Resumo 433
Questes de reviso 433
Problemas 434
SUMRIO
X
PARTE IV CONCEITOS AVANADOS DE BANCO DE DADOS
Descrio de aplicao: crise do banco de dados da JetBlue 437
Captulo 10 Gerenciamento de transaes e controle de
concorrncia 438
O que uma transao? 438
Controle de concorrncia 446
Controle de concorrncia com mtodos de bloqueio 451
Controle de concorrncia com mtodos de time stamping 459
Controle de concorrncia com mtodos otimistas 460
Gerenciamento de recuperao de banco de dados 461
Resumo 466
Questes de reviso 467
Problemas 467
Captulo 11 Sintonizao (tuning) de desempenho de
banco de dados e otimizao de consultas 470
Conceitos de sintonizao de desempenho de banco de dados 470
Processamento de consultas 476
ndices e otimizao de consultas 480
Escolhas de otimizadores 482
Sintonizao de desempenho de SQL 485
Formulao de consultas 489
Sintonizao de desempenho de SGBD 490
Resumo 493
Questes de reviso 494
Problemas 494
Captulo 12 Sistemas de gerenciamento de banco de dados
distribudos 499
A evoluo dos sistemas de gerenciamento de bancos de dados distribudos 499
Vantagens e desvantagens do SGBDD 502
Processamento distribudo e bancos de dados distribudos 503
Caractersticas dos sistemas de gerenciamento de bancos de dados distribudos 505
Componentes dos SGBDD 506
Nveis de dados e distribuio de processos 508
Recursos de transparncia de banco de dados distribudos 511
Transparncia de distribuio 512
Transparncia de transao 515
Transparncia de desempenho e otimizao de consultas 520
SISTEMAS DE BANCO DE DADOS
XI
Projeto de banco de dados distribudos 522
Cliente/servidor versus SGBDD 529
Os doze mandamentos de C. J Date para banco de dados distribudos 530
Resumo 531
Questes de reviso 532
Problemas 532
Captulo 13 Business intelligence e data warehouses 535
Necessidade da anlise de dados 535
Business intelligence 536
Arquitetura de business intelligence 538
Dados de suporte a decises 542
Data warehouse 548
Processamento analtico on-line 552
Esquema estrela 567
Implementao de um data warehouse 577
Minerao de Dados (Data Mining) 580
Extenses de SQL para OLAP 583
Resumo 591
Questes de reviso 592
PARTE V BANCO DE DADOS E INTERNET
Descrio de aplicao: A Casio aprimora a experincia do cliente na web 595
Captulo 14 Conectividade de banco de dados e tecnologias
da web 596
Conectividade de bancos de dados 596
Banco de dados da internet 608
Linguagem XML (Extensible Markup Language) 615
Resumo 626
Questes de reviso 627
SUMRIO
XII
PARTE VI ADMINISTRAO DE BANCO DE DADOS
Descrio de aplicao: Oreck revisa plano de recuperao desastroso aps o furaco Katrina 629
Captulo 15 Administrao e segurana de banco de dados 630
Dados como um bem corporativo 630
A necessidade e a funo do banco de dados em uma organizao 631
Introduo de um banco de dados: consideraes especiais 633
Evoluo da funo de administrao de bancos de dados 634
Componente humano do ambiente do banco de dados 637
Segurana 652
Ferramentas de administrao de banco de dados 657
Desenvolvimento de estratgia de administrao de dados 662
DBA em ao: utilizao de Oracle para a administrao de banco de dados 664
Resumo 682
Questes de reviso 683
Glossrio 685
SISTEMAS DE BANCO DE DADOS
XIII
Por diversos motivos, poucos livros sobrevivem at sua oitava edio. Autores e editoras que se acomodam
com o sucesso de seu trabalho inicial geralmente pagam o preo de ver o mercado desmontar suas criaes.
Esta obra sobre sistemas de banco de dados foi bem-sucedida por sete edies porque ns autores e edi-
tora demos ateno ao impacto da tecnologia s questes e sugestes dos leitores. Acreditamos que esta
oitava edio reflete com xito a mesma ateno a esses estmulos.
Em vrios aspectos, reescrever um livro mais difcil do que escrev-lo pela primeira vez. Se o ttulo for
bem-sucedido, como este, uma preocupao importante que as atualizaes, inseres e excluses afetem
adversamente o estilo de escrita e a continuidade do contedo. Vem mente o princpio de orientao da
profisso mdica: em primeiro lugar, no cause danos. Naturalmente, nossa prpria experincia um bom
ponto de partida, mas tambm sabemos que os autores podem desenvolver uma atitude de orgulho que os
impedem de detectar fraquezas ou oportunidades de aprimoramento. Felizmente, os esforos combinados
de revisores e editores extraordinrios, alm de um valioso feedback das edies anteriores, proveniente
de professores e alunos, ajudaram a fornecer a orientao e avaliao adequada para o reescrevermos.
Acreditamos ter incorporado novos materiais e mantido o fluxo, a integridade e o estilo de escrita que tor-
naram bem-sucedidas as sete edies anteriores.
ALTERAES NA 8
a
EDIO
Nesta 8
a
edio adicionamos alguns novos recursos e reorganizamos parte do contedo para fornecer um
fluxo melhor do material. Alm de aprimorar a cobertura dos projetos de banco de dados, que j eram for-
tes, fizemos outras melhorias na abordagem dos assuntos. A seguir esto alguns destaques:
Descries de aplicaes novas e atualizadas, que mostram o impacto das tecnologias de bancos
de dados no mundo real;
Exemplos adicionais de UML (Unified Modeling Language);
Ampliao da cobertura das funes de Servidor SQL;
Cobertura adicional dos tipos de ndices utilizados por SGBD;
Nova cobertura sobre business intelligence;
Adio de cobertura de JDBC (Conectividade de bancos de dados em Java);
Cobertura adicional de segurana de dados, incluindo vulnerabilidades e medidas de segurana.
Esta 8
a
edio continua a fornecer um fundamento slido e prtico para projeto, implementao e
gerenciamento de sistemas de bancos de dados. Esses fundamentos so construdos a partir da noo de que,
embora os bancos de dados sejam muito prticos, o xito de sua criao depende da compreenso de concei-
tos importantes que os definem. No fcil chegar combinao adequada de teoria e prtica, mas ficamos
contentes em saber que o feedback mencionado anteriormente sugere que fomos amplamente bem-sucedidos
em nossa busca por manter o equilbrio correto.
ABORDAGEM: NFASE CONTNUA NO PROJETO
Como sugere seu ttulo, Sistemas de banco de dados: projeto, implementao e gerenciamento cobre trs
amplos aspectos dos sistemas de bancos de dados. No entanto, por vrios motivos importantes, damos
ateno especial ao projeto.
PREFCIO
XIV
A disponibilidade de excelentes softwares de banco de dados permite que mesmo as pessoas
sem experincia na rea criem bancos de dados e aplicaes. Infelizmente, a abordagem criao
sem projeto costuma pavimentar a estrada para vrios desastres de bancos de dados. Em nossa
experin cia, muitas falhas de sistemas, se no a maioria, so atribuveis a projetos ruins e no
podem ser resolvidas nem com a ajuda dos melhores gerentes e programadores. Tambm pro-
vvel que os melhores softwares de SGBD no sejam capazes de superar os problemas criados ou
amplificados por falhas de projeto. Utilizando uma analogia, at os melhores pedreiros e carpin-
teiros no conseguem criar uma boa edificao a partir de uma planta ruim.
A maioria dos problemas que afetam o gerenciamento parece ser ativada por bancos de dados mal
projetados. Provavelmente no vale a pena utilizar recursos escassos para desenvolver habilidades
de gerenciamento excelentes e amplas e utiliz-las apenas em crises induzidas por projetos ruins.
O projeto proporciona um excelente meio de comunicao. mais provvel que os clientes con-
sigam o que precisam quando o projeto do sistema de banco de dados for abordado com muito
cuidado e ateno. Na verdade, os clientes podem descobrir como suas organizaes realmente
funcionam quando um bom projeto de banco de dados completo.
A familiaridade com tcnicas de projeto de bancos de dados promove a compreenso a respeito
das tecnologias atuais. Por exemplo, como muitos dados em warehouses provm de bancos de
dados operacionais, os conceitos, estruturas e procedimentos do primeiro faro mais sentido
mediante a compreenso da estrutura e implementao do segundo.
Como damos nfase aos aspectos prticos do projeto de bancos de dados, seus conceitos e procedimentos
so cobertos em detalhes, assegurando que os vrios problemas do fim dos captulos sejam desafiadores o
suficiente para que os alunos possam desenvolver habilidades reais e teis de projeto. Tambm asseguramos
que os alunos compreendam os conflitos potenciais e reais entre a elegncia do projeto, as exigncias de
informaes e a velocidade de processamento de transaes. Por exemplo, no faz muito sentido projetar
bancos de dados que atendam a padres de elegncia do projeto, mas que falhem em suprir as exigncias
de informao dos usurios finais. Portanto, exploramos a utilizao de dilemas cuidadosamente definidos
para assegurar que os bancos sejam capazes de atender s necessidades dos usurios finais, ao mesmo tempo
em que observamos altos padres de projeto.
COBERTURA DE ASSUNTOS
Viso de sistemas
O ttulo do livro comea com Sistemas de banco de dados. Portanto,
examinamos os conceitos de projetos e de bancos de dados cobertos
nos Captulos 1-6 como parte de um todo maior, situando-os dentro
do modelo de anlise de sistemas do Captulo 9. Acreditamos que os
projetistas de bancos de dados que no compreendem que estes fazem
parte de um sistema maior provavelmente negligenciaro exigncias
importantes do projeto. Na verdade, o Captulo 9, Projeto de banco
de dados, fornece um mapa para o projeto de banco de dados avan-
ado. Em um grande modelo de sistemas, podemos tambm explorar
questes como gerenciamento de transaes e controle de concor-
rncia (Captulo 10), sistemas de gerenciamento de banco de dados
SISTEMAS DE BANCO DE DADOS
PARTE
1
CONCEITOS DE
BANCOS DE DADOS
1
SISTEMAS DE BANCOS DE DADOS
MODELOS DE DADOS
1
2
XV
distribu dos (Captulo 12), business intelligence e dados warehouses (Captulo 13), conectividade de banco
de dados e tecnologias da web (Captulo 14) e administrao e segurana de bancos de dados (Captulo 15).
Projeto de bancos de dados
O primeiro termo do subttulo do livro Projeto e nossa abordagem do projeto de bancos de dados abran-
gente. Por exemplo, os Captulos 1 e 2 examinam o desenvolvimento de bancos e modelos de dados e ilus-
tram a necessidade do projeto. O Captulo 3 aponta os detalhes do modelo de banco de dados relacional. O
Captulo 4 proporciona uma abordagem extensiva, profunda e prtica de projetos, e o Captulo 5 dedica-se
s questes crticas de normalizao que afetam a eficincia e a efetividade dos bancos de dados. O Captulo
6 explora assuntos de projetos avanados. Os Captulos 7 e 8 abordam questes de implementao de banco
de dados e o modo como os dados so acessados por meio de SQL (Structured Query Language). O Captulo
9 analisa o projeto de banco de dados dentro dos modelos de sistemas e mapeia as atividades necessrias
para projetar e implementar com sucesso um banco de dados no mundo real.
Como o projeto de banco de dados afetado pelas transaes
reais, pelo modo como os dados so distribudos e pelas crescen-
tes exigncias de informaes, examinamos os principais recursos
que devem ser suportados por bancos e modelos da gerao atual.
Por exemplo, o Captulo 10, Gerenciamento de transaes e con-
tro le de concorrncia, foca nas caractersticas de transaes dos ban-
cos de dados e o modo como afetam sua integridade e consistncia.
O Captulo 11, Sintonizao (Tuning) de desempenho de banco de
dados e otimizao de consultas, ilustra a necessidade de eficin cia de
pesquisa no mundo real, que constantemente gera e utiliza bancos de
dados com terabytes de dados e tabelas com milhes de registros. O
Captulo 12, Sistemas de gerenciamento de banco de dados distribu-
dos, enfatiza a distribuio, replicao e alocao de dados. No
Captulo 13, Businesses intelligence e data warehouses, exploramos
as caractersticas dos bancos de dados utilizados no suporte a decises
e no processamento analtico on-line. O Captulo 14, Conectividade
de banco de dados e tecnologias da web, cobre as questes bsicas de
conectividade encontradas no mundo de dados com base na web e mos-
tra o desenvolvimento dos front ends desse tipo de banco.
Implementao
A segunda parte do subttulo Implementao. Utilizamos SQL
(Structured Query Language) nos Captulos 7 e 8 para mostrar como
os bancos de dados so implementados e gerenciados. As questes
especiais encontradas em um ambiente de banco de dados da internet
so tratadas no Captulo 14, Conectividade de banco de dados e tec-
nologias da web.
PREFCIO
projeto de bancos de dados
9
Neste captulo, voc aprender:
Que projetos bem-sucedidos de bancos de dados devem refletir o sistema de informao
do qual o banco faz parte
Que sistemas de informao bem-sucedidos so desenvolvidos dentro de um modelo
conhecido como ciclo de vida do desenvolvimento de sistemas (CVDS)
A que sistemas de informao, a maioria dos bancos de dados bem-sucedidos est fre-
quentemente sujeita a avaliaes e revises dentro de um modelo conhecido como ciclo
de vida de bancos de dados (CVBD)
Como conduzir avaliaes e revises em modelos de CVDS e CVBD
Sobre estratgias de projeto de bancos de dados: projeto top-down vs. bottom-up e pro-
jeto centralizado vs. descentralizado
N
O
V
E
SISTEMA DE INFORMAO
Basicamente, um banco de dados um depsito de fatos cuidadosamente pro-
jetado e estruturado. Ele faz parte de um todo maior conhecido como sistema
de informao, que fornece para a coleta de dados o armazenamento e recupe-
rao dos mesmos. Esses sistemas tambm facilitam a transformao de dados
em informaes e permitem o seu gerenciamento e dos dados. Assim, um siste-
ma de informao completo composto de pessoas, hardware, software, bancos
de dados, aplicativos e procedimentos. A anlise de sistemas um processo
que estabelece a necessidade e a extenso de um sistema de informaes. O
processo de criao de sistemas de informao conhecido como desenvolvi-
mento de sistemas.
Uma caracterstica essencial dos sistemas atuais o valor estratgico das
informaes na presente era de negcios globais. Portanto, devem sempre estar
alinhados s metas estratgicas de negcios. A perspectiva de sistemas isolados e
independentes no mais vlida. Os novos sistemas de informao sempre devem
estar integrados arquitetura de sistemas de toda a empresa.
NOTA
Este captulo no tem por objetivo cobrir todos os aspectos de anlise
e desenvolvimento de sistemas. Eles normalmente so tratados em
um curso ou livro distinto. No entanto, deve ajudar a desenvolver uma
melhor compreenso das questes associadas a projeto, implementao e
gerenciamento de bancos de dados afetadas pelo sistema de informao do
qual o banco de dados umcomponente fundamental.
No modelo de desenvolvimento de sistemas, as aplicaes transformam
os dados em informaes, que constituem a base da tomada de decises.
PARTE
3
PROJETO E IMPLEMENTAO
AVANADOS
3
INTRODUO LINGUAGEMSQL (STRUCTURED
QUERY LANGUAGE)
SQL AVANADA
7
8
PROJETO DE BANCOS DE DADOS 9
PARTE
1
CONCEITOS DE
BANCO DE DADOS
1
SISTEMAS DE BANCO DE DADOS
MODELOS DE DADOS
1
2
A revoluo relacional
Hoje em dia, podemos contar com os benefcios trazidos pelos bancos de dados rela-
cionais a capacidade de armazenar, acessar e alterar dados de forma rpida e fcil em
computadores de baixo custo. Mas, at o fim da dcada de 1970, os bancos de dados
armazenavam grandes quantidades de dados em uma estrutura hierrquica que era
inflexvel e difcil de navegar. Os programadores precisavam saber o que os clientes
queriam fazer com os dados antes que o banco fosse projetado. Incrementar ou alterar o
modo como os dados eram analisados constitua um processo caro e demorado. Como
consequncia, as pesquisas eram realizadas por meio de extensas fichas catalogrficas
para encontrar um livro na biblioteca, utilizavam-se mapas rodovirios que no mos-
travam as mudanas ocorridas no ltimo ano e era necessrio comprar jornais para
conseguir informaes sobre preos de aes.
Em 1970, Edgar Ted Codd, matemtico funcionrio da IBM, escreveu um arti-
go que viria a mudar tudo isso. Na poca, ningum percebeu que as teorias obscuras
de Codd desencadeariam uma revoluo tecnolgica comparvel ao desenvolvimento
dos computadores pessoais e da internet. Don Chamberlin, coinventor da SQL, a mais
popular linguagem de computador utilizada pelos sistemas de bancos de dados de hoje,
explica: Havia aquele cara, Ted Codd, que usava um tipo de notao matemtica estra-
nha, mas ningum a levava muito a srio. Ento, Ted Codd organizou um simpsio e
Chamberlin ouviu como ele conseguiu resumir cinco pginas de programas complica-
dos em uma nica linha. E eu disse: Uau!, relembra Chamberlin.
O simpsio convenceu a IBM a fundar o Sistema R, um projeto de pesquisa que
construiu um prottipo de um banco de dados relacional e que levaria criao da SQL
e do DB2. A IBM, no entanto, manteve o Sistema R em segundo plano por vrios e
decisivos anos. O interesse da empresa voltava-se para o IMS, um sistema de banco de
dados confivel, de alta tecnologia, que havia surgido em 1968. Sem perceber o potencial
de mercado daquela pesquisa, a IBM permitiu que sua equipe publicasse seus trabalhos.
Entre os leitores estava Larry Ellison, que havia acabado de fundar uma pequena
empresa. Recrutando programadores do Sistema R e da Universidade da Califrnia,
Ellison conseguiu colocar no mercado o primeiro banco de dados relacional com base
em SQL em 1979, bem antes da IBM. Em 1983, a empresa lanou uma verso porttil do
banco de dados, teve um faturamento bruto anual de US$ 5.000.000 e mudou seu nome
para Oracle. Impelida pela concorrncia, a IBM finalmente lanou o SQL/DS, seu primeiro
banco de dados relacional, em 1980.
Em 2007, as vendas globais de sistemas de gerenciamento de banco de dados
chegaram ao pico de US$ 15 bilhes com a Oracle detendo uma participao de prati-
camente metade do mercado, seguida pela IBM, com menos de um quarto. A partici-
pao do SQL Server da Microsoft cresceu mais rpido do que a de seus competidores,
chegando a 14%.
Descrio
de
Aplicao
Sistemas de banco de dados
1
DADOS VERSUS INFORMAES
Para compreender o que deve orientar o projeto de bancos de dados, voc deve
entender a diferena entre dados e informaes. Os dados so fatos brutos. A
palavra bruto indica que os fatos ainda no foram processados para revelar seu
significado. Por exemplo, suponha que queira saber o que os usurios de um
laboratrio de informtica pensam desse servio. Normalmente, voc comearia
entrevistando os usurios para avaliar o desempenho do laboratrio. A Figura 1.1a
mostra o formulrio de entrevista por web que permite que os usurios respondam
a suas questes. Quando o formulrio estiver preenchido, os dados brutos so sal-
vos em um depsito de dados, como apresentado na Figura 1.1b. Embora voc j
tenha os fatos em mos, eles no tm nenhuma utilidade particular nesse formato
ler pginas e mais pginas de zeros e uns provavelmente no trar muitas ideias.
Portanto, preciso transformar os dados brutos em um resumo de dados, assim
como na Figura 1.1c. Agora, possvel obter respostas rpidas a questes como:
Qual a composio da base de clientes de nosso laboratrio?. Nesse caso, de
forma rpida, possvel determinar que a maioria de nossos clientes so estudantes
do penltimo (24,59%) e do ltimo (53,01%) ano da graduao. A rapidez com que
os grficos podem melhorar nossa capacidade de extrair os significados dos dados
pode ser constatada no grfico de barras dos resumos dos dados na Figura 1.1d.
As informaes so o resultado do processamento de dados brutos para revelar
seu significado. Esse processamento pode ser simples, como a organizao dos dados
para revelar padres, ou complexos, como a realizao de previses ou a extrao de
inferncias utilizando modelagem estatstica. Para revelar seu significado, as infor-
maes exigem um contexto. Por exemplo, uma leitura de temperatura mdia de
105
o
no tem muito significado, a menos que saibamos seu contexto: est em graus
Fahrenheit ou Celsius? Trata-se da temperatura de uma mquina, de um corpo
ou atmosfrica? As informaes podem ser utilizadas como o fundamento para a
tomada de decises. Por exemplo, o resumo de dados de cada questo do formulrio
de entrevista pode apontar os pontos fortes e fracos do laboratrio, ajudando-o a
tomar decises confiveis para melhor atender s necessidades de seus clientes.
Neste captulo, voc aprender:
A diferena entre dados e informaes
O que um banco de dados, os diferentes tipos e por que constituem recursos valiosos
para a tomada de decises
A importncia do projeto de bancos de dados
Como os bancos de dados modernos evoluram a partir de sistemas de arquivos
Falhas de gerenciamento de dados em sistemas de arquivos
Quais so os principais componentes dos sistemas de bancos de dados e como diferem
dos sistemas de arquivos
As principais funes de um sistema de gerenciamento de banco de dados (SGBD)
U
M
5 SISTEMAS DE BANCO DE DADOS
Tenha em mente que os dados brutos devem ser formatados adequadamente para o armazenamen-
to, o processamento e a apresentao. Por exemplo, na Figura 1.1c, a classificao do aluno formatada
com o intuito de mostrar os resultados com base nas classificaes de calouro (Freshman), segundo anista
(Sophomore), terceiro anista (Jnior), quarto anista (Snior) e graduado (Graduate Student). Pode ser
necessrio converter as respostas sim/no dos entrevistados para um formato S/N de armazenamento. Uma
formatao mais complexa ser necessria ao trabalharmos com tipos de dados complexos, tais como: sons,
vdeos ou imagens.
Na atual era da informao, a produo de informaes precisas, relevantes e rpidas a chave
para uma boa tomada de deciso. Por sua vez, uma boa tomada de deciso a chave para a sobrevivncia
comercial no mercado global. Dizem que estamos entrando na era do conhecimento.
1
Os dados so o
1
Peter Drucker cunhou a expresso trabalhador do conhecimento em 1959, em seu livro Landmarks of Tomorrow.
Em 1994, Esther Dyson, George Gilder, Dr. George Keyworth e Dr. Alvin Toffler introduziram o conceito de era do
conhecimento.
a) TcIa dc pcsquisa iniciaI b) Dados bruto
c) lnormacs cm ormato rcsumido d) lnormacs cm ormato dc gricos
flGURA
1.1
Transormao dc dados brutos cm inormacs
6 SISTEMAS DE BANCO DE DADOS
fundamento das informaes, que a base do conhecimento, ou seja, do corpo de informaes e fatos sobre
um assunto especfico. O conhecimento implica familiaridade, conscincia e compreenso das informaes
conforme se apliquem a um ambiente. Uma caracterstica fundamental do conhecimento que o novo
conhecimento pode ser obtido a partir do antigo.
Vamos resumir alguns pontos fundamentais:
Os dados constituem os blocos de construo das informaes.
As informaes so produzidas pelo processamento de dados.
Elas so utilizadas para revelar o significado dos dados.
Informaes precisas, relevantes e rpidas so a chave para a boa tomada de decises.
A boa tomada de deciso a chave para a sobrevivncia de uma organizao no ambiente global.
Informaes rpidas e teis exigem dados precisos. Esses dados devem ser gerados de forma adequada
e armazenados em um formato de fcil acesso e processo. E, como qualquer recurso bsico, o ambiente de
dados deve ser gerenciado com cuidado. O gerenciamento de dados uma disciplina que foca na gerao,
no armazenamento e na recuperao adequada dos dados. Diante do papel crucial executado pelos dados,
voc no deve estar surpreso que o gerenciamento de dados seja uma atividade central para qualquer neg-
cio, agncia governamental, organizaes de servios ou filantrpicas.
INTRODUO AOS BANCOS DE DADOS E AO SGBD
Em geral, o gerenciamento eficiente de dados exige a utilizao de um banco de dados computacional. Um
banco de dados (ou base de dados
2
) uma estrutura computacional compartilhada e integrada que arma-
zena um conjunto de:
Dados do usurio final, ou seja, fatos brutos de interesse para esse usurio.
Metadados, ou dados sobre dados, por meio dos quais os dados do usurio final so integrados e
gerenciados.
Os metadados fornecem uma descrio das caractersticas dos dados e do conjunto de relaciona-
mentos que ligam os dados encontrados no banco de dados. Por exemplo, o componente de metadados
armazena informaes como o nome da cada elemento de dados, o tipo de valor (numrico, datas ou
texto) armazenado, a possibilidade ou no de deixar esse elemento vazio, e assim por diante.

Portanto, os
metadados fornecem informaes que complementam e expandem o valor e a utilizao dos dados.

Em
resumo, os metadados trazem uma representao mais completa dos dados no banco.

Dadas as caracte-
rsticas dos metadados, possvel ouvir a definio de um banco de dados como um conjunto de dados
autodescritivos.
O sistema de gerenciamento de bancos de dados (SGBD) um conjunto de programas que geren-
ciam a estrutura do banco de dados e controlam o acesso aos dados armazenados. At certo ponto, o banco
de dados se assemelha a um arquivo eletrnico com contedo muito bem organizado com a ajuda de um
software poderoso, conhecido como sistema de gerenciamento de banco de dados.
2
Apesar de em ingls o termo database poder ser traduzido tanto para banco de dados como base de dados, o termo
base de dados usualmente utilizado para se referir aos dados armazenados no sistema de banco de dados enquanto
o banco de dados, muitas vezes, se refere ao sistema de banco de dados. (N.R.T.)
7 SISTEMAS DE BANCO DE DADOS
FUNO E VANTAGENS DO SGBD
O SGBD serve como intermedirio entre o usurio e o banco de dados. Sua estrutura armazenada como
um conjunto de arquivos e o nico modo de acessar os dados nesses arquivos por meio do SGBD.

A Figura
1.2 enfatiza o fato de o SGBD apresentar ao usurio final (ou aplicativo) uma visualizao nica e integrada
dos dados no banco. O SGBD recebe todas as solicitaes de aplicaes e as traduz nas operaes complexas
necessrias para atend-las. O SGBD oculta, dos aplicativos e usurios, boa parte da complexidade interna do
banco de dados. O aplicativo pode ser escrito por um programador utilizando linguagens como Visual Basic.
NET, Java ou C++, ou criado por meio de um utilitrio do SGBD.
Usurios inais
Usurios inais
SoIicitao
da
apIicao
Dados
SoIicitao
da apIicao
Dados
fstrutura do banco dc dados
SGD
Sistcma dc Gcrcnciamcnto
dc anco dc Dados
CIicntcs
faturas
Produtos
Mctadados
Dados do
usurio inaI
nica
lntcgrada
http://
flGURA
1.2
O SGD gcrcncia a intcrao cntrc o usurio inaI c o banco dc dados
VisuaIizao
dos dados
A presena de um SGBD entre as aplicaes do usurio final e o banco de dados oferece algumas van-
tagens importantes. Em primeiro lugar, o SGBD permite que os dados no banco sejam compartilhados por
diversas aplicaes e usurios. Em segundo lugar, integra visualizaes muito diferentes dos usurios sobre
os dados em um nico repositrio de dados que engloba tudo.
Como os dados constituem um material bruto fundamental a partir do qual as informaes so obti-
das, necessrio um bom mtodo para gerenci-los. Voc descobrir neste livro que o SGBD ajuda a tornar
o gerenciamento de dados mais eficiente e eficaz. Por exemplo, fornece vantagens como:
Aprimoramento do compartilhamento de dados. O SGBD ajuda a criar um ambiente em que os
usurios finais tenham melhor acesso a dados em maior quantidade e mais bem gerenciados. Esse
acesso possibilita que os usurios finais respondam rapidamente a mudanas em seu meio.
Aprimoramento da segurana de dados. Quanto mais usurios acessam os dados, maiores so os
riscos de falhas de segurana.

As empresas investem considerveis quantidades de tempo, esforos


e dinheiro para garantir que seus dados sejam utilizados adequadamente. O SGBD fornece um
modelo para melhor aplicar as polticas de privacidade e segurana de dados.
Melhoria na integrao dos dados. O acesso mais amplo a dados bem gerenciados promove uma
perspectiva integrada das operaes da organizao e uma visualizao mais clara do panorama geral.
Facilita muito a visualizao de como as aes de um segmento da empresa afetam outros segmentos.