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 ...
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