15.06.2013 Views

UD 4: Sistema de Gerenciamento de Banco de Dados Assunto 1 ...

UD 4: Sistema de Gerenciamento de Banco de Dados Assunto 1 ...

UD 4: Sistema de Gerenciamento de Banco de Dados Assunto 1 ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Assunto</strong> 1: Conceitos<br />

<strong>UD</strong> 4: <strong>Sistema</strong> <strong>de</strong> <strong>Gerenciamento</strong> <strong>de</strong> <strong>Banco</strong> <strong>de</strong> <strong>Dados</strong><br />

1. BASE DE DADOS<br />

conjunto <strong>de</strong> dados armazenados logicamente<br />

conteúdo representa o estado atual <strong>de</strong> uma <strong>de</strong>terminada aplicação<br />

mo<strong>de</strong>lo <strong>de</strong> uma <strong>de</strong>terminada parte da realida<strong>de</strong><br />

Proprieda<strong>de</strong>s <strong>de</strong> uma Base <strong>de</strong> <strong>Dados</strong><br />

o Coleção <strong>de</strong> dados logicamente relacionados,<br />

o Projetada e construída com dados para um propósito específico,<br />

o Concebida para aten<strong>de</strong>r a um grupo <strong>de</strong> usuários,<br />

o Representação <strong>de</strong> algum aspecto do mundo real,<br />

o Qualquer mudança na realida<strong>de</strong>, provocará mudanças nesta base,<br />

o Possui alguma fonte <strong>de</strong> dados.<br />

SGBD (<strong>Sistema</strong> <strong>de</strong> <strong>Gerenciamento</strong> <strong>de</strong> Base <strong>de</strong> <strong>Dados</strong>)<br />

Software responsável pelo gerenciamento dos dados no <strong>Banco</strong> <strong>de</strong> <strong>Dados</strong>.<br />

É uma coleção <strong>de</strong> programas que permitem aos usuários:<br />

<strong>de</strong>finirem, construírem e manipularem uma base <strong>de</strong> dados.<br />

Definir uma BD: especificação <strong>de</strong> tipos <strong>de</strong> dados a serem armazenados.<br />

Construir: armazenamento dos dados em algum meio controlado pelo SGBD.<br />

Manipular: utilização <strong>de</strong> funções para consulta, recuperação <strong>de</strong> dados,<br />

modificação da base nas mudanças na realida<strong>de</strong> e geração <strong>de</strong> relatórios.<br />

2. CAPACIDADES DO SGBD<br />

Eliminação <strong>de</strong> Redundâncias<br />

Possibilita a eliminação <strong>de</strong> dados privativos <strong>de</strong> cada sistema. Os dados comuns a<br />

mais <strong>de</strong> um sistema, são compartilhados por eles, permitindo o acesso a uma única<br />

informação por vários sistemas.<br />

Eliminação <strong>de</strong> Inconsistências<br />

Armazenamento da informação em um único local com acesso <strong>de</strong>scentralizado e<br />

compartilhado por vários sistemas. A inconsistência ocorre quando um mesmo campo<br />

tem valores diferentes em sistemas diferentes.<br />

Compartilhamento dos <strong>Dados</strong><br />

Permite a utilização simultânea e segura <strong>de</strong> um dado, por mais <strong>de</strong> uma aplicação ou<br />

usuário. Deve ser observado apenas o processo <strong>de</strong> atualização simultâneo do mesmo<br />

campo ou registro, para não gerar erros <strong>de</strong> processamento.<br />

1


Restrições <strong>de</strong> Segurança<br />

Define para cada usuário o nível <strong>de</strong> acesso a ele concedido ao arquivo e/ou campo<br />

(leitura, leitura e gravação ou sem acesso). Este recurso impe<strong>de</strong> que pessoas não<br />

autorizadas utilizem um <strong>de</strong>terminado arquivo.<br />

Padronização dos <strong>Dados</strong><br />

Permite que os campos armazenados na base <strong>de</strong> dados sejam padronizados segundo<br />

um <strong>de</strong>terminado formato <strong>de</strong> armazenamento segundo critérios preestabelecidos pela<br />

empresa.<br />

