Introdu o a Banco de Dados - 1 - Alunos

63
Uma Visão Geral do Gerenciamento de Bancos de Dados Claudio J. Biazus E-mail: [email protected]

Transcript of Introdu o a Banco de Dados - 1 - Alunos

Page 1: Introdu o a Banco de Dados - 1 - Alunos

Uma Visão Geral do Gerenciamento de Bancos de Dados

Claudio J. BiazusE-mail: [email protected]

Page 2: Introdu o a Banco de Dados - 1 - Alunos

Introdução

• Em essência, um sistema de bando de dados é apenas um sistema computacional de armazenamento de registros.

• O banco de dados pode, ele próprio, ser visto como o equivalente eletrônico de um armário de arquivamento.

• Em outras palavras, é um repositório ou recipiente para uma coleção de arquivos de dados computadorizados.

• Os usuários do sistema poderão executar diversas operações sobre tais arquivos – por exemplo:

– Acrescentar novos arquivos, vazios, ao banco de dados;– Inserir novos dados de arquivos existentes;– Buscar dados de arquivos existentes;– Alterar dados em arquivos existentes;– Eliminar dados de arquivos existentes;– Remover arquivos existentes do banco de dados.

Page 3: Introdu o a Banco de Dados - 1 - Alunos

Introdução

• A figura 1.1 mostra um banco de dados muito pequeno que contém um único arquivo chamado ADEGA;

• Esse arquivo, por sua vez, contém dados relativos ao conteúdo de uma adega de vinhos.

DEP# VINHO PRODUTOR ANO GARRAFAS PRONTO

2 Chardonnay Buena Vista 1997 1 19993 Chardonnay Geyser Peak 1997 5 19996 Chardonnay Simi 1996 4 1998

12 Joh. Riesling Jekel 1998 1 199921 Fumé Blanc Ch. St. Jean 1997 4 199922 Fumé Blanc Robt. Mondavi 1996 2 199830 Gewurztram. Ch. St. Jean 1998 3 199943 Cab.

SuavignonWindsor 1991 12 2000

Page 4: Introdu o a Banco de Dados - 1 - Alunos

Introdução

DEP# VINHO PRODUTOR ANO GARRAFAS PRONTO

45 Cab. Suavignon

Geyser Peak 1994 12 2002

48 Cab. Suavignon

Robt. Mondavi 1993 12 2004

50 Pinot Noir Gary Farrell 1996 3 199951 Pinot Noir Fetzer 1993 3 200052 Pinot Noir Dehlinger 1995 2 199858 Merlot Clos du Bois 1994 9 200064 Zinfandel Cline 1994 9 200372 Zinfandel Rafanelli 1995 2 2003

Page 5: Introdu o a Banco de Dados - 1 - Alunos

Introdução

• A figura 1.2 mostra um exemplo de operação de busca sobre esse bando de dados, juntamente com os dados retornados (devolvidos) por essa operação.

• Nota: em todo este livro, mostraremos operações de bancos de dados, nomes de arquivos e itens semelhantes em maiúsculas para maior clareza.

• Na prática, muitas vezes é mais conveniente representar esses itens em minúsculas.

• A maior parte dos sistemas aceita ambas as formas.

Page 6: Introdu o a Banco de Dados - 1 - Alunos

Introdução

Busca:SELECT VINHO, DEP#, PRODUTOR FROM ADEGA WHERE PRONTO = 2000;

Resultado (mostrado, por exemplo, na tela do monitor):

VINHO DEP# PRODUTOR

Cab. SauvignonPinot NoirMerlot

435158

WindsorFetzerClos du Bois

Figura 1.2 Exemplo de busca

Page 7: Introdu o a Banco de Dados - 1 - Alunos

Introdução

• A figura 1.3 apresenta exemplos de operações de inserção, alteração e exclusão sobre o banco de dados da adega de vinhos.