In<strong>de</strong>pendência dos <strong>Dados</strong><br />

Representa a forma física <strong>de</strong> armazenamento dos dados e a recuperação das<br />

informações pelos programas. Quando há inclusão <strong>de</strong> novos campos no arquivo, será<br />

feita manutenção apenas nos programas que utilizam esses campos, não sendo<br />

necessário mexer nos <strong>de</strong>mais programas.<br />

Manutenção da Integrida<strong>de</strong><br />

Consiste em impedir que um <strong>de</strong>terminado código ou chave em uma tabela não tenha<br />

correspondência em outra tabela.<br />

Fornecimento <strong>de</strong> backup e restauração<br />

Realização <strong>de</strong> cópias <strong>de</strong> segurança completas ou incrementais sempre que necessário,<br />

<strong>de</strong> acordo com a necessida<strong>de</strong>.<br />

3. CONCEITOS IMPORTANTES<br />

<strong>Banco</strong> <strong>de</strong> <strong>Dados</strong><br />

Representa o arquivo físico <strong>de</strong> dados, armazenado em dispositivos periféricos, para<br />

consulta e atualização pelo usuário.<br />

Possui uma série <strong>de</strong> informações relacionadas a um <strong>de</strong>terminado assunto.<br />

Campo<br />

É a menor unida<strong>de</strong> <strong>de</strong> informação existente em um arquivo <strong>de</strong> banco <strong>de</strong> dados.<br />

Registro<br />

Conjunto <strong>de</strong> campos. Entida<strong>de</strong> que i<strong>de</strong>ntifica entrada única num banco <strong>de</strong> dados.<br />

Chave<br />

Uma chave permite a distinção dos registros <strong>de</strong> uma tabela.<br />

Po<strong>de</strong> ser formada por um campo ou um conjunto <strong>de</strong> campo (chaves compostas).<br />

Uma chave primária <strong>de</strong>termina a or<strong>de</strong>m dos registros <strong>de</strong>ntro da tabela.<br />

2


Tabelas<br />

Representam as estruturas <strong>de</strong> armazenamento <strong>de</strong> dados dos sistemas.<br />

Formada por um conjunto <strong>de</strong> campos e registros.<br />

Ex: tabela dos clientes, tabela dos fornecedores e tabela dos produtos.<br />

Dado<br />

É o valor do campo quando é armazenado no <strong>Banco</strong> <strong>de</strong> <strong>Dados</strong>.<br />

Ex. O valor do campo "nome do cliente" para quem está entrando com os dados.<br />

Informação<br />

É o valor que este campo representa para as ativida<strong>de</strong>s da empresa.<br />

Ex. Resposta a uma consulta: Qual os nomes dos clientes do Rio <strong>de</strong> Janeiro?<br />

4. TIPOS DE DADOS<br />

O tipo escolhido <strong>de</strong>pen<strong>de</strong>rá da natureza da informação que você <strong>de</strong>seja.<br />

Texto<br />

Armazena caracteres alfanuméricos (texto e número).<br />

É o tipo indicado para armazenar informações que não requerem cálculo.<br />

Ex: nome <strong>de</strong> pessoas ou en<strong>de</strong>reços.<br />

Memorando<br />

Armazena caracteres, no entanto, ele é utilizado para aguardar gran<strong>de</strong>s blocos <strong>de</strong><br />

texto que são divididos em parágrafos.<br />

Número<br />

Armazena valores numéricos inteiros ou fracionários. Este tipo <strong>de</strong>verá ser escolhido<br />

como padrão quando <strong>de</strong>sejarmos efetuar cálculos com os campos.<br />

Data/Hora<br />

Faz com que o banco <strong>de</strong> dados trate os caracteres como datas ou horas, <strong>de</strong>pen<strong>de</strong>ndo<br />

da forma como serão digitados.<br />

Moeda<br />

O tipo <strong>de</strong> dados Moeda tem todas características <strong>de</strong> um dado do tipo numérico, porém<br />

com acréscimo do símbolo monetário. Exemplo: “R$”<br />

AutoNumeração<br />

Utilizado para contagem <strong>de</strong> registros. A cada registro inserido na tabela ele é<br />

automaticamente incrementado em um valor.<br />

Sim/Não<br />

Permite a entrada <strong>de</strong> valores dos tipos:<br />

3


Sim ou Não, Verda<strong>de</strong>iro ou Falso, Certo ou Errado.<br />

Objeto OLE<br />

Esse tipo <strong>de</strong> dado é uma gran<strong>de</strong> vantagem do ambiente gráfico Windows, pois você<br />

po<strong>de</strong> <strong>de</strong>finir que o dado seja uma imagem gráfica.<br />

Ex: associar à ficha dos funcionários uma foto do mesmo.<br />

Hyperlink<br />

É um tipo <strong>de</strong> campo que irá armazenar um texto que permite saltar para um arquivo,<br />

um local em um arquivo, uma página HTML na Web.<br />

Exemplo: http://fp13vs23.digiweb.com<br />

jsn@ig.com.br<br />

Assistente <strong>de</strong> pesquisa<br />

Cria um campo que permite que você escolha um valor a partir <strong>de</strong> uma tabela ou <strong>de</strong><br />

uma lista <strong>de</strong> valores, utilizando uma caixa <strong>de</strong> combinação.<br />

5. RELACIONAMENTO ENTRE TABELAS:<br />

As tabelas se relacionam através das chaves principais e secundárias.<br />

As chaves secundárias são aquelas que são principais em uma tabela e são colocadas<br />

em outra tabela para que haja um relacionamento.<br />

Suponhamos que nós tenhamos as seguintes tabelas: Cliente e Pedido<br />

TAB-CLIENTE TAB-PEDIDO<br />

Cpf-Cliente Número-Pedido<br />

Nome-Cliente Data-Pedido<br />

Fone-Cliente Situação-pedido<br />

Cep-Cliente<br />

Os nomes da tabela estão em maiúsculo<br />

As chaves principais estão com sublinhado simples e em negrito.<br />

Para que uma tabela se relacione com a outra, é necessário que a chave principal <strong>de</strong><br />

uma esteja no outra tabela, como chave secundária.<br />

TAB-CLIENTE TAB-PEDIDO<br />

4


Cpf-Cliente Número-Pedido<br />

Nome-Cliente Data-Pedido<br />

Fone-Cliente Situação-pedido<br />

Cep-Cliente Cpf-Cliente<br />

A chave estrangeira está representada pelo sublinhado duplo.<br />

As duas tabelas estão relacionadas pelo campo Cpf-Cliente.<br />

Cardinalida<strong>de</strong>s<br />

As cardinalida<strong>de</strong>s são representadas por 1 ou N.<br />

Se um cliente po<strong>de</strong> fazer vários pedidos e cada pedido só po<strong>de</strong> ser feito por um certo<br />

cliente, então a cardinalida<strong>de</strong> no exemplo acima passa a ser o seguinte:<br />

TAB-CLIENTE TAB-PEDIDO<br />

1<br />

Cpf-Cliente Número-Pedido<br />

Nome-Cliente Data-Pedido<br />

Fone-Cliente<br />

N<br />

Situação-pedido<br />

Cep-Cliente Cpf-Cliente<br />

A chave principal fica com a cardinalida<strong>de</strong> 1, enquanto que a chave secundária fica<br />

com a cardinalida<strong>de</strong> N.<br />

Se fosse colocada a chave principal da TAB-PEDIDO (Número-Pedido) na TAB-<br />

CLIENTE como chave estrangeira, a situação absurda seria a seguinte:<br />

Cada cliente só po<strong>de</strong>ria fazer um único pedido.<br />

Cada pedido po<strong>de</strong>ria ser feito por vários clientes.<br />

EXEMPLOS DE TIPOS DE RELACIONAMENTOS<br />

Vamos estudar os 3 exemplos através das seguintes tabelas abaixo:<br />

TAB-PRODUTO TAB-FORNECEDOR<br />

Código-Prod Cnpj-Fornec<br />

Descrição-Prod Nome-Fornec<br />

5


Depen<strong>de</strong>ndo da situação, o campo Preço-Prod fica em tabelas diferentes<br />

Caso 1: cada produto só é distribuído por um único fornecedor, que por sua<br />