Inserção de novos dados:INSERT ADEGA ( DEP#, VINHO, PRODUTOR , ANO, GARRAFAS, PRONTO) VALUES (53, ‘Pinot Noir’, ‘Saintsbury’, 1997, 6, 2001);Alteração de dados existentes:UPDATE ADEGASET GARRAFAS = 4WHERE DEP# = 3;Exclusão de dados existentes:DELETE FROM ADEGA WHERE DEP# = 2;

Figura 1.3 Exemplo de inserção, alteração e exclusão

Page 8: Introdu o a Banco de Dados - 1 - Alunos

Introdução

Surgem algumas observações importantes desses exemplos:• 1. Por razões óbvias, arquivos computadorizados – como ADEGA na

figura1.1 – com freqüência são chamados tabelas. • 2. AS linhas de uma tabela desse tipo podem ser imaginadas como os

registros do arquivo, e as colunas podem ser vistas como os campos desses registros.

– Neste livro, empregaremos a terminologia de registros e campos quando nos referimos a sistemas de bancos de dados em geral;

– Usaremos a terminologia de linhas e colunas quando mencionarmos especificamente os sistemas relacionais.

• 3. Por questão de simplicidade, fizemos uma suposição tácita no exemplo de que as colunas VINHO e PRODUTOR contêm dados de strings (seqüências) de caracteres e todas as outras colunas contêm dados inteiros.

– Examinaremos essa questão de tipos de dados de colunas nas capítulos 3, 4 e 5.

Page 9: Introdu o a Banco de Dados - 1 - Alunos

Introdução

• 4. A coluna DEP# constitui a chave primária para a tabela ADEGA (o que significa que jamais haverá duas linhas da tabela ADEGA contendo o mesmo valor na coluna DEP#).– Com freqüência, usaremos um duplo sublinhado para indicar as

colunas da chave primária, como na figura 1.1.• 5. Os exemplos de operações ou “instruções” nas figuras 1.2 e 1.3 –

SELECT, INSERT, UPDATE, DELETE – são todos expressos em uma linguagem chamada SQL.– A SQL é a linguagem padrão para interação com banco de dados

relacionais e é reconhecida por quase todos os produtos de banco de dados existentes hoje no mercado.

– Nota: O nome “SQL” significa Structured Query Language (Linguagem de consulta estruturada).

Page 10: Introdu o a Banco de Dados - 1 - Alunos

Introdução

• 6. Observe que a SQL emprega a palavra-chave UPDATE com o significado específico de “alterar”.– Esse fato pode causar confusão, porque o termo “atualizar” (a

tradução de “update”) também é utilizado para se referir às três operações – INSERT, UPDATE e DELETE – como um grupo.

• 7. Como você provavelmente já sabe, quase todos os sistemas de banco de dados em uso hoje são de fato relacionais.

Page 11: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

• É um sistema computadorizado cujo propósito geral é armazenar informações e permitir ao usuário buscar e atualizar essas informações quando solicitado.

• As informações em questão podem ser qualquer coisa que tenha significado para o indivíduo ou a organização a que o sistema deve servir.

• Ou seja, tudo o que seja necessário para auxiliar no processo geral de tomada de decisões de negócios desse indivíduo ou dessa organização.

• A figura 1.4 é uma representação simplificada de um sistema de banco de dados.

Page 12: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

Page 13: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

• A figura pretende mostrar que um sistema de bando de dados envolve quatro componentes principais:– Dados;– Hardware;– Software;– Usuários.

Page 14: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

DADOS• Os sistemas de bancos de dados estão disponíveis em máquinas que vão

desde micros bem pequenos (PCs portáteis) até os maiores computadores de grande porte.

• Em particular, sistemas em grandes equipamentos (“sistemas grandes”) tendem a ser multiusuários, ao passo que os sistemas de máquinas menores (“sistemas pequenos”) tendem a ser de usuário único (monousuário).

• Um sistema monousuário é um sistema em que no máximo um usuário pode ter acesso ao banco de dados em qualquer instante determinado.

• Um sistema multiusuário é um sistema em que muitos usuários podem obter acesso ao banco de dados ao mesmo tempo.

Page 15: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

DADOS• De modo geral, os dados do banco de dados – pelo menos em um sistema

grande – estarão não apenas integrados, mas compartilhados.• Eles representam uma grande vantagem dos sistemas de banco de dados em

ambientes “grandes”.• A integração de dados, também pode ser significativa em ambientes

“pequenos”.• Primeiro, vamos explicar o que entendemos pelos termos integrado e

compartilhado: • Por integrado queremos dizer que o banco de dados pode ser imaginado

como uma unificação de vários arquivos de dados que de outro modo seriam distintos, sendo eliminada pelo menos em parte qualquer redundância entre esses arquivos.

Page 16: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

DADOS• Por exemplo, um determinado banco de dados poderia conter tanto

um arquivo EMPREGADO, que fornece nomes, endereços, departamentos, salários e outros itens sobre os empregados de uma empresa.

• Quando um arquivo MATRÍCULA representando a participação dos empregados em cursos de treinamento (figura 1.5).

EMPREGADO

MATRÍCULA NOME

NOME

CURSO

ENDEREÇO DEPARTAMENTO

...

... SALÁRIO

Figura 1.5 Os arquivos EMPREGADO e MATRÍCULA

Page 17: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

DADOS• Agora suponha que seja necessário saber em que departamento

trabalha cada aluno matriculado?• Então, é claro que não há necessidade de incluir tal informação

redundante no arquivo MATRÍCULA, pois sempre poderá ser obtida no arquivo EMPREGADO.

Page 18: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

DADOS• Por compartilhado, queremos dizer que porções isoladas de dados do

banco de dados podem ser compartilhadas entre diferentes usuários.• No sentido de que cada um desses usuários pode ter acesso à mesma porção

dos dados, possivelmente para finalidades distintas.• Diferentes usuários podem até estar conseguindo acesso à mesma parte dos

dados no mesmo momento (“acesso concorrente”).• Tal compartilhamento (concorrente ou não) é em parte conseqüência do

fato de que o banco de dados é integrado.• No exemplo citado anteriormente, a informação sobre o departamento no

arquivo EMPREGADO seria compartilhada tipicamente pelo usuários do Departamento de Pessoal e pelos usuários do Departamento de Educação.

• Em outras palavras, um determinado banco de dados será percebido por diferentes usuários de diversos modos.

Page 19: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

HARDWARE• Os componentes de hardware do sistema consistem em:

– Volumes de armazenamento secundário – principalmente discos magnéticos – usados para guardar os dados armazenados;

– Juntamente com os dispositivos de E/S;– Controladores de dispositivos, e;– Canais de E/S.– Processador(es) de hardware e memória principal associada,

usados para fornecer suporte à execução do software do sistema de banco de dados.

Page 20: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

SOFTWARE• Entre o banco de dados físico – isto é, os dados de fato armazenados

– e os usuários do sistema há uma camada de software, conhecida como o gerenciador do banco de dados ou servidor de banco de dados ou ainda, com maior freqüência, sistema de gerenciamento de banco de dados (SGBD).

• Todas as solicitações de acesso ao banco de dados são tratadas pelo SGBD.

• Para acrescentar e remover arquivos (ou tabelas), buscar e atualizar dados em tais arquivos ou tabelas, e assim por diante, são todos recursos fornecidos pelo SGBD.

• Uma função geral fornecida pelo SGBD é portanto de isolar os usuários do banco de dados dos detalhes do nível de hardware.

Page 21: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

SOFTWARE• O SGBD é de longe o componente de software mais importante de

todo o sistema, mas não é o único.• Outros componentes incluem utilitários, ferramentas para

desenvolvimento de aplicações, auxílio em projetos, geradores de relatórios e gerenciadores de transações ou monitor de processamento de transações.

• O termo SGBD também costuma se referir genericamente a algum produto particular de algum fornecedor particular – por exemplo, o produto da IBM “BD2 Universal Database” para OS/390.

Page 22: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

USUÁRIOS• Consideramos três classes de usuários:

– Primeiro, há dos programadores de aplicações, repensáveis pela elaboração de programas aplicativos de banco de dados, em uma linguagem como COBOL, PL/I, C++, Java ou uma outra linguagem de alto nível de “quarta geração”.

– Os programadores obtêm acesso ao banco de dados emitindo a solicitação apropriada – em geral, uma instrução de SQL – ao SGBD.

– Os programadores propriamente ditos podem ser aplicações convencionais batch ou aplicações on-line, cuja finalidade é permitir que um usuário final tenha acesso ao banco de dados a partir de uma estação de trabalho ou um terminal on-line.

Page 23: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

USUÁRIOS– A segunda de usuários é, então, a dos usuários finais, que

interagem com o sistema a partir de terminais ou estações de trabalho on-line.

– Um determinado usuário final pode obter acesso ao banco de dados por meio de uma das aplicações on-line mencionadas no parágrafo anterior, ou pode usar uma interface fornecida como parte integrante do software do sistema de banco de dados.

– A maioria dos sistemas de banco de dados inclui pelo menor uma aplicação interna, em geral um processador de linguagem de consulta, por meio do qual o usuário pode emitir solicitações ao banco de dados, tais como os comandos interativos para SELECT e INSERT para o SGBD.

Page 24: Introdu o a Banco de Dados - 1 - Alunos

1.2 O que é um Sistema de Banco de Dados?

USUÁRIOS– A terceira classe de usuários é a classe do administrador de

banco de dados, ou DBA (database administrator) .– A descrição da função do DBA e da função associada de

administrador de dados será adiada para a seção 1.4.

Page 25: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Dados Persistentes• Por persistente queremos sugerir intuitivamente que os dados desse

banco de dados diferem em espécie de outros dados mais efêmeros, como:– dados de entrada;– de saída;– instruções de controle;– filas de trabalho;– blocos de controle de software;– resultados intermediários e;– em geral, quaisquer dados que tenham natureza transiente.

Page 26: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Dados Persistentes• De modo mais preciso, dizemos que os dados do banco de dados

“persistem” porque, uma vez aceitos pelo SGBD para entrada inicial no banco de dados, eles só podem ser removidos subsequentemente do banco de dados por alguma solicitação explícita ao SGBD.– Um banco de dados é uma coleção de dados persistentes

utilizada pelos sistemas de aplicação de uma determinada empresa.

Page 27: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Dados Persistentes• O termo “empresa” é apenas um termo genérico conveniente para

qualquer organização comercial, científica, técnica ou outra organização razoavelmente autônoma.

• Alguns exemplos:– Uma fábrica;– Um banco;– Um hospital;– Uma universidade;– Um departamento governamental.

Page 28: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Dados Persistentes• Uma empresa deve necessariamente manter uma grande quantidade

de dados sobre sua operação.• As empresas que acabamos de mencionar incluiriam tipicamente os

seguintes itens entre seus dados persistentes:– Dados sobre o produto;– Dados sobre contas;– Dados sobre pacientes;– Dados sobre alunos;– Dados sobre planejamento.

Page 29: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos• Consideremos agora o exemplo de uma fábrica (“Know Were Inc.”)

mais detalhadamente.• Uma empresa desejará registrar informações sobre:

– Os projetos em andamento;– As peças usadas nesses projetos;– Os fornecedores que fornecem essas peças;– Os depósitos nos quais essas peças estão armazenadas;– Os empregados que trabalham nesses projetos;– E assim, por diante.

Page 30: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos• Projetos, peças, fornecedores etc., constituem assim as entidades

básicas sobre as quais a Know Were Inc. precisa registrar informações.

• O termo “entidade” é usado comumente no meio de bancos de dados para indicar qualquer objeto distinguível que deva ser representado na banco de dados.

• Além das entidades básicas propriamente ditas (fornecedores, peças e assim por diante), também haverá relacionamentos ligando essas entidades básicas entre si.

• Tais relacionamentos são representados por losangos e linhas de conexão conforme figura 1.6.

Page 31: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e RelacionamentosFornecedor

Locais

Depósitos Peças

Departamentos

Empregados

Projetos

LD

ALPP

AE

ED

FL AP

FP

FJ

FPJ GLEJPJ

Figura 1.6 Diagrama de entidade e relacionamentos (E/R) para a Know Ware Inc.

Page 32: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos• Por exemplo, há um relacionamento (“FP”) entre fornecedores e

peças.• Cada fornecedor fornece certas peças e, inversamente, cada peça é

fornecida por certos fornecedores.• De modo semelhante, peças são usadas em projetos e, de forma

recíproca, projetos usam peças (relacionamento PJ).• Peças são armazenadas em depósitos, e depósitos armazenam peças

(relacionamento AP).• Observe que esses relacionamentos são todos bidirecionais – isto é

eles podem ser percorridos em qualquer sentido.

Page 33: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos• Por exemplo, o relacionamento FP entre fornecedor e peças pode ser

usado para responder às duas questões seguintes:– Dado um fornecedor, obter as peças fornecidas por esse

fornecedor;– Dada uma peça, obter os fornecedores que fornecem essa peça.

• O ponto significativo sobre esse relacionamento é que eles fazem parte dos dados tanto quanto as entidades básicas.

• Portanto, eles devem ser representados no banco de dados exatamente como as entidades básicas.

Page 34: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos• Notamos de passagem que a figura 1.6 é um exemplo daquilo que se

chama um diagrama de entidade e relacionamento.• A figura 1.6 também ilustra vários outros pontos importantes:

1. Embora a maior parte dos relacionamento nessa figura envolva dois tipos de entidades (relacionamentos binários) – de modo algum se pode dizer que todos os relacionamentos devem necessariamente ser binários.

Page 35: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos– No exemplo há um relacionamento (“FPJ”) envolvendo três

tipos de entidades (fornecedores, peças e projetos): um relacionamento ternário.

– A interpretação pretendida é a que certos fornecedores fornecem certas peças para certos projetos.

– Observe cuidadosamente que esse relacionamento ternário (“fornecedores fornecem peças a projetos”) não é equivalente, em geral, à combinação dos três relacionamentos binários “fornecedores fornecem peças”, “peças são usadas em projetos” e “projetos são fornecidos por fornecedores”.

Page 36: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos2. A figura também mostra um relacionamento (PP) envolvendo

apenas um tipo de entidade (peças).– Nesse caso, o relacionamento é que certas peças incluem outras

peças como componentes imediatos.– Por exemplo, um parafuso é um componente de uma dobradiça,

que também é considerada uma peça e pode, por sua vez, ser um componente de alguma peça de nível mais alto como uma tampa.

– Observe que esse relacionamento ainda é binário; ocorre apenas entre os dois tipos de entidades ligados entre si, peças e peças.

Page 37: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Entidades e Relacionamentos3. Em geral, um dado conjunto de tipos de entidades poderia estar

interligado em qualquer número de relacionamento distintos.– No exemplo da figura 1.6, há dois relacionamentos distintos

envolvendo projetos e empregados;– Um deles (EJ) representa o fato de que os empregados são

designados para projetos, e– O outro (GJ) representa o fato de que empregados gerenciam

projetos.

Page 38: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Propriedades• Conforme indicamos, uma entidade é qualquer objeto sobre o qual

desejamos registrar informações.• Em outras palavras, as entidades – incluídos os relacionamentos –

podem ser consideradas como tendo propriedades, correspondentes às informações que desejamos registrar sobre elas.

• Por exemplo:– Fornecedores têm locais;– Peças têm pesos;– Projetos têm propriedades;– Atributos têm datas iniciais;– E assim por diante ...

Page 39: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Dados e modelos de dados• Uma razão pela qual os sistemas de banco de dados relacionais se

tornaram tão dominantes – tanto no meio industrial quanto no mundo acadêmico, é que eles admitem a interpretação precedente de dados e bancos de dados de forma muito direta.

• Sistemas relacionais se baseiam em uma teoria formal chamada modelo relacional de dados, de acordo com o qual: – Os dados são representados por meio de linhas em tabelas, e

essas linhas podem ser interpretadas diretamente como proposições verdadeiras;

– São fornecidos operadores para operações sobre linhas em tabelas, e esses operadores admitem de forma direta o processo de proposições verdadeiras adicionais a partir das proposições dadas.

Page 40: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Dados e modelos de dados• Um modelo de dados é uma definição abstrata, autônoma e lógica

dos objetos, operadores e outros elementos que, juntos constituem a máquina abstrata com a qual os usuários interagem.

• Os objetos nos permitem modelar a estrutura de dados.• Os operadores nos permitem modelar seu comportamento.

Page 41: Introdu o a Banco de Dados - 1 - Alunos

1.3 O que é um Banco de Dados?

Dados e modelos de dados• Podemos então distinguir de modo útil o modelo de sua

implementação:– Uma implementação de um determinado modelo de dados é

uma representação física sobre uma máquina real dos componentes da máquina abstrata que juntos constituem esse modelo.

• Em resumo: o modelo é aquilo que os usuários têm de conhecer; • a implementação é aquilo que os usuários não precisam conhecer.

***

Page 42: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

• Por que usar um sistema de banco de dados?• Quais são as vantagens?• Até certo ponto, a resposta a essas questões depende do sistema em

questão ser um sistema monousuário ou multiusuário.• As vantagens de um sistema de banco de dados sobre os métodos

tradicionais baseados em papel para manutenção de registros talvez sejam mais fáceis de observar nesses casos.

Page 43: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

• Aqui estão algumas delas:– Densidade: não há necessidade de arquivos de papel,

possivelmente volumosos.– Velocidade: a máquina pode obter e atualizar dados com rapidez

muito maior que o ser humano.– Menor trabalho monótono: grande parte do tédio de manter

arquivos à mão é eliminada.– Atualidade: informações precisas e atualizadas estão disponíveis

a qualquer momento sob consulta.

Page 44: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

• As vantagens anteriores se aplicam com intensidade ainda maior a um ambiente multiusuário, no qual o bando de dados provavelmente será muito maior e mais complexo que no caso do ambiente de usuário único.

• Porém, há uma vantagem adicional predominante em tal ambiente:– O sistema de banco de dados proporciona à empresa o controle

centralizado de seus dados.

Page 45: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Administração de dados e administração de banco de dados• O controle centralizado implica que haverá na empresa alguma

pessoa que tenha a responsabilidade central pelos dados.• Esta pessoa é o administrador de dados.• Assim, é trabalho do administrador de dados decidir, para começar,

que dados devem ser armazenados no banco de dados, e também estabelecer normas para manter e tratar esses dados, uma vez que eles tenham sido armazenados.

• Exemplo: Quem executa o que!

• Observe cuidadosamente que o administrador de dados é um gerente, e não técnico (embora ele precisa ter algum conhecimento dos recursos de sistemas de banco de dados em um nível técnico).

Page 46: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Administração de dados e administração de banco de dados• O técnico responsável pela implementação das decisões do

administrador de dados é o administrador de banco de dados – DBA.

• O DBA, diferente do administrador de dados, e portanto um profissional de tecnologia da informação (IT).

• O trabalho do DBA é criar o banco de dados propriamente dito e implementar os controles técnicos necessários para pôr em prática as várias decisões sobre normas tomadas pelo administrador de dados.

• O DBA também é responsável por assegurar que o sistema operará com desempenho adequado e por oferecer uma ampla variedade de outros serviços técnicos.

• Em geral, o DBA terá uma equipe de programadores de sistemas.

Page 47: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• Os dados podem ser compartilhados

– O compartilhamento significa não apenas que as aplicações existentes podem compartilhar os dados do banco de dados, mas também que podem ser desenvolvidas novas aplicações para operar sobre os mesmos dados.

Page 48: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• A redundância pode ser reduzida

– Em sistemas sem banco de dados, cada aplicação tem seus próprios arquivos particulares.

– Esse fato pode com freqüência levar a uma considerável redundância nos dados armazenados, com desperdício resultante de armazenamento.

– Por exemplo, uma aplicação de pessoal e uma aplicação de registros de educação poderiam ambas ter a posse de um arquivo que incluísse informações departamentais relativas a empregados.

– A propósito, não queremos sugerir que toda redundância possa ou deve necessariamente ser eliminada.

– Porém, queremos sugerir que toda redundância deve ser cuidadosamente controlada.

Page 49: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• A inconsistência pode ser evitada (até certo ponto)

– Exemplo: o fato de que o empregado E3 trabalha no departamento D8 – e é apresentado por duas entradas diferentes no banco de dados.

– Vamos supor também que o SGBD não saiba dessa duplicação (redundância).

– Então, haverá necessariamente ocasiões em que as duas entradas não concordarão: isto é, quando uma das duas tiver sido atualizada e a outra não.

– Em tais ocasiões, diz-se que o banco de dados está inconsistente (ou incoerente).

Page 50: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• O suporte a transações pode ser fornecido

– Uma transação é uma unidade lógica de trabalho, em geral envolvendo diversas operações de banco de dados.

– O exemplo, padrão envolve a transferência de um quantidade de dinheiro de uma conta A para outra conta B.

– É necessário duas atualizações, uma para retirar o dinheiro da conta A, e outra para depositá-lo na conta B.

– Se o usuário declarar que as duas atualizações são parte da mesma transação, então o sistema poderá efetivamente garantir que ambas serão realizadas ou nenhuma delas.

Page 51: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• A integridade pode ser mantida

– O problema da integridade é o problema de assegurar que os dados no banco de dados estão corretos.

– A inconsistência entre duas entradas que deveriam representar o mesmo “fato” é um exemplo de falta de integridade.

– O controle centralizado do B.D. pode ajudar a evitar tais problemas – permitindo ao administrador de dados definir, e ao DBA implementar, restrições de integridade e serem verificadas sempre que for executada alguma operação de atualização.

Page 52: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• A segurança pode ser reforçada

– O DBA pode assegurar que o único meio de acesso ao banco de dados seja através de canais apropriados e, em conseqüência, pode definir restrições de segurança ou regras a serem verificadas sempre que houver uma tentativa de acesso a dados confidenciais.

– Podem ser estabelecidas diferentes restrições para cada tipo de acesso (recuperação, inserção, exclusão, etc.).

Page 53: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• Requisitos contraditórios podem ser equilibrados

– Conhecendo os requisitos globais da empresa, o DBA – sob a orientação do administrador de dados – pode estruturar o sistema de modo a oferecer um serviço global que seja “o melhor para a empresa”.

– Por exemplo, pode ser escolhida uma organização física para os dados que proporcione acesso rápido par as aplicações mais importantes.

Page 54: Introdu o a Banco de Dados - 1 - Alunos

1.4 Por que Banco de Dados?

Vantagens da abordagem de banco de dados• Os padrões podem ser reforçados

– Com o controle central do banco de dados, o DBA pode garantir que todos os padrões aplicáveis serão observados na representação dos dados.

– Os padrões aplicáveis podem incluir qualquer um ou todos os seguintes:

• Padrões departamentais;• Da instalação;• Da empresa;• Nacionais e;• Internacionais.

Page 55: Introdu o a Banco de Dados - 1 - Alunos

1.5 Independência de Dados?

• Existem dois tipos de independência de dados:– Física;– Lógica.

• A independência de dados pode ser definida como a imunidade das aplicações a alterações na representação física e na técnica de acesso.

• Vejamos alguns exemplos de tipos de alterações que o DBA pode desejar efetuar.– Começamos por definir três termos: campo armazenamento, registro

armazenamento e arquivo armazenamento.

Page 56: Introdu o a Banco de Dados - 1 - Alunos

1.5 Independência de Dados?

P2 Pino Verde 17

P1 Porca Verm. 12

Ocorrência de campos armazenados

Num. da peça

nome pesocor

pesocornomeNum. da peça

Duas ocorrências doregistro “peça”

Banco de dados armazenado

Outros arquivos armazenado

Page 57: Introdu o a Banco de Dados - 1 - Alunos

1.5 Independência de Dados?

• Representação de dados numéricos– Um campo numérico poderia ser armazenado por exemplo: binário ou

decimal.– Escala (fixa ou ponto flutuante);– Modo (real ou complexo);– Precisão (número de dígitos).

Page 58: Introdu o a Banco de Dados - 1 - Alunos

1.5 Independência de Dados?

• Representação de dados caracteres– Um campo da cadeia caracteres poderia ser armazenado por

exemplo:– ASCII;– EBCDIC.

Page 59: Introdu o a Banco de Dados - 1 - Alunos

1.5 Independência de Dados?

• Unidades de dados numéricos– As unidades em um campo podem mudar por exemplo:– Polegadas para centímetros – durante um processo de conversão

para o sistema métrico.

Page 60: Introdu o a Banco de Dados - 1 - Alunos

1.5 Independência de Dados?

• Codificação de dados numéricos– Poderia ser desejável representar dados armazenados por valores

codificados por exemplo:– 1 – “Vermelho”;– 2 – “Azul”.

Page 61: Introdu o a Banco de Dados - 1 - Alunos

Exercícios

• 1. Mostre os efeitos das seguintes operações de busca em SQL sobre o banco de dados da adega de vinhos da figura 1.1:

– A) SELECT VINHO, PRODUTOR FROM ADEGA WHERE DEP# = 72;– B) SELECT VINHO, PRODUTOR FROM ADEGA WHERE ANO > 1996;– C) SELECT DEP#, VINHO, ANO FROM ADEGA WHERE PRONTO <

1999;– D) SELECT VINHO, DEP# ANO FROM ADEGA WHERE PRODUTOR =

`Robt. Mondavi’ AND GARRAFAS > 6;

Page 62: Introdu o a Banco de Dados - 1 - Alunos

Exercícios

• 2. Mostre os efeitos das seguintes operações de atualizações em SQL sobre o bando de dados da adega de vinhos.

– A) INTO ADEGA (DEP#, VINHO, PRODUTOR, ANO, GARRAFAS, PRONTO) VALUES (80, ‘Syrah’, ‘Meridian’, 1994, 12, 1999 );

– B) DELETE FROM ADEGA WHERE PRONTO > 2000;– C) UPDATE ADEGA SET GARRAFAS = 5 WHERE DEP# = 50;– D) UPDADE ADEGA SET GARRAFAS = GARRAFAS + 2 WHERE DEP# =

50;

Page 63: Introdu o a Banco de Dados - 1 - Alunos

Exercícios

• 3. Escreve instruções SQL para executar as seguintes operações sobre o banco de dados da adega de vinhos:

– A) Obter o número do depósito, o nome do vinho e o número de garrafas para todos os vinhos da Geyser Peak.

– B) Obter o número do depósito, o nome do vinho correspondentes a todos os vinhos para os quais existem mais de cinco garrafas em estoque.

– C) Obter o número do depósito para todos os vinhos iguais Merlot.– D) Acrescentar três garrafas ao depósito de número 30.– E) Remover todos os vinhos Chardonnay do estoque.– F) Acrescentar uma entrada para uma nova caixa (doze garrafas) de Gary Farrel

Merlot: depósito número 55, ano 1996, pronto em 2001.