vez po<strong>de</strong> distribuir vários produtos.<br />

Esquema <strong>de</strong> Tabelas<br />

TAB-FORNECEDOR (Cnpj-Fornec , Nome-Fornec)<br />

TAB-PRODUTO (Código-Prod , Descrição-Prod , Preço-Prod, Cnpj-Fornec)<br />

Obs: As 2 tabelas estão relacionadas pelo campo Cnpj-Fornec .<br />

Layout <strong>de</strong> Relacionamentos<br />

Caso 2: cada produto é distribuído por vários fornecedores, que por sua vez só<br />

distribuem apenas 1 produto.<br />

Esquema <strong>de</strong> Tabelas<br />

TAB-FORNECEDOR (Cnpj-Fornec , Nome-Fornec , Preço-Fornec , Código-Prod)<br />

TAB-PRODUTO (Código-Prod , Descrição-Prod)<br />

Obs: As 2 tabelas estão relacionadas pelo campo Código-Prod .<br />

Layout <strong>de</strong> Relacionamentos<br />

6


Caso 3: cada produto é distribuído por vários fornecedores, que po<strong>de</strong>m<br />

distribuir vários produtos.<br />

Esquema <strong>de</strong> Tabelas<br />

TAB-FORNECEDOR (Cnpj-Fornec , Nome-Fornec)<br />

TAB-DISTRIBUIÇÃO (Cnpj-Fornec , Código-Prod , Preço-Fornec-Prod)<br />

TAB-PRODUTO (Código-Prod , Descrição-Prod)<br />

Obs: - A TAB-PRODUTOS está relacionada com a TAB-DISTRIBUIÇÃO pelo<br />

campo Código-Prod<br />

- A TAB-DISTRIBUIÇÃO está relacionada com a TAB-FORNECEDOR pelo<br />

campo Cnpj-Fornec<br />

Layout <strong>de</strong> Relacionamentos<br />

6. MINI MUNDO:<br />

Descrição formal da realida<strong>de</strong> a ser representada.<br />

Exemplo: suponhamos que a AEDB funcione assim:<br />

Cada aluno pertence a um curso, que por sua vez po<strong>de</strong> ter vários alunos. O<br />

curso é armazenado por um código único e pelo seu nome. Os alunos são<br />

cadastrados pela matrícula, nome e en<strong>de</strong>reço. Não existem 2 alunos com a<br />

mesma matrícula. Cada curso possui algumas disciplinas que são i<strong>de</strong>ntificadas<br />

por um controle único e pela sua <strong>de</strong>scrição. A mesma disciplina po<strong>de</strong> ser<br />

lecionada em outros cursos em dias diferentes. Cada professor po<strong>de</strong> ministrar<br />

mais <strong>de</strong> uma disciplina, mas cada disciplina só po<strong>de</strong> ser lecionada por um<br />

único professor. CPF, nome e telefone são os atributos <strong>de</strong> cada professor.<br />

Resposta: Esquema <strong>de</strong> Tabelas<br />

7


Resposta: Layout <strong>de</strong> Relacionamentos<br />

7. EXERCÍCIO:<br />

Mini-Mundo <strong>de</strong> Pedido <strong>de</strong> Material<br />

Faça o Esquema <strong>de</strong> Tabelas e o Layout <strong>de</strong> Relacionamentos<br />

cada Empregado po<strong>de</strong> fazer vários Pedidos;<br />

cada Pedido po<strong>de</strong> ser feito por um único Empregado;<br />

o Empregado é cadastrado pelo Cpf, Nome e En<strong>de</strong>reço.<br />

o Pedido é armazenado por um Número único, sua Data e Situação. Não<br />

existem 2 Pedidos com o mesmo Número;<br />

cada Pedido po<strong>de</strong> conter muitos Materiais.<br />

cada Material po<strong>de</strong> estar contido em inúmeros Pedidos.<br />

cada Pedido po<strong>de</strong> conter quantida<strong>de</strong>s diferentes para cada Material; e<br />

cada Material é registrado por um Código único, Descrição e Tipo. Não<br />

existem 2 Materiais com o mesmo Código.<br />

FIM<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